移動平均フィルタとサンプル & ホールド
はじめに
サンプリング周期がであるサンプル & ホールド(S&H)の伝達関数は,近似的に
と書けることが知られています。 これは移動平均フィルタ(moving average filter, MAF)の伝達関数と完全に一致します。 何となくそうなりそうな気もしますし,本当にそうなのという疑念もあります。
そもそもS&Hに正弦波を入力しても,サンプリングするから出力はカクカクしているじゃないか❓ 高調波が含まれるけど,基本波成分だけを抽出するとそうなるということ─❓
時間領域での波形を見てみると…確かに基本波成分は似ているように思えます。
という訳,LTspice XVIIで試してみることにしました。
まずはいきなり結果のボード線図を
続きを読むLTspiceによる電流制御のシミュレーション
はじめに
電圧形インバータを用いてモータを制御したり,系統連系したりする場合,電流制御*1が必須となります。 昨今はオペアンプ等でアナログ制御*2することは稀で, 制御ハードウェアとしてはマイコンやDSP (digital signal processor),FPGA (field-programmable gate array)が選ばれると思います。 この場合,サンプリング周期毎に制御演算のルーチンが実行される(タイマ割り込みで定期的に呼ばれる関数など)離散時間制御となります。 サンプリング周期の分だけむだ時間が生じるため,安定性を確保するための制御ゲイン設計が問題となります。 さらに,インバータではPWM (pulse-width modulation)にて出力電圧指令値と平均値の一致するパルス列に変換します。
筆者は電力変換器の回路方式や制御方式について学んできましたが,電流制御そのものについては実は理解が曖昧なところがありました。 そこで本稿では,LTspice XVIIと自作制御ライブラリContrailleを用いて:
- 連続時間(アナログ)制御 vs. 離散時間(ディジタル)制御
- 任意電圧出力 vs. PWM
を比較してみることにしました。 対象としては単純なRL回路を想定します。
電流が所望の値・波形となるように,電圧を調整します。 この場合,制御量はであり,電圧の方は「操作量」と呼ばれますが,「操作量」なる語はあまり浸透していない気がしています💦 念のためですが,は時刻になります。電流,電圧ともに時刻に依存する関数となります。
DISCLAIMER!!: 本記事には技術的な誤りが含まれている可能性もありますので,予めご了承ください💦
聞きかじったこと
よく言われている(?)ことですが,であり,サンプリング周期がである場合,電流制御の比例ゲインを
に設定すれば,電流にオーバーシュートを生じない,ということがあります。 これについては,例えば文献*3や 文献*4に記載がありますが, やはり理解するには自分で手を動かさないとダメだとの思いから,ブロック図と数式をいじってみることにします。
*1:よくACR (automatic current regulator)と呼ばれますが,恐らく日本語でしょう…。
*2:早川:「初めての自立移動ロボット制御シミュレーション」,トランジスタ技術,2020年7月号,pp. 71-86
*3:田原・藤田・赤木:「FPGAによる高速電流制御を適用したPWM整流器の動作特性」,電気学会半導体電力変換研究会資料SPC-05-14,pp. 33-38,2005年1月,大阪
*4:H. Akagi, E. H. Watanabe, and M. Aredes, Instantaneous Power Theory and Applications to Power Conditioning, Wiley, 2007
制御電源のLaplaceオプションの罠
Laplaceオプション
LTspiceには
- ビヘイビア電源(B, Arbitrary behavioral voltage or current sources)
- 電圧制御電圧源(E, voltage-dependent voltage source)
- 電流制御電流源(F, current-dependent current source)
- 電圧制御電流源(G, voltage-dependent current source)
- 電流制御電圧源(H, current-dependent voltage source)
の各種制御電源が用意されておりますが,上記のうちB, E, GにはLaplaceオプションが用意されております。 これは,入力信号に対して,Laplaceオプションで記述した伝達関数を(周波数領域で)乗じたものを出力とする機能であり, ある意味で非常に強力です。
罠とは何か
2次系のハイパスフィルタ(HPF)の伝達関数は次式で書けます。
ご存じの通り,は減衰係数,は固有角周波数です。
続きを読む連続系の代表的な伝達関数の双一次変換による離散化
はじめに
連続系では1次遅れ要素や2次遅れ要素など,代表的な伝達関数というものがあります,例えば,
などですね。
制御器やフィルタなどをもともと連続系で考えていた場合,マイコンやFPGAに実装しようとする際には離散系に変換する必要が生じます。 このときのテクニックのひとつに双一次変換(bilinear transformまたはTustin transformとも)があります。これは,
として,領域の伝達関数を領域の伝達関数に変換する手法です。ここではサンプリング周期です。
動機と方法
双一次変換については,各種教科書・参考書で「変換できる」という記述は見掛けるのですが,実際に(記号計算として)変換した結果はあまり見たことがありませんでした。 そこで,Pythonの数式処理ライブラリSymPyを用いて,計算してみることにしました。
結果
連続系の様々な伝達関数を双一次変換してみました。結果は下表をご覧下さい。
続きを読む