Spiceによるモデリング入門

Tutorial Level: Intermediate Spiceブロックライブラリのコンポーネントを使用してバンドパスフィルターを設計し、Spiceソルバーでモデルをシミュレーションする方法について説明します。

重要: Available only with Twin Activate commercial edition.

このチュートリアルのファイル

SpiceBandPassFilter.scm

チュートリアルで構築するモデルの完成版と、チュートリアルを完了するために必要なすべてのファイルは、次の場所にあります:<installation_directory>/tutorial_models/

バンドパスフィルターの概要

バンドパスフィルターは、無線送受信機において、ある範囲内の周波数を通過させたり遮断したりするために広く使われています。フィルターの主な目的は、ノイズの多い信号を一定の周波数の中で理想的な信号にすることです。



このチュートリアルで作るモデルには、ローパスフィルター(パッシブ)とアンプが含まれています。目標は、高周波信号を除去し、通過帯域の周波数だけを維持することです。カット周波数(fc)を50hzに設定し、信号を10倍に増幅することになります。



ローパスフィルターの設計

バンドパスフィルターのモデルのローパスフィルター部分を作成します。抵抗とコンデンサを追加します。

  1. Twin Activateで、ファイル > 新規作成を選択します。
  2. ファイル > 保存を選択します。作業ディレクトリに移動します。ファイル名をSpiceBandPassFilterに設定します。
    指定されたディレクトリにSpiceBandPassFilter.scmとしてモデルが保存されます。
  3. パレットブラウザでSpice > Analog > Basicを選択し、Resistor ブロックを1つ現在のダイアグラムにドラッグし、そのブロックをダブルクリックします。
  4. Resistanceに256000 Ohmを入力し、OKをクリックします。
  5. モデル上で、Resistorブロックを選択し、その向きを変更します。
  6. リボンの向き(Orient)ツール上の左矢印を選択します。


    Resisterを左に回転します:



  7. パレットブラウザでSpice > Analog > Basicで、Capacitorブロックを1つ現在のダイアグラムにドラッグし、そのブロックをダブルクリックします。
  8. Device capacitanceに1.2e-8を入力し、OKをクリックします。
  9. パレットブラウザでSpice > Analog > Basicで、Groundブロックを1つ、現在のダイアグラムにドラッグします。
  10. 各コンポーネントを次のように接続します。


    BandPassFilterモデルの電気回路図のローパスフィルターが完成しました。

非反転アンプの設計

電圧制御電圧源(VCVS)で非反転アンプを作成します。

  1. パレットブラウザでSpice > Analog > Basicを選択し、VCVSブロックを1つ現在のダイアグラムにドラッグし、そのブロックをダブルクリックします。


  2. ブロックダイアログで、Gainに10.0を入力し、OKをクリックします。
  3. アンプとローパスフィルターを接続します。


    モデルは次の図のようになります。


    次に、異なる周波数の3つの正弦波信号を組み合わせることで、励振源を定義します。

  4. パレットブラウザで、以下のブロックを追加します:
    • Activate > SignalGeneratorsから、3つのSineWaveGeneratorブロックをダイアグラムにドラッグします。
    • Activate > MathOperatorsからSumブロックをダイアグラムにドラッグします。
      注: 左側にポートがあるSumブロックを選択します。


  5. Sumブロックをダブルクリックし、以下のパラメータを定義します:
    • 入力数(Number of inputs)に3と入力します。
    • 各入力ポートについて、'+'演算子を選択します。
    • その他のパラメータはすべてデフォルト値のままにしておきます。


  6. 先ほど追加したブロックをモデルに接続します。なお、SumブロックとResistorの間には、コンバータが自動的に追加されます。


  7. SineWaveGeneratorブロックのそれぞれを以下のように定義します:
    ブロック Frequency (rad/s)に入力する
    SineWaveGenerator 1 62.8 rad/s (=10Hz)
    SineWaveGenerator 2 62.8 e3 rad/s (=10Hz)
    SineWaveGenerator 3 62.8 e6 rad/s (=1MHz)
    残りのパラメーターはデフォルトのままにします。
  8. パレットブラウザでActivate > SignalViewersで、Scopeブロックを1つ現在のダイアグラムにドラッグし、そのブロックをダブルクリックします。
  9. 入力数(Number of inputs)に2と入力します。
  10. Scopeブロックをモデルに接続します。モデルからスコープへのコンバータは自動的に追加されます。


  11. モデルを保存します。

ダイアグラムのシミュレーション

  1. リボンでSetupを選択します。


  2. 表示されたダイアログでシミュレーション時間(Simulation Time)タブを選択します。
  3. 最終時間に.25秒と入力します。このシミュレーションの実行時間は、モデルの最低周波数(10Hz)を2回取り込むのに十分な時間である必要があります。

    これでモデルが完成、し、モデルをシミュレートする準備が完了しました。

  4. リボンでRunを選択します。


    モデル内のScopeブロックは、次のようなプロットを生成します:

    このプロットは、ローパスフィルターが高周波信号を除去し、50Hz以下の周波数のみを通過させていることを示しています。通過帯域の信号は10倍に増幅されます。

  5. ブロックパラメータを変更して、これらのパラメータがシミュレーション結果に与える影響を検証することで、このダイアグラムで疑似実験します。