#离散时间信号与系统的频域分析
例3.7 已知离散时间系统的传输函数如下 ,试绘制其频率响应曲线。
freqz,为滤波器频率响应函数,用于生成对应的传输函数,其参数依次对应分子系数、分母系数以及生成的区间范围和采样间隔(默认512)
unwrap,解卷绕,使函数波形更平滑?
%依据给定的传输函数绘制其频率响应曲线
num=[1 0];den=[1 -0.3];%系数次数由高到低
omega=-pi:pi/150:pi;
%freqz(b,a,n)为滤波器频率响应函数,生成对应的传输函数,b对应分子系数,a对应分母系数
%n对应生成的区间范围以及采样间隔,默认为512
H=freqz(num,den,omega);
subplot(211),plot(omega,abs(H));grid;%幅值响应计算时取绝对值
xlabel('频率(弧度)'),ylabel('幅值响应');
title('系统的频率响应');
%将2pi制弧度角转化为360°进制的角度,unwrap,,解卷绕,使之变化显得更平滑?
subplot(212),plot(omega,180/pi*unwrap(angle(H)));grid;
xlabel('频率(弧度)'),ylabel('相位响应');
例3.8 已知某线性非时变系统的传递函数如下,试用MATLAB在z平面中画出H(z)的零点和极点,以及系统的幅度响应。
zplane,绘制离散时间系统的零极点值
[H,w]=freqz(b,a,250);%返回n点幅频响应矢量H和n点的频率向量w
%依据传递函数绘制H(z)的零极点图以及系统的幅度响应
b=[1,-1.5];
a=[1,0.2,-0.8];
subplot(211);
zplane(b,a);grid;%zplane matlab中用来绘制离散时间系统的零极点值
xlabel('虚部'),ylabel('实部');
title('零极点图');
[H,w]=freqz(b,a,250);%返回n点幅频响应矢量H和n点的频率向量w
subplot(212);
plot(w,abs(H));grid;
xlabel('频率'),ylabel('幅度');
|
请发表评论