ボード線図が分かっている場合の伝達関数の求め方を教えてください
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jiro Yamada
am 5 Apr. 2019
Kommentiert: Jiro Yamada
am 24 Apr. 2019
以下のコードで得られるボード線図の伝達関数を求めたいです。
E=7.06*10^10;
B=3.0*10^(-2);
H=1.5*10^(-3);
l=1.0;
I=(B*H^3)/12;
p=2680;
A=B*H;
xL=0.05;
w=0.1:1/1000:100;
wr=w*2*pi;
k=((p*A.*wr.^2)./(E*I)).^(1/4);
c=exp(1i.*k.*xL);
F1=c;
ReF1=real(F1);
ImF1=imag(F1);
rF1=sqrt(ReF1.^2+ImF1.^2);
rF1dB=20*log10(rF1);
sitaF1=(atan(ImF1./ReF1))*(180/pi);
figure(1)
subplot(2,1,1)
semilogx(w,rF1dB,'r')
ylim([-3 5])
ylabel('Gain [dB]')
semilogx(w,sitaF1,'r')
xlabel('Frequency [Hz]')
ylabel('Phase [degree]')
現在はinvfreqsを用いた以下のコードを使って伝達関数を求めているのですが、希望のボード線図となるようなものは得られていません。
[F1b,F1a]=invfreqs(F1,wr,1,0);
sys_s_F1=tf(F1b,F1a);
どのようにすればfigure(1)のボード線図となる伝達関数を求めることができるのでしょうか?
0 Kommentare
Akzeptierte Antwort
Hiroumi Mita
am 8 Apr. 2019
掲題の問題について
以下のようにシステム同定の手法でモデルを推定しますと
一応、ほぼにたようなボード線図を書くことはできます。
しかし、得られた伝達関数は複素係数のものになり
現実性は乏しく、無理やり数値計算で合わせこんだ印象があります。
もともと推定したいモデルのボード線図は
周波数帯域において、ゲイン特性が一定数(0dB)、位相は
周波数が上がるとじりじり上がるもので、現実的に
このようなモデルがあるのかどうか、必要性はあるのか、
数式表現できるものなのか大いに疑問があります。
この問題の前提条件を再確認されることをお勧めします。
E=7.06*10^10;
B=3.0*10^(-2);
H=1.5*10^(-3);
l=1.0;
I=(B*H^3)/12;
p=2680;
A=B*H;
xL=0.05;
w=0.1:1/1000:100;
wr=w*2*pi;
k=((p*A.*wr.^2)./(E*I)).^(1/4);
c=exp(1i.*k.*xL);
F1=c;
ReF1=real(F1);
ImF1=imag(F1);
rF1=sqrt(ReF1.^2+ImF1.^2);
rF1dB=20*log10(rF1);
sitaF1=(atan(ImF1./ReF1))*(180/pi);
figure(1)
subplot(2,1,1)
semilogx(w,rF1dB,'r')
ylim([-3 5])
ylabel('Gain [dB]')
subplot(2,1,2)%
semilogx(w,sitaF1,'r')
xlabel('Frequency [Hz]')
ylabel('Phase [degree]')
%システム同定
[F1b,F1a]=invfreqs(F1,wr,1,0);
sys_s_F1=tf(F1b,F1a);
mag=rF1
phase = (atan(ImF1./ReF1))*(180/pi);
response = mag.*exp(1j*phase*pi/180);
fr_data = idfrd(response,wr,1/(100*2));
% Import mydata
% State space model estimation
Options = n4sidOptions;
Options.Display = 'on';
Options.N4Weight = 'CVA';
Options.N4Horizon = [15 15 15];
ss1 = n4sid(fr_data, 9, 'Ts', 0, Options)
tf(ss1)%伝達関数表示
figure;bode(ss1,{0,100*2*pi})%ボード線図
2 Kommentare
Weitere Antworten (2)
Hiroumi Mita
am 17 Apr. 2019
ボード線図において、例えば次のような特徴を持つものは
無駄時間が該当します。
#1. ゲイン特性が周波数帯域において一様0[dB]
#2. 位相特性は周波数が高くなると遅れる
このサンプルが無駄時間1[s]のボード線図です。
s=tf('s')
sys=exp(-s)
figure;bode(sys)
無駄時間は入力が入っても一定時間(無駄時間)無反応なものを
言います。
伝達関数は
sys=exp(-T*s)
T:無駄時間
です。
もし、このシステムを対象にするなら、出力が何秒遅れて入力に反応したかを
調べればよく、ボード線図から推定するのは意味がありません。
何らかの動特性を持つシステムは、無駄時間のみ表現されるものはないと思われます。
動特性(時間による変化)+無駄時間が一般的です。
基本的に、ボード線図からモデルを推定するとき、周波数の変化に対する
ゲイン特性の変化、位相の変化を必要とします。
そこで、示されたボード線図は、何らかの実験の不手際により、
ゲイン特性が正しく取れなかったか?、元の仮定では動特性を無視したのか?
そんなことが考えられるわけです。
動特性は示された系に無いのか?もし、本当にないのならそれはボード線図で扱う領域ではないかもしれません。
そのあたりを再考いただければと思います。
Siehe auch
Kategorien
Mehr zu データの解析 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!