完成圆周卷积的时域计算过程及演示系统的matlab代码x1为门函数x2为衰减函数
圆周卷积是指两个周期信号的卷积,其中一个信号的周期是另一个信号的周期的整数倍。时域计算过程可以通过对两个周期信号进行周期延拓,然后进行普通卷积来实现。
假设x1和x2分别是两个周期信号,它们的周期分别为N1和N2,且N1是N2的整数倍。则圆周卷积的时域计算过程如下:
-
对x1进行周期延拓,将其重复N2/N1次,得到x1_ext。
-
对x2进行周期延拓,将其重复N1/N2次,得到x2_ext。
-
对x1_ext和x2_ext进行普通卷积,得到圆周卷积结果y。
下面是使用Matlab实现圆周卷积的代码:
% 输入信号x1和x2
N1 = 8; % x1的周期
N2 = 32; % x2的周期
L = N1 + N2 - 1; % 卷积结果的长度
x1 = zeros(1, N1); % 门函数
x1(1:4) = 1;
x2 = exp(-0.1*(0:N2-1)); % 衰减函数
% 周期延拓
x1_ext = repmat(x1, 1, N2/N1);
x2_ext = repmat(x2, 1, N1/N2);
% 普通卷积
y = conv(x1_ext, x2_ext);
% 绘制结果
figure;
subplot(3,1,1);
stem(0:N1-1, x1);
title('输入信号 x1');
xlabel('n');
ylabel('x1[n]');
subplot(3,1,2);
stem(0:N2-1, x2);
title('输入信号 x2');
xlabel('n');
ylabel('x2[n]');
subplot(3,1,3);
stem(0:L-1, y);
title('圆周卷积结果');
xlabel('n');
ylabel('y[n]');
运行以上代码,将会绘制出输入信号x1和x2,以及圆周卷积的结果。
原文地址: https://www.cveoy.top/t/topic/i6c1 著作权归作者所有。请勿转载和采集!