連載
» 2012年06月22日 11時54分 UPDATE

イチから学ぶDSP基礎の基礎(1):DSPが得意とする処理とは? (1/2)

家庭用電化製品や携帯電話、地上波放送などさまざまなものがデジタルへ移行する中、DSPはデジタル信号処理の要(かなめ)として広く用いられています。本連載では、DSPで行う基本的な処理の考え方と基礎知識について、8回にわたって解説します。

[日本テキサス・インスツルメンツ]
photo

@IT MONOistで掲載された記事を転載しています



 DSPは乗算、加算、減算、除算などの演算、すなわち算術演算処理を高速で実行できるように設計されています。

 なぜDSPが算術演算を重視しているかというと、デジタル信号処理(離散時間信号処理)では主に算術演算(乗算、加算、減算、除算)と遅延の組み合わせで増幅、フィルタ、信号生成、変復調などの処理を実現できるからです。

 アナログ回路では抵抗、コンデンサ、トランジスタ、OPアンプなどの素子が回路の構成要素となりますが、デジタル信号処理では算術演算と遅延が最も基本的な構成要素となるのです。

図1 アナログ信号(連続時間信号)処理のモデル 図1 アナログ信号(連続時間信号)処理のモデル
アナログ信号は回路素子を通じて、フィルタリングや増幅、信号の変復調などを行う
図2 デジタル信号(乖離(かいり)時間信号)処理のモデル 図2 デジタル信号(乖離(かいり)時間信号)処理のモデル
Zの−n乗はnサンプルの遅延を表す。デジタル信号は算術演算でフィルタリングや増幅、信号の変復調などを行う

DSPが得意な処理〜算術演算〜

 マイクロプロセッサは一般的に表1のような命令を備えています。

mm120622_dspbasic01_table01.jpg

 各命令のイメージについては、図3と図4を参照してください。

図3 一般的なプロセッサの命令 図3 一般的なプロセッサの命令(その1)
図4 一般的なプロセッサの命令 図4 一般的なプロセッサの命令(その2)

 アプリケーション・プログラム中のこれらの命令の使用頻度はまちまちですが、汎用のマイクロプロセッサはどのようなアプリケーションでも平均的に高い演算性能が得られるように設計されています(つまり平均的にどの命令も高速処理できるように設計されています)。

 一方、DSPはデジタル信号処理(離散時間信号処理)に特化したプロセッサですから、特に算術演算命令処理の高速化を重視して設計されています。

 この中で特に重要なのは乗算です。

 一般のプロセッサでは処理に時間がかかる、つまり多くのクロック数を必要とする乗算演算を高速化するための乗算器を搭載しているのはDSPの大きな特徴です。DSPはほかにもFFT(高速フーリエ変換)などに特有の処理を効率良く実行するための特殊な命令も備えています。

 昔のDSPは回路規模(チップサイズ)の制約のために専用プロセッサとして割り切った設計がなされていて、算術演算命令以外の命令実行能力が汎用プロセッサよりも劣っていたことがありました。しかし現在はそのようなことはありません。現代のDSPは例えばリアルタイムOSなども効率良く動かすことができます。

注:最近ではデジタル信号処理の特徴をより明確に示すために、「デジタル信号処理」の代わりに「離散時間信号処理」という言葉を使う機会が増えています。ここでは特に断りなく両者を区別せずに使うこととします。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.