天地有情

[LaTeX] bodegraph --- ボード線図,ナイキスト線図(ベクトル軌跡)を描く

bodegraph --- ボード線図,ナイキスト線図(ベクトル軌跡)を描く

§1 はじめに

bodegraphパッケージは,TikZ と gnuplot で,ボード線図とナイキスト図を描画することができます.
bodegraph は gnuplot のフロントエンド的なものとなっています.
自動制御工学の基礎的な学習に使うことができます.なお,自動制御自体に関する説明は割愛させて頂きます.

(参考)
● 後述の伝達関数 G(s) において,s=jω としたものを周波数伝達関数 G(jω) と呼びます.

● ボード線図は 20log10|G(jω)|[dB] 対 log ω で表したゲイン曲線と,位相差φ 対 log ω で表した
  位相曲線の対からなるグラフです.
  
● ナイキスト図(ベクトル軌跡)は複素平面上に周波数伝達関数 G(jω)を表すベクトルを描き,
  角周波数 ω を 0~∞ に変化させたときの軌跡をいいます.

gnuplot のインストールが必須となってり,path の設定が必要です.LaTeXファイルをコンパイルするときに
自動的に起動され,実行するように設定されます.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

1.2 マニュアル

コマンドラインから texdoc bodegraph を実行してください.(フランス語)

§2 LaTeX2e 文書での指定方法

2.1 書式

プリアンブルに
\usepackage{bodegraph} を記述します.

2.2 簡単な例 --- foo.tex を作成

(1)事前準備

作業は,すべて DeskTop上の ディレクトリ [bode-sample] で実行することにします.
先ず,DeskTop上に ディレクトリ [bode-sample] を作成し,その中に ディレクトリ [gnuplot] を,更に
その中にディレクトリ [foo] を 事前に作成しておきます.
次に bar.tex を作成した場合には ディレクトリ [bar] を事前に作成しておきます.
(この [foo] や [bar] の中に gnuprot の数値データが自動的に格納保存されます)

bode01.png


DeskTop ━━ [bode-sample] ━━ [gnuplot] ━┳━ [foo]
                                   ┃
                                   ┣━ [bar]
                                   ┣━
                                   ┣━

(2)例題:
   一次おくれ要素 G(s)=6/(1+0.3s) のボード線図(ゲイン特性と位相特性)を描く.

   一次おくれ要素の伝達関数 G(s)=k/(1+τs) で表されます.
   k:ゲイン,τ:時定数,s:ラプラス変数 です.

   ■ ゲイン特性用マクロ: \POAmp{K}{tau}
   ■ 位相特性用マクロ : \POArg{K}{tau}
   ■ 座標系を描くマクロ: \semilog{decade min}{decade max}{ymin}{ymax}
   ■ 描画マクロ    : \BodeGraph[Options]{domain}{function}


(3)ソースファイル --- foo.tex




(4)コンパイル

今回は欧文クラスファイル article を利用しています.

 pdflatex foo
または,
 latex foo && dvipdfmx foo

(5)実行結果

bode02.png



§3 サンプル

3.1 一次おくれ要素

例題:
  ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽
  伝達関数 G(s)=3/(1+0.5s) のボード線図(ゲイン特性と位相特性) および
  ナイキスト線図(ベクトル軌跡)を描け.ファイル名は 1st.tex とします.
  ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

  (1)先述のディレクトリ [gnuplot] の中に ディレクトリ [1st] を用意しておきます.

  (2)ボード線図(ゲイン特性と位相特性および漸近線)を描きます.
     漸近線は次のマクロが用意されています.

   ■ ゲイン特性の漸近線用マクロ: \POAmpAsymp{k}{tau}
   ■ 位相特性の漸近線用マクロ : \POArgAsymp{k}{tau}

bode03.png


  (3)ナイキスト線図(ベクトル軌跡)を描きます.ファイル名は Ny01.tex とします.
     先述のディレクトリ [gnuplot] の中に ディレクトリ [Ny01] を用意しておきます.
     ナイキスト線図には次のマクロが用意されています.

   ■ ナイキスト線図用マクロ: \NyquistGraph[options]{domain}{Module dB}{Argument degree}

bode04.png



3.2 二次おくれ要素

二次おくれ要素の伝達関数は次式で表されます.

bode05.png


二次おくれの特性曲線を描くには次のマクロが用意されています.

   ■ ゲイン特性用マクロ: \SOAmp{K}{z}{Wn}
   ■ 位相特性用マクロ : \SOArg{K}{z}{Wn}
   ■ 座標系を描くマクロ: \semilog{decade min}{decade max}{ymin}{ymax}
   ■ 描画マクロ    : \BodeGraph[Options]{domain}{function}
   漸近線用として,
   ■ ゲイン特性の漸近線用マクロ: \SOAmpAsymp{K}{z}{Wn}
   ■ 位相特性の漸近線用マクロ : \SOArgAsymp{K}{z}{Wn}


例題:
  ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽
  二次おくれ伝達関数において,k=6, z=0.3, Wn=10 のボード線図 および
  ナイキスト線図(ベクトル軌跡)を描け.ファイル名は 2nd.tex とします.
  ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

  (1)先述のディレクトリ [gnuplot] の中に ディレクトリ [2nd] を用意しておきます.

  (2)ボード線図(ゲイン特性と位相特性および漸近線)を描きます.


bode06.png


  (3)ナイキスト線図(ベクトル軌跡)を描きます.ファイル名は Ny02.tex とします.
     先述のディレクトリ [gnuplot] の中に ディレクトリ [Ny02] を用意しておきます.
     ナイキスト線図には次のマクロが用意されています.

bode07.png



(EOF)
スポンサーサイト
  1. 2015/10/23(金) 11:58:22|
  2. LaTeX Tools