快速卷积实现滤波
快速卷积实现滤波
要求
选择子作业1中的音频信号,自行给定滤波器的单位取样响应,采用快速卷积实现对音频信号的滤波,比较滤波前后信号的波形和回放的效果。
滤波器设计原理
- 对于FIR数字滤波器(有限长单位冲激响应滤波器),由于
- 因此设计FIR数字滤波器时,我们只需要求出 ,即滤波器的单位冲激响应,与音频信号进行卷积后得到滤除高频噪声的音频信号。
快速卷积设计原理
通过数字信号处理课程的学习,我们知道对信号在时域上卷积,再对卷积后的结果作傅里叶变换,就是在频域上乘积。利用这个定理,我们将 h(n) 和 x(n) 通过快速傅里叶变换得到频域信号 和,然后相乘得到,最后将 通过 IFFT 从频域变换为时域即可。流程图如下:
程序设计
1 |
|
实验结果
- Hamming窗函数(单位冲激响应)
- 快速卷积和Matlab卷积函数滤波效果对比
分析总结
- 根据信号的时域处理的实验得到的FIR型滤波器系数,我们只需要重新设计快速卷积函数替换原本在matlab的卷积函数即可。查阅相关资料我们可以了解到快速卷积的实现可以利用两次快速傅里叶变换将原始音频的采样序列和滤波器系数组成的序列变换为频域后相乘,得到其时域卷积下的频域序列,再利用快速傅里叶逆变换转换为时域即可。这个过程总共使用了三次快速傅里叶变换,从上述图片的结果可以看出,快速卷积和Matlab卷积函数实现的滤波效果基本一致。
数字信号处理教程推荐
快速卷积实现滤波
http://example.com/2022/11/14/signal_3/