如何在matlab中根據傳遞函式和輸入訊號計算輸出響應?

時間 2021-06-23 18:13:33

1樓:走走停停

如果實測輸出響應訊號的訊雜比足夠高的話,可以不用譜估計的方法,而直接利用輸入訊號、系統傳函、輸出訊號間的關係,即:在頻域上,輸出訊號 Y(f) 等於輸入訊號 X(f) 與系統傳函 H(f) 的乘積。在已知輸入激勵訊號和其實測輸出響應的情況下,分別進行傅利葉變換得到 X(f) 和 Y(f);Y(f)/X(f)得到系統傳函 H(f);如果希望得到系統的衝激響應 h(t),可以通過 H(f) 逆傅利葉變換得到。

預估新輸入激勵的輸出響應,只要將新的輸入激勵訊號與 h(t) 相卷積就可以了。

2樓:Matlab Fans

在頻域擬合頻響特性的可以得到傳遞函式表示式。如果是最小相位系統,只有幅頻特性可以求出傳遞函式,對於非最小相位系統,還需知道相頻特性。

操作上可以用Matlab系統辨識工具箱做,systemIdentification。

得到傳遞函式後,根據輸入訊號和傳遞函式來求輸出就簡單了,用lsim函式或simulink模型來做都簡單。

Matlab中求傳遞函式的誤差怎麼控制?

題主我覺得你有兩個的地方有問題 1 沒有定取樣頻率,如果是1Hz取樣,取樣4000s,這樣得到的資料肯定是很難看得,取樣率太低了 2 Matlab裡面fft和dft是同乙個函式,只是如果訊號長度恰好為2 N時候,就會呼叫dft,所以需要做乙個補零的運算。我試著改了一下你這兩方面的問題 sigma1 ...

如何在Matlab裡呼叫GAMS?

蘇樸 1 在matlab中設定gams路徑 2 修改需要執行的 gms檔案 1 在檔案首加上 set matout gdx obj,其中obj是需要輸出的結果引數名 2 末尾加上 if exist matdata.gms include matdata.gms execute unload mato...

如何在 Matlab 上生成不均勻矩陣?

可以用 discretize 實現 src 1 10 tb 30.1 40.5 1 0.2 20.2 prob repelem tb 2 tb 1 tb 1 prob 1 30,1 30,1 30,1 8,1 8,1 8,1 8,1 5,1 10,1 10 a discretize rand m n...