在多速濾波器設(shè)計過程中,有效地采用硬件實現(xiàn)插值和抽取功能非常重要,問題的關(guān)鍵還在于怎樣選擇正確的硬件類型。下面分別討論采用DSP、PLD和ASIC實現(xiàn)多速濾波器的方法。
插值和抽取
插值功能常用來增加輸出信號的取樣率(圖1),實際上在原始取樣值附近增加新的取樣值很有必要。由于新的取樣點處的值是未知數(shù),一般就設(shè)為零,因此也被稱為上取樣(upsampling)、零值插入或零值填充。輸出端數(shù)據(jù)點的增加會改變?nèi)铀俾剩瑥亩鼓慰固仡l率外推。
在時域中向數(shù)據(jù)插入零值,則信號在頻域上會產(chǎn)生原始信號頻譜的鏡像。由于取樣速率的改變并不會產(chǎn)生更多的信息,因此所有的鏡像信號(以工方式加入系統(tǒng)中)都表現(xiàn)為噪聲,幸運的是些噪聲可以通過理想低通濾波器濾除。

抽取濾波器的工作方式也大致相同。這種濾波器要消除某些取樣點,從而降低取樣速率和奈奎斯特頻率。任何低于或高于奈奎斯特頻率的信號都將表現(xiàn)為噪聲,因此有必要在消除數(shù)據(jù)(下取樣)前加入低通濾波器,這樣可以確保噪聲不串入系統(tǒng)(圖2)。

實現(xiàn)策略
在插值與抽取實現(xiàn)方案中采用的低通濾波器具有線性相位特性,一般是利用有限沖擊響應(yīng)(FIR)濾波器來實現(xiàn)這種線性相位濾波器,但FIR濾波器的實現(xiàn)要比無限沖擊響應(yīng)濾波器(IIR)的代價高得多。為了取得更好的性能,需要增加濾波器的階數(shù),而FIR濾波器可以從10階到200階甚至更高。每個濾波器的輸出必須經(jīng)過10到200次運算。由于FIR濾波器非常昂貴,設(shè)計師一般會采用專用硬件來實現(xiàn),這里的專用硬件可能是一塊專用濾波芯片、一種可編程邏輯解決方案或一些半定制(標準化單元實現(xiàn))集成電路。
用標準單元實現(xiàn)的FIR濾波器可以獲得的吞吐量,按速度排序的話,可編程邏輯器件(PLD)和專用濾波芯片的吞吐量排第二,然后才是通用DSP器件。當終用戶需要高的數(shù)據(jù)吞吐量時,幾乎沒有什么硬件可以勝過ASIC和PLD。ASIC設(shè)計流程相當成熟,對于PLD來說,可以利用能自動創(chuàng)建FIR濾波器的工具來加速開發(fā)流程。為了減小插值與抽取濾波器的芯片面積并增強其性能,很有必要采用一些專門技術(shù)。
目前還沒有的多速濾波器實現(xiàn)方案,而方案的評估也有很多種方法。方案的成本取決于某個實現(xiàn)方案所對應(yīng)的性能要求。這里性能可以定義為每秒鐘乘法運算的總次數(shù)(由于加法一般都與乘法結(jié)合在一起,因此運算成本中不再包含加法)。假設(shè)單個乘法操作需要一個時鐘周期,那么我們就可以確定實現(xiàn)某個方案所需的MIPS值。
檢查插值濾波器的運算速度有個比較直接的方法,即將數(shù)據(jù)先進行上取樣然后再進行濾波。圖3所示的樣本要求采用388抽頭的濾波器,并且濾波器工作時的數(shù)據(jù)速率必須達到每秒12兆樣點(MSPS)。這種實現(xiàn)方式所要求的運算速率大約為4500MIPS。

多級濾波
好在有許多方法來降低運算速率要求,比如可以在三級內(nèi)實現(xiàn)插值因子為12的多級濾波。設(shè)計人員可以將級的插值因子定為2,在第二級再以因子2對級的輸出進行插值,然后輸出到第三級,第三級的插值因子設(shè)為3,這樣就有了3級濾波器,圖3給出了每個濾波器的詳細數(shù)。
通過分級插值可以降低對每個濾波器的要求,從而減少濾波器的階數(shù)。另外,前二個濾波器分別工作在2MSPS和4MSPS,只有一個濾波器才工作在12MSPS,而改進前的方法要求整個濾波器工作在12MSPS。同樣,若采用分級抽取,運算速率就不必要求太高。
多級濾波法可以將運算速率減小到1035MIPS。對多級濾波器的各級重新分配運算任務(wù),用小得多的濾波器就可以達到期望的運算結(jié)果,這是一種相對高水平的優(yōu)化方法。