固定小数点プログラム開発の手間を省ける組み込み機器向けDSPコアを開発 ──15人日でMP3デコーダを開発可能に

小林士朗

tag: 半導体

技術解説 2003年9月16日

●浮動小数点はディジタル信号処理と相性が良い

 自然界の信号は実数で表現されます.これを有限なビット数でいかに正確にモデル化できるかが,信号処理の品質を決定します.モデル化の正確性は,算術方式ごとに異なります.そのため,ディジタル信号処理において,どのような算術方式を用いるかは非常に重要です.

 浮動小数点と固定小数点を用いた場合,どの範囲の数値を表現できるか(値域)を図2に模式的に示します.仮数の語長が有限なので,表現可能な数値は離散的になります.これはどちらの算術方式でも同様です.

 指数を持つ浮動小数点データ・フォーマットは,広い値域を自動的にカバーします.指数の語長の有限性は,カバー可能な値域の広さとして現れます.図2を見ると,0の近傍にも表現できない値域が存在します.これは,指数の下限値によるものです.この部分は,浮動小数点算術方式の中に特例を設け,非正規化数(denormal)としてサポートします.例外処理のために付加回路が必要になるため,非正規化数をサポートしないことも珍しくありません.

 C言語のfloat型としておなじみの32ビット浮動小数点は,自然界の信号を表現するのに十分な値域をカバーしています.非正規化数をサポートしない演算器も多いのですが,通常は問題を起こすことはありません.浮動小数点においてもっとも重要な点は,指数が算術方式の中にシステムとして組み込まれていることです.このため,プログラマが意識しなくても,フォーマットが取りうる値域全体を自動的にカバーしてくれます.

f02_01.gif
〔図2〕 各算術方式の値域
浮動小数点,固定小数点がそれぞれ実数をどのように表現できるかを模式的に示す.浮動小数点は実数の広い範囲を自動的にカバーできる.固定小数点では,プログラム内の指数の設定によって仮数を読み替えることができる.そのため,同じ値を異なる精度で表現できる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日