上次我們分享了 Tustin變換法(雙線性變換法) ,今天我們分享實際研發(fā)中非常常用的另一種變換方法:Fowler變換法(一階后向差分法)
我們開始舉例,已知連續(xù)校正環(huán)節(jié)傳遞函數(shù)D(s)為:
其中變換器的開關(guān)頻率為fs=250kHz。如何設(shè)計雙線性變換法所得的離散控制器D(z),并比較D(s)與D(z)的頻率特性呢?
1)先利用matlab把D(s)離散成D(z):
① Fowler變換法(一階后向差分法):
fs=250000;
T=1/fs;
Ds=tf([13.970 5.2206e5 4.4244e9],[1 1.0573e5 0]);
Dz=c2d(Ds,T,'fowler')
Transfer function:
12.31 z^2 - 22.86 z + 10.61
z^2 - 1.655 z + 0.6551
Sampling time: 4e-006
2)利用matlab繪制離散控制器D(z)的頻率特性,代碼如下:
T=4e-6;
w=0:1:4*pi/T;
f=w/2/pi;
num_d_s=[13.970 5.2206e5 4.4244e9];
den_d_s=[1 1.0753 0];
num_d_z=[12.31 -22.86 10.61];
den_d_z=[1 -1.655 0.6551];
[m_d_s,p_d_s]=bode(num_d_s,den_d_s,w);
[m_d_s,p_d_s]=bode(num_d_s,den_d_s,w);
[m_d_z,p_d_z]=dbode(num_d_z,den_d_z,T,w);
subplot(2,1,2),plot(f,p_d_s,'-',f,p_d_z,'-');
xlabel('Frequency(Hz)'),ylabel('phase(deg)');
axis([0 2/T -100 100]);
grid on;
subplot(2,1,1),plot(f,20log10(m_d_s),'-',f,20log10(m_d_z),'-'),title('BodeDiagrams');
xlabel('Frequency(Hz)'),ylabel('Magnitude(dB)');
axis([0 2/T 0 40]);
grid on;
3)連續(xù)控制器D(s)與離散控制器D(z)的頻率特性如下圖1:
圖1 仿真圖
以上就是**Fowler變換法(一階后向差分法)**的簡單過程,簡單的3個步驟,即可以得到連續(xù)域與離散域的仿真圖,是不是很簡單呢?
-
matlab
+關(guān)注
關(guān)注
182文章
2960瀏覽量
230045 -
控制器
+關(guān)注
關(guān)注
112文章
16131瀏覽量
177137 -
數(shù)字電源
+關(guān)注
關(guān)注
28文章
509瀏覽量
109249
發(fā)布評論請先 登錄
相關(guān)推薦
評論