回路の素101 036 加減算回路 差動アンプ型
複数の信号を加算、減算できる
数十MHzまでの回路で使用
回路図作成
- 基本的な構成
出力は下記になる
: をすべて並列接続した抵抗値
: をすべて並列接続した抵抗値
応答性確認
シミュレーションを tranモード(デフォルト) で実行し、応答を見る
import matplotlib.pyplot as plt import numpy as np from PyLTSpice import RawRead fig = plt.figure(figsize=(6, 4)) ax1 = fig.add_subplot(2, 1, 1) ax2 = fig.add_subplot(2, 1, 2, sharex=ax1) fname = 'PrimaryCircuit3-036.raw' LTR = RawRead(fname) x = LTR.get_trace('time').get_time_axis(0) tmp1 = LTR.get_trace('V(vin+1)').get_wave(0) ax1.plot(x * 1000, tmp1, label='Vin+1') tmp2 = LTR.get_trace('V(vin+2)').get_wave(0) ax1.plot(x * 1000, tmp2, label='Vin+2') tmp3 = LTR.get_trace('V(vin-1)').get_wave(0) ax1.plot(x * 1000, tmp3, label='Vin-1') tmp4 = LTR.get_trace('V(vin-2)').get_wave(0) ax1.plot(x * 1000, tmp4, label='Vin-2') tmp5 = LTR.get_trace('V(vout)').get_wave(0) ax2.plot(x * 1000, tmp5, label='Vout') ax2.plot(x * 1000, tmp1 + tmp2 - tmp3 - tmp4, label='Vout(offline)') ax1.legend(); ax1.grid() ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]') ax2.legend(); ax2.grid() ax2.set_xlabel('[ms]'); ax2.set_ylabel('[V]') fig.tight_layout() fig.savefig('PrimaryCircuit3-036_Graph1.png')
4つの信号が合成されて出力されている
オフラインで演算した結果と出力が一致している
参考文献
この記事は以下の書籍を参考にしましたが、
私の拙い知識で書いておりますので、誤り等ありましたらご指摘ください