關(guān)于(全通函數(shù))半對數(shù)相頻特性曲線的繪制
最小相位系統(tǒng)
如果一個線性時不變系統(tǒng)的開環(huán)傳遞函數(shù)極點和零點的實部都小于或等于零,則稱它是最小相位系統(tǒng)
非最小相位系統(tǒng)
如果開環(huán)傳遞函數(shù)中有正實部的零點或極點,或有延遲環(huán)節(jié)(這個可以使用pade近似),則稱系統(tǒng)是非最小相位系統(tǒng)。
在根軌跡的繪制和頻域分析時需要考慮是否為最小相位系統(tǒng)
全通函數(shù):
? ? ? 一個穩(wěn)定的傳遞函數(shù),如果在復平面的虛軸上所有點處幅值均為1,那么這個函數(shù)就是全通函數(shù)。全通函數(shù)來源于全通濾波器。(見參考文獻)

用matlab繪制一下它的伯德圖,以s0=0.3,0.6,0.9為例
>> s = tf('s');
>> sys = (s-0.3)/(s+0.3);
>> sys1 = (s-0.6)/(s+0.6);
>> sys2 = (s-0.9)/(s+0.9);
>> bode(sys,sys1,sys2)


s = tf('s');
sys = -(s-0.3)/(s+0.3);
sys1 = -(s-0.6)/(s+0.6);
sys2 = -(s-0.9)/(s+0.9);
bode(sys,sys1,sys2)

我在思考能否從底層實現(xiàn)相頻圖的繪制

Ver1
?w = logspace(-2,2,1000);
phi = atan(-0.6*w./(0.3^2-w.^2));
?plot(w,phi)

什么鬼,繼續(xù)嘗試
Ver2
w = logspace(-2,2,1000);
sys = -(j*w-0.3)./(j*w+0.3);
plot(w,angle(sys))

感覺有地方出了問題
橫坐標沒問題(取值無問題,不符合對數(shù)規(guī)范),縱坐標是弧度制,但圖形有問題
Ver3
w = logspace(-2,2);
phi = atan(-0.6*w./(0.3^2-w.^2));
semilogx(w,phi)
grid on

重新?lián)Q了函數(shù),semilog半對數(shù)坐標畫圖,loglog雙對數(shù)坐標畫圖
Ver4
?w = logspace(-2,2);
sys = -(j*w-0.3)./(j*w+0.3);
semilogx(w,angle(sys))
grid on

現(xiàn)在正常了,但是縱坐標是弧度制
Ver5
?w = logspace(-2,2);
sys = -(j*w-0.3)./(j*w+0.3);
phi = atan2d(imag(sys),real(sys));
semilogx(w,phi)

OK,基本與bode函數(shù)效果一致
再加一些標注
Ver6
>> title('Bode Plot')
>> xlabel('Frequency (rad/s)')
>> ylabel('Phase (deg)')
>> grid on

小結(jié):
從底層繪制phi-w圖,在matlab中arctan不太好使,而plot本身會忽略復數(shù)的虛部,只能考慮其他方法,關(guān)鍵還是數(shù)學公式
關(guān)于前述全通函數(shù)
? ? ? A(s)引起相位延遲,且對于同一頻率的輸入信號,不同的A(s)輸出響應的相位延遲大小不同.
Q1:
復數(shù)(z =x+j y)里面有關(guān)于輻角及輻角主值的定義,argZ 屬于(-pi,pi】,與 arctan(y/x)屬于[-pi/2,pi/2]有相應的計算公式,根據(jù)坐標 (x,y) 的位置。
而matlab內(nèi)置函數(shù)是否完全符合這些規(guī)則,前述嘗試出問題根源何在?
參考文獻
http://zhuanlan.zhihu.com/X-Domain