Qucs (キュークス) というフリーソフトの回路シミュレータがあります。 スケマティックエディタ、データディスプレイなどが ひとつの環境に組み込まれていてとても使いやすいです。 ユーザインターフェイスの見ためは某 A 社の ?DS という製品に似ていますが、 A?S より直感的でわかりやすく優れた部分も多く 持っていると思います。
Sパラメータ解析、伝送線路モデルなども 用意されており、高周波回路シミュレーションに 対応しています。さらに HDL シミュレータと連携して ディジタル回路の解析も行うことができます。
オープンソース (GPL) で精力的に開発が行われていて、 将来の発展にも期待が持てます。
インストールはとてもシンプルです。
Linux で
ダウンロード
した tarball を適当なディレクトリに展開し、
展開先に移動します。
$ tar zxvf qucs-0.0.14.tar.gz -C /tmp $ cd /tmp/qucs-0.0.14
あとは良くあるビルド手順です。最初に configure しますが、 自分のユーザのディレクトリに インストールしたい場合は --prefix= の後に適当なところ (~/qucs etc.) を指定します。 --prefix を指定しないと自動的に /usr/local/ にインストールされます (root 権限要)。
$ ./configure --prefix=/home/ryu/qucs $ make $ make install
RHEL4, CentOS4.4 で問題なく通りました。
大学のユーザが結構いるらしく、 機能の説明は英語はもちろん、 日本語でもかなり丁寧にドキュメンテーションが されてます。
回路シミュレータの概念的なとこだけ補足すると、
直流信号源だけを有効とし、すべてのキャパシタはオープン、 インダクタはショートとみなして直流についてのみ解析し、 各部の直流電圧、電流を観測することになります。 実は他の全ての シミュレーションの実行前に、自動的に DC シミュレーションも走るようになっています (DC 解 = 動作点が前提として必要だから)。
直流および交流信号源を有効にして、 指定した解析周波数での小信号 (線形) 電圧、電流を 観測することになります。大信号 (非線形) 歪みは 観測することができません。 周波数ドメインの線形シミュレータです。 単一周波数 (正弦波) しか解析できませんが、 シミュレーションは短時間で終わります。
エンジンは AC 解析とほぼ同様ですが、 観測するものが電流、電圧ではなく、 ポート間の S パラメータ行列になります。
ある時間ステップ毎にサンプリングし、 各時間での電流、電圧を求めます。 時間ドメインの非線形シミュレータです。 オシロスコープに近いイメージなので、 時間ドメインに慣れているとこれが 取っ付きやすいかもしれませんが、一般的に 最もシミュレーション時間がかかります。
信号をいくつかの基本波、高調波、相互変調積の 組合せとして表現し、周波数ドメインで定常解を 求めます。 周波数ドメインの非線形シミュレータで、 歪んだ信号が観測できます。一般的に、 高周波のミキサ、発振器、増幅器などを トランジェントより短時間で解析することができます。
コンピュータは与えられた回路に対して節点方程式を立てていますが、 大規模回路でまともに方程式を解こうとすると遅くて話にならないので、 ニュートン法で解を探索するようにしているのが普通です。 なので回路の非線型性が強いと解が収束しにくくなることがあります。
応用として、Qucs で水晶発振器の解析例を作りました。