离散卷积的算法分析及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,%逐个计算卷积输出

if n==0;xmfy=[fliplr(xn),zeros(1,M+N-2)],%实现翻转

else for k=M:-1:1; xmfy(k+n)=xmfy(k+n-1);end ; xmfy(n)=0; xmfy,%实现翻转后移位并显示

end

subplot(4,1,3);stem(m,xmfy,'b.'),%%绘制翻转移位序列

ylabel('x(n-m)'), grid,title('(c) 翻转移位x(n-m)'),%%加标签网格和标题

yn(M+n)=sum(xmfy.*hm);%计算第n位输出并与m位置对应

subplot(4,1,4);stem(m,yn,'r.'),%%绘制卷积输出序列

axis([min(m),max(m),min([0,conv(xn,hn)]),max([0,conv(xn,hn)])]),%%控制绘图坐标

ylabel('y(n)'), grid,title('(d) 卷积输出y(n)'),%%加标签网格和标题

pause,%每算完一位卷积输出后暂停,按任意键继续

end

yn, %显示线性卷积结果

2、循环卷积运算过程的动态演示程序

clc;close all;clear;format compact;

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

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

L=8,if Lm=0:L-1,%设置代换变量并与两圆周上的编号对应

xm=[xn,zeros(1,L-M)],%按圆周编号方向排列不足补零

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

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

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

  1. matlab验证线性卷积与圆周卷积的关系

    数字信号处理实验 一.线性卷积和圆周卷积的关系 1.线性卷积 设X1为N1点的有限长序列,X2为N2点的有限长序列(0 < n < N2) 则两序列的线性卷积为: 线性卷积y1(n)的长度 ...

  2. matlab实现线性卷积和循环卷积,仿真实验四 循环卷积和线性卷积的实现

    实验四 循环卷积和线性卷积的实现 一.实验目的 1.进一步了解并掌握循环卷积与线性卷积的概念 2.掌握线性卷积与循环卷积软件实现的方法,理解掌握二者的关系 二.实例分析与计算 实验原理: 两个序列的N ...

  3. 利用对位相乘法计算线性卷积-附Matlab代码

    目录 1.线性卷积原理 2.利用对位相乘法计算线性卷积 3.Matlab实操 3.1源代码 3.2仿真结果 线性卷积原理 公示(1)为两个离散非周期序列进行线性卷积 一般我们计算线性卷积时使用图解法最 ...

  4. 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )

    文章目录 一.Matlab 卷积和多项式乘法 conv 函数 二.使用 matlab 代码求卷积并绘图 一.Matlab 卷积和多项式乘法 conv 函数 Matlab 文档地址 : https:// ...

  5. 基于matlab实现信号的线性卷积与循环卷积

    系列文章目录 数字信号处理(DSP:Digital Signal Process)是电子通信领域非常重要的研究方向,博主汇总了数字信号处理(DSP)中常用的经典案例分析,主要基于算法分析.MATLAB ...

  6. [Matlab] 线性卷积圆周卷积代码实现

    1.线性卷积 周期卷积 圆周卷积的 关系: 2.Matlab实验及现象 圆周卷积: 1 %% 圆周卷积实例程序 2 %% Alimy 2014年11月21日 20:19:12 3 clc; 4 cle ...

  7. 【数字信号处理】线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )

    文章目录 一.卷积 与 " 线性常系数差分方程 " 二.使用 matlab 求解 " 线性常系数差分方程 " 一.卷积 与 " 线性常系数差分方程 & ...

  8. matlab圆周卷积计算方法,线性卷积与圆周卷积的计算.doc

    线性卷积与圆周卷积的计算,线性卷积和圆周卷积,圆周卷积线性卷积,圆周卷积计算方法,线性卷积计算方法,线性卷积计算,圆周卷积,圆周卷积怎么算,圆周卷积例题,matlab圆周卷积 1.实验目的 通过编程, ...

  9. 序列线性卷积matlab,有限长序列的线性卷积和圆周卷积

    原标题:有限长序列的线性卷积和圆周卷积 线性卷积 卷积是两个时间序列之间一种激励和响应得出结果的关系,是可交换.可结合和可分配的.假定一个线性时不变系统的冲激响应为,输入信号通过该系统的输出信号为 对 ...

最新文章

  1. oracle 10.2 64位,Oracle 10.2.0.5 x64升级到11.2.0.3 x64
  2. Powershell RESTAPI 访问Office365
  3. .NET 指南:参数的设计
  4. IAAS: IT公司去IOE-Alibaba系统构架解读
  5. Qt工作笔记-仿QQ登录界面(换肤,切换语言)
  6. java http请求头_http的请求头含义及如何用java发送
  7. python画十字_Python解决十字消除棋
  8. unity如何实现图片透视_FPS透视自瞄从入门到入狱
  9. 快速查询hive数据仓库表中的总条数
  10. OkHttp使用及工具类封装
  11. k8s二进制单节点部署
  12. 虚拟服务器上 加密狗 u8,T+12.1标准版,客户服务器是在虚拟机上的,使用硬加密,是否支持在客户端上插上加密狗注册就可以,不用吧加密狗再插到服务器虚拟机上?...
  13. Eclipse插件简介
  14. Web前端:古诗排版网页案例设计
  15. 智能优化算法:CEC23组常用测试函数公式介绍
  16. 2022渗透测试-面试题目大全
  17. 公寓酒店项目工程智能门锁的种类以及系统有哪些?
  18. 2022中国深圳国际医疗器械博览会
  19. 【AIoT库】RFID基础知识第5期 · 市场应用及前景
  20. 微信小程序简单树状图的实现

热门文章

  1. 美对华光伏双反复审终裁出炉 贸易变数让厂商第三地外移计划却步
  2. wordpress mysql 5.7_CentOS7 运维 - 搭建WordPress论坛 | 超详细 | MySQL安装使用
  3. betaflight 代码结构
  4. BetaFlight深入传感设计:传感模块设计框架
  5. java企业物流管理系统 (JSP物流公司管理系统毕业设计)
  6. 计算机专业考研数学考概率吗,数学专业考研容易吗
  7. 在vim中快速复制粘贴多行
  8. vue pinyin.js库
  9. Xilinx Zynq-7000系列XC7Z035/XC7Z045高性能SoC处理器评估板PS端ETH RJ45接口
  10. PHP 获取 IP 地址 函数封装