用matlab实现线性卷积,离散卷积的算法分析及MATLAB实现(程序实例)

本文介绍了离散卷积的基本概念,并通过MATLAB程序详细展示了快速卷积和分段卷积的过程。通过动态演示,读者可以直观理解卷积运算的原理,程序适用于教学和学习辅助。
摘要由CSDN通过智能技术生成

离散卷积的算法分析及MATLAB实现(实例程序)

摘自:张登奇,陈佳.离散卷积的算法分析及MATLAB实现[J].湖南理工学院学报(自然科学版). 2013(02)

摘要:离散卷积是信号处理的基本运算,快速卷积和分段卷积是计算离散卷积的重要算法.文章以离散线性卷积的概念为基础,介绍了计算卷积的常用方法和运算流程,列举了MATLAB实现的程序.这些程序能动态演示卷积运算的全部过程,既可帮助理解卷积运算的原理流程,也可作为教学讲解的演示工具. 1、离散卷积常规算法的动态演示程序

clear;clc;close all;format compact;

xn=[5,4,3,2,1],M=length(xn),%输入任意序列并计算长度M

hn=[1,1,1],N=length(hn),%输入任意脉冲响应并计算长度N

m=[-(M-1):M+N-2],%设置代换变量的范围以便x(m)翻转和移位

xm=[zeros(1,M-1),xn,zeros(1,N-1)],%补零以便与m对应绘图

subplot(4,1,1);stem(m,xm,'r.'),%%绘输入序列x(m)

ylabel('x(m)'), grid,title('(a) 输入序列x(m)'),%%加标签网格和标题

hm=[zeros(1,M-1),hn,zeros(1,M-1)],%补零以便与m对应绘图

subplot(4,1,2);stem(m,hm,'r.'),%%绘脉冲响应

ylabel('h(m)'),grid,title('(b) 脉冲响应h(m)'),%%加标签网格和标题

yn=zeros(1,2*M+N-2);%卷积输出初始化

for n=0:M+N-2,%逐个计算卷积输

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值