离散时间信号的卷积和运算

文章通过MATLAB演示了如何计算离散时间信号的卷积,给出了两个示例,包括一个涉及系统零状态响应的问题,其中x(n)=u(n)-u(n-4),h(n)=0.9^n*[u(n)-u(n-9)],以及一个简单的序列卷积例子,显示了卷积运算的过程及结果展示。
摘要由CSDN通过智能技术生成

离散时间信号的卷积和运算

离散时间信号的卷积和运算

卷积是用来计算系统零状态响应的有力工具,由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛使用。在 MATLAB 中,函数conv 用于计算两个离散序列的卷积,其调用格式为:

  • c = conv(a,b),
  1. a、b分别为待卷积的两个序列的向量表示;
  2. c 是向量卷积结果的向量表示,其长度为 a 与 b 的长度之和减1,即 length(c) = length(a) + length(b) -1

E_5_38.m:已知某系统的单位取样响应 h(n) = 0.9.^n.*[u(n)-u(n-9)],当激励信号为 x(n) = u(n)-u(n-4)时,求系统的零状态响应。

% E_5_38.m 
% 已知某系统的单位取样响应 h(n) = 0.9.^n.*[u(n)-u(n-9)],
% 当激励信号为 x(n) = u(n)-u(n-4)时,求系统的零状态响应。
clear, clc, clf;
nx = -1:5;
nh = -2:10;
x = uDT(nx) - uDT(nx-4);
h = 0.9.^nh.*(uDT(nh) - uDT(nh-9));
y = conv(x,h);
ny1 = nx(1) + nh(1);
ny = ny1 + (0:(length(nx)+length(nh)-2));

subplot(131); stem(nx,x,"filled"); grid on;
xlabel('n'); ylabel('x(n)'); title('x(n)');
axis([-4 16 0 2]);

subplot(132); stem(nh,h,"filled"); grid on;
xlabel('n'); ylabel('h(n)'); title('h(n)');
axis([-4 16 0 2]);

subplot(133); stem(ny,y,"filled"); grid on;
xlabel('n'); ylabel('y(n)'); title('y(n)=x(n)*h(n)');
axis([-4 16 0 2]);

% E_5_39.m

% 已知序列求卷积结果示例

% clear, clc, clf;
figure;
% E_5_39.m
% 已知序列求卷积结果示例
x = [1,3,5,7];
y = [1,1,1,1];
z = conv(x,y);
disp(z); % 1     4     9    16    15    12     7
subplot(131); stem(0:length(x)-1,x);
ylabel('x(n)'); xlabel('n'); grid on;

subplot(132); stem(0:length(y)-1,y);
ylabel('y(n)'); xlabel('n'); grid on;

subplot(133); stem(0:length(z)-1,z);
ylabel('z(n)'); xlabel('n'); grid on;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值