許自陽
摘要:在寬帶信號采樣的情況下,基帶部分需要進行高速數(shù)據(jù)處理,此時單通道數(shù)據(jù)處理很難滿足時序要求。而并行數(shù)據(jù)處理會占用大量的FPGA資源,這就需要對并行算法進行優(yōu)化。在不同的場景下輸出數(shù)據(jù)速率要求不同,這就要求進行數(shù)據(jù)速率變換。本文討論了如何對并行FIR濾波器進行優(yōu)化設(shè)計,同時也論述了如何利用多相分解技術(shù)進行數(shù)據(jù)速率變換,結(jié)果說明優(yōu)化后的算法能大幅減少FPGA資源的消耗,并能適應(yīng)多速率數(shù)據(jù)變換的應(yīng)用場景。
Abstract: In the case of wideband signal sampling, the baseband requires high-speed data processing, however, the parallel design will occupy a large amount of FPGA resources, which requires optimization of parallel algorithms. in different application scenarios, the output data rate requirements are different. This requires data rate conversion while parallel processing. This paper discusses how to optimize the parallel FIR filter, and also discusses how to use the polyphase decomposition technique for data rate conversion. The result shows that the optimized algorithm can greatly reduce the consumption of FPGA resources and can adapt to the multi-rate application.
關(guān)鍵詞:并行FIR濾波器;多相分解;多速率變換
Key words: parallel FIR filter;polyphase decomposition;multi-rate transform
中圖分類號:TN713? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2019)21-0197-04
0? 引言
在雷達和通信領(lǐng)域中,高速數(shù)據(jù)采集對于寬帶信號處理極為關(guān)鍵,并行FIR濾波器設(shè)計是高速數(shù)據(jù)處理必不可少的元素。在多數(shù)文章中,多相分解技術(shù)僅用于進行整數(shù)倍抽取的討論。本文結(jié)合實際需求,進一步論述了如何利用多相分解技術(shù)進行速率變換,如何進行并行FIR濾波器設(shè)計和優(yōu)化。
1? M倍抽取的多相分解結(jié)構(gòu)
則M倍抽取的多相分解結(jié)構(gòu)如圖1所示,需要注意的是X(n-1)先于X(n)到來:
如果是單路輸入系統(tǒng),則輸入部分,可以看作一個數(shù)據(jù)分發(fā)器。由于該結(jié)構(gòu)進行M倍抽取,即經(jīng)過M個時鐘周期,系統(tǒng)完成一次輸入,一次輸出。若輸入數(shù)據(jù)速率為K,可知,輸出數(shù)據(jù)速率為K/M,這就是眾所周知的多相分解抽取技術(shù)。可以通過該技術(shù)可以將基帶處理時鐘頻率降為原來的1/M,這便意味著基帶處理時鐘周期變?yōu)樵瓉淼腗倍,這對于提高系統(tǒng)時序性能至關(guān)重要。
在輸入數(shù)據(jù)速率比較高的情況下,單路輸入很難滿足時序要求,所以多數(shù)情況下采用M路并行輸入系統(tǒng),只要去掉圖1中數(shù)據(jù)分發(fā)器,便可得到M路并行輸入系統(tǒng)框圖,該系統(tǒng)每個時鐘周期完成M個樣本點輸入,一個樣本點輸出。如果數(shù)據(jù)速率為K,輸出數(shù)據(jù)速率則為K/M。則該系統(tǒng)在降低時鐘周期的同時,輸入數(shù)據(jù)總線上的速率也同時降低。
2? 數(shù)據(jù)速率變換
從上面論述中我們可知,圖1所示結(jié)構(gòu)是對輸入進行M倍抽取,輸出依次為y(n)、y(n+M),y(n+2M)…。但多數(shù)情況下要求輸出頻率是輸入速率的K/M倍(K=1,2,…M),此時需要恢復(fù)y(n)到y(tǒng)(n+M)之間的樣本輸出,我們可以進行如下討論:
若用公式(2)到公式(5)來表示圖1中每個分支的系統(tǒng)函數(shù),則可以將圖1所示結(jié)構(gòu)簡化為圖2所示結(jié)構(gòu)。
由線性移不變性質(zhì)可知:
由公式(7)可以看出,如果想要得到系統(tǒng)輸出y(n+L),則系統(tǒng)輸入端應(yīng)為x(n-k+L)而x(n-k+L)可由x(n-k)延遲L個時鐘周期得到,從而可以得到輸出為y(n+L)的系統(tǒng)結(jié)構(gòu)圖3。
按照速率變換要求,輸出數(shù)據(jù)速率是輸入速率的K/M倍(K=1,2,…M),則系統(tǒng)在有M路輸入的情況下,需要有K路輸出,此時輸出速率:
若記圖3所示結(jié)構(gòu)系統(tǒng)函數(shù)為H(Z),為了得到公式(8)所示數(shù)據(jù)速率,系統(tǒng)框圖需要拓展為:
對于M路并行輸入系統(tǒng),假如輸入數(shù)據(jù)速率為:Ratain,輸出速率為Rataout則系統(tǒng)處理需要圖3所示結(jié)構(gòu)數(shù)量:
對于基帶處理(每路數(shù)據(jù)對應(yīng)一組I,Q數(shù)據(jù))而言,系統(tǒng)處理需要圖3所示結(jié)構(gòu)數(shù)量為:
基于模塊復(fù)用的理念,我們希望每個模塊結(jié)構(gòu)要保持一致,即各個子系統(tǒng)系數(shù)長度要保持一致,記為R,則系數(shù)總長度L為:
此時共需要乘法器個數(shù)為:
需要加法器個數(shù)為:
乘法器資源消耗是評判一個算法是否優(yōu)化的重要指標,在高速采樣中,按照圖3結(jié)構(gòu)進行處理,由公式(10)可知乘法器數(shù)量規(guī)模還是比較大,而圖3所示結(jié)構(gòu)并沒有利用系數(shù)對稱的性質(zhì),如果利用系數(shù)對稱性,可以進一步減少乘法器數(shù)量。
3? 并行FIR濾波器設(shè)計和優(yōu)化
由公式(2)到公式(5),以及圖1可知,對h(n)分成M組,便可以得到每個子系統(tǒng)的系統(tǒng)函數(shù),其中j代表第幾個分支系統(tǒng):
實際應(yīng)用時,n不可能取到無窮大,只需取到特定長度,設(shè)n=0,1,2…R-1則公式(12)修改為:
從而得到各個子系統(tǒng)系數(shù)列表1。
表1中FIR系數(shù)通常按照帶寬、采樣率、濾波器類型等特定需求設(shè)定。通過MATLAB中FDATOOL 軟件可以方便的完成設(shè)計,并獲取系數(shù)。在此不再贅述。
通常通道個數(shù)M常取:
因而我們只討論M為偶數(shù)的情況(M為奇數(shù)時情況類似)。如果用n1表示系數(shù)位于表中第幾行,用j1表示系數(shù)位于表中第幾列則有:
FIR在滿足因果的條件下,系數(shù)是對稱的,由公式(9),公式(14),可知系數(shù)應(yīng)滿足偶數(shù)的偶對稱。
此時有:
從而可以將高位系數(shù)替換,得到系數(shù)列表2。
從表2中可以看到每個子系統(tǒng)的系數(shù)仍然不滿足對稱性質(zhì),但將第j列系數(shù)加上第M-1-j列系數(shù)后,每個子系統(tǒng)第n行系數(shù)和R-1-n行系數(shù)則變對稱,從而我們可以構(gòu)造如下對稱系數(shù)列表3。
第1個子系統(tǒng)系數(shù)對應(yīng)第1列系數(shù),第2個子系統(tǒng)對應(yīng)第2列,依次類推。由表3可知每個子系統(tǒng)中系數(shù)第n行系數(shù)和第R-1-n行系數(shù)相等,即滿足對稱性要求,我們已知圖3所示系統(tǒng)滿足線性移不變特性,通過簡單的運算便可以得到各個子系統(tǒng)的輸出結(jié)果。對圖3構(gòu)造修改后的結(jié)構(gòu)如圖5所示。
和圖3同條件下,圖5所示系統(tǒng)需要乘法器個數(shù)為:
需要加法器個數(shù)為:
對比公式(10),公式(15)可知改造后的系統(tǒng)乘法器個數(shù)減少為原來的1/2,對比公式(11),公式(16)可知加法器增多了■*M*4L個,F(xiàn)PGA乘法器資源相對于加法器資源要緊張些,由上述討論可知,優(yōu)化后的算法能大幅減少系統(tǒng)對乘法器要求。
4? 結(jié)束語
本文詳細闡述了在工程領(lǐng)域中,并行FIR的設(shè)計理念及其優(yōu)化方法。在雷達信號處理,圖像信號處理等需要高速信號的領(lǐng)域中,本文討論的并行FIR設(shè)計能大幅降低系統(tǒng)對FPGA的時序和資源的要求,本文的論述在各個工程領(lǐng)域中,對高速并行FIR的設(shè)計有很大的參考價值。
參考文獻:
[1]杜勇.數(shù)字濾波器的MATLAB與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2017-09-01.
[2]John G.Proakis,Dimitris G.Manolakis .Digital Signal Processing,F(xiàn)ourth Edition. [M]北京:電子工業(yè)出版社2014-08-01.
[3]陶然,張慧云,王越.多抽樣率數(shù)字信號處理理論及應(yīng)用[M]北京:清華大學(xué)出版社.