① 請問如何提高fft的解析度
如何提高fft演算法解析度
FFT程序,輸入是一組復數,輸出也是一組復數,想問一下輸入到底應該輸入什麼,輸出的復數的含義是什麼。
給定一組序列的抽樣值,如何用FFT確定它的頻率。
首先,fft函數出來的應該是個復數,每一個點分實部虛部兩部分。
假設採用1024點fft,采樣頻率是fs,那麼第一個點對應0頻率點,第512點對應的就是fs/2的頻率點。然後從頭開始找模值最大的那個點,其所對應的頻率值應該就是要的基波頻率了。
FFT是離散傅立葉變換的快速演算法,可以將一個信號變換到頻域。
有些信號在時域上是很難看出什麼特徵的,但是如果變換到頻域之後,就很容易看出特徵了。
這就是很多信號分析採用FFT變換的原因。
另外,FFT可以將一個信號的頻譜提取出來,這在頻譜分析方面也是經常用的。
雖然很多人都知道FFT是什麼,可以用來做什麼,怎麼去做,但是卻不知道FFT之後的結果是什麼意思、如何決定要使用多少點來做FFT。
一個模擬信號,經過ADC采樣之後,就變成了數字信號。
采樣定理告訴,采樣頻率要大於信號頻率的兩倍,這些就不在此羅嗦了。
采樣得到的數字信號,就可以做FFT變換了。
N個采樣點,經過FFT之後,就可以得到N個點的FFT結果。
為了方便進行FFT運算,通常N取2的整數次方。