2010-10-22 84 views
0

這裏是場景,從一組輸入和一組輸入計算頻率響應

我有一組輸入值說2000,和相應的輸出值,採樣率是2000個樣本/秒,爲50Hz正弦波被使用,所以我怎麼計算頻率響應從這個varaiables,

我所做的在MATLAB是,

我呼籲所有的輸入值,並採取了它的fft,

o=data(input), 
n=length(o);fs=2000 %sampliing frequency; 
y=fft(o,n), 
phase=angle(y), 
Pha=180*phase/pi(); 
m=length(y); 
f=(0:m-1)*fs/m; 
semilogx(f,Pha), grid on 

和響應以90度的相位角取,這是正確的方式,

我可以創建從我有DATAS一個模型,然後執行頻率響應或是否有任何其他的方法來計算響應,我是matlab新手,需要幫助

+0

可能的重複[頻率響應使用FFT在MATLAB](http://stackoverflow.com/questions/3993147/frequency-response-using-fft-in-matlab) – 2010-10-23 17:11:58

回答

1

如果你的輸入只是一個50赫茲的正弦曲線,那麼你就無法測量頻率響應 - 你可以測量的是在該特定頻率下的增益和相位偏移。儘管FFT可以用來測量系統中的噪聲和任何非線性影響,但是FFT等並不能告訴您更多關於頻率響應的信息。

如果您想測量頻率響應,那麼您的輸入信號需要寬帶並覆蓋感興趣的頻率範圍,例如,噪音,衝動或掃描正弦曲線。

+0

謝謝保羅,所以如果我的輸入是掃描正弦曲線,輸入電流單位爲毫安,輸出爲壓力,頻率分析儀輸出爲16秒,所有相應的輸出壓力,我可以計算輸出和輸出之間的頻率響應輸入 – Jerry 2010-10-23 16:21:00

+0

@Jerry:你在這裏有兩個完全獨立的問題:(1)如何測量頻率響應和(2)如何獲得正確的單位。 (1)是困難的部分,(2)只是一個縮放因子,您可能需要應用這些因子才能獲得譜圖中的正確值。現在忘記(2),只是集中精力獲得頻率響應。一旦你有了這個,你可以計算出縮放因子需要是什麼來獲得正確的單位。 – 2010-10-23 17:06:03