如何在1D傅立叶变换中实现ram-lak滤波器?

时间:2017-09-27 12:06:26

标签: javascript signal-processing fft

具有非数学背景我试图理解如何在频域中实现数据滤波作为FFT的一部分。这里可以找到离散FFT的javascript实现: https://rosettacode.org/wiki/Fast_Fourier_transform#JavaScript

我无法理解如何实现Ram-Lak过滤器,例如本文中图3中的过滤器: http://www3.cs.stonybrook.edu/~mueller/teaching/cse377/lab3.pdf

到目前为止,我已经完成了一个100个实数阵列的FFT,并获得了两个结果数组,其中包含实数和虚数分量,分别是从0频率(DC)到99的100个结果频率分量。

获得此结果后,我这样做(伪代码):

center = frequencies.length / 2

对于n =频率1到99的FFT结果{

If(n< center){将每个实部和虚部乘以(n /(center))}

If(n> = center){将每个实部和虚部乘以(frequency.length-n / center)}

} //结束

执行逆FFT

在逆FFT之后,100个实际初始数应该通过Ram-lak滤波器运行 - 我是否正确?

0 个答案:

没有答案