一、目的
1、熟悉常见离散时间信号的产生方法;
2、熟悉离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;
3、熟悉离散时间信号经过离散时间系统的响应的求解方法。
二、实验内容
已知离散时间系统差分方程为y(n)-0.5y(n-1)+0. 6y(n-2)=x(n)+0.5x(n-1),求
1、该系统的单位脉冲响应并绘图;
2、该系统的单位阶跃响应并绘图;
3、已知x(n)=可自己指定用filter函数经过系统的响应并绘图;
4、用conv_m函数求系统响应并绘图。
5、给出差分方程y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2),用matlab程序仿真该式描述的系统,并输入三个不同的输入序列x1(n),x2(n),x(n)=a*x1(n)+b*x2(n),计算并求出相应的输出响应。并根据结果给出分析。
三、实验平台
MATLAB
四、代码实现
b = [1 -0.5 0.6]; %差分方程中y(n)的系数
a = [1 0.5 0]; %差分方程中x(n)的系数
imp = impz(a,b); %求单位脉冲响应
ste = stepz(a,b); %求单位阶跃响应
subplot(4,2,1);
stem(imp);
grid on;
ylabel('单位脉冲响应');
subplot(4,2,2);
stem(ste);
grid on;
ylabel('单位阶跃响应');
n = 1:10;
x = exp(n); %x1 = exp(n)
y = filter(a,b,x); %系统响应后的信号
subplot(4,2,3);
stem(n,y,'fill');
grid on;
xlabel('时间序列n');
ylabel('y(n)');
title('系统响应后的信号');
res1 = conv(imp,x);
subplot(4,2,4);
n1 = 1:length(res1);
stem(n1,res1);
grid on;
xlabel('n');
ylabel('y(n)');
b1 = [1 -0.4 0.75];
a1 = [2.2403 2.4908 2.2403];
%y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)
x1 = exp(n);
x2 = 11.*n + 16;
x3 = n.*n + 10.*n +24;
y1 = filter(a1,b1,x1);
y2 = filter(a1,b1,x2);
y3 = filter(a1,b1,x3);
subplot(4,2,5);
stem(n,y1);
grid on;
ylabel('y1');
subplot(4,2,6);
stem(n,y2);
grid on;ylabel('y2');
subplot(4,2,7);
stem(n,y3);
grid on;ylabel('y3');