现在很多工具里都已经为我们实现好了线性卷积和圆周卷积的函数,所以在实现方面简单调用一下即可。如matlab中,
conv用于计算线性卷积,而cconv用来计算圆周卷积

在国内搜了很多计算圆周卷积的例子,居然鲜有人提到cconv函数,而都是人云亦云都抄袭一套自实现函数,真是有点意想不到。

下面直接上干货,简单介绍一下线性卷积和圆周卷积的计算方法

线性卷积

线性卷积的计算网上有很多,这里就不一一介绍了。我个人使用的方式也很好理解,
例如
x(n) = {1,5,7,3,2,1,6,9}
h(n) = {2,4,6,1,3}

可以通过将x(n)中的每个数字从左往右乘以h(n)

1|  2   4     6    1    3
5|       10    20  30    5  15
7|              14   28    42 7    21
..................

以此类推,如下图示,乘积后的结果再错位相加。得到的结果即为线性卷积结果。

圆周卷积

介绍圆周卷积的方法真的比较少,大多讲诉的都不易理解。我个人的计算方法是这样的,参考链接可以看这里。

首先,将h(n)根据x位数在尾部补零,即为 h(n) = {2,4,6,1,3,0,0,0}.

第二步,将h翻折,开始位移。
在位移一步时,剩下的位子,将尚未移动的部分填充。

第三步,填充后,对应的每一位相乘后再相加。

对应上面的结果就是

1*2+5*0+7*0+3*0+2*3+1*1+6*6+9*4 = 2+0+0+0+6+1+36+36=81

这个实际上就是圆周卷积的y[0]

后面重复上面的步骤,位移,填充,相乘相加,直到h位移结束
示例图如下,

数据一致性

这里可以看到,圆周卷积和线性卷积的结果不是完全一致的。相同部分我用绿色标注出来了。有一个结论,关于圆周卷积和线性卷积。大家可以记一下

一般的,如果两个有限长序列的长度为N1 和 N2,且满足 N1>=N2 ,则圆周卷积的后
N1-N2+1个点,与线性卷积的结果一致。

这里N1=8,N2=5,所以 8-5+1=4个点后的结果一致

那么是不是必然这样吗?
如果N1>2*N2的话,这种方法的圆周卷积出来的结果是完全一致的。
下面是一个例子,

注意事项

  1. 上面数据一致性的讨论(特别是完全一致时)是基于我在本文中的圆周卷积实现方法的前提下说的
  2. matlab中的cconv函数计算出来的圆周卷积是和线性卷积一致的,并且它的结果是浮点型。效果如下,

最后我把计算线性卷积和圆周卷积的方法做成了excel,大家如果有兴趣的话可以在这里下载。https://download.csdn.net/download/mimiduck/13105696

线性卷积与圆周卷积的计算方法相关推荐

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

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

  2. 线性卷积、周期卷积、圆周卷积------一篇弄懂

    谈到DSP,几个"卷积"总是要弄清楚的.这里我们讨论的是离散时间序列.本篇主要讲解几种"卷积"的定义及运算,定义理解上通俗易懂,例子也能举一反三. 卷积 线性卷 ...

  3. 用计算机计算线性卷积的基本规则,实验三_线性卷积与圆周卷积的计算.doc

    实验三_线性卷积与圆周卷积的计算 电信类课程试验报告 学 院:基础信息工程系 别:电子信息工程课程名称:数字信号处理姓 名:学 号:日 期:实验三实验名称:线性卷积与圆周卷积的计算一.实验目的 (1) ...

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

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

  5. C语言实现线性卷积和圆周卷积

    用C语言实现线性卷积和圆周卷积 已知x(n)={1,0,2,1,3},求x(n)∗x(n),x(n)⑤x(n),x(n)⑩x(n) #include"graphics.h" #in ...

  6. 计算机计算线性卷积规则,实验四----线性卷积与圆周卷积的计算.doc

    实验三 线性卷积与圆周卷积的计算 实验目的 1.掌握计算机的使用方法和常用系统软件及应用软件的使用. 2.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力. 3.掌握线性卷积与循环卷积软件实 ...

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

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

  8. 线性卷积、周期卷积和圆周卷积的区别

    线性卷积.周期卷积和圆周卷积的区别 1.两个离散序列的线性卷积就是某一个序列对另一个序列的时延依次加权求和. 2.周期卷积就是对线性卷积以L为周期进行周期延拓. 3.圆周卷积就是取周期卷积的主值区间. ...

  9. 计算机计算线性卷积规则,线性卷积与圆周卷积的计算(杭电)

    线性卷积与圆周卷积的计算(杭电) (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 信号.系统与信号处理实验Ⅱ实验报告实验名称:线性 ...

最新文章

  1. Transformer走下神坛?南加州大学教授:想解决常识问题,神经网络不是答案
  2. ICCV2015上的GazeTracker论文总结
  3. python三大圣经-读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」...
  4. 深耕金融行业数字化转型,人大金仓数据库自主可控解决方案综述
  5. 分享5篇医疗数据挖掘论文(附pdf下载)
  6. 如何将3DMAX参数重置为默认值?
  7. PMP备考经验分享 制表很重要
  8. 电赛校赛经验-程控风力摆
  9. 汉诺塔(Hanoi)图解递归算法
  10. Python星盘接口、排盘、占星、API功能描述
  11. 切换linux默认桌面,Debian默认桌面再次切换到Gnome
  12. Activity利用Intent传递数据
  13. 获取sender名称
  14. 浏览器劫持(病毒)事件处置
  15. yum安装报错:ImportError: No module named urlgrabber.grabber
  16. ROS-Ardunio 点亮LED灯
  17. HDFS 系列二:HFDS 命令行操作
  18. 区块链基本概念学习笔记
  19. mac中删除相关快捷键
  20. Linux Load Averages: Solving the Mystery

热门文章

  1. minio数据迁移-mc
  2. 山洪灾害监测预警系统经验分享
  3. airflow initdb 报 UnicodeEncodeError 和 ab_permission_view_role doesn‘t exist
  4. 应用预测建模第六章线性回归习题6.3【缺失值插补,分层抽样,预测变量重要性,重要预测变量如何影响响应变量,多元线性回归,稳健回归,偏最小二乘回归,岭回归,lasso回归,弹性网】
  5. 轨道车辆制造企业利用Teamcenter 和Tecnomatix,将设计周期缩短30%,并将材料利用率提高一倍...
  6. python远程开发环境总结(Eclipse+Pydev)
  7. 数据库:函数依赖的公理系统
  8. 《构建之法》中关于创新的探究
  9. Java 重载与重写的区别
  10. 理解控制变量、内生变量、外生变量、工具变量