跳转到内容

圆周折积

本页使用了标题或全文手工转换
维基百科,自由的百科全书

两个函数的圆周折积是由他们的周期延伸所来定义的。周期延伸意思是把原本的函数平移某个周期 T 的整数倍后再全部加起来,所产生的新函数。 的周期延伸可以写成

两个函数 圆周折积 可用两种互相等价的方式来定义

其中 表示原本的(线性)折积


类似地,对于离散信号(数列),可以定义周期 N 的圆周折积

如果引入循环矩阵,那么两个长度都为 N 的离散信号(长度不一致,则可以通过补零来对齐两信号)的循环卷积则可以写成矩阵的形式。设有长度为 N 的离散信号 ,则由该向量构建的循环矩阵有如下形式

此时,信号与信号的圆周卷积可以写为


离散信号的圆周折积可以经由圆周折积定理使用快速傅立叶变换(FFT)而有效率的计算。因此,若原本的(线性)折积能转换成圆周折积来计算,会远比直接计算更快速。考虑到长度 和长度 的有限长度离散信号,做折积之后会成为长度 的信号,因此只要把两离散信号补上适当数目的零(zero-padding)成为 N 点信号,其中    ,则它们的圆周折积就与折积相等。即可接著用 N 点 FFT 作计算。

用以上方法计算折积时,若两个信号长度相差很多,则较短者须补上相当多的零,太不经济。而且在某些情况下,例如较短的 是一个 FIR 滤波器而较长的 是未知长度的输入(像语音)时,直接用以上方法要等所有的输入都收到后才能开始算输出信号,太不方便。这时可以把 分割成许多适当长度的区块(称为 block convolution),然后一段一段的处理。经过滤波后的段落再仔细的连接起来,借由输入或输出的重叠来处理区块连接的部份。这两种做法分别称为重叠-储存之折积法重叠-相加之折积法

相关条目

参考文献

外部链接

cnx页面存档备份,存于互联网档案馆