数字信号处理实验2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验2 ——离散系统频率响应和零极点分布姓名:李倩
学号:
班级:通信四班
指导教师:周争
一.实验原理
离散时间系统的常系数线性差分方程:
求一个系统的频率响应:
H(e^jw)是以2pi为周期的连续周期复函数,将其表示成模和相位的形式:
H(e^jw)=|H(e^jw)|*e^(jarg[H(e^jw)])
其中|H(e^jw)|叫做振幅响应(幅度响应),频率响应的相位arg[H(e^jw)]叫做系统的相位响应。
将常系数线性差分方程的等式两边求FT,可以得到系统的频率响应与输入输出的频域关系式:
H(e^jw)=Y(e^jw)/X(e^jw)
将上式中的e^jw用z代替,即可得系统的系统函数:
H(z)=Y(z)/X(z)
H(z)=∑h(n)*z^(-n)(n的取值从负无穷到正无穷)
将上式的分子、分母分别作因式分解,可得到LTI系统的零极点增益表达式为:
H(z)=g∏(1-zr*z^(-1))/∏(1-pk*z^(-1))
其中g为系统的增益因子,pk(k=1,2,3,…,N)为系统的极点,zr(r=1,2,3,…,M)为系统的零点。通过系统的零极点增益表达式,可以判断一个系统的稳定性,对于一个因果的离散时间系统,若所有的极点都在单位圆内,则系统是稳定的。
二.实验内容
一个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)编程求此系统的单位冲激响应序列,并画出其波形。
程序:
clear;
N=100;
b=[0.5 0.1];
a=[1 -1.6 1.28];
h1=impz(b,a,N); %计算系统的冲激响应序列的前N个取样点x1=[1 zeros(1,N-1)]; %生成单位冲激序列
h2=filter(b,a,x1); %计算系统在输入单位冲激序列时的输出subplot(2,1,1);
stem(h1);
xlabel('时间序号n');
ylabel('单位冲激响应序列值');
title('单位冲激响应序列h1(n)');
subplot(2,1,2);
stem(h2);
xlabel('时间序号n');
ylabel('单位冲激响应序列值');
title('单位冲激响应序列h2(n)');
运行结果:
0102030
405060708090100
-1
012
5
时间序号n
单位冲激响应序列值
单位冲激响应序列h1(n)
0102030
405060708090100
-1
012
5
时间序号n
单位冲激响应序列值
单位冲激响应序列h2(n)
结果说明:可以用impz 函数直接求出系统的单位冲激响应序列,也可输入单位冲激序列,用filter 函数求出系统的单位冲激响应序列,两者求得的结果相同。单位冲激序列可以用zeros 函数来实现。 (2) 若输入序列x(n)=&(n)+2&(n-1)+3&(n-2)+4&(n-3)+5&
(n-4),编程求此系统输出序列y(n),并画出其波形。 程序: clear; N=100; n=0:99; b=[0.5 0.1]; a=[1 -1.6 1.28]; h1=impz(b,a,N);
x2=[1 2 3 4 5 zeros(1,N-5)]; %生成一个只在n=0,1,2,3,4处有对应值1,2,3,4,5,其他n值情况下值为零的序列
y1=conv(x2,h1); %计算卷积求系统输出
y2=filter(b,a,x2); %求系统输出
subplot(2,1,1);
stem(n,y1(1:length(y2))); %使得y1和y2的图形取值范围相同
xlabel('时间序号n');
ylabel('输出序列幅度值');
title('输出序列y1(n)');
subplot(2,1,2);
stem(n,y2);
xlabel('时间序号n');
ylabel('输出序列幅度值');
title('输出序列y2(n)');
运行结果:
0102030
405060708090100
6
时间序号n 输出序列幅度值
输出序列y1(n )
10
20
30
40506070
80
90
100
6
时间序号n
输出序列幅度值
输出序列y2(n )
结果说明:由卷积算出来的输出y 的序列长度为
length(x)+length(h)-1,将其长度限定为用filter 函数求出的输出y 的序列长度相同后,两者的图相同。
(3) 编程得到系统频响的幅度响应和相位响应并画图。 程序: clear; b=[0.5 0.1]; a=[1 -1.6 1.28]; fs=1000;
[h,f]=freqz(b,a,256,fs); %计算系统的频率响应值与对应的频率值