RC周波数特性のシミュレーションをしつつ、フィルタの設計に便利なボード線図を描画してみました。
Jupyterのmlpltlibには豊富な描画関数が揃っているため、大変便利です。
ポイント
ボード線図を引く際、いくつかのポイントがあります。
まず、Jupyterの言語であるPythonは複素数が使えます。複素数が使えない言語だとRC回路の計算をする際、実数にまで計算を落とすのですが、Pythonでは最初から複素インピーダンスの計算を回路通りに素直に表記できます。
つぎに、周波数のピックアップです。ボード線図では横軸が周波数であり対数になっています。そこで、プロットすべきデータの周波数も対数分布していると便利です。このような分布のリストを作るには numpy.logspace() を利用できます。
最後に、ボード線図の描画です。横軸が対数になっているグラフを描くには、matplotlib.axes.Axes.semilogx()を使用します。
コード
Google Colaboratory のコードを公開します。Chromeブラウザでなければ見ることができませんのでご注意ください。