首页 理论教育 如何使用FFT滤波进行信号处理?

如何使用FFT滤波进行信号处理?

时间:2023-06-23 理论教育 版权反馈
【摘要】:如果我们利用FFT也能完成等价的卷积操作,那么我们能够节省更多的时间并且能够执行更长的(高阶数)实时滤波操作。在这方面使用FFT通常归类于快速卷积操作。卷积和的FFT为Y[k]=H[k]X[k]也要注意离散时域卷积运算已经转成离散频域的中的乘法运算。我们可以认为计算数字滤波器的输出返回到时域中,我们可以用IFFT来进行如下的计算:使用这个方法我们将得到滤波器的脉冲响应h[n],通过和输入信号x[n]的FFT结果相乘。

如何使用FFT滤波进行信号处理?

随着滤波器阶数的增加,计算输出值所需要的时间随着输入采样值也在增加。如我们在本书第7章看到的一样,基于帧的滤波有助于全面提高滤波运算的效率,这是依靠降低DSP的CPU接收和传递采样值的时间来实现的。然而我们仍然要计算时域卷积。如果我们利用FFT也能完成等价的卷积操作,那么我们能够节省更多的时间并且能够执行更长的(高阶数)实时滤波操作。在这方面使用FFT通常归类于快速卷积操作。

频域技术概念在本书第3章已经介绍过。我们知道滤波器关系等式实际上就是卷积积分式,即

如果我们采用卷积积分的傅里叶变换形式就会得到

Y(jω)=H(jωX(jω

注意,在时域中最初的卷积运算转换成频域里的乘法运算。同样地,离散的时域卷积积分(卷积和)为

这里,M是滤波器的长度(因此滤波器的阶数是M-1),N是数据长度[30]。卷积和的FFT为(www.xing528.com)

Y[k]=H[k]X[k]

也要注意离散时域卷积运算已经转成离散频域的中的乘法运算。

我们可以认为计算数字滤波器的输出返回到时域中,我们可以用IFFT来进行如下的计算:

使用这个方法我们将得到滤波器的脉冲响应h[n],通过和输入信号x[n]的FFT结果相乘。然后,对相乘的结果进行逆FFT(IFFT)变换。下面我们将会看到,这种方法需要做一些微小的调整,以免产生循环卷积的结果。除此以外其他方面的工作都会是令人满意的。随着h[n]和x[n]长度的增加,将会产生以下问题,和传统的时间抽取变换方法比较起来快速卷积的频率抽取变换技术将需要较少的数学运算。对于一个常系数滤波器(时不变系统),滤波器的脉冲响应的变换只需要计算一次。通过实现这个变换可以获得额外的节约时间。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈