用matlab实现传递函数的波特图
波特图是线性非时变系统的传递函数对频率的半对数坐标图,其横轴频率以对数尺度(log scale)表示,利用波特图可以看出系统的频率响应。波特图一般是由二张图组合而成,一张幅频图表示频率响应增益的分贝值对频率的变化,另一张相频图则是频率响应的相位对频率的变化。
波特图可以用电脑软件(matlab)或仪器绘制,也可以自行绘制。利用波特图可以看出在不同频率下,系统增益的大小及相位,也可以看出大小及相位随频率变化的趋势。
波特图的图形和系统的增益,极点、零点的个数及位置有关,只要知道相关的资料,配合简单的计算就可以画出近似的波特图,这是使用波特图的好处
波特图的分析
波特图表明了一个电路网络对不同频率信号的放大能力。但是在电子电路中,这种图有可能比较麻烦,一方面,要表示一个网络在低频和高频下的所有情况,那么横轴(频率轴会很长)。此外,一般放大电路的放大倍数可能达到几百,使得纵轴也很长。第三,这样画出的图形往往
是很不规则曲线。
把曲线做直线化处理。画图所依据的式子中会得到fL fH的数值。得出的波特图也应该在fL和fH处出现拐角(此点所在的频率称为截断频率),不过这样处理会产生一定的误差。理论计算可知:在截断频率处真实 值与估计值有3dB的误差。 在斜率不为0的直线处要标明斜率。标明出每十倍频程放大倍数的变化情况。 经过这三种简化,波特图的曲线就是由一条折线组成看起来非常舒服。虽然经过处理造成了误差,但已经成为一种标准。
已知传递函数G(s)=要求w在10^-2和10^3之间的波特图。用matlab实现:
Matlab实现的源程序:
num=[6,30];
den=[1 16 100 0];
w=logspace(-2,3,500)
[mag,pha]=bode(num,den,w);
magdB=20*log10(mag);
subplot(211);
semilogx(w,magdB);
grid on;
title('Bode Diagram');
xlabel('Frequency(red/sec)');
ylabel('Gain dB');
subplot(212);
semilogx(w,pha);
grid on;
xlabel('Frequency(red/sec)');
ylabel('phase deg');
其图形如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论