數位訊號處理

定點運算(fixed-point arithmetic)

定點運算用普通整數來表示小數,並把想像中的小數點釘在固定位置——因此 0.75 可能被存成整數 12,288,而大家都同意小數點位於右起第 14 個位元處(一種「Q14」格式)。與浮點數不同,這個點永不移動,使運算不過就是快速的整數加法與乘法。代價是固定、均勻的解析度,以及範圍上的硬性上限。

在浮點數已如此廉價的年代,何必費此工夫?在大量生產、電池供電或超高速的 DSP 中——助聽器、馬達控制器、基頻無線電、數十億顆物聯網晶片——定點乘法器比浮點單元更小、更便宜,也省電得多。工程師的工藝在於駕馭它帶來的兩個危害:溢位(當總和超出範圍而繞回成大錯特錯的值,需以飽和或縮放馴服),以及量化雜訊(每一步都注入的捨入誤差,它決定了系統的雜訊底線)。

Q14: real value = stored_int / 2^14 (e.g. 12288 / 16384 = 0.75)

浮點數以整數的均勻解析度換取滑動的解析度——靠近零時精度的位元很多,數值很大時則較少——這也是為何音訊母帶處理與科學 DSP 偏好浮點,而成本與功耗敏感的嵌入式 DSP 仍重度仰賴定點。

又称
Q-formatfixed-point DSP定點數Q 格式