已知线性时不变系统的单位冲激响应为 h(n)=3δ(n-3)+0. 5δ(n-4)+0. 2δ(n-5)+0.7δ(n-6)-0.8δ(n-8) 用MATLAB求此系统对输入序列x(n)=u(n-1)的响应,并绘制结果图
时间: 2024-10-26 20:02:28 浏览: 69
连续时间LTI系统的冲激响应PPT学习教案.pptx
在MATLAB中,你可以使用conv()函数来计算线性时不变系统对给定输入信号的响应。对于这个特定的问题,你需要先定义系统函数h(n),然后定义输入信号x(n)。给定的单位冲激响应h(n)是一个离散时间信号,其中包含了多个δ函数。输入x(n)为单位阶跃序列u(n-1)。
首先,你需要创建两个向量来表示这两个信号。这里假设n从0开始:
```matlab
% 定义系统单位冲激响应 h(n)
h = [0; 3; 0.5; 0.2; 0.7; -0.8; zeros(1, 8)]; % δ(n-3), δ(n-4), ..., δ(n-8)
% 定义输入信号 x(n)
x = unitstep(n-1); % u(n-1)的序列
% 使用conv()函数计算系统响应 y(n) = h(n) * x(n)
y = conv(h, x);
```
然后,你可以使用plot()函数绘制系统的输出信号y(n):
```matlab
% 绘制y(n)
figure;
stem(n(1:end-1), y(1:end)); % 因为y(n)的最后一个元素是零
xlabel('n');
ylabel('y(n)');
title('系统对输入x(n)=u(n-1)的响应');
```
这将显示系统对单位阶跃输入的响应序列及其图形。
阅读全文