4

システムのボード線図を取得しました。このシステムには、非常に複雑な大きさと位相のプロットがあるようです。伝達関数を手動で見つけることはできません。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); 

これが私のデータです。

4

1 に答える 1

0

私はそうは思いませんが、それは Matlab のせいではありません。伝達関数の極と零点が大きな虚数周波数にある可能性があるため、問題は数学的に自明ではありません。これらはボード線図に大きな影響を与えないかもしれませんが、それらの存在をどのように除外しますか?

最善の策は、ボード線図を有理伝達関数に適合させ、許容できる合意が得られるまで伝達関数の極とゼロの数を増やし続けることだと思います。

于 2015-01-30T11:46:57.523 に答える