家庭用電化製品や携帯電話、地上波放送などさまざまなものがデジタルへ移行する中、DSPはデジタル信号処理の要(かなめ)として広く用いられています。本連載では、DSPで行う基本的な処理の考え方と基礎知識について、8回にわたって解説します。
この記事は会員限定です。会員登録すると全てご覧いただけます。
DSPは乗算、加算、減算、除算などの演算、すなわち算術演算処理を高速で実行できるように設計されています。
なぜDSPが算術演算を重視しているかというと、デジタル信号処理(離散時間信号処理)では主に算術演算(乗算、加算、減算、除算)と遅延の組み合わせで増幅、フィルタ、信号生成、変復調などの処理を実現できるからです。
アナログ回路では抵抗、コンデンサ、トランジスタ、OPアンプなどの素子が回路の構成要素となりますが、デジタル信号処理では算術演算と遅延が最も基本的な構成要素となるのです。
マイクロプロセッサは一般的に表1のような命令を備えています。
各命令のイメージについては、図3と図4を参照してください。
アプリケーション・プログラム中のこれらの命令の使用頻度はまちまちですが、汎用のマイクロプロセッサはどのようなアプリケーションでも平均的に高い演算性能が得られるように設計されています(つまり平均的にどの命令も高速処理できるように設計されています)。
一方、DSPはデジタル信号処理(離散時間信号処理)に特化したプロセッサですから、特に算術演算命令処理の高速化を重視して設計されています。
この中で特に重要なのは乗算です。
一般のプロセッサでは処理に時間がかかる、つまり多くのクロック数を必要とする乗算演算を高速化するための乗算器を搭載しているのはDSPの大きな特徴です。DSPはほかにもFFT(高速フーリエ変換)などに特有の処理を効率良く実行するための特殊な命令も備えています。
昔のDSPは回路規模(チップサイズ)の制約のために専用プロセッサとして割り切った設計がなされていて、算術演算命令以外の命令実行能力が汎用プロセッサよりも劣っていたことがありました。しかし現在はそのようなことはありません。現代のDSPは例えばリアルタイムOSなども効率良く動かすことができます。
注:最近ではデジタル信号処理の特徴をより明確に示すために、「デジタル信号処理」の代わりに「離散時間信号処理」という言葉を使う機会が増えています。ここでは特に断りなく両者を区別せずに使うこととします。
Copyright © ITmedia, Inc. All Rights Reserved.