《数字信号处理》利用DFT计算并绘制两序列的卷积

 1.实验代码

%% DFT实现序列的卷积
close;clear;clc;

for n=1:20
    x(n)=1.5;       %生成全部为1.5的1行20列矩阵x(n)。
    h(n)=2;         %生成全部为2的1行20列矩阵h(n)。
end

x1=zeros(1,40);     %生成1x40的零矩阵。
h1=zeros(1,40);     %生成1x40的零矩阵。
for n=1:20
    x1(n)=1.5;      %生成全部为1.5的1行20列矩阵x1(n)。
    h1(n)=2;        %生成全部为2的1行20列矩阵h1(n)。
end

X=zeros(1,40);      %生成1行40列的零矩阵。
H=zeros(1,40);      %生成1行40列的零矩阵。
for k=1:40
    for n=1:40
        X(k)=X(k)+x1(n)*exp(-j*2*pi*k*(n-1)/40);    %生成1行40列的矩阵X(k)。
        H(k)=H(k)+h1(n)*exp(-j*2*pi*k*(n-1)/40);    %生成1行40列的矩阵H(k)。
    end
end

Y=X.*H;
y=zeros(1,40);      %生成1行40列的零矩阵。
y1=zeros(1,40);     %生成1行40列的零矩阵。
for n=1:40
    for k=1:40
        y1(n)=y1(n)+Y(k)*exp(j*2*pi*k*(n-1)/40);
    end
    y(n)=y1(n)/40;
end

for m=1:39
    z(m)=y(m);          %将y(m)赋值给z(m)。
end

L=0:38;                 %卷积长度。
stem(L,z,'filled');     %绘制序列的卷积。
disp(['z=',num2str(z)]);%打印序列的卷积。

2.实验结果

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值