基于折疊結構的半帶濾波器的設計
摘 要:半帶濾波器是一種高效的數字濾波器,目前流行的半帶濾波器設計方法一般能夠滿足參數要求,但其存在著功耗高、面積大、資源耗費代價高等不足之處。為了彌補上述的不足,文中提出了一種基于折疊技術的新的半帶濾波器設計方法。
本文引用地址:http://www.104case.com/article/187587.htm首先根據設計要求用MATLAB產生相應的濾波器系數,用CSD碼對系數進行優化,然后采用折疊結構,通過代碼實現。設計過程當中還用到分時復用和重定時技術。相比其它半帶濾波器的設計,本設計具有耗費的資源少,整個抽取、濾波過程包括系數產生始終沒有用到乘法器,而且延遲小、功耗低、面積小、單一時鐘控制有很高的穩定性。
作為軟件無線電的核心技術———上下變頻技術可以通過專用芯片來實現。目前市場上的DDC、DUC品種很多,盡管這些專業芯片的功能強大但其價格昂貴,工作參數配置非常的復雜,且由于當前的通信制式多種多樣,專用芯片無法完全滿足軟件無線電系統的性能指標。而FPGA,即現場可編程門陣列,擁有豐富的邏輯資源,可編程性強,可以用于復雜的數字信號處理比如卷積、相關和濾波等等,為此采用FPGA來實現數字上下變頻是目前軟件無線電通信系統的主要實現方案。
數字上下變頻由各種多采樣率數字濾波器組成,常見的濾波器有C IC濾波器、半帶濾波器、FIR整形濾波器等。半帶濾波器(Half2Band)是一種特殊的F IR濾波器,由于其系數的對稱性以及將近一半系數為零值,這使得其濾波運算過程中乘法次數減少近3 /4,加法次數減少近一半,同時用于存儲系數的存儲器也減少了一半,因此半帶濾波器是個高效的數字濾波器,特別適合實現2的冪次方倍的抽取或者內插,有計算效率高,實時性強等特點。流行的半帶濾波器系統級設計方法主要是在MATLAB環境下根據設計要求搭建系統,用sySTem generator系統設計工具,將模型直接轉化成代碼,然后進行調用,此方法實現起來比較簡單,一般能夠滿足要求但其存在著功耗高、面積大、資源耗費代價高等不足之處。為了彌補上述不足,本設計首先根據設計要求用MATLAB產生相應的濾波器系數,然后采用折疊結構,通過代碼編寫來實現。
1 半帶濾波器的設計原理
半帶濾波器(HB)是一種特殊的F IR濾波器,其頻率響應滿足公式1的FIR濾波器。
F IR濾波器可以表示為:
根據公式2,通常半帶濾波器可以采用直接型或者轉置型結構來實現。由于h ( k ) = h (N - 1 - k) ,采用轉置型結構可以減少乘法器以及加法器的使用,其結構圖如圖1所示。
圖1 轉置型FIR濾波器的結構圖
2 基于折疊結構的半帶濾波器的設計
2. 1 折疊技術的原理
半帶濾波器用作抽取器使用時,其輸出速率為輸入速率的一半,即輸出速率與系統時鐘頻率是1∶2的關系,因此可以把轉置型的半帶濾波器進行折疊,折疊因子為2。為了使得折疊后時序不會出錯, 我們首先得算出折疊后各結點之間的延遲值, 延遲可按照公式3進行計算。
其中DF ( u→v)指折疊后功能單元u的輸出到功能單元v的輸入所經過的延時數, N 為折疊因子即折疊后功能單元迭代的次數, w ( e)是折疊前功能單元u和功能單元v之間的延時數, Pu 是功能單元u的流水級數, v和u分別是功能單元v和u的編號。計算出各個結點延遲值后我們就可以得到相應的結構圖,然后根據結構圖編寫代碼。在下采樣當中采用折疊技術,可以大大減少乘法器的使用,減少大量的乘法運算,減少了面積和功耗。
評論