ブロックを積みながら(204) Scilab/Xcos、Modelica 差動アンプ

Joseph Halfmoon

ダラダラとScilab/Xcos上でのModelicaモデルのデモを眺めてます。前回はトランスでした、今回はバイポーラトランジスタで構成した差動アンプです。回路的には同相信号除去(CMR)をデモするためのものみたい。意図は汲み取れる気がするし、動作もするけど、わざわざModelica使う意義が見つからん年寄です。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。

    Scilab 2024.0.0

「差動アンプ」デモ

今回練習してみるのは、Scilabのデモ選択ウインドウから以下で起動できる「差動アンプ」という名のデモです。selectDiffAmp

上記で開くXcosのフローが以下に。例によってModelicaブロックはロードしただけでは、ブロック表面に表示されている定数に実設定の値が反映されないので、横に設定値を赤字で書き添えてます。DiffAmpFlowEC2

タイトルに “Common emiter difference amplifier” “Common signal rejection”と書かれてます。まあ、タイトルになくともシンプルなモデルなので、同相信号除去の様子をシミュレーションするためのモデルだと分かりますかね。

同相信号除去については、アナログ素人老人が中途半端なことを書くより、日清紡マイクロデバイス社様の以下のページでもご覧くだされや。

同相信号除去比CMR(Common-Mode Regjection Ratio)

デモの回路

「同相信号」として与えている入力信号の設定が以下に。comVol

振幅0.1V、周波数5kHzとな。

一方、差動入力に「差動信号」として与えられている入力信号の設定が以下に。sigVol振幅0.01V、周波数1kHzとな。

さて、念のため差動アンプを構成するNPNトランジスタの設定も確認してみました。こんな感じ。NPNsettings

結構いっぱいパラメータがありましたな。しかし、「回路が本職」のSPICEシミュレータ、例えばLTspiceでは、この倍くらいもパラメータがあるのでないかしらん。知らんけど。

そしてシミュレーション結果が以下に。DiffAmpGraph

上の青い信号が、入力信号です。大部分が5kHzの「同相」波形だけれども、微妙に1kHzの信号が載っている形に見えます。一方、下の赤の信号が出力です。

なお、出力にはRC「ハイパス」フィルタ(アナログ素人老人がカットオフ周波数計算したところ1.5kHzくらい)がかまされているので、「同相信号」の5kHzの周波数は通過し、肝心の差動信号の1kHzは抑制される(当然、差動信号は増幅されるので、HPFを入れないと「除去された塩梅を観察したい」5kHzが隠れてよくわからなくなるのではないかと)ように設定されているみたい。まあ、赤の信号上は5kHzの信号は(微妙に痕跡残っているけど)ほとんど見えなくなってますな。同相除去できてる感じ?いいのか?

ブロックを積みながら(203) Scilab/Xcos、Modelica トランス へ戻る

ブロックを積みながら(205) Scilab/Xcos、Modelica 「理想」オペアンプ へ進む