上海电力学院
实验报告
实验课程名称:数字信号处理实验项目名称:系统响应及系统稳定性班级:姓名:学号:
一.实验目的
1.掌握求系统响应的方法。
2.掌握时域离散系统的时域特性。
3.分析、观察及检验系统的稳定性。
二.实验原理与方法
在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号,可以有差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的现行卷积,求出系统的响应。
实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位节约序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。系统的稳态输出是指当n趋向于无穷时,系统的输出。如果系统稳定,信号加入系统后,系统输出地开始一段称为暂态效应,随n的加大,幅度区域稳定,达到稳态输出。
三.实验内容及步骤
clearall;
clc;
_n=[1,2,3,4,2,1];ys=0;
B=[1,0,2];A=[1,0.5];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(1,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')
最终得到的波形图为:
(1)Y(n)=0.6y(n-1)-0.08y(n-2)+_(n)
(2)y(n)=0.7y(n-1)-0.1y(n-1)+2_(n)-_(n-2)
分别求出所描述的系统的单位脉冲响应和单位阶跃响应。
(1)输入代码如下:
ys=0;
_n=[1,zeros(1,30)];
B=1;A=[1,-0.6,0.08];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')ys=0;
_n=[1,ones(1,30)];
B=1;A=[1,-0.6,0.08];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,2);stem(n,yn,'.')
title('(a)');_label('n');ylabel('h(n)')最终得到的波形图为:
(2)输入代码如下:
ys=0;
_n=[1,zeros(1,30)];
B=[2,-1,0];
A=[1,-0.7,0.1];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')
ys=0;
_n=[1,ones(1,30)];
B=[2,-1,0];
A=[1,-0.7,0.1];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,2);stem(n,yn,'.')
title('(a)');_label('n');ylabel('h(n)')
最终得到的波形图为:
第二题:给定一个低通滤波器的差分方程为y(n)=0.05_(n)+0.05_(n-1)+0.9y(n-1),输入信号_1(n)=R8(n),_2(n)=u(n)。求其系统响应及单位脉冲响应,并画出其波形。
a._1(n)=R8(n)
输入代码如下:
ys=0;
_n=[1,1,1,1,1,1,1,1];
B=[0.05,0.05];
A=[1,-0.9];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y1(n)')ys=0;
_n=[1,ones(1,30)];
B=[0.05,0.05];
A=[1,-0.9];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,2);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y2(n)')最终得到的波形为:
b._2(n)=u(n)
输入代码如下:
ys=0;
_n=[1,zeros(1,30)];
B=[0.05,0.05];
A=[1,-0.9];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(1,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('h(n)')最终得到的波形图为:
第三题:输入代码如下:
_n=[1,1,1,1,1,1,1,1];hn=[1,1,1,1,1,1,1,1,1,1];yn=conv(_n,hn);
n=0:length(yn)-1;
subplot(2,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')_n=[1,1,1,1,1,1,1,1];hn=[1,2.5,2.5,1];
yn=conv(_n,hn);
n=0:length(yn)-1;
subplot(2,1,2);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')最终得到的波形图为:
第四题:输入代码如下:
ys=0;
_n=[1,ones(1,30)];
B=[1./100.49,0,-1./100.49];
A=[1,-1.8237,0.9801];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,1);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')ys=0;
_n=sin(0.014.n)+sin(0.4.n);
B=[1./100.49,0,-1./100.49];
A=[1,-1.8237,0.9801];
_i=filtic(B,A,ys);
yn=filter(B,A,_n,_i);
n=0:length(yn)-1;
subplot(2,1,2);stem(n,yn,'.')
title('(a)');_label('n');ylabel('y(n)')
最终得到的波形图为:
四.实验心得:
通过此次实验我熟悉了MATLAB软件,它的应用范围覆盖了许多领域在实验的过程中,但我对MATLAB语言还比较陌生,所以在编程的过程中遇到了一些困难,还需要时间和精力来了解这一实验软件。