1、matlab离散时间系统的时域分析xxxxxx大学实验报告实验课程 数字信号处理 姓名 xxxx 学号 xxxxxxxxxxxxx 专业及班级 xxxxxxxxx 实验地点 实验组号 实验日期xxxxxxxxx 实验项目 离散时间系统的时域分析 实验目的1.在时域中仿真离散时间系统,进而理解离散时间系统对输入信号或延迟信号进行简单运算处理,生成具有所需特性的输出信号的方法。2.仿真并理解线性与非线性、时变与时不变等离散时间系统。3.掌握线性时不变系统的冲激响应的计算,并用计算机仿真实现。4.仿真并理解线性时不变系统的级联、验证线性时不变系统的稳定特性实验原理,实验步骤,实验仪器设备(名称,型号
2、,功能,量程,在本次试验中的用途)二、实验设备 计算机,MATLAB语言环境。三、实验基础理论1.系统的线性性质线性性质表现为系统满足线性叠加原理:若某一输入是由N个信号的加权和组成的,则输出就是系统对这N个信号中每一个的响应的相应加权和组成的。设 和分别作为系统的输入序列,其输出分别用和表示,即 若满足 则该系统服从线性叠加原理,或者称该系统为线性系统。2.系统的时不变特性若系统的变换关系不随时间变化而变化,或者说系统的输出随输入的移位而相应移位但形状不变,则称该系统为时不变系统(或称为移不变系统)。对时不变系统,若则3.系统的因果性 系统的因果性即系统的可实现性。如果系统时刻的输出取决于时
3、刻及时刻以前的输入,而和时刻以后的输入无关,则该系统是可实现的,是因果系统。系统具有因果性的充分必要条件为 4.系统的稳定性稳定系统是指有界输入产生有界输出(BIBO)的系统。如果对于输入序列,存在一个不变的正有限值,对于所有值满足 则称该输入序列是有界的。稳定性要求对于每个有界输入存在一个不变的正有限值,对于所有值,输出序列满足系统稳定的充分必要条件是系统的单位取样响应绝对可和,用公式表示为 5.系统的冲激响应 设系统输入,系统输出的初始状态为零,这时系统输出用表示,即则称为系统的单位脉冲响应。 对于任意输入信号,系统输出为 利用系统满足叠加原理得 利用系统时不变性质得到 上式的运算关系称为
4、卷积运算。6.卷积的性质1)交换律 2)结合律 = 3)分配律 四、实验内容与步骤 1.离散时间系统的仿真1)M点因果滑动平滑系统的仿真,时域表达为 通过上述时域平滑系统可实现由若干个正弦信号之和所组成的信号中滤出高频分量。据此,可以理解M点因果滑动平滑系统。 2)线性与非线性离散时间系统的仿真。 简单的非线性系统实例: 简单的线性系统实例: 3)时变与时不变系统的仿真。 时不变系统实例: 时变系统实例: 仿真并比较这两个系统。2.线性时不变系统仿真1)冲激响应的计算用MATLAB语言编程实现线性时不变系统的冲激响应计算。线性时不变系统实例: 2) 在实际应用中高阶因果线性时不变系统可以用低阶
5、因果线性时不变系统级联得到,这可简化系统的设计与实现。例如,对于四阶线性时不变系统可以用二个二阶系统级联实现。第一级第二级用MATLAB语言编程验证系统的级联。3.线性时不变系统的稳定性若一个线性时不变系统的冲激响应是绝对可和,则此系统就是BIBO的稳定系统。由此,无限冲激响应线性时不变系统稳定的必要条件是,随着输入序列点的增加,冲激响应衰减到零。用MATLAB语言编程计算一个IIR线性时不变系统冲激响应的绝对值的和,验证稳定特性。4.滤波概念实验通过具体的时间系统理解信号滤波概念。如:系统1系统2对于输入信号 实现各系统的滤波输出结果。M点因果滑动平滑系统的仿真:n=0:100;s1=cos
6、(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=input()num=ones(1,M);y=filter(num,1,x)/M;clf;subplot(2,2,1);plot(n,s1);axis(0,100,-2,2);xlabel(Time index in);ylabel(Amplitude);title(Signal #1);subplot(2,2,2);plot(n,s2);axis(0,100,-2,2);xlabel(Time index in);ylabel(Amplitude);title(Signal #2);subplot(2,2
7、,3);plot(n,x);axis(0,100,-2,2);xlabel(Time index in);ylabel(Amplitude);title(Input Signal);subplot(2,2,4);plot(n,y);axis(0,100,-2,2);xlabel(Time index in);ylabel(Amplitude);title(Onput Signal);axis;输入10;运行结果如图线性与非线性离散时间系统的仿真clf;n=0:200;x=cos(2*pi*0.05*n);x1=x 0 0;x2=0 x 0;x3=0 0 x;y=x2.*x2-x1.*x3;y=
8、y(2:202);subplot(2,1,1)plot(n,x)xlabel(Time index n);ylabel(Amplitude);title(Input Signal);subplot(2,1,2)plot(n,y)xlabel(Time index n);ylabel(Amplitude);title(Output signal);clf;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;num=2.2403 2.4908 2.2403;den=1 -0.4 0.75;ic=0 0;y1=filte
9、r(num,den,x1,ic);y2=filter(num,den,x2,ic);y=filter(num,den,x,ic);clf;n=0:200;x=cos(2*pi*0.05*n);x1=x 0 0;x2=0 x 0;x3=0 0 x;y=x2.*x2-x1.*x3;y=y(2:202);subplot(2,1,1)plot(n,x)xlabel(Time index n);ylabel(Amplitude);title(Input Signal);subplot(2,1,2)plot(n,y)xlabel(Time index n);ylabel(Amplitude);title(
10、Output signal);clf;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;num=2.2403 2.4908 2.2403;den=1 -0.4 0.75;ic=0 0;y1=filter(num,den,x1,ic);y2=filter(num,den,x2,ic);y=filter(num,den,x,ic);yt=a*y1+b*y2;d=y-yt;subplot(3,1,1)stem(n,y);ylabel(Amplitude);title(Output Due to Weighted Inp
11、ut:acdot x_1n+bcdot x_2n);subplot(3,1,2)stem(n,yt);ylabel(Amplitude);title(Weighted Output:acdot x_1n+bcdot x_2n);subplot(3,1,3)stem(n,d);xlabel(Time index n);ylabel(Amplitude);title(Difference Signal);时变与时不变系统的仿真clf;n=0:40;D=10;a=3.0;b=-2;x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);xd=zeros(1,D) x;num=2.
12、2403 2.4908 2.2403;den=1 -0.4 0.75;ic=0 0;y=filter(num,den,x,ic);yd=filter(num,den,xd,ic);d=y-yd(1+D:41+D);subplot(3,1,1);stem(n,y);title(Output yn);subplot(3,1,2);stem(n,yd(1:41);title(Output due to delayed Input xn,num2str(D),);subplot(3,1,3);stem(n,d);xlabel(time index n);ylabel(Amplitude);title(
13、Difference Signal);线性时不变系统仿真clf;x=1 zeros(1,40);n=0:40;den=1 1.6 2.28 1.325 0.68;num=0.06 -0.19 0.27 -0.26 0.12;y=filter(num,den,x);num1=0.3 -0.2 0.4;den1=1 0.9 0.8;num2=0.2 -0.5 0.3;den2=1 0.7 0.85;y1=filter(num1,den1,x);y2=filter(num2,den2,y1);d=y-y2;subplot(3,1,1);stem(n,y);ylabel(Am);title(Ouput
14、);subplot(3,1,2);stem(n,y2);title(Cas);subplot(3,1,3);stem(n,d);xlabel(Time);title(Difference);冲激响应的计算用MATLAB语言编程实现线性时不变系统的冲激响应计算。线性时不变系统实例:程序b=2.2403,2.4908,2.2403;a=1,-0.4,0.75;N=32;n=0:N-1;hn=impz(b,a,n);stem(n,hn);axis(0,N,-1.1*min(n),1.1*max(hn);XX文库 - 让每个人平等地提升自我在实际应用中高阶因果线性时不变系统可以用低阶因果线性时不变系统
15、级联得到,这可简化系统的设计与实现。例如,对于四阶线性时不变系统可以用二个二阶系统级联实现。第一级第二级用MATLAB语言编程验证系统的级联。B1=1,0.9,0.8;A1=0.2,-0.2,0.4;xn=1,zeros(1,30);hn1=filter(B1,A1,xn);B2=1,0.7,0.85;A2=0.2,-0.5,0.3;hn2=filter(B2,A2,hn1); n2=0:length(hn2)-1;subplot(2,1,1)stem(n2,hn2,-),title(级联后的响应)xlabel(n);ylabel(h2(n)% the original serialsB3=1
16、,1.6,2.28,1.325,0.68;A3=0.06,-0.19,0.27,-0.26,0.12;xn=1,zeros(1,30);hn=filter(B3,A3,xn);n=0:length(hn)-1;subplot(2,1,2)stem(n,hn,.), title(原始序列响应)xlabel(n);ylabel(h(n)线性时不变系统的稳定性 若一个线性时不变系统的冲激响应是绝对可和,则此系统就是BIBO的稳定系统。由此,无限冲激响应线性时不变系统稳定的必要条件是,随着输入序列点的增加,冲激响应衰减到零。用MATLAB语言编程计算一个IIR线性时不变系统冲激响应的绝对值的和,验证稳
17、定特性。系统函数:H(z)=z/(z-0.9)b=1,-0.9;a=1;xn=1,zeros(1,30);hn=filter(b,a,xn);n=0:length(hn)-1;subplot(2,1,1)stem(n,hn),xlabel(n),ylabel(h(n),title(系统函数H(z)=z/(z-0.9)的冲激响应)sum=0;for i=0:length(xn)-1 sum=sum+abs(hn(i+1);endsum %可以发现最终的sum是1.9,只要点数足够多就能证明稳定性subplot(2,1,2)zplane(b,a);title(系统函数H(z)=z/(z-0.9)的
18、零极点分布图)绘制零极点图也可看出系统是稳定的sum =1.9000滤波概念实验 通过具体的时间系统理解信号滤波概念。如: 系统1 系统2 对于输入信号 实现各系统的滤波输出结果。程序:B1=1;A1=0.5,0.27,0.77;B2=1,-.53,0.46;A2=0.45,0.5,0.45;n=0:299;xn=cos(20*pi*n)/256)+cos(200*pi*n)/256);hn1=filter(B1,A1,xn);n1=0:length(hn1)-1;subplot(2,1,1)stem(n1,hn1);xlabel(n),ylabel(h1(n),title(系统1冲激响应)h
19、n2=filter(B2,A2,xn);n2=0:length(hn2)-1;subplot(2,1,2)stem(n2,hn2)xlabel(n),ylabel(h2(n),title(系统2冲激响应)五、实验扩展与思考 1. 线性与非线性系统在信号输入/输出上有何不同?时变与时不变系统又有何不同呢? 2. 冲激响应的计算实验中,就此系统计算它的阶跃响应,并与冲激响应比较,理解他们之间的关系。 3. 系统级联实验中,四阶线性时不变系统若改用并联实现,又该如何进行? 4. 滤波概念实验中,两个系统的输出有何不同,为什么?若改用最低频率为0、最高频率为0.5,长度为301的扫频正弦序列,则结果又将如何?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1