图解圆周卷积

图解圆周卷积1 圆周卷积 circularconv 圆周卷积 也叫循环卷积 两个长度为 N 的有限场序列 x n x left n right 和 h n h left n right 的循环卷积定义为 y n N 1m 0x m h n m N RN n xn yny left n right sum m 0 N 1 x left

即循环卷积相当于周期延拓后的序列 x ~ ( n ) \widetilde{x}(n) x
(n)
做周期卷积后再取主值区间,若 x ( n ) x(n) x(n) h ( n ) h(n) h(n)的离散傅里叶变换为 X ( K ) X(K) X(K) H ( K ) H(K) H(K),则有

D F T [ y ( n ) ] = X ( K ) H ( K ) DFT[y(n)]=X(K)H(K) DFT[y(n)]=X(K)H(K)

时域中的循环卷积对应于其离散傅里叶变换的乘积,循环卷积的结果 y ( n ) y(n) y(n)长度为 N N N

图解循环卷积:

x 1 ( n ) = R 4 ( n ) , x 2 ( n ) = R 4 ( n − 2 ) x_{1}(n)=R_{4}(n),x_{2}(n)=R_{4}(n-2) x1(n)=R4(n),x2(n)=R4(n2),求 x 1 ( n ) x_{1}(n) x1(n) x 2 ( n ) x_{2}(n) x2(n)的N=6点循环卷积 x ( n ) x(n) x(n)
x 1 ( n ) x_{1}(n) x1(n) x 2 ( n ) x_{2}(n) x2(n) 波形如下

在这里插入图片描述

先将 x 2 ( n ) x_{2}(n) x2(n)做周期延拓(以N为周期),然后再反褶,得到 x 2 ( ( − m ) ) 6 R 6 ( n ) x_{2}((-m))_{6}R_{6}(n) x2((m))6R6(n),如下图

在这里插入图片描述
然后再进行循环移位,注意,现在是在对一个周期N= 6 的函数移位,因为最后只取主值区间,因此只需要移位N= 6次,即只需要得到 x 2 ( ( − m ) ) 6 R 6 ( n ) x_{2}((-m))_{6}R_{6}(n) x2((m))6R6(n) x 2 ( ( 1 − m ) ) 6 R 6 ( n ) x_{2}((1-m))_{6}R_{6}(n) x2((1m))6R6(n),……, x 2 ( ( 5 − m ) ) 6 R 6 ( n ) x_{2}((5-m))_{6}R_{6}(n) x2((5m))6R6(n),移位如下图

在这里插入图片描述

最后,将上图中的 x 1 ( m ) x_{1}(m) x1(m)在对应点与各移位图相乘累加即得到最终结果

在这里插入图片描述

附上程序

close all N = 6; x1 = [1,1,1,1,0,0,0,0]; x2 = [0,0,1,1,1,1,0,0]; figure subplot(2,1,1),stem(0:7,x1) xlim([-2,8]),ylim([0,2]) xlabel('m'),title('x_1(m)') subplot(2,1,2),stem(0:7,x2) xlim([-2,8]),ylim([0,2]) xlabel('m'),title('x_2(m)') x3 = [1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1]; figure, subplot(2,1,1), stem(-8:8,x3) xlim([-8,8]),ylim([0,2]) xlabel('m'),title('x_2(m)以N = 6为周期延拓((x_2(m)))_6') subplot(2,1,2), stem(-8:8,fliplr(x3)) xlim([-8,8]),ylim([0,2]) xlabel('m'),title('x_2(m)以N = 6为周期延拓 反褶((x_2(-m)))_6') x_m = fliplr(x3); x4 = [1,0,0,1,1,1,x_m]; figure for i = 0:N-1 subplot(7,1,i+1), stem(0:6,x4(9-i:15-i)) xlim([-2,8]),ylim([0,1.5]) ylabelString = '(x_2(%d-m))_6'; str = sprintf(ylabelString,i); ylabel(str,'rotation',90,'FontSize',8); %xlabel('m'),title('x_2(m)以N = 6为周期延拓 反褶((x_2(-m)))_6') end subplot(7,1,7) stem(0:6,x1(1:7)) xlim([-2,8]),ylim([0,1.5]) ylabelString = '(x_2(%d-m))_6'; str = sprintf(ylabelString,i); ylabel('x_1(m)','rotation',90,'FontSize',8); x = cconv(x1,x2,6) figure,stem(0:5,x) xlim([-2,8]),ylim([0,5]) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226157.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午7:42
下一篇 2026年3月17日 上午7:42


相关推荐

  • 关于腾讯云搭建Socks5多IP代理服务器实现游戏单窗口单IP完美搭建教程附带工具

    关于腾讯云搭建Socks5多IP代理服务器实现游戏单窗口单IP完美搭建教程附带工具腾讯云搭建 Socks5 多 IP 代理服务器实现游戏单窗口单 IP 腾讯云多 IPSocks5 搭建教程配合代理工具实现单窗口单 IP 1 多 IP 服务器选择 2 服务器购买 3 创建弹性网卡 绑定弹性公网 IP 实现多 IP 4 如何更换 IP 5 服务器网卡绑定内网 IP 6 使用 CCProxy 搭建 socks5 服务器 7 socks5IP 如何使用实现端游模拟器手机单窗口单 IP 7 1 万安挂机宝下载后安装包里有介绍 7 2 proxydroid 使用说明以雷电模

    2026年3月26日
    2
  • 虚拟村庄java_虚拟村庄怎么玩?[通俗易懂]

    虚拟村庄java_虚拟村庄怎么玩?[通俗易懂]那个人生病了,找另外一个人帮他治病1。生火。首先,要一个村民(成年的)到左下方拿干木柴;然后,再要他去左上方去拿干草(位置是海的最上方的一堆花的地方);等他都拿齐后,他都会放到村子中间的一圈石头围成的圈中,这时你再把他拖放到上面他就会生火了。2。水坝。这个任务需要你把村民培养成masterbuilder,而且要工程技术(Engineering)达到2级,否则不会成功。把masterbuil…

    2025年8月23日
    4
  • cf卡,mmc卡,sd卡,sm卡,xd卡,记忆棒的区别是什么?[通俗易懂]

    cf卡,mmc卡,sd卡,sm卡,xd卡,记忆棒的区别是什么?[通俗易懂]乐乐[学长] CF卡(CompactFlash)CF卡是1994年由SanDisk最先推出的。CF卡具有PCMCIA-ATA功能,并与之兼容;CF卡重量只有14g,仅纸板火柴般大小(43mm×36mm×3.3mm),是一种固态产品,也就是工作时没有运动部件。CF卡采用闪存(flash)技术,是一种稳定的存储解决方案,不

    2022年5月27日
    56
  • 警惕AI“养龙虾”

    警惕AI“养龙虾”

    2026年3月13日
    2
  • 复合主键与联合主键[通俗易懂]

    复合主键与联合主键[通俗易懂]一、复合主键 所谓的复合主键就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键。比如 createtabletest(namevarchar(19),idnumber,valuevarchar(10),primarykey(name,id))上面的name和id字段组合起来就是你

    2022年6月17日
    39
  • 字符串数组转对象数组怎么操作_前端字符串转数组

    字符串数组转对象数组怎么操作_前端字符串转数组constreasonLi:any[]=[];reasonList.forEach(it=>{reasonLi.push({answer:it});});console.log(‘reasonLiarr’,reasonLi);

    2025年10月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号