傅里叶级数、傅里叶变换与离散傅里叶变换全解析
1. 离散傅里叶变换(DFT)与线性卷积
离散傅里叶变换(DFT)在信号处理中有着重要的应用,可用于实现线性卷积。通过DFT将信号 $h[n]$ 和 $s[n]$ 分别转换为 $H[k]$ 和 $S[k]$,逐点相乘得到 $Y[k] = H[k]S[k]$,再通过逆DFT得到 $y[n] = DFT^{-1}{Y[k]}$。若 $s[n]$ 是长度为 $M$ 的有限序列,要使DFT实现的循环卷积结果与期望的线性卷积一致,需满足DFT块长度 $N_{DFT}$ 足够大,即 $N_{DFT} > N + M$,并将 $h[n]$ 和 $s[n]$ 补零至长度为 $N_{DFT}$ 的块。
2. 实时滤波应用中的傅里叶块处理
在实际应用中,可能存在 $M$ 值过大超出可用内存,或者 $s[n]$ 并非有限长度,而是需要实时滤波处理的连续数据流的情况。此时,可采用两种知名算法将 $s[n]$ 划分为较小的块,并使用较短长度的DFT处理各个块:
- 重叠保留分割(Overlap - Save Processing) :
- 选择 $N_{DFT} > N$ 的合适值。
- 将信号 $s[n]$ 分割成长度为 $N_{DFT}$ 且重叠 $N - 1$ 个数据点的块,第 $k$ 个块为 $s_k[n] = s[n + k(N_{DFT} - N + 1)]$,$n = 0, \ldots, N_{DFT} - 1$。
- 滤波器为补零至 $N_{DFT} - N$ 个零的增强滤波器。
- 使用DFT得到 $Y_{pad}[n] = DFT{h_
超级会员免费看
订阅专栏 解锁全文
1913

被折叠的 条评论
为什么被折叠?



