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