概述
离散系统的频率响应分析和零极点分布
实验2 离散系统的频率响应分析和零、极点分布
实验目的
通过MATLAB仿真简单的离散时间系统,研究其时域特性,加深对离散系统的冲激
响应,频率响应分析和零、极点分布的概念的理解。
基本原理
离散系统的时域方程为
其变换域分析方法如下:
频域
系统的频率响应为
Z域
系统的转移函数为
分解因式 ,其中和称为零、极点。
在MATLAB中,可以用函数[z,p,K]=tf2zp(num,den)求得有理分式形式的系统转移函数的零、极点,用函数zplane(z,p)绘出零、极点分布图;也可以用函数zplane(num,den)直接绘出有理分式形式的系统转移函数的零、极点分布图。
另外,在MATLAB中,可以用函数 [r,p,k]=residuez(num,den)完成部分分式展开计算;可以用函数sos=zp2sos(z,p,K)完成将高阶系统分解为2阶系统的串联。
实验内容及要求
一个LTI离散时间系统的输入输出差分方程为
y(n)-1.6y(n-1)+1.28y(n-2) =0.5x(n)+0.1x(n-1)
(1)编程求出此系统的单位冲激响应序列,并画出其波形。
(2)若输入序列x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4),编程
求此系统输出序列y(n),并画出其波形。
(3)编程得到系统频响的幅度响应和相位响应,并画图。
(4)编程得到系统的零极点分布图,分析系统的因果性和稳定性。
解答:
(1)
clf;
N=40;
num=[0.5,0.1];
den=[1,-1.6,1.28];
y=impz(num,den,N)
stem(y);
xlabel('时间信号n');
ylabel('信号幅度');
title('冲击响应');
(2)
clf;
N=40;
num=[0.5,0.1];
den=[1,-1.6,1.28];
x=[1,2,3,4,5,zeros(1,N-1)];
y=filter(num,den,x)
stem(y);
xlabel('时间信号n');
ylabel('信号幅度');
title('输出波形');
函数y=cov(x,h)和y=filter(num,den,x)的区别
clf;
N=40;
num=[0.5,0.1];
den=[1,-1.6,1.28];
x=[1,2,3,4,5,zeros(1,N-1)];
h=impz(num,den,N);
y=conv(x,h)
subplot(2,1,1);
stem(y);
xlabel('时间信号n');
ylabel('信号幅度');
title('输出波形');
y=filter(num,den,x);
subplot(2,1,2);
stem(y);
xlabel('时间信号n');
ylabel('信号幅度');
title('输出波形');
(3)
clf;
N=40;
fs=1000;
num=[0.5,0.1];
den=[1,-1.6,1.28];
[h,f]=freqz(num,den,256,fs);
mag=abs(h);
ph=angle(h);
ph=ph*180/pi;
subplot(2,1,1),plot(f,mag);
xlabel('频率(Hz)');
ylabel('幅度');
subplot(2,1,2),plot(f,ph);
xlabel('频率(Hz)');
ylabel('相位');
(4)
clf;
N=40;
num=[0.5,0.1];
den=[1,-1.6,1.28];
[z,p,k]=tf2zp(num,den);
zplane(z,p);
解:由图可知,零点在单位圆内,所以是因果的;极点在单位圆外,所以是不稳定的。
实验总结
由此次实验,我更深刻理解了如何用零极点图来画频率响应图,如何用零极点图判断系统地稳定性和因果性。期间遇到了个问题就是不知道如何表示单位冲激序列,后来查了下才知道可以表示为x=[1,zeros(1,N)]。通过这次实验,我感觉收获很多。
最后
以上就是呆萌水池为你收集整理的matlab频率响应怎么求零极点,离散系统的频率响应分析和零极点分布.doc的全部内容,希望文章能够帮你解决matlab频率响应怎么求零极点,离散系统的频率响应分析和零极点分布.doc所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复