用FFT轉成的Graph

各位前輩好:

 

小弟在paper中找到有人用fft轉換來分析頻域,他轉出來的圖與我轉出來的不太一樣,是graph設定問題還是fft的問題呢?

  附檔:圖像1是Paper的人機介面,他沒有程式部份

            圖像2是我的人機介面,裡面包含原始訊號與fft等

           圖像3是我的程式部份,我還多加了ps/psd的元件

1.JPG2.JPG3.JPG

正常來說應該要確認自己資料長度、取樣率
若你把一段1秒的訊號計算PS,則單邊顯示只會有0.5秒(也就是圖1右上方FFT那邊的X軸刻度最多只有0.5)
但我認為你的取樣率設定不對,造成圖表上X軸的刻度不對,所以你FFT的圖,在X=0.5之後應該還有很多東西…

依你圖2來看,訊號來源應該是聲音(?),取樣率為10KHz
濾波時應該要把取樣濾跟濾波頻段設定好,依你程式圖樣看來你的取樣濾設定為1,我想這是不對的
(1一般來說是已經把取樣率正規化,依你的需求應該不是這樣做)

濾波器使用上,你先以BS做頻寬小的5階濾波(電源濾波?),再採用LP做頻寬大的濾波,依實務上來說建議倒過來會比較好,
同時BS濾波設定頻寬小,建議比較濾波前後訊號振幅是否有不預期的變化(如原本振幅1,濾波後變成0.8或是1.2)
若有變化則需考慮於PSD上能量的變化,避免計算出過大(或過小)的能量

以上淺見…

caeru41137.3693287037

<span =“bold” style="text-decoration: none; font-size: 12px; line-height: 18px; ">caeru您好:

<span =“bold” style="text-decoration: none; font-size: 12px; line-height: 18px; ">
<span =“bold” style="text-decoration: none; font-size: 12px; line-height: 18px; ">       謝謝你的回覆與指教,我的訊號與paper中皆為EMG訊號,取樣綠我設在1KHz、sample to read我設在100,小弟看了有關於EMG文獻,EMG在頻域部分皆探討0~500HZ的變化,主要強度的分布都在90~120Hz之間。
<span =“bold” style="text-decoration: none; font-size: 12px; line-height: 18px; ">     
         
<span =“bold” style="text-decoration: none; font-size: 12px; line-height: 18px; ">       濾波器問題,先用LP再用BS,我會試試看的

那請問你是一次送入100點,還是一次送入10000點?
圖表會差很多

取樣率為1kHz,
sample to read為100,我一秒有一百個點

取樣綠我設在1KHz、sample to read我設在100,小弟看了有關於EMG文獻,EMG在頻域部分皆探討0~500HZ的變化,主要強度的分布都在90~120Hz之間

這在實務上有很大的問題,
首先,取樣率一般來說只要是需求頻率的兩倍即可,
你的需求頻率最大是500,理論上取樣率1000是可以
但是實際上取樣率請為最大需求頻率的八倍以上,才能得到較有效的資訊
簡單舉例來說,一個500HZ的弦波,用1000HZ下去取樣,一個週期也不過才兩個點
寧可取樣頻率大,再來探討訊號的狀況會是一個比較好的選擇
另外,下圖是一個取樣率1000,訊號長度10000的FFT,內含有250HZ及350HZ的訊號


當資料長度只有100時會變成

呈現出來的資訊是不同的
你的圖2比較像是資料長度不足所呈現出來

謝謝你的指教,沒想到是這個問題,我會試試看的,謝謝唷~