![](/img/trans.png)
[英]Problem with defining a transfer function for Bode plot in MATLAB
[英]Find transfer function from bode plot in matlab
我已經獲得了系統的波特圖。 該系統似乎具有非常復雜的幅度和相位圖。 手動找不到傳遞函數是不可能的。 有沒有辦法從大小和相位數據中找到傳遞函數,在Matlab中?
這是我的代碼:
%%FFT method for finding Transfer Function
load testdata2.mat;
input = fft(signal(:,1));
% FFT of input data
output = fft(signal(:,2));
% FFT of output data
fft_ratio = output ./ input;
subplot(2,1,1)
%Magnitude
semilogx(20*log10(abs(fft_ratio)))
subplot(2,1,2)
%Phase
semilogx((180/pi)*angle(fft_ratio))
mag = 20*log10(abs(fft_ratio));
phase = (180/pi)*angle(fft_ratio);
我不相信,這不是Matlab的錯。 這個問題在數學上是不平凡的,因為傳遞函數的極點和零點可能處於大的虛頻率。 這些可能不會顯着影響波德情節,但你會如何排除它們的存在?
我認為你最好的選擇是將波德圖調整到合理的傳遞函數,並且只是在傳遞函數中增加極點和零點數,直到你得到可接受的協議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.