云南师范大学dsp数字信号处理试验报告

发布时间:








本科学生实验报告



李华福114090395姓名学号
11电子物电学院专业、班级学院
实验课程名称数字信号处理(实验)
李宏宁老师教师及职称
学期下20142013学年开课学期




75填报时间2014

云南师范大学教务处编印.
实验序实验名称离散系统分析8

实验时间201457实验室数字信号处理实验室(313

一.实验预习1.实验目的
深刻理解离散时间系统的系统函数在分析离散系统的时域特性、频率特性及稳定性中的重要作用及意义,熟练掌握利用MATLAB分析离散系统的时域响应、频率响应和零极点的方法。掌握利用DTFTDFT确定系统特性的原理和方法。

2.实验原理、实验流程或装置示意图实验原理:
MATLAB提供了许多可以用于分析线性时不变离散系统的函数,主要包含有系统函数、系统时域响应、系统频率响应等分析函数。1)离散系统的时域响应
描述离散LTI系统的输入x[k]与输出y[k]关系的差分方程为:y[k]y[k1]ay[k(N1]ay[kN]n1N(2.2.1
bx[k]bx[k1]bx[k(M1]bx[kM]M110M对上式两边同取z变换可得离散系统的系统函数H(z
1(M1Mzbzbbbzb(Yz(zMM110H(z(2.2.2
1(N1NX(z1azazaza(zN1N1使用向量b=[]和向量a[a,ab,b,,aa]b,b,分别保存分子多NM1001,1N1,M0z的降幂排列。项式和分母多项式的系数,这些系数都是从z1离散系统的单位冲激响应h[k]的计算
[h,k]=impz(b,a计算系统的单位脉冲响应的相应的时间轴向量,其中ba分别是系统函数H(z的分子多项式和分母多项式的系数矩阵;也可以简写为h=impz(b,a
[h,k]=impz(b,a,n计算n点单位脉冲响应;也可以简写为h=impz(b,a,nImpz(b,a自动绘制单位脉冲响应的图形。2)离散系统响应y[k]的计算
y=filter(b,a,x计算系统在输入x作用下的零状态响应为y
y=filter(b,a,xzi计算系统在输入x和初始状态作用下的完全响应yzi是由系统的初始状态经过filtic函数转换而得到的初始条件:
zi=filtic(b,a,Y0,其中Y0为系统的初始状态,Y0=[y[-1],y[-2],y[-3],]也可利用lsim函数求解离散系统的系统响应,该函数在连续系统分析试验中介绍过,在此不再重复。


1
z21[2.2.1]已知系统函数为,求H(z12z0.1210.4z(1离散系统的单位脉冲
响应h[k];
(2输入x[k]=u[k],求系统的零状态响应y[k];
(3输入就x[k]=u[k],初始条件y[-1]=1,y[-2]=2,求系统的完全响应y[k]【解】
1计算前40个点的单位脉冲响应h[k]N=40;
a=[1,0.4,-0.12];b=[1,2];y=impz(b,a,N;stem(y
xlabel('k';title('h[k]'运行结果如下图2.1.1所示。
h[k]21.510.50-0.5-10510152025303540k系统的单位脉冲响应2.2.1y[k]
100个点的零状态响应)2计算前N=40;a=[1,0.4,-0.12];b=[1,2];x=ones(1,N;y=filter(b,a,xy[k]
个时刻的完全响应计算前1003
,它可以由y[-1]=1,y[-2]=2ziFilter(b,a,x,zi中的初始值不是filtic函数计算。N=100;
a=[1,0.4,-0.12];b=[1,2];x=ones(1,N;
zi=filtic(b,a,[1,2];y=filter(b,a,x,zi;



2)离散系统的系统函数零极点分析
LTI离散系统的系统函数H(z可以表示为零极点形式,即
1(M1Mzbbbzbz(zYM01M-1H(z1(N1NX(z1azazazNN11(zz(zz(zzM21(2.2.3k(zp(zp(zpN12可以使用MATLAB提供的roots函数计算离散系统的零极点,使用zplane函数绘制离散系统的零极点分布图。在利用这些函数时,要求H(z的分子多项式和分母多项式的系数的个数相等,若不相等需要补零。
1z12H(z计算该系统函数的的零极[2.2.2]已知系统函数为12z0.4z0.121点,并画出系统函数零极点分布图。【解】
b=[1,2,0];a=[1,0.4,-0.12];z=roots(b;p=roots(a;zplane(b,a程序运行输出零点为
z=0-2
输出的极点为
p=-0.60000.2000
绘出的零极点分布图如图2.2.2所示。可看见系统函数含有两个零点,两个极点。极点都位于单位圆内,因此该离散系统稳定。
10.5traPyr0anigamI-0.5-1-2-1.5-1-0.500.51RealPart2.2.2图系统函数的零极点分布图



3)离散系统的频率响应
当离散系统因果LTI系统的系统函数H(z的极点全部位于z平面单位圆j可由H(z内时系统的频率响应特性求出,即(eH(jjj(2.2.4
eeeH(zH(H(ezj,其格式如下:可计算系统的频率特性使用freqz(b,aH(e[H,w]=freqz(b,a,n计算系统的n点频率响应H,w为频率点向量,ba分别为系统函数H(z的分子分母系数矩阵。
H=freqz(b,a,w计算系统在指定频率点向量w上的频率响应。Freqz(b,a自动绘制频率响应曲线。
[2.2.3]已知某离散系统因果系统的系统的系统函数为1z1H(z,该分析系统的幅频特性。12zz10.5【解】
b=[1,1];a=[1,-1,0.5];[H,w]=freqz(b,a;
plot(w,abs(H;xlable('Frequency(rad';ylable('Magnitude'title('Magnitude
j
response';
j
z=-1==迫使系统幅频响应在结果如图2.2.3所示,系统函数的零点e的幅度
为零。
654321000.511.522.533.5
离散系统的幅频特性图2.2.3




4)利用DTFTDFT确定离散系统的特性
在很多情况下,需要根据LTI系统的输入和输出对系统进行辨识,即通过测量系统在已知输入x[k]激励下的响应y[k]来确定系统的特性。若系统的单位脉冲响应为H[k]由于存在y[k]=x[k]*h[k]所以可以再时域通过信号解卷积方法求解h[k]
,再由得到系统的单位脉冲响应h[k]。若该LTI系统输入jjeH(eH(x[k]DTFT为,系统输入y[k]DTFT为,则系统频率特jj(Xe(eY性可表示为:jH(ej(eY2.2.5jeH(j(eX有限长系列的DTFT可以利用FFT计算出在区间内的等间]2[0,隔频率点上的样点值。即利fft(xN就可以计算出在j(eX][0,22上的样点值X[m]利用区间内N个频率点1mN(m0,1,,mN个频率点N区间的就可以计算出fft(y,Nj]2[0,eY(2在这些频,从而可得到Y[m]上的样点值
j
1m(m0,1,,NeH(mN][mY就可以得到系统的单位。利用函数率点上的样
点值ifft(H(Hm]m[X脉冲响应H[k]
3实验设备及材料
装有MATLAB软件的计算机一台


4.实验方法步骤及注意事项
实验方法步骤:
(1打开MATLAB软件
(2根据题目要求编写程序(3运行程序
(4分析实验结果(5关闭计算机
注意事项:
(1对于实验仪器要轻拿轻放,遵守实验的规则。(2程序运行前要检查程序是否正确。



二.实验内容
1.已知某系统的LTI系统的差分方程为
2]k0.067x[]k0.1349x[k1]k[[k]1.143yk1]0.4128y[2]0.0675x[y(1初始状态为y[-1],y[-2]=2,输入x[k]=u[k],计算系统的完全响应。
(2当下三个信号分别通过离散系统时,分别计算离散系统的零状态响应:
7][kcos(kukku[k],x[]]xu[xk]cos(k[k],[kcos(31210510(3该系统具有什么特性?【解】
(1完全响应:N=100;
a=[1,-1.143,0.4128];
b=[0.0675,0.1349,0.0675];x=ones(1,N;
zi=filtic(b,a,[1,2];y=filter(b,a,x,zi;stem(y
xlabel('k';title('y[k]'y[k]1.41.21
0.80.60.40.200102030405010090807060k


x[k]cos(ku[k]时:当输入信号为(2110k=0:0.1:10;a=[1,-1.143,0.4128];
b=[0.0675,0.1349,0.0675];x=cos(pi/10*k;y=filter(b,a,xstem(y
xlabel('k';title('y[k]'
y[k]1.510.50-0.5-1020406080100120k]kuk[[xk]cos(时:当输入信号为25k=0:0.1:10;a=[1,-1.143,0.4128];
b=[0.0675,0.1349,0.0675];x=cos(pi/5*k;y=filter(b,a,xstem(y
;'k'xlabel(title('y[k]'



7]k]cos(u[kkx[当输入信号为时:310k=0:0.1:10;
a=[1,-1.143,0.4128];
b=[0.0675,0.1349,0.0675];x=cos(pi*7/10*k;y=filter(b,a,xstem(y
xlabel('k';title('y[k]'
y[k]1.510.50-0.5-1-1.5020406080100120k
y[k]10.80.60.40.20-0.2-0.4-0.6-0.8-1020406080100120k



2.已知某因果LTI离散系统的系统函数
z0.035710.2143z0.1428z0.1428z0.03571H(z
1234z0.2605z11.035z0.040330.8264z(1计算系统的单位脉冲响应。
x[k]u[k]cos(ku[k]cos(ku[k]通过系统时,(2当信号计算系统的零状42态响应。
1234
【解】
(1系统的单位脉冲响应为:N=40;
a=[1,-1.035,0.8264,-0.260,0.4033];
b=[0.03571,0.1428,0.2143,0.1428,0.03571];y=impz(b,a,N;stem(y
xlabel('k';title('h[k]'运行波形如下:
h[k]0.40.30.20.10-0.1-0.2-0.3-0.40510152025303540k



(2x[k]通过时系统的零状态响应为:k=0:0.1:10;
a=[1,-1.035,0.8264,-0.260,0.4033];
b=[0.03571,0.1428,0.2143,0.1428,0.03571];x=1+cos(pi/4*k+cos(pi/2*k;y=filter(b,a,xstem(y
xlabel('k';title('y[k]'运行波形如下:
y[k]3.532.521.510.50-0.5-1020406080100120k




3.已知LTI系统的输入输出系列分别为
1111kkk][(kux[k]u[k(]k]=([uk]y[,(a2424111kkk1][k](kux[u[k(1]y[k]=([uk](b,444(1利用系统辨识原理从频域分别要求解系统的单位脉冲响应h[k]
j,并求出系统的单位脉冲响应H[k]利用解析方法确定(2。比较解析方(eH和辨识方法得到的系统单位脉冲响应,分析误差原因。【解】
(1单位脉冲响应h[k]为:k=0:0.1:10;
a=[1,0.4,-0.12];b=[1,2];x=(1/2.^k;y=impz(b,a,x;stem(y
xlabel('k';title('h[k]'title('y[k]'运行波形如下:
h[k]1.61.41.210.80.60.40.20020406080100120k




4.某离散系统的输入和输出系列。
输入系列为:2,0.8333,0.361,0.162,0.0748,0.0354,0.017,0.0083,0.0041,0.0025,0.001,0.0005,0.0002,0.0001,0.0001
输出系列为:0.0056,-0.0259,0.037,-0.1593,0.297,-0.497,0.7711,-1.267,1.5702,-2.1037,2.742,-3.4027,4.174,-4.9528,5.7117,-6.3889,6.9034,-7.1528,7.012,-6.3322,4.9416,-2.648,-0.7564,5.4872,-11.7557,19.7533,-29.6298,41.4666,-55.2433,70.7979,-87.7810
(1绘出输入和输出信号波形。
j,并绘出其幅频特性。(2计算该系统的频率特性(eH(3计算该系统的单位脉冲响应h[k],并绘出其波形。【解】
(1输入和输出信号波形如下所示:clc,clear;
x=[2,0.8333,0.3611,0.162,0.0748,0.0354,0.017,0.0083,0.0041,0.002,0.001,0.0005,0.0002,0.0001,0.0001];
y=[0.0056,-0.0259,0.073,-0.1593,0.297,-0.4974,0.7711,-1.1267,1.5702,-2.1037,2.724,-3.4207,4.174,-4.9528,
5.7117,-6.3889,6.9034,-7.1528,7.012,-6.3322,4.9416,-2.648,-0.7564,5.4872,-11.7557,19.7533,-29.6298,41.4666,-55.2433,70.7979,-87.7810];subplot(2,1,1;stem(x;
subplot(2,1,2;stem(y;
21.510.50051015100500-50-10005101520253035



(2其幅频特性如下所示:clc,clear;
x=[2,0.8333,0.3611,0.162,0.0748,0.0354,0.017,0.0083,0.0041,0.002,0.001,0.0005,0.0002,0.0001,0.0001];
y=[0.0056,-0.0259,0.073,-0.1593,0.297,-0.4974,0.7711,-1.1267,1.5702,-2.1037,2.724,-3.4207,4.174,
-4.9528,5.7117,-6.3889,6.9034,-7.1528,7.012,-6.3322,4.9416,-2.648,-0.7564,5.4872,-11.7557,
19.7533,-29.6298,41.4666,-55.2433,70.7979,-87.7810];X=fft(x,256;Y=fft(y,256;H=Y./X;H0=abs(H;plot(H0;
250200150100500050100150200250300
(3其单位脉冲响应h[k]为:clc,clear;
x=[2,0.8333,0.3611,0.162,0.0748,0.0354,0.017,0.0083,0.0041,0.002,0.001,0.0005,0.0002,0.0001,0.0001];
y=[0.0056,-0.0259,0.073,-0.1593,0.297,-0.4974,0.7711,-1.1267,1.5702,-2.1037,2.724,-3.4207,4.174,
-4.9528,5.7117,-6.3889,6.9034,-7.1528,7.012,-6.3322,4.9416,-2.648,-0.7564,5.4872,-11.7557,
19.7533,-29.6298,41.4666,-55.2433,70.7979,-87.7810];X=fft(x,256;Y=fft(y,256;



H=Y./X;h=ifft(H;plot(h;
6040200-20-40-60050100150200250300






对实验现象、实验结果的分析及其结论
通过该次实验,我们理解连续时间系统的系统函数在分析连续系统的时域特性、频率特性及稳定性中的重要作用及意义。掌握了利用MATLAB分析连续系统的时域响应、频率响应和零极点的基本方法。掌握了根据系统函数的零极点设计简单的滤波器的方法。
经验:学习使用matlab快捷键很重要,能大大提高编程效率。比如方向键的上键能快速输入上次的内容;ctrl+r键全部注释,ctrl+t键取消全部注释(选中的部分);另外,每次编写之前都写一句:clc,clear,closeall,清除工作空间及面板,这样不会受上一次的操作影响等,使用matlabhelp能查找到不熟悉的函数使用方法。
另外,截图时采用Figure中的Edit->CopyFigure以减少图片所占容量,便于编辑。还可以通过File->SaveAs…保存不同格式的figure图片,便于其他地方其他格式时使用。
教师评语及评分:
签名:


云南师范大学dsp数字信号处理试验报告

相关推荐