FIR濾波器(圖1)存儲n數(shù)據(jù)單元系列,每個數(shù)據(jù)單元延遲一個附加周期。通常,這些數(shù)據(jù)單元稱之為分支。每個分支與系數(shù)相乘,其結(jié)果求和產(chǎn)生輸出。某些方法并行執(zhí)行所有的乘法。更一般的方法是分為N級,用累加器從一級到下一級傳遞結(jié)果。這些實現(xiàn)方法用功能資源換取速度,取N個計算級并需要n/N個乘法器。根據(jù)系數(shù)是靜態(tài)還是動態(tài)以及系數(shù)值設(shè)計,有不少其他通用的設(shè)計最佳化方法。
圖1 典型FIR濾波器的實現(xiàn)
實現(xiàn)方法
從圖像壓縮到確定數(shù)據(jù)取樣的頻譜成分,在不同的應(yīng)用中都用FFT。實現(xiàn)FFT有多種方法。最通用的方法是通用Cooley-Tukey時間抽取,把FFT分解成若干更小的FFT。最簡單的實現(xiàn)方法是用Radix-2蝶形單元(圖2),其輸入數(shù)據(jù)必須傳遞倍數(shù)。這種計算概念上是簡單的;然而,圖左邊所有的乘和加是用復(fù)數(shù)計算的,所需要的乘和加的實數(shù)是更復(fù)雜的問題(如圖右邊所示)。
IIR濾濾器除引入反饋通路外,它類似于FIR濾波器。這些反饋通路使IIR濾波器的設(shè)計和分析比FIR更復(fù)雜。然而,對于相同硅面積,IIR方法可提供更強的濾波器。盡管有幾種IIR結(jié)構(gòu),但是,一種通用的結(jié)構(gòu)是用2階四次方結(jié)構(gòu)(圖3)。
很多應(yīng)用是用混頻器來變換信號頻率。概念上,可用單個乘法器,而在數(shù)字應(yīng)用中,用復(fù)數(shù)形式表示不少優(yōu)點。最一般的形式是信號表示是為I和Q分量。
DSP選擇
做為這些通用功能應(yīng)用,大多數(shù)DSP應(yīng)用的核心是乘、加、減或累加。通用DSP芯片與通用微處理器結(jié)合能有效地實現(xiàn)這些功能。乘法器數(shù)量通常1“4個,而微處理器通過乘和其他功能定序通過的數(shù)據(jù),存儲中間結(jié)果在存儲器或累加器。主要靠提高乘法所用的時鐘速度來提高性能。典型時鐘速度為幾十MHz”1GHz。性能用每秒MMAC(百萬乘累加)度量,典型值10“4000。
需要較佳功能必須并聯(lián)組合多個DSP引擎。這種方法的主要優(yōu)點是直接實現(xiàn)用高級編程語言(如C語言)編寫的算法。
DSP定向的FPGA能在一個芯片上并行實現(xiàn)很多功能。通用發(fā)送、邏輯和存儲器資源互連功能、執(zhí)行加**能、定序和存儲數(shù)據(jù)。某些基本器件僅提供乘法支持,需要用戶建造其他邏輯功能。更復(fù)雜的器件提供加、減和累加功能做為DSP構(gòu)建單元的一部分。FPGA通常帶有幾十乘法器單元,可工作在幾百MHz的時鐘頻率。