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