コラム04 デジタル信号処理のメリット ●図2(a)にアナログフィルタの一例を示します コンデンサ(C)は周波数が低いと電気を通しにくく、高いと通しやすくなります。コイル(L)はその逆の特性を持ちます。このように周波数によってインピーダンスが変化する現象を利用してフィルタリングを行うのがアナログフィルタです。 同図では周波数が高くなるとCのインピーダンスが下がり、両端の電圧(すなわち出力)が小さくなります。したがってLPF(Low Pass Filter、低域通過フィルタ)となり、高い音がカットされて音が柔らかくなります。 ●図2(b)にデジタルフィルタの一例を示します 波形を細かく分割し、遅延させ、係数で重み付けし、加算することによってフィルタリングを行うのがデジタルフィルタです。本企画ではこのデジタルフィルタについて詳しく解説します。 デジタルフィルタは図2(b)のように、A-Dコンバータ(コラム06参照)、乗算器、加算器、遅延器、D-Aコンバータ(コラム07参照)で達成されます。(b)の点線内部はマイコン(*1)で処理することを想定しています。 (*1)マイクロコントローラの略。プログラム(命令)を実行するLSI。乗算や加算、データの遅延などのプログラムをC言語などで記述する。 ●アナログフィルタと同じ特性のデジタルフィルタ 図2(a)においてR = 1kΩ、C = 1uFとすると、図2(c)に示すようなカットオフ周波数(*2)が160[Hz]のLPFになります。 また図2(b)においてサンプリング周波数(コラム05参照)を2kHzとし、乗算する値をa0 = 0.2、a1 = 0.2、b1 = -0.6とすると、図2(c)と同様の特性になります。 (*2)通過する(カットされない)周波数と比較して振幅(波形の大きさ)が1/√2 になる周波数。dB(デシベル)で表すと20log10(1/√2) = -3.01[dB]。 ●カットオフ周波数を上げるには抵抗またはコンデンサの値を低くする ぱっと見ると図2(a)のアナログフィルタの方が部品が少なくて簡単そうです。確かにそうかもしれませんが、もしこんなことを言われたらどうしますか? 「カットオフ周波数を200Hzにしてくれ」 図2(a)の場合は時定数(コンデンサ容量×抵抗値)を160/200 = 0.8倍にする必要があります。つまり抵抗かコンデンサを付け替える必要があります。 ●HPFにするにはさらに手間がかかる さらにこんなことを言われたとします。 「LPFをHPF(High Pass Filter、高域通過フィルタ)に変えてくれ。カットオフも100Hzに変更!」 こうなったら抵抗とコンデンサの位置を入れ替える必要があります。そして値をR = 1.6kΩ、C = 1uFとすればよいのですが、1.6kΩの抵抗が手元にあるとは限りません。 ●はんだごては要らない。プログラムをちょっといじって特性変更! デジタルフィルタの場合は図3のように、乗算する値(係数)を変えるだけで済みます。図2(b)の点線内部はマイコンで処理するので、C言語などで書かれたプログラムのa0, a1, b1の値を図3に示すように変えて再書き込みすれば、LPFがHPFになり、カットオフが100Hzになるのです! 次のページへ 目次へ戻る |