Can’t apply FFT on a simple cosine wave
我已经阅读了很多关于离散傅里叶变换的文章,但我发现自己很难将它应用于简单的余弦波。我正在使用 Kiss_fft 库来计算一组数据的 DFT,并使用位图库来可视化结果。
这是 C 代码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#define FIXED_POINT 32 #include"kiss_fft.h" int main() Bitmap bmp_t("fft_time.bmp", width, height); kiss_fft_cpx* in = (kiss_fft_cpx*)malloc(sizeof(kiss_fft_cpx) * fft_siz); // initialize input data // line (1*) kiss_fft(cfg, in, out); // visualize output free(in); kiss_fft_cleanup(); bmp_t.write(); return 0; |
这是输入:
以及我得到的输出:
仅绘制 FFT 输出的实部并不是很有意义 – 改为绘制幅度 (
为单位绘制对数幅度
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268952.html