【第9回】

<内容>

1.  Octaveによる伝達関数計算(教科書p.103

·       伝達関数(入力と出力の比)を入力する方法について

 (1) 伝達関数の分子ならびに分母多項式を入力する方法

 (2) 極・零点・ゲインを入力する方法

の2通りを学ぶ.

 

 極:伝達関数の「分母多項式=0」の根

 零点:伝達関数の「分子多項式=0」の根

 ゲイン:伝達関数の全体に係る定数

 

·       伝達関数の結合の仕方,すなわち,直列結合,並列結合(和),並列結合(差),一般的結合の仕方について学ぶ.

·       伝達関数の零点,極,ゲインを求める方法について学ぶ.

 

現在のシステムには,制御用パッケージcontrol ver.2.8.5がインストールされている.tfzpk関数等は,このパッケージが無いと使用できない.

 

 

<演習>

1Octaveによる伝達関数計算

 伝達関数に関する様々な計算方法について紹介する.

 

 

11.伝達関数の入力法

【分子・分母の係数を入力する方法】

伝達関数は,tftransfer function)を用いて入力することができる.tf関数の引数は,分子多項式の係数ベクトル,分母多項式の係数ベクトルの順である.tf2sysは使用不可】

 

入力した伝達関数を確認するには,変数名を入力する(通常の変数と同じ).sysoutは使用不可】

 

 

練習9-1

  図面1.jpg

1.      上記の伝達関数を,tfを使って入力せよ(教科書p.104の上部参照).

2.      分子多項式の係数ベクトルをnum,分母多項式の係数ベクトルをdenとして入力し,これらnumdenを使って伝達関数を入力せよ.

3.      K = 1とし,比例要素G(s) = K を入力せよ.ugainは使用不可】

 

 

【極・零点・ゲインを入力する方法】

 伝達関数の零点ゲインを与えて,伝達関数を入力する関数zpkzeros, poles and gain k)がある.zpk関数の引数は,零点(分子多項式の根),極(分母多項式の根),ゲイン(定係数)の順に入力する.なお,零点と極はベクトル形式で与える.zp2sysは使用不可】

 

 

練習9-2

  図面1.jpg

1.      上記の伝達関数を,zpkを使って入力せよ(教科書p.104の下部参照).

2.      零点をzerosに,極をpolesに,ゲインをKに入力し,これらzerospolesKを使って伝達関数を入力せよ.

 

 

12.伝達関数の結合

 伝達関数を結合するための関数が各種用意されている.以降,sys1sys2は前述の方法で,既に伝達関数が入力されているものとする.3.4の関数は使用不可】

 

 

【直列結合】(教科書p.106の図3.46を参照)

 sys = series(sys1, sys2);

 

seriesは「直列」を意味し,直列に伝達関数を結合する.sysmultは使用不可】

 

ヘルプを見るには,下記のように入力する.

 help @lti/series

 

 

練習9-3

 

 上記のsys1sys2を用いて伝達関数の直列結合の伝達関数を求めよ.

【答え】

 

 

【並列結合(和)】(教科書p.106の図3.47を参照)

 sys = parallel(sys1, sys2);

 

parallelは「並列」を意味し,並列に伝達関数を結合する.sysaddは使用不可】

 

ヘルプを見るには,下記のように入力する.

 help @lti/parallel

 

 

練習9-4

 練習9-3sys1sys2を用いて伝達関数の並列結合(和)の伝達関数を求めよ.

【答え】

 

 

【並列結合(差)】(教科書p.106の図3.48を参照)

 sys = parallel(sys1, -sys2);

 

sys2にマイナス(−)を付けて並列結合すれば良い.syssubは使用不可】

 

 

練習9-5

 練習9-3sys1sys2を用いて伝達関数の並列結合(差)の伝達関数を求めよ.

【答え】

 

 

―――――――――――――――――――――――――――――――――――――――――――――――――――――――

 

 

【ネガティブフィードバック】(教科書p.107の図3.49を参照)

 sys = feedback(sys1, sys2); または sys = feedback(sys1, sys2, -1);

 

現在のシステムには,feedback関数が用意されているので,p.107の「feedback.m」を作成する必要はない.buildssicは使用不可】

 

ヘルプを見るには,下記のように入力する.

 help @lti/feedback

 

 一般的結合の伝達関数を求めるには,connect関数を用いる.connect関数が教科書のbuildssic関数に相当する.教科書のfeedback.mfeedback1.mとして作成すると以下のようになる.システムで既に使用されている関数名が使用できない点に注意せよ.

feedback1.m

  function sys = feedback1(sys1,sys2)

  % sys = feedback1(sys1,sys2)

  blksys = append(sys1,sys2);

  cm = [1 -2; 2 1];

sys = connect(blksys, cm, 1, 1);

endfunction

 

·       append関数を用い,すべてのブロックを未結合で統合したモデルblksysが生成される.

·       cmは各ブロックの結合状態を表す行列であり,u(1)-y(2)を,u(2)y(1)を接続することを意味する.

·       connect関数の引数の3番目(外部入力)と4番目(外部出力)により,外部入力=u(1),外部出力=y(1)が指定される.

 

ヘルプを見るには,下記のように入力する.

 help @lti/connect

 

 

練習9-6

 練習9-3sys1sys2を用いてネガティブフィードバック結合の伝達関数を求めよ.

【答え】

 

【ポジティブフィードバック】(教科書p.107の図3.50を参照)

 sys = feedback(sys1, sys2, +1);

 

p.108の「pfeedback.m」を作成する必要はないが,connect関数を使用して作成すると,以下のようになる.

pfeedback.m

  function sys = pfeedback(sys1,sys2)

  % sys = pfeedback(sys1,sys2)

  blksys = append(sys1,sys2);

  cm = [1 2; 2 1];

sys = connect(blksys, cm, 1, 1);

endfunction

 

 

練習9-7

 練習9-3sys1sys2を用いてポジティブフィードバック結合の伝達関数を求めよ.

【答え】

 

 

練習9-8

 例題3.16(教科書p.108)を行い,結果を確認せよ.ただし,connect関数を使用すること.

   

3.41

 

 

13.零点,極,ゲイン

 関数zpkdataを用いて,伝達関数の零点,極,ゲインを抽出することができる.sys2zpは使用不可】

 

ヘルプを見るには,下記のように入力する.

 help @lti/zpkdata

 

 

練習9-9

 例題3.17(教科書p.108)を行い,結果を確認せよ.

 

 

【レポート課題(8)(授業終了後にアップロード)

  RePORT