资源描述:
《数字信号处理--实验二 求线性时不变系统的输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学生实验报告开课学院及实验室:电子楼3172013年3月18日学院机械与电气工程学院年级、专业、班姓名学号实验课程名称数字信号处理实验成绩实验项目名称实验二 求线性时不变系统的输出指导老师一、实验目的1. 学习用递推法求解差分方程的方法。2.学习用线性卷积法求网络输出的方法。二、实验原理一般网络或系统用线性常系数差分方程描述,如果已知差分方程和输入信号,用递推法求解差分方程或者求网络输出,最适合用计算计求解。但要注意N阶差分方程要预先给定N个初始条件。下面用例子说明用递推法求解差分方程的方框图。例如一个二阶差分方程如下:式中,系数、、、为已知系数,是
2、输入序列。设是因果序列,,从开始递推。当时,式中,和是两个初始条件,要预先给定。这样求解网络输出的计算框图如图2.1所示。图中,N表示递推了N步,即y(n)的长度。如果用差分方程求系统的单位脉冲响应,也可以用上面的计算框图。因为是系统输入时的零状态响应,因此计算框图中全部的初始条件为0,且。这样递推得到。已知和输入,求系统输出,也可以用线性卷积法进行。线性卷积法的公式如下:图2.1 用递推法求解差分方程的框图计算时,关键问题是根据和的特点,确定求和的上下限。例如,,,卷积公式为根据上式中的,限制非零区间为:,由限制非零区间为:。由上面的不等式知道的取
3、值和有关,可以分几种情况:当<0时,当<9时,当时,最后得到:再用计算机计算。如果给定的和是一些离散数据,更方便的是用MATLAB语言的数字信号工具箱函数conv计算两个n的取值从零开始的有限长序列的线性卷积。三、使用仪器、材料1、硬件:计算机2、软件:Matlab四、实验步骤1.已知系统的差分方程如式:(1)输入信号=,初始条件,求解输出;(2)输入信号=,初始条件,求解输出。2.已知系统差分方程为求解系统的单位脉冲响应,并打印曲线。3.已知系统的单位脉冲响应,输入信号,试用卷积法求解系统输出,并打印~曲线。五、实验过程原始记录(数据、图表、计算等
4、)1.(1)程序为:a=0.9;%差分方程系数a=0.9ys=1;%初始状态:y(-1)=1xn=[ones(1,10),zeros(1,20)];%矩形序列B=1;%差分方程系数A=[1,-a];xi=filtic(B,A,ys);%等效初始条件的输入序列yn=filter(B,A,xn,xi);%调用filter函数解差分方程,求系统输出信号y(n)n=0:length(yn)-1;%位置向量设定stem(n,yn,'.');xlabel('n');ylabel('y(n)')(2)程序为:a=0.9;%差分方程系数a=0.9ys=0;%初始状态
5、:y(-1)=0xn=[ones(1,10),zeros(1,20)];%矩形序列B=1;%差分方程系数A=[1,-a];xi=filtic(B,A,ys);%等效初始条件的输入序列yn=filter(B,A,xn,xi);%调用filter函数解差分方程,求系统输出信号y(n)n=0:length(yn)-1;%位置向量设定stem(n,yn,'.');xlabel('n');ylabel('y(n)')2.%方法一:初始条件y(-1)=0,得到的y(n)=h(n)a=0.9;%差分方程系数a=0.9ys=0;%初始状态:y(-1)=0xn=[1,
6、zeros(1,49)];%单位脉冲序列,长度N=50B=1;%差分方程系数A=[1,-a];xi=filtic(B,A,ys);%等效初始条件的输入序列yn=filter(B,A,xn,xi);%调用filter函数解差分方程,求系统输出信号y(n)n=0:length(yn)-1;%位置向量设定subplot(1,2,1);stem(n,yn,'.');xlabel('n');ylabel('h(n)')title('方法一')%方法二:MATLAB的impz函数B=1;A=[1,-0.9];subplot(1,2,2);impz(B,A,50)
7、;%计算出单位脉冲响应50个样值xlabel('n');ylabel('h(n)');title('方法二')3.n=0:80;xn=[ones(1,10),zeros(1,10)];%矩形序列hn=0.9.^n;%系统的单位脉冲响应h(n)yn=conv(xn,hn);%调用conv函数求解系统输出y(n)ny=0:length(yn)-1;%位置向量设定stem(ny,yn,'.');xlabel('n');ylabel('y(n)')六、实验结果及分析理论计算:1.(1)递推法验证matlab画图结果的正误。n=0y(0)=0.9y(-1)+R
8、10(0)=0.9+1=1.9n=1y(1)=0.9y(0)+R10(1)=0.9*1.9+1=2.71n=