我正在使用:http://introcs.cs.princeton.edu/java/97data/FFT.java.html来实现我自己的低通滤波器。
如何重新排列FFT.fft()的输出,以便为正确的低通滤波器清零正确的值?
答案 0 :(得分:3)
当给出N个样本的波形时,此FFT实现返回一个大小为N的数组,您必须将其视为两个连续的大小为N / 2的数组:
每个整数频率包含0到N / 2之间的复数能量(除了一个与另一个相反)。
因此,如果你想要使所有等于或高于频率F的信号静音,你必须将其归零:
然后你可以运行逆FFT来获得滤波后的信号。
答案 1 :(得分:1)
我想你会把从fft方法返回的y数组中的所有值归零,这些值的频率(由数组索引确定)高于你的截止值。