1、实验设备
PC计算机1台,MATLAB软件1套。
2.实验目的:
- 学习并理解线性时不变系统的单位脉冲响应的计算方法。
- 掌握MATLAB编程,计算整个系统的单位脉冲响应。
3.实验原理说明:
- 单位脉冲响应是指在输入信号为单位脉冲序列时,系统的输出响应。
- 对于线性时不变系统,可以通过系统的差分方程或传递函数来计算单位脉冲响应。
4.实验步骤:
- 根据系统T1和T2的定义,编写MATLAB代码分别计算h1(n)和h2(n)。
- 根据系统T3和T4的差分方程,采用MATLAB编程计算它们的单位脉冲响应y3(n)和y(n)。
- 将系统T3和T4的单位脉冲响应合并,计算整个系统的单位脉冲响应h(n)。
- 在MATLAB界面下调试程序,确保程序运行正确,并查看计算得到的单位脉冲响应h(n)。
注意:在实验中,可以使用MATLAB的循环结构和数组操作来计算差分方程的响应。合并系统的响应时,注意考虑系统的连接方式。最后,绘制h(n)的图形以观察整个系统的单位脉冲响应。
在题18中,有四个分系统T1,T2,T3和T4,四个分系统分别用下面的单位脉冲响应或者差分方程描述:
T1:h1(n)= (1/2)n,n=0,1,2,3,4,5
h1(n)=0,其他
T2:h2(n)=1 ,n=0,1,2,3,4,5
h2(n)=0,其他
T3:y3(n)=1/4y(n-1)+1/2x(n-1)+1/4x(n-2)
T4: y(n)=0.9y(n-1)-0.81y(n-2)+v(n)+v(n-1);
编写程序计算整个系统的单位脉冲响应h(n),0<=n<=99.
clc;
clear all;
close all;
h1=[1,1/2,1/4,1/8,1/16,1/32];
h2=[1,1,1,1,1,1];
h12=conv(h1,h2)
n=0:99;
h12=[h12,zeros(1,89)];
subplot(2,1,1);
stem(n,h12);title('convolution of h1 and h2');
xlabel('n');ylabel('h12');
%unit impulse response, x(n)=δ(n)
y3=[0.25,0.5,0.25,zeros(1,97)];
vn=h12+y3;
A=[1,-0.9,0.81];
B=[1,1];
hn=filter(B,A,vn);
subplot(2,1,2);
stem(n,hn);title('unit impulse response h(n)');
xlabel('n');ylabel('h(n)');