數位訊號處理基礎
有一個FIR濾波器的計算,把16位元定點數的資料與係數的乘積以32位元表示,並把256個乘積相加。為了保證計算過程中不發生溢位,累加器所需的最少位元數為下列何者?
- A32位元
- B33位元
- C40位元
查看答案與解析
正確答案:C. 40位元
把2個32位元的乘積相加,數值大小最多增加1位元;相加256 = 2⁸ 個時,最多增加8位元。因此 32 + log₂256 = 32 + 8 = 40 位元的累加器,在最壞的情況下也不會溢位。代表性的16位元定點DSP中,有些具備在32位元乘積上加上8個保護位元的40位元累加器。最後把結果恢復為16位元時,以捨入與飽和運算使其落在範圍內。
- A. 與乘積相同的32位元,只相加2個就可能溢位。
- B. 只有1位元的餘裕,只能保證2個乘積的和。
- C. 正確。256 = 2⁸,因此加上8個保護位元成為40位元。