我准备用Arduino做个FFT音乐频谱显示。
看了ArduinoFFT的库
比如我用128的采样点
那么
// 执行FFT变换
FFT.Windowing(vReal, SAMPLES, FFT_WIN_TYP_HAMMING, FFT_FORWARD);
FFT.Compute(vReal, vImag, SAMPLES, FFT_FORWARD);
FFT.ComplexToMagnitude(vReal, vImag, SAMPLES);
之后得到了128个vReal值。
vReal[0],vReal[1],vReal[2],vReal[3],vReal[4],.....vReal[63],vReal[64],vReal[65],...vReal[126],vReal[127]
观察发现,并非vReal[0]==vReal[127]
而是
vReal[1]==vReal[127]
vReal[2]==vReal[126]
。
。
。
vReal[63]==vReal[65]
中间点是vReal[64]
其中呢
vReal[0],vReal[1],很离谱,特别是vReal[0]大的离谱,没在库函数的说明里看到介绍,看到有网友是舍弃vReal[0],vReal[1]
只取
vReal[2]~vReal[64]
有没有明白的出来说说看。
|