4
我已經獲得了系統的波特圖。該系統似乎有一個非常複雜的幅度和相位圖。無法手動找到傳輸功能。在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);
你是如何獲得沒有傳遞函數的波特圖的?你可以添加一些示例代碼? – ishmael
波德圖是沒有別的,然後是頻率的幅度。因此,您可以使用[tfest](http://www.mathworks.co.uk/help/ident/ref/tfest.html#inputarg_data)和[頻率響應對象](http://www.mathworks.co。 uk/help/ident/ref/idfrd.html) - 如果你仍然有問題,你需要提供你的數據。 – thewaywewalk
這裏是我的代碼:尋找傳遞函數的%% FFT方法 load testdata2.mat; input = fft(signal(:,1));輸入數據的%FFT output = fft(signal(:,2));輸出數據的%FFT fft_ratio =輸出./輸入; 副區(2,1,1) %幅值圖 semilogx(20 *日誌10(ABS(fft_ratio))) 副區(2,1,2) %相情節 semilogx((180/PI)*角( fft_ratio)) mag = 20 * log10(abs(fft_ratio)); phase =(180/pi)* angle(fft_ratio)下面是我的數據:(http://www.fileconvoy.com/dfl.php?id=g84ba16b5278fbf059993953737f2412b28c0b41ba) –