Python で双一次変換(フィルタ変換用)

Python で双一次変換 (フィルタ変換用) を行う方法のメモ。 双一次変換はデジタル信号処理において、連続時間系のフィルタ (アナログフィルタ) を離散時間系のフィルタ (デジタルフィルタ) に変換する標準的な方法です。 これにより、連続系で設計されたフィルタの特性を離散時間系に利用することができます。

import numpy as np
from scipy import signal
from matplotlib import pyplot as plt

Fs = 0.5
z, p, k = signal.ellipap(6, 5, 90)
num, den = signal.zpk2tf(z, p, k)
numd, dend = signal.bilinear(num, den, Fs)
wd, hd = signal.freqz(numd, dend)

plt.figure()
plt.plot(wd/max(wd), 20*np.log10(abs(hd)))
plt.xlabel("Normalized Frequency[rad/sample]")
plt.ylabel("Magnitude[dB]")
plt.grid()
plt.show()
15072701.png

コメント

Comments powered by Disqus
書籍更新情報
2017-04-18
Pythonによる科学技術計算 基礎編
固定版:1.5版、リフロー版:1.2版への更新が可能になりました。
サポートページはこちら
電子書籍