科学网

 找回密码
  注册

tag 标签: 线性卷积

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

频域滤波补零延拓及滤波器循环移位例析
热度 1 zmpenguestc 2017-11-12 13:55
频域滤波补零延拓及滤波器循环移位例析 文/彭真明 由于时域滤波属于有限序列的线性卷积,频域滤波方式实际上是利用离散傅里叶变换( DFT )求时域线性卷积的过程,而 DFT 本质上是对应时域滤波中针对周期序列的循环卷积。因此,频域滤波中信号及滤波器需要在时域进行补零延拓( padding ),且滤波器延拓后还要做循环移位( circularly shift )。 利用时域线性卷积滤波,滤波器与信号长度可以不一致。设 信号: x = ,长度为 m = 5 。 滤波器: h = ,长度为 n = 3 。 时域线性卷积为: y = conv(x,h) = 去掉边界元素: y =conv(x,h,’same’) = 以上则为时域滤波结果。 如果做时域循环卷积,则滤波器 h 与信号 x 长度必须保持一致,且长度 L≥m+n–1 。本例中,两者长度至少为 7 。采用补零延拓方法,即 xp = hp = 时域循环卷积为: yp = conv(xp,hp) = 取主值序列有: yp(1:7) = 可以看出,循环卷积可以求出线性卷积的结果。 由于循环卷积可以利用 DFT 在频域实现,即 yf = real(ifft(fft(xp).*fft(hp))) = 去掉边界元素,得到滤波结果为: yf = yf(1:5) = 这与空域结果不一致。实际上, yf(2:6) 才是一致的。 为了从起始点截取滤波结果的有效值,对滤波器补零延拓后的 hp 做循环移位,有 hp = 此时,频域滤波结果为: yf = real(ifft(fft(xp).*fft(hp))) = 去掉边界元素,最后得到频域滤波结果为: yf = yf(1:5) = 可以看出,与空域线性卷积完全保持一致。 实际应用中,为了便于提升 FFT 的计算效率,频域滤波常将信号及滤波器延拓至信号的 2 倍长度,或 2 的整数幂。 相关博文 : 如何保持空域与频域滤波结果的一致性 如何保持空域与频域滤波结果的一致性(续)
个人分类: 闻图思学|28712 次阅读|2 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-12 16:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部