信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件_第1页
信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件_第2页
信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件_第3页
信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件_第4页
信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.差分方程1的计算

差分方程为

y(n)+0.7y(n-1)-0.45y(n-2)-0.6y(n-3)

=0.8x(n)-0.44x(n-1)+0.36x(n-2)+0.02x(n-3)

计算当输入序列为x(n)=δ(n)时的输出结果为y(n),其0≤n≤40。

1.差分方程1的计算

差分方程为

y(n)+0.MATLAB程序:

N=41;

a=[0.8-0.440.360.22];b=[10.7-0.45-0.6];

x=[1zeros(1,N-1)];

k=0:1:N-1;y=filter(a,b,x);

stem(k,y);

xlabel(′n′);ylabel(′幅度′)

图9.1给出了该差分方程的前41个采样点的输出,即该系统的单位脉冲响应。MATLAB程序:

N=41;

a=[0.8-0.图9.1差分方程的单位脉冲响应图9.1差分方程的单位脉冲响应信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件MATLAB程序:

k=256;num=[0.8-0.440.360.02];

den=[10.7-0.45-0.6];w=0:pi/k:pi;

h=freqz(num,den,w);subplot(2,2,1);

plot(w/pi,real(h));grid

title(′实部′)

xlabel(′\omega/\pi′);ylabel(′幅度′)

MATLAB程序:

k=256;num=[0.8subplot(2,2,2);plot(w/pi,imag(h));grid

title(′虚部′);xlabel(′\omega/\pi′);ylabel(′幅值′)subplot(2,2,3);plot(w/pi,abs(h));grid

title(′幅度谱′);xlabel(′\omega/\pi′);ylabel(′幅值′)

subplot(2,2,4);plot(w/pi,angle(h));grid

title(′相位谱′);xlabel(′\omega/\pi′);ylabel(′弧度′);

图9.2给出了该差分方程所对应的系统函数的DTFT。subplot(2,2,2);plot(w/pi,im图9.2系统函数的DTFT图9.2系统函数的DTFT3.非线性离散时间系统

(1)x=cos(2*pi*0.05*n)

MATLAB程序:

clf;n=0:200;x=cos(2*pi*0.05*n);%生成正弦输入信号1

x1=[x00];%x1[n]=x[n+1]%计算输出信

x2=[0x0];%x2[n]=x[n]

x3=[00x];%x3[n]=x[n-1]

3.非线性离散时间系统

(1)x=cos(2*pi*0y=x2.*x2-x1.*x3;

y=y(2:202);

subplot(2,1,1)plot(n,x);

xlabel(′时间n′);ylabel(′幅值′);%画出输入与输出信号

title(′输入信号′)subplot(2,1,2)

plot(n,y)xlabel(′时间n′);

ylabel(′幅值′);title(′输出信号′);

非线性离散时间系统在正弦输入信号1作用下的输出如图9.3所示。y=x2.*x2-x1.*x3;

y=y(2:202);图9.3非线性离散时间系统在正弦输入信号1作用下的输出图9.3非线性离散时间系统在正弦输入信号1作用下的输出(2)x=sin(2*pi*0.05*n)+30

MATLAB程序:

clf;n=0:200;x=sin(2*pi*0.05*n)+30;%生成正弦输入信号

x1=[x00];%x1[n]=x[n+1]%计算输出信号x2=[0x0];%x2[n]=x[n]

x3=[00x];%x3[n]=x[n-1]

(2)x=sin(2*pi*0.05*n)+30

MATy=x2.*x2-x1.*x3;

y=y(2:202);

subplot(2,1,1);plot(n,x)

xlabel(′时间n′);ylabel(′幅值′);画出输入与输出信号

title(′输入信号′);subplot(2,1,2)

plot(n,y)xlabel(′时间n′);ylabel(′幅值′);

title(′输出信号′);

非线性离散时间系统在正弦输入信号2作用下的输出如图9.4所示。y=x2.*x2-x1.*x3;

y=y(2:202)图9.4非线性离散时间系统在正弦输入信号2作用下的输出图9.4非线性离散时间系统在正弦输入信号2作用下的输出4.线性与非线性系统

MATLAB程序:

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.24032.49082.2403];

den=[1-0.40.75];4.线性与非线性系统

MATLAB程序:

clf;ic=[00];%设置初值

y1=filter(num,den,x1,ic);%计算输出y1[n]

y2=filter(num,den,x2,ic);%计算输出y2[n]

y=filter(num,den,x,ic);%计算输出y[n]

yt=a*y1+b*y2;

d=y-yt;%计算输出误差d[n]

%Plottheoutputsandthedifferencesignal

subplot(3,1,1)stem(n,y);ylabel(′幅值′);ic=[00];%设置初值

y1=filter(numtitle(′加权输入对应的输出:a\cdotx_{1}[n]+b\cdotx_{2}[n]′);

subplot(3,1,2)stem(n,yt);ylabel(′幅值′);

title(′加权输出t:a\cdoty_{1}[n]+b\cdoty_{2}[n]′);

subplot(3,1,3)stem(n,d);

xlabel(′时间n′);ylabel(′幅值′);

title(′误差信号′);

不同正弦输入信号下系统的输出如图9.5所示。title(′加权输入对应的输出:a\cdotx_{1图9.5不同正弦输入信号作用下系统的输出图9.5不同正弦输入信号作用下系统的输出5.时变与时不变系统

MATLAB程序:

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.24032.49082.2403];den=[1-0.40.75];

ic=[00];%设置初值5.时变与时不变系统

MATLAB程序:

clf;y=filter(num,den,x,ic);%计算输出y[n]

yd=filter(num,den,xd,ic);%计算输出yd[n]

d=y-yd(1+D:41+D);%计算误差输出d[n]

subplot(3,1,1)

stem(n,y);

ylabel(′幅值′);title(′输出y[n]′);grid;

subplot(3,1,2);stem(n,yd(1:41));ylabel(′幅值′);

title([′延迟输入引起的输出′]);grid;

subplot(3,1,3);stem(n,d);

xlabel(′时间n′);ylabel(′幅值′);

title(′误差信号′);grid;[ZK)]

系统在正弦输入信号下系统的输出如图9.6所示。y=filter(num,den,x,ic);%计图9.6系统在正弦输入信号下系统的输出图9.6系统在正弦输入信号下系统的输出6.计算LTI系统的冲激响应

MATLAB程序:

clf;

N=40;num=[2.24032.49082.2403];

den=[1-0.40.75];y=impz(num,den,N);

stem(y);xlabel(′时间n′);ylabel(′幅值′);

title(′冲激响应′);grid;

LTI系统的冲激响应如图9.7所示。6.计算LTI系统的冲激响应

MATLAB程序:

cl图9.7LTI系统的冲激响应图9.7LTI系统的冲激响应问题:求下列系统的冲激响应

y(n)+0.71y(n-1)-0.46y(n-2)-0.62y(n-3)

=0.9x(n)-0.45x(n-1)+0.35x(n-2)+0.002x(n-3)

7.串级LTI系统

MATLAB程序:

clf;x=[1zeros(1,40)];%生成输入序列

n=0:40;

den=[11.62.281.3250.68];

问题:求下列系统的冲激响应

y(n)+0.71y(n-num=[0.06-0.190.27-0.260.12];%4阶系统系数

y=filter(num,den,x);%计算4阶系统的输出

num1=[0.3-0.20.4];den1=[10.90.8];%两个2阶系统的系数

num2=[0.2-0.50.3];den2=[10.70.85];

y1=filter(num1,den1,x);%串级系统第一阶的输出y1[n]y2=filter(num2,den2,y1);%串级系统第二阶的输出y2[n]d=y-y2;%y[n]与y2[n]的差

subplot(3,1,1);

stem(n,y);ylabel(′幅值′);

title(′4阶系统的输出′);grid;num=[0.06-0.190.27-0.260.1subplot(3,1,2);

stem(n,y2);ylabel(′幅值′);

title(′串级系统的输出′);grid;

subplot(3,1,3);stem(n,d)

xlabel(′时间n′);ylabel(′幅值′);

title(′误差信号′);grid;

串级LTI系统的输出如图9.8所示。subplot(3,1,2);

stem(n,y2);图9.8串级LTI系统的输出图9.8串级LTI系统的输出8.卷积与滤波

MATLAB程序:

clf;

h=[321-210-403];%冲激响应

x=[1-23-4321];%输入序列

y=conv(h,x);n=0:14;

subplot(2,1,1);

8.卷积与滤波

MATLAB程序:

clf;stem(n,y);

xlabel(′时间n′);ylabel(′幅值′);

title(′卷积计算输出′);grid;

x1=[xzeros(1,8)];

y1=filter(h,1,x1);subplot(2,1,2);

stem(n,y1);xlabel(′时间n′);ylabel(′幅值′);

title(′滤波计算输出′);grid;

信号的卷积与滤波输出如图9.9所示。stem(n,y);

xlabel(′时间n′);yl图9.9信号的卷积与滤波输出图9.9信号的卷积与滤波输出

9.LTI系统的稳定性

系统的稳定性的分析主要是根据冲激响应绝对值的和来确定。

MATLAB程序:

clf;

num=[1-0.8];den=[11.50.9];

N=200;h=impz(num,den,N+1);parsum=0;

fork=1:N+1;

parsum=parsum+abs(h(k));

ifabs(h(k))<10^(-6),break,end

end9.LTI系统的稳定性

系统的稳定性的分析主要是n=0:N;stem(n,h);%画出冲激响应曲线

xlabel(′时间n′);ylabel(′幅值′);

disp(′Value=′);disp(abs(h(k)));%显示h(k)的绝对值。LTI系统的稳定性如图9.10所示。n=0:N;stem(n,h);图9.10LTI系统的稳定性图9.10LTI系统的稳定性10.滤波概念的图示

MATLAB程序:

clf;n=0:299;x1=cos(2*pi*10*n/256);%产生输入序列

x2=cos(2*pi*100*n/256);x=x1+x2;

num1=[0.50.270.77];%计算输出序列

y1=filter(num1,1,x);

den2=[1-0.530.46];num2=[0.450.50.45];

y2=filter(num2,den2,x);10.滤波概念的图示

MATLAB程序:

clf;subplot(2,1,1);plot(n,y1);axis([0300-22]);

ylabel(′幅值′);title(′#1系统的输出′);grid;

subplot(2,1,2);plot(n,y2);axis([0300-22]);

xlabel(′时间n′);ylabel(′幅值′);

title(′#2系统的输出′);grid;

系统的滤波输出如图9.11所示。subplot(2,1,1);plot(n,y1);ax图9.11系统的滤波输出图9.11系统的滤波输出

1.差分方程1的计算

差分方程为

y(n)+0.7y(n-1)-0.45y(n-2)-0.6y(n-3)

=0.8x(n)-0.44x(n-1)+0.36x(n-2)+0.02x(n-3)

计算当输入序列为x(n)=δ(n)时的输出结果为y(n),其0≤n≤40。

1.差分方程1的计算

差分方程为

y(n)+0.MATLAB程序:

N=41;

a=[0.8-0.440.360.22];b=[10.7-0.45-0.6];

x=[1zeros(1,N-1)];

k=0:1:N-1;y=filter(a,b,x);

stem(k,y);

xlabel(′n′);ylabel(′幅度′)

图9.1给出了该差分方程的前41个采样点的输出,即该系统的单位脉冲响应。MATLAB程序:

N=41;

a=[0.8-0.图9.1差分方程的单位脉冲响应图9.1差分方程的单位脉冲响应信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件信号与系统实验(MATLAB西电版)实验9离散时间系统的求解举例课件MATLAB程序:

k=256;num=[0.8-0.440.360.02];

den=[10.7-0.45-0.6];w=0:pi/k:pi;

h=freqz(num,den,w);subplot(2,2,1);

plot(w/pi,real(h));grid

title(′实部′)

xlabel(′\omega/\pi′);ylabel(′幅度′)

MATLAB程序:

k=256;num=[0.8subplot(2,2,2);plot(w/pi,imag(h));grid

title(′虚部′);xlabel(′\omega/\pi′);ylabel(′幅值′)subplot(2,2,3);plot(w/pi,abs(h));grid

title(′幅度谱′);xlabel(′\omega/\pi′);ylabel(′幅值′)

subplot(2,2,4);plot(w/pi,angle(h));grid

title(′相位谱′);xlabel(′\omega/\pi′);ylabel(′弧度′);

图9.2给出了该差分方程所对应的系统函数的DTFT。subplot(2,2,2);plot(w/pi,im图9.2系统函数的DTFT图9.2系统函数的DTFT3.非线性离散时间系统

(1)x=cos(2*pi*0.05*n)

MATLAB程序:

clf;n=0:200;x=cos(2*pi*0.05*n);%生成正弦输入信号1

x1=[x00];%x1[n]=x[n+1]%计算输出信

x2=[0x0];%x2[n]=x[n]

x3=[00x];%x3[n]=x[n-1]

3.非线性离散时间系统

(1)x=cos(2*pi*0y=x2.*x2-x1.*x3;

y=y(2:202);

subplot(2,1,1)plot(n,x);

xlabel(′时间n′);ylabel(′幅值′);%画出输入与输出信号

title(′输入信号′)subplot(2,1,2)

plot(n,y)xlabel(′时间n′);

ylabel(′幅值′);title(′输出信号′);

非线性离散时间系统在正弦输入信号1作用下的输出如图9.3所示。y=x2.*x2-x1.*x3;

y=y(2:202);图9.3非线性离散时间系统在正弦输入信号1作用下的输出图9.3非线性离散时间系统在正弦输入信号1作用下的输出(2)x=sin(2*pi*0.05*n)+30

MATLAB程序:

clf;n=0:200;x=sin(2*pi*0.05*n)+30;%生成正弦输入信号

x1=[x00];%x1[n]=x[n+1]%计算输出信号x2=[0x0];%x2[n]=x[n]

x3=[00x];%x3[n]=x[n-1]

(2)x=sin(2*pi*0.05*n)+30

MATy=x2.*x2-x1.*x3;

y=y(2:202);

subplot(2,1,1);plot(n,x)

xlabel(′时间n′);ylabel(′幅值′);画出输入与输出信号

title(′输入信号′);subplot(2,1,2)

plot(n,y)xlabel(′时间n′);ylabel(′幅值′);

title(′输出信号′);

非线性离散时间系统在正弦输入信号2作用下的输出如图9.4所示。y=x2.*x2-x1.*x3;

y=y(2:202)图9.4非线性离散时间系统在正弦输入信号2作用下的输出图9.4非线性离散时间系统在正弦输入信号2作用下的输出4.线性与非线性系统

MATLAB程序:

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.24032.49082.2403];

den=[1-0.40.75];4.线性与非线性系统

MATLAB程序:

clf;ic=[00];%设置初值

y1=filter(num,den,x1,ic);%计算输出y1[n]

y2=filter(num,den,x2,ic);%计算输出y2[n]

y=filter(num,den,x,ic);%计算输出y[n]

yt=a*y1+b*y2;

d=y-yt;%计算输出误差d[n]

%Plottheoutputsandthedifferencesignal

subplot(3,1,1)stem(n,y);ylabel(′幅值′);ic=[00];%设置初值

y1=filter(numtitle(′加权输入对应的输出:a\cdotx_{1}[n]+b\cdotx_{2}[n]′);

subplot(3,1,2)stem(n,yt);ylabel(′幅值′);

title(′加权输出t:a\cdoty_{1}[n]+b\cdoty_{2}[n]′);

subplot(3,1,3)stem(n,d);

xlabel(′时间n′);ylabel(′幅值′);

title(′误差信号′);

不同正弦输入信号下系统的输出如图9.5所示。title(′加权输入对应的输出:a\cdotx_{1图9.5不同正弦输入信号作用下系统的输出图9.5不同正弦输入信号作用下系统的输出5.时变与时不变系统

MATLAB程序:

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.24032.49082.2403];den=[1-0.40.75];

ic=[00];%设置初值5.时变与时不变系统

MATLAB程序:

clf;y=filter(num,den,x,ic);%计算输出y[n]

yd=filter(num,den,xd,ic);%计算输出yd[n]

d=y-yd(1+D:41+D);%计算误差输出d[n]

subplot(3,1,1)

stem(n,y);

ylabel(′幅值′);title(′输出y[n]′);grid;

subplot(3,1,2);stem(n,yd(1:41));ylabel(′幅值′);

title([′延迟输入引起的输出′]);grid;

subplot(3,1,3);stem(n,d);

xlabel(′时间n′);ylabel(′幅值′);

title(′误差信号′);grid;[ZK)]

系统在正弦输入信号下系统的输出如图9.6所示。y=filter(num,den,x,ic);%计图9.6系统在正弦输入信号下系统的输出图9.6系统在正弦输入信号下系统的输出6.计算LTI系统的冲激响应

MATLAB程序:

clf;

N=40;num=[2.24032.49082.2403];

den=[1-0.40.75];y=impz(num,den,N);

stem(y);xlabel(′时间n′);ylabel(′幅值′);

title(′冲激响应′);grid;

LTI系统的冲激响应如图9.7所示。6.计算LTI系统的冲激响应

MATLAB程序:

cl图9.7LTI系统的冲激响应图9.7LTI系统的冲激响应问题:求下列系统的冲激响应

y(n)+0.71y(n-1)-0.46y(n-2)-0.62y(n-3)

=0.9x(n)-0.45x(n-1)+0.35x(n-2)+0.002x(n-3)

7.串级LTI系统

MATLAB程序:

clf;x=[1zeros(1,40)];%生成输入序列

n=0:40;

den=[11.62.281.3250.68];

问题:求下列系统的冲激响应

y(n)+0.71y(n-num=[0.06-0.190.27-0.260.12];%4阶系统系数

y=filter(num,den,x);%计算4阶系统的输出

num1=[0.3-0.20.4];den1=[10.90.8];%两个2阶系统的系数

num2=[0.2-0.50.3];den2=[10.70.85];

y1=filter(num1,den1,x);%串级系统第一阶的输出y1[n]y2=filter(num2,den2,y1);%串级系统第二阶的输出y2[n]d=y-y2;%y[n]与y2[n]的差

subplot(3,1,1);

stem(n,y);ylabel(′幅值′);

title(′4阶系统的输出′);grid;num=[0.06-0.190.27-0.260.1subplot(3,1,2);

stem(n,y2);ylabel(′幅值′);

title(′串级系统的输出′);grid;

subplot(3,1,3);stem(n,d)

xlabel(′时间n′);ylabel(′幅值′);

title(′误差信号′);grid;

串级LTI系统的输出如图9.8所示。subplot(3,1,2);

stem(n,y2);图9.8串级LTI系统的输出图9.8串级LTI系统的输出8.卷积与滤波

MATLAB程序:

clf;

h=[321-210-403];%冲激响应

x=[1-23-4321];%输入序列

y=conv(h,x);n=0:14;

subplot(2,1,1);

8.卷积与滤波

MA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论