我想請問一下...在我做完FFT之後...圖形是畫出來...因為經過FFT後它自動會將圖形上的X軸以頻率顯示...但是我直接去抓X的值發現他不是頻率值耶...我希望能夠抓出每一點的頻率(X)與相對應的頻譜值(Y)...因為我需要抓出頻譜圖上的X與Y值做運算.....希望各位高手可以指點一下.....
你把圖傳上來讓大家看一下,大家會比較了解你說的是什麼
hotun:
關於你的問題,因為沒有看見你的實際情況,所以在此我提出一些我的拙見,供你參考,希望對你有幫助!!
1.訊號經由FFT轉換後的訊號為離散的訊號,所以你將沒有辦法任意查詢任何一點頻率所對應的值,但是這之間仍然是有關係的!!
2.例如下圖,我的訊號取樣率為1K,所以經由FFT後所獲得的頻譜圖中你觀察可以發現,每10Hz才有對應的振幅值(也是你所謂的Y值),所以我們可以觀察到這與實際的頻率差10倍!!

3.所以囉!! 真正的頻譜資料只有50點的資訊(可以由陣列維度觀察出來),因此若我們知道這樣的關係後,在程式部份,我們就必須注意到查詢範圍,增量,數值轉換等問題,以我的這個範例而言,我的程式如下圖所示.

5.因此,總結即是,"必須針對訊號的取樣率與FFT頻譜圖的實際狀況轉換之間的關係",程式如下: (若有問題再討論,或許我的方法不好,希望有更多專家可以提供意見)
Sincerely
===========
Writing by 麟仔
LabVIEW 7.0
Windows XP
===========
7.0版以後的FFT雖然比較方便,但是相對地要找出對應的頻率何振福卻更麻煩,我用的圖片就是要解開藍色線的FFT訊號.注意的一點是df的大小可能不是固定的.會根據點數(取樣點數)而有所變化吧.
假設100點的訊號經由FFT轉換後,也會有100點的值,但因為頻譜是對稱的所以只有前50點的值是有意義的。而每一個點的間隔為1/(NT),其中N是資料點數,T為取樣週期,所以經由1/NT的換算,就能找出所對應的頻率。例如:資料點數1024點,取樣周期0.1秒,經由FFT轉換後,第一個點所代表的頻率應該為:1/(0.1*1024),第2個點的頻率應為:2/(0.1*1024).....