■たくさんあるデジタル信号処理のメリットをまとめてみる 前述のようにアナログフィルタに比べてデジタルフィルタにはいろいろなメリットがあります。以下にそれらをまとめます。 ●特性の変更が容易 図2(b)のような枠組みを作ってしまえば、後はプログラム内の係数(乗算する値)を変えるだけで自在に特性を変更できるので、製品の仕様変更などに柔軟に対応できます。 ●経年変化がない。温度、湿度などに左右されない アナログフィルタで使われる抵抗やコンデンサには経年変化(劣化)があります。また温度や湿度でもそれらの値は微妙に変わり、特性に影響を与えます。デジタルフィルタにはそのような特性の変化はなく、同一の特性を永久にキープできます。 ●ばらつきがない アナログフィルタで使われる抵抗値やコンデンサ容量はその値ピタリではなく、許容誤差がある(±5%, ±20%など)ため、特性は製品ごとにばらつきます。デジタルフィルタにはそのようなばらつきはなく、同一の特性になります。 ●ノイズに強い ノイジーな環境でも、デジタル信号のしきい値を超えない限り影響はありません。図4は伝送途中でノイズを拾ったようすですが、この程度のノイズ量なら1.65Vのしきい値で問題なくH/Lの判定ができます。誤り訂正技術(*1)を使えばさらにノイズに強くなります。 ![]() (*1)例えば、4, 3, 7, 6, 5, 0, 9という7個のデータを伝送する場合、7個加算した値(34)の下一桁(4)を追加して8個伝送する。受信したデータがもし4, 2, 7, 6, 5, 0, 9, 4だった場合、7個を加算した値(33)の下一桁が最後の値(4)と違うため、データに誤りがあることを「検出」できる。追加するデータの数をさらに増やせば、その誤りを「訂正」することも可能になる。 ●パソコンでの処理が可能 図2(b)はマイコンでの処理を想定していますが、同じことをパソコンで行うことができます。LinuxならGCC(*2)、WindowsならEXCELやVisual Studio(*3)などを使って処理することができます。 (*2)Linuxで使えるフリーのC言語コンパイラ。 (*3)Windowsアプリケーションの開発環境。Microsoft社から提供され、C言語やBasicでアプリケーションを開発できる。 ●ワンチップ化による小型化や量産が可能 半導体技術の進歩により乗算器、加算器、遅延器、さらにA-D, D-Aコンバータをワンチップのマイコンなどに集積できるようになりました。小型化や量産によるコストダウンも期待でき、デジタル信号処理にかかるコストは減少の一途をたどっています。 ●高精度で急峻な特性が可能 デジタル信号処理における誤差は「量子化雑音」または「折り返し雑音」(いずれもコラム06で解説)のみであり、サンプリング周波数やビット数を増やせば低雑音・高精度になります。また乗算器、遅延器の数を増やせば急峻なカットオフ特性を持たせることができます。半導体技術の進歩によりそれらも困難ではなくなりました。 ●信号の記録が可能 マイクから入力した信号をいったんメモリ(半導体メモリやハードディスクなど)に保存し、後々フィルタリングすることができます。また、フィルタリングした信号をメモリに保存し、後々スピーカーから出力することもできます。 ●圧縮/伸張、暗号化技術との相性が良い MP3・JPEGといった音声・画像の圧縮/伸張(*4)、またスクランブルをかけて暗号化(*5)するなど、これらはデジタルならではの技術です。 (*4)音声編集ソフトでWAVEファイル→MP3ファイルに変換する、また画像編集ソフトでBMPファイル→JPEGファイルに変換すると、ファイルサイズが数分の一程度になります。音声や画像データがデジタル化されているおかげでこのようなデータ圧縮が可能になります。 (*5)データの並び順を入れ替えること。ある定められたルールに従って入れ替えており、送信者と受信者のみがそのルールを知っているので秘匿性が保たれる。 ●適応型処理が可能 FFTでノイズの周波数を調べ、それを取り去るようにデジタルフィルタの係数を自動的に変えるといった「適応型処理」も可能です。 目次へ戻る |