实验2离散系统的差分方程、冲激响应和卷积分析
一、实验目的
1 加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
二、实验原理
离散系统
其输入、输出关系可用以下差分方程描述:
∞N∑dkk=0y[n-k]=M∑k=0pkx[n-k] 输入信号分解为冲激信号:x[n]=∑x[m]δ[n-m]
m=-∞
记系统单位冲激响应 : δ[n]→h[n]
m=-∞则系统响应为如下的卷积计算式: y[n]=x[n]*h[n]=
当∑x[m]h[n-m] ∞dk=0,k=1,2,...N时,h[n]是有限长度的(n:[0,M]),称系统为FIR系统;反之,称系统为IIR系统。
在MATLAB中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数
y=Conv(x,h)计算卷积。
二、实验内容
编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
(1): y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]
(2): y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]}
程序(1):
A=[1,0.75,0.125];
B=[1,-1];
x1=[1,zeros(1,10)];
x2=ones(1,20);
y1=filter(B,A,x1);
subplot(2,2,1);
stem(y1);
title('y1单位冲击响应')
y2=filter(B,A,x2);
subplot(2,2,2);
stem(y2);
title('y2阶跃响应');
y3=conv(x1,y1);
subplot(2,2,3);
stem(y3);
title('y3卷积');
y4=conv(x2,y1);
subplot(2,2,4);
stem(y4);
title('y4卷积')
程序(1)图
程序(2):
A=[1];
B=[0,0.25,0.25,0.25,0.25];
x1=[1,zeros(1,10)];
x2=ones(1,20);
y1=filter(B,A,x1);
subplot(2,2,1);
stem(y1);
title('y1单位冲击响应')
y2=filter(B,A,x2);
subplot(2,2,2);
stem(y2);
title('y2阶跃响应');
y3=conv(x1,y1);
subplot(2,2,3);
stem(y3);
title('y3卷积');
y4=conv(x2,y1);
subplot(2,2,4);
stem(y4);
title('y4卷积')
程序(2)图
三、理论计算:
经计算:
系统(1): y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]
理论冲激响应为: 因为y[n]为因果函数,由递归计算所得:
X[n]= δ(n)
当n
h(0)=1, h(1)=-7/4, h(2)=19/16, h(3)=-43/64 ..... ......
h(z)=7.5*(-0.5).^n*u(n)- (-0.25).^n*u(n)
理论阶跃响应为: 因为y[n]为因果函数,由递归计算所得:
X[n]=u(n)
当n
g(0)=1, g(1)=-3/4, g(2)=7/16, g(3)=-9/64...... .......
g(z)=1.5*(-0.5).^n-(-0.25).^n
系统(2): y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]} 同理,由递归方法可得:
理论冲激响应为: h(z)=0.25*[δ(n-1)+ δ(n-2)+ δ(n-3)+ δ(n-4]
理论阶跃响应为: g(z)=0.25*[u(n-1)+ u(n-2)+ u(n-3)+ u(n-4)]
将n值分别代入理论式h(z)和g(z),将结果与程序结果图比较可知理论与程序结果一致。
四、实验小结
通过这次实验,基本学会了用MATLAB软件编程求离散系统的单位脉冲响应和单位冲击响应,对解离散系统差分方程有了进一步学习。
实验2离散系统的差分方程、冲激响应和卷积分析
一、实验目的
1 加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
二、实验原理
离散系统
其输入、输出关系可用以下差分方程描述:
∞N∑dkk=0y[n-k]=M∑k=0pkx[n-k] 输入信号分解为冲激信号:x[n]=∑x[m]δ[n-m]
m=-∞
记系统单位冲激响应 : δ[n]→h[n]
m=-∞则系统响应为如下的卷积计算式: y[n]=x[n]*h[n]=
当∑x[m]h[n-m] ∞dk=0,k=1,2,...N时,h[n]是有限长度的(n:[0,M]),称系统为FIR系统;反之,称系统为IIR系统。
在MATLAB中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数
y=Conv(x,h)计算卷积。
二、实验内容
编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
(1): y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]
(2): y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]}
程序(1):
A=[1,0.75,0.125];
B=[1,-1];
x1=[1,zeros(1,10)];
x2=ones(1,20);
y1=filter(B,A,x1);
subplot(2,2,1);
stem(y1);
title('y1单位冲击响应')
y2=filter(B,A,x2);
subplot(2,2,2);
stem(y2);
title('y2阶跃响应');
y3=conv(x1,y1);
subplot(2,2,3);
stem(y3);
title('y3卷积');
y4=conv(x2,y1);
subplot(2,2,4);
stem(y4);
title('y4卷积')
程序(1)图
程序(2):
A=[1];
B=[0,0.25,0.25,0.25,0.25];
x1=[1,zeros(1,10)];
x2=ones(1,20);
y1=filter(B,A,x1);
subplot(2,2,1);
stem(y1);
title('y1单位冲击响应')
y2=filter(B,A,x2);
subplot(2,2,2);
stem(y2);
title('y2阶跃响应');
y3=conv(x1,y1);
subplot(2,2,3);
stem(y3);
title('y3卷积');
y4=conv(x2,y1);
subplot(2,2,4);
stem(y4);
title('y4卷积')
程序(2)图
三、理论计算:
经计算:
系统(1): y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]
理论冲激响应为: 因为y[n]为因果函数,由递归计算所得:
X[n]= δ(n)
当n
h(0)=1, h(1)=-7/4, h(2)=19/16, h(3)=-43/64 ..... ......
h(z)=7.5*(-0.5).^n*u(n)- (-0.25).^n*u(n)
理论阶跃响应为: 因为y[n]为因果函数,由递归计算所得:
X[n]=u(n)
当n
g(0)=1, g(1)=-3/4, g(2)=7/16, g(3)=-9/64...... .......
g(z)=1.5*(-0.5).^n-(-0.25).^n
系统(2): y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]} 同理,由递归方法可得:
理论冲激响应为: h(z)=0.25*[δ(n-1)+ δ(n-2)+ δ(n-3)+ δ(n-4]
理论阶跃响应为: g(z)=0.25*[u(n-1)+ u(n-2)+ u(n-3)+ u(n-4)]
将n值分别代入理论式h(z)和g(z),将结果与程序结果图比较可知理论与程序结果一致。
四、实验小结
通过这次实验,基本学会了用MATLAB软件编程求离散系统的单位脉冲响应和单位冲击响应,对解离散系统差分方程有了进一步学习。