デジタル信号処理
デジタル信号処理(デジタルしんごうしょり、Digital Signal Processing、DSP)とは、デジタル信号を対象とした信号処理である。
デジタル信号処理の大まかな流れは
- アナログ信号をデジタル信号に変換し
- デジタル領域で処理・加工を行い
- その後アナログ信号に変換する
というものである[1]。光・音声・画像などを信号とみなし、アナログな信号を(コンピュータで扱える)デジタル信号へと変換し、デジタル信号を対象とする様々な処理(ノイズ除去・周波数変調など)をおこない、最終的に処理されたアナログ信号へと再変換する。もちろん当初からデジタルな信号を扱うこともある。
信号全般を扱う学問・技術であるため、研究・応用領域は音響信号処理、デジタル画像処理、音声処理など多岐にわたる。
デジタイズ
コンピュータが広く利用されるようになると共に、デジタル信号処理の必要性も増してきた。アナログ信号をコンピュータ上で利用するには、A/D変換によりデジタイズする必要がある。変調方式として見た場合はパルス符号変調と言う。理論的には、デジタイズは、標本化(離散化(en:Discretization))と量子化という二つの工程に分けられる。標本化工程では連続信号を離散信号に変換する。量子化工程ではその信号の値を有限集合から選択された近似値に置き換える。
アナログ信号を正しくデジタイズするには標本化定理に従わなければならない。つまり標本化周波数は信号のバンド幅の2倍以上でなければならない。また、十分な量子化ビット数も必要である。
なお、「標本化」は英語「サンプリング」の訳だが、英語のサンプリングは、広義には量子化までを含むことがある。一方標本化と言った場合、まず量子化のほうを含むことはなく、離散化とほぼ同じ意味である。
D/A変換はデジタル信号をアナログ信号に戻すのに使用される。デジタルコンピュータはデジタル制御にとって必須の構成要素である。
領域
デジタル信号処理の過程で、信号はしばしば領域間の変換をうける。例えば時間領域にある音声(時間変換する音量)はフーリエ変換によって周波数領域のスペクトラム(高い音[高い周波数]が多く含まれ、低い音[低い周波数]は少ない)へと変化される。
実装
デジタル信号処理のみをより効率よく実行するために、デジタル信号処理へ特化したプロセッサ(デジタルシグナルプロセッサ、DSP)が用いられることがある。DSPは処理可能な信号のサンプリングレートを稼ぐことが可能などの利点がある。DSPは典型的な汎用プロセッサに見られる多種多様な機能の内の幾つかを除外し、新たに高速乗算器、積和演算器を搭載している。従って、同程度のトランジスタ個数の汎用プロセッサと比較した場合、条件分岐等の処理では効率が悪化するが、信号を構成するサンプルデータは高効率で処理する事が可能になる。
応用
信号全般を扱う学問・技術であるため、研究・応用領域は音響信号処理、デジタル画像処理、音声処理など多岐にわたる。
技法
- 双一次変換
- 離散フーリエ変換
- 離散コサイン変換
- 離散サイン変換
- 離散ハートレー変換
- Walsh–Hadamard変換
- 高速フーリエ変換
- 高速Walsh–Hadamard変換
- 離散時間フーリエ変換
- フィルター設計
- LTIシステム理論
- 最小位相
- 伝達関数法
- Z変換
- Goertzelアルゴリズム
- 適応信号処理
- フィルタバンク
- 離散Karhunen-Loève変換
- 離散ウェーブレット変換
関連分野
脚注
- ^ 梶川嘉延(2017)"サンプリング定理の確立によってアナログ信号をディジタル信号に変換し,ディジタル領域で処理・加工を行い,その後アナログ信号に変換するという現在のディジタル信号処理システムの基礎が確立された." 電子情報通信学会誌 Vol.100 No.6 pp.414-418
外部リンク
ディジタル信号処理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/19 17:06 UTC 版)
32bit-floatの場合には156[dB]、64bit-floatの場合には331[dB]もの広いダイナミックレンジを確保できる。この広いダイナミックレンジで計算を行うことで、整数型のデータに変換して信号を出力する際に内部計算において累積した誤差を切り捨てることにより、出力データの精度の範囲内においては内部計算の誤差が現れないように処理を行うことが可能となる。 製品に収録する音声信号フォーマットに直す直前まで波形がクリップせず音声加工処理を行えるメリットが有るため、2000年代以降はDTMやDAWにおいては全ての処理工程で浮動小数点数を用いている。 従来よりDSPや音楽用ワークステーション等では、精度と計算コストの兼ね合いから32bit-floatが内部計算において標準的に用いられてきたが、2010年代以降はコンピュータの高性能化と低価格化を受けて、より高精度な64bit-floatで内部計算を行う場合が増えてきている。 浮動小数点数を表現するための仮数部の桁数の関係で、32bit-integerよりも32bit-floatの方が量子化ノイズが大きい。従って、最終的に32bit-integerのデータを作成する場合には、内部計算においては64bit-float以上の精度を持つ浮動小数点数を用いるべきである。
※この「ディジタル信号処理」の解説は、「浮動小数点数」の解説の一部です。
「ディジタル信号処理」を含む「浮動小数点数」の記事については、「浮動小数点数」の概要を参照ください。
- ディジタル信号処理のページへのリンク