资源描述:
《基于matlab的iir数字滤波器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一离散时间系统的时域分析一、实验目的1.运用MATLAB仿真一些简单的离散时间系统,并研究它们的时域特性。2.运用MATLAB中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:当输入信号为冲激信号时,系统的输出记为系统单位冲激响应,则系统响应为如下的卷积计算式:当h[n]是有限长度的(n:[0,M])时,称系统为FIR系统;反之,称系统为IIR系统。在MATLAB中,可以用函数y=Filter(p,d,x)求解差分方程,也可以用函数y=Conv(x,h
2、)计算卷积。例1clf;n=0:40;a=1;b=2;x1=0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=[1,0.5,3];den=[2-30.1];ic=[00];%设置零初始条件y1=filter(num,den,x1,ic);%计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic);%计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic);%计算输入为x(n)时的输出y(n)yt=a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y)
3、;ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘加权输出a*y1+b*y2’);(一)、线性和非线性系统对线性离散时间系统,若和分别是输入序列和的响应,则输入的输出响应为,即符合叠加性,其中对任意常量a和b以及任意输入和都成立,否则为非线性系统。(二)、时不变系统和时变系统对离散时不变系统,若是的响应,则输入x(n)=x1(n-n0)的输出响应为y(n)=y1(n-n0),式中n0是任意整数。该输入输出关系,对任意输入序列及其相应的输
4、出成立,若对至少一个输入序列及其相应的输出序列不成立,则系统称之为时变的。(三)、线性卷积假设待卷积的两个序列为有限长序列,卷积运算符在MATLAB中可命令conv实现。例如,可以把系统的冲激响应与给定的有限长输入序列进行卷积,得到有限长冲激响应系统的输出序列。下面的MATLAB程序实现了该方法。例2clf;h=[321-210-403];%冲激x=[1-23-4321];%输入序列y=conv(h,x);n=0:14;stem(n,y);xlabel(‘时间序号n’);ylabel(‘振幅’);title(‘用卷积得到的输出’);grid;三、实验内容
5、与步骤1.假定一因果系统为y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)用MATLAB程序仿真该系统,输入三个不同的输入序列:,,计算并并显示相应的输出,和。2.用MATLAB程序仿真步骤1给出的系统,对两个不同的输入序列x(n)和x(n-10),计算并显示相应的输出序列y3(n)和y4(n)。3.用MATLAB程序仿真计算下列两个有限长序列的卷积和并显示图形。四、实验仪器设备计算机,MATLAB软件五、实验要求给出理论计算结果和程序计算结果并讨论。六、实验结果实验1:clf;
6、n=0:40;a=2;b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;den=[1,-0.4,0.75];num=[2.24032.49082.2403];%分子系数ic=[00];%设置零初始条件y1=filter(num,den,x1,ic);%计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic);%计算输入为x2(n)时的输出y2(n)yn=filter(num,den,x,ic);%计算输入为x(n)时的输出y(n)%画出输出信号subplot(2,2
7、,1)stem(n,y1);ylabel('振幅');title('y1输出');subplot(2,2,2)stem(n,y2);ylabel('振幅');title('y2输出');subplot(2,2,3)stem(n,yn);ylabel('振幅');title('yn输出');实验2:clf;n=0:40;n1=0:50;a=2;b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x3=a*x1+b*x2;x4=[zeros(1,10),x3];den=[1,-0.4,0.75];num=[2.24032.4
8、9082.2403];ic=[00];%设置零初始条件y3=filter(num