全文预览

用matlab实现循环卷积论文

上传者:非学无以广才 |  格式:doc  |  页数:20 |  大小:138KB

文档介绍
中x和h分别是两个作卷积运算的信号,yn为卷积结果。Р在MATLAB窗口输入以下内容:Р>> x = [2 0 7 10];Р>> h = [5 -1 3 13];Р>> yn=conv(x,h)Р在屏幕上显示结果如下:Рyn = 10 -2 41 69 11 121 130Р有时候,做卷积运算的两个序列,可能有一个序列或者两个序列都非常长,甚至是无限长,MATLAB处理这样的序列时,总是把它看作是一个有限长序列,具体长度由编程者确定。实际上,在信号与系统分析中所遇到的无限长序列,通常都是满足绝对可积条件的信号。因此,对信号采取这种取部分处理尽管存在误差,但是通过选择合理的信号长度,这种误差是能够减小到可以接受的程度的。Р4.3 循环卷积Р循环卷积也称为圆周卷积。线性卷积是求离散系统响应的主要方法之一。循环卷积的计算速度要远远快于线性卷积,如果选择循环卷积的长度C≥N1+N2-1,则可以用循环卷积代替线性卷积。方法如下:Р(1)定义循环卷积的长度:选择C=N1+N2-1;Р(2)将两个序列的长度都补足为C;Р将长为N1的序列x(n)延长到C,补C-N1个零;Р将长为N2的序列h(n)延长到C,补C-N2个零;Р(3)反转x(n),周期延拓为序列x~(n),取主周期;Р(4)循环位移:与线性卷积不同,循环卷积运算中采用的是循环移位,有限长序列x(n)的循环移位定义为:Рf(n) = x((n+m))NRN(n)Р其含义如下:①x((n+m))N表示x(n)的周期延拓序列x~(n)的移位:Рx((n+m))N = x~(n+m)Р②x((n+m))NRN(n)表示对移位的周期序列x((n+m))N取主值序列,所以f(n)仍然是一个长度为N的有限长序列。Р(5)将序列x与h进行循环移位生成的矩阵H的转置矩阵相乘,即完成将x(m)和h(n-m)所有对应项相乘之后相加,完成循环卷积。

收藏

分享

举报
下载此文档