基于多速率DA的根升余弦濾波器的FPGA實現
2.2 多速率FIR的多相表示
設FIR濾波器轉移函數為:本文引用地址:http://www.104case.com/article/191894.htm
式中:N為濾波器長度。假設滿足條件N=DQ(其中D,Q為整數),則H(z1)可以寫成:
根據文獻[7],傳統的濾波后再抽取的多速率系統如圖3所示。
圖3中,T2=DT1。可以看出,卷積運算在下采樣之前進行。通過對濾波器進行多相分解,得到多相分解表示如圖4所示。
Ek(z1D)相當于一組濾波器,利用多采樣率系統中結構的互易性對濾波器位置進行等效變換,將抽取操作前置,這樣卷積運算已經變換到在低抽樣率下進行,濾波運算量減少到原來的1/D,大大減少運算量,如圖5所示。
由圖5可知,每相仍然相當于低階的FIR濾波器,下節對其采用DA算法,可以看到運算速度將進一步提高,運算量也將大幅減少。
3 多速率DA根升余弦濾波器的結構及其FPGA實現
按查找表的方式,DA算法可以分為串行實現方式和位并行實現方式兩種。本文采用位并行方式實現。因為本文針對的是一個48階平方根升余弦濾波器,從表1可以看到結構是對稱的,LUT的規模隨地址空間,也就是輸入系數N的增加而呈指數增加。這里系數N=48,用單個LUT不能夠執行全字(輸入LUT位寬等于系數的數量)。為了減小LUT的規模,根據文獻[8]可以利用部分表計算,并將結果相加,即用m個濾波系數為k的濾波單元構成系數為N(N=m×k)的濾波單元。如果再加上流水線寄存器,這一改進并沒有降低速度,卻可以極大地減少設計規模,這里采用4輸入LUT,如圖6所示。考慮濾波器的對稱性,需要6種LUT,對于每個4輸入LUT:
b0~b3為x[n]~x[n-3]的第0位,構成了一組查找表的查找地址。
LUT表中存儲的是所有可能使用到的數值,是濾波器系數的16種組合形式。
評論