1-01 BiquadのEXCELシートの説明
まずはIIRフィルタの代表格、Biquad(2次IIRフィルタ)です。このExcelをダウンロードして開いてみましょう。最初のREADMEシート(図1‐01)にEXCELファイルの簡単な説明があります。またBiquadの係数は同図のように5個(a0, a1, a2, b1, b2)になります(*1)
(*1)フィードバック側の係数(b1, b2)は反転して足し込みます。 |
図1-01 最初のシートREADME
●隣のシートにIIRフィルタの係数がある
f-responseシートを見ると図1‐02のようにD列にBiquadの係数があります。上からa0,
a1, a2, b1, b2になります。これら係数に対する周波数特性をこのシートで計算します。 |
図1-02 周波数特性計算シート
●各周波数に対する特性を求める
A列(freq-base)は1〜2000まで1/3オクターブの値です(*2)。
B列(frequency)はそれに定数(10、図1‐01のB6セル値)を掛けたもので、これらの周波数に対する周波数特性を求めます。
C列(omega)はそれに(2π/サンプリング周波数)を掛けたもので、omega = πになる周波数がナイキスト周波数になります(*3)。
(*2)値が2倍になるまでに等比的に3ステップあるのが1/3オクターブ。
(*3)この例ではサンプリング44100Hz(図1‐01のB4セル値)なので、ナイキストは22050Hz、その周波数でomegaがπ(=3.14)になる。20000Hzはナイキストの少し手前なので2.85[rad]になっている。 |
図1-03 この例では10〜20000Hzまで求める
●周波数特性は複素数になる
Biquadの周波数特性はこのページの式2‐43で求まります。
E列(Areal1)は同式の「分子の実数部」になります。またF列(AImag1)は同式の「分子の虚数部」になります。
G列(Breal1)は同式の「分母の実数部」、そしてH列(BImag1)は同式の「分母の虚数部」です。
図1‐04のように各セルをクリックするとEXCEL関数の式が表示されます。 |
図1-04 各セルをクリックして計算法を見てみよう
●絶対値をdBでプロットする
同式のH(ω)は複素数であり、その絶対値が振幅特性、角度が位相特性になります。図1-05の枠内の式のように対数をとってdB値とします(*4)。
frequency列を横軸、Gain[dB]列を縦軸としてプロットすると図1‐05のグラフになり、LPF(Low Pass Filter, 低域通過フィルタ)であることが分かります。カットオフ周波数(*5)は1kHzになります。
(*4)「分子の絶対値の2乗」を「分母の絶対値の2乗」で割る。2乗してあるので10*LOGで良い。
(*5)減衰量が -3 [dB] になる周波数。 |
図1-05 LPFの特性。カットオフは1kHz
●位相はATAN2関数で求める
位相は図1-06のように求めます。(虚数部/実数部)のアークタンジェントで求まりますが(*6)、EXCELでは"ATAN2"を使って角度を求めるのが良いでしょう(*7)。
frequency列を横軸、Theta[rad]列を縦軸としてプロットすると同図のグラフになります。LPFの場合はこのように徐々に位相が遅れていきます。
(*6) (AReal + j AImag) / (BReal + j BImag) = ((AReal + j AImag)(BReal - j BImag)) / ((BReal + j BImag)(BReal - j BImag)) 、分母が実数になるので、分子の実数部と虚数部で角度が決まる。前者がAReal*BReal
+ AImag*BImag、後者がAImag*BReal - AReal*BImagになる。
(*7)"ATAN"関数は戻り値の範囲が-π/2〜+π/2であるのに対し、"ATAN2"関数は-π〜+πの範囲をとり得る。こちらの方が不連続点が少なくなってグラフが見やすくなる。 |
図1-06 位相は0〜πへと遅れていく
次のページへ
目次へ戻る |