數(shù)字匹配濾波器的遞歸折疊實現(xiàn)
針對數(shù)字匹配濾波器(DMF)的FPGA實現(xiàn)提出一種優(yōu)化結(jié)構(gòu)。利用16位移位寄存器(SRL16E)的存儲潛力,設(shè)計遞歸延遲線(RDL);再利用RDL抽頭個數(shù)倍減而抽頭樣本速率倍增的特點和時分復(fù)用技術(shù),提出DMF的遞歸折疊結(jié)構(gòu)。該結(jié)構(gòu)以提高工作時鐘頻率為代價,增大延遲線的采樣率以及相關(guān)運算單元的吞吐率,從而成倍降低DMF的資源消耗。當(dāng)采用l/4遞歸折疊結(jié)構(gòu)時,資源消耗僅為優(yōu)化前的l/3.
本文引用地址:http://www.ex-cimer.com/article/201710/368923.htm隨著直接序列擴頻(DSSS)通信技術(shù)和軟件無線電技術(shù)的發(fā)展,全數(shù)字擴頻接收機成為研究的熱點。數(shù)字匹配濾波器(DMF)是全數(shù)字擴頻接收機的核心部件,它主要用于偽碼(PN)快速捕獲和解擴。傳統(tǒng)的DMF設(shè)計效率較低,當(dāng)PN碼碼長較長時,需要占用較多的FPGA資源,成本較高。作者通過改進延遲線的結(jié)構(gòu),并結(jié)合時分復(fù)用技術(shù),提出DMF的遞歸折疊結(jié)構(gòu),該結(jié)構(gòu)極大地降低了DMF的資源消耗。
1 DMF的基本結(jié)構(gòu)和參數(shù)
DMF是一種抽頭間隔即碼片周期為Tc、抽頭系數(shù)為擴頻序列(取值為±1)的特殊的FIR濾波器。其直接型結(jié)構(gòu)由延遲線和相關(guān)運算單元(CCU)構(gòu)成,如圖1所示.
延遲線用于保存相關(guān)時間范圍(LTc)內(nèi)的所有輸入樣本,它由L個延遲單元組成。雖然級聯(lián)多個D觸發(fā)器是實現(xiàn)延遲單元的最簡方法,但它將大量使用D觸發(fā)器,因此不宜用于構(gòu)建量化位數(shù)大、階數(shù)高的DMF延遲線.FPGA擁有豐富的查找表(LUT)資源,它可以用16位循環(huán)移位寄存器(SRL16E)實現(xiàn) l~16個節(jié)拍的信號延遲。對于M bit量化、過采樣倍數(shù)R≤16的DMF來說,構(gòu)造一個延遲單元需要M個SRL16E.
如圖1所示,相關(guān)運算單元由L個乘法器和一個倒金字塔形的加法樹組成。加法樹的第1級有L/2個(M+1)bit二輸入同步加法器(參與運算的是延遲抽頭樣本,字長為M bit,為了防止計算溢出,在相加之前需要進行1 bit的符號位擴展)、第2級有L/2個(M+2)bit二輸入同步加法器,……,整個加法樹有L- 1個二輸入同步加法器。
DMF的量化位數(shù)、輸入采樣率以及工作頻率是影響DMF性能的3個關(guān)鍵參數(shù),后兩個參數(shù)是優(yōu)化結(jié)構(gòu)的基礎(chǔ),需要仔細權(quán)衡。
DMF的輸入為數(shù)字下變頻器的輸出(數(shù)字解調(diào)方案)或者模擬基帶ADC的輸出(模擬解調(diào)方案),其量化位數(shù)一般都為8 bit以上.DMF的資源消耗近似正比于量化位數(shù),因此需要在這兩者之間做出適當(dāng)?shù)恼壑?。文獻中給出了DMF的量化精度對解擴性能的影響及DMF量化位數(shù)的選擇依據(jù)。一般認為高斯信道下DMF選擇3 bit量化較為合適,此時量化誤差造成的性能損失不大,再增加量化位數(shù)并不能明顯改善系統(tǒng)性能。為了敘述的一般性,定義DMF的輸入量化位數(shù)為M.
采樣率是全數(shù)字接收機的關(guān)鍵參數(shù)之一,為了降低實現(xiàn)難度,避免采樣率變換環(huán)節(jié),DMF的采樣率一般為接收機中頻或基帶ADC的采樣率。為了降低對ADC前端模擬濾波器性能的要求并提高PN碼同步精度,需要提高采樣率。然而采樣率的提高將增加接收機的運算量,從而導(dǎo)致占用更多的FP-GA資源,因此同樣需要折衷考慮。工程上采樣率一般是chip速率的整數(shù)倍,用過采樣倍數(shù)R表示,R值一般取4~8.
模塊的數(shù)據(jù)處理能力與其并行程度(取決于硬件規(guī)模)和吞吐率(取決于工作頻率)成正比。在額定數(shù)據(jù)處理能力下,提高模塊的工作頻率可以降低對模塊并行程度的要求,即工作頻率和設(shè)計規(guī)模是可以互換的。目前主流的高端FPGA的工作頻率可以達到200~400 MHz,遠遠高于DMF的采樣率,采用時分復(fù)用方式將大大降低硬件資源消耗量。
作者提出的遞歸折疊型DMF,充分利用SRL16E的存儲潛力,用遞歸結(jié)構(gòu)降低延遲線的資源消耗,然后利用遞歸延遲線具有抽頭個數(shù)倍減而抽頭樣本速率倍增的特點來時分復(fù)用相關(guān)運算單元,從而降低乘法器和加法器的數(shù)量。上述措施可成倍降低DMF消耗的硬件資源。
2 遞歸延遲線的結(jié)構(gòu)與特點
傳統(tǒng)的延遲單元用SRL16E實現(xiàn)R(R≤16)位移位寄存,在每個采樣周期Ts內(nèi),延遲單元中的R個樣本全部右移一位,這樣,輸入樣本經(jīng)過R×Ts后送到抽頭處,從而實現(xiàn)了Tc時延.R位移位操作未能充分利用SRL16E的存儲潛力,為此作者提出遞歸延遲線結(jié)構(gòu)。在該結(jié)構(gòu)中,無論R取何值,SRL16E 都進行16位移位操作。這樣保存L×R個輸入樣本總共需要M×L×R/16個SRL16E,僅為傳統(tǒng)結(jié)構(gòu)的R/16.下面結(jié)合圖2進行時序分析.
由于SRL16E進行16位移位操作,為了保證其時延等于Tc,移位周期必須為Tc/16.把R×Ts/16定為延遲線的工作時鐘周期,那么工作時鐘頻率為chip速率的16倍,即采樣率的C倍,其中C△16/R,因此每C個工作時鐘周期才輸入一個新樣本。不妨假設(shè)新樣本在第nC個工作時鐘周期(后面簡稱為時刻)到來,其中n為整數(shù)。如果時刻m是C的整數(shù)倍,MUX把新樣本推入延遲線,否則MUX把保持寄存器中的舊樣本反饋到延遲線的輸入端。
在nC時刻被MUX推入到延遲線入口的樣本,在經(jīng)過L×R個時鐘周期后將在nC+L,×R時刻被推到保持寄存器中,然后在nC十L×R+l時刻(因為該時刻不是C的整數(shù)倍)將再次被送入到延遲線的入口,……;當(dāng)該樣本第C次進入保持寄存器后,已是C(L×R+n+1)時刻,此時.MUX將選入一個新的樣本,而它將被拋棄。這樣一個新樣本在遞歸延遲線中剛好循環(huán)C次,歷時C(L×R+1)時鐘周期,從而實現(xiàn)了L×Tc+Ts時間的延遲。
下面分析遞歸延遲線各抽頭的輸出樣本在時間上的相位關(guān)系。設(shè)nC時刻輸入樣本為x(n),那么抽頭①~④處的輸出樣本應(yīng)該是x(n- R),x(n2R),x(n-3R)和x(n-4R);nC+1時刻延遲線輸入的應(yīng)該是已經(jīng)延遲L×R+1時鐘周期的樣本,即x(n-L×R/C);抽頭 ①~④處的輸出樣本應(yīng)該是x(n-R- L×R/C),x(n-2R-L×R/C),x(n- 3R-L×R/C)和x(n-4R-L×R/C);第nC+c(0≤c≤C-1)時刻延遲線輸入的應(yīng)該是已經(jīng)延遲c(LR+1)時鐘周期的樣本,即 x(n-c×L×R/C)。那么抽頭①~④處的輸出樣本應(yīng)該是x(n-R-c×L×R/C),x(n-2R-c×L×R/C),x(n-3R- c×L×R/C)和x(n-4R-c×L×R/C)。
可以看出,同一個抽頭在相鄰2個時刻輸出的樣本相差L×R/C個采樣點,即1/C個碼周期。這樣遞歸延遲線把一個碼周期內(nèi)的信號樣本分解到C個相位上,并在C個時鐘周期內(nèi)依次串行輸出,從而以多相的方式實現(xiàn)了信號延遲的功能。
遞歸延遲線僅需L/C個延遲單元即可實現(xiàn)L×Tc時延,它以工作時鐘頻率提高C倍為代價,將資源消耗量壓縮到優(yōu)化前的1/C.例如,當(dāng)R=4時,C=16/R=4,即資源消耗僅為原先的25%.
3 遞歸折疊DMF
3.1 遞歸折疊DMF的結(jié)構(gòu)
遞歸延遲線不僅使抽頭數(shù)減少到優(yōu)化前的1/C,而且使抽頭的樣本輸出速率增大C倍。與之對應(yīng),相關(guān)運算單元中乘法器和加法器的個數(shù)分別從L和L-1減少到 L/C和L/C-1,同時工作頻率提高C倍。在C個工作時鐘周期內(nèi),相關(guān)運算單元根據(jù)遞歸延遲線分解的信號相位,依次計算出C個相位上的接收信號與PN序列的部分相關(guān)值,并利用累加器完成部分相關(guān)值的合并,從而得到完整的相關(guān)值。根據(jù)這個思路,作者提出遞歸折疊結(jié)構(gòu)的DMF如圖3所示。
該結(jié)構(gòu)在遞歸延遲線的基礎(chǔ)上,折疊使用相關(guān)運算單元,從而用一個L/C抽頭的DMF完成L階匹配濾波運算。
圖3是一個1/2遞歸折疊濾波器,其參數(shù)為:L=8,R=8,C=2用1個4抽頭DMF時分復(fù)用實現(xiàn)了8階匹配濾波。時序分析與上節(jié)相似。不失一般性,假設(shè)在偶時刻輸入新樣本,那么在第0,2,4,6,…時刻MUX將輸入樣本推入延遲線,在第1,3,5,7,…時刻,MUX將保持寄存器中的樣本反饋到延遲線的入口。經(jīng)過一段時間后,某個抽頭在偶時刻的樣本與其在下一時刻輸出的樣本在相位上將相差半個碼相位周期,因此在相鄰的時鐘周期內(nèi),加載到各抽頭的乘法系數(shù)也相差半個碼相位周期。累加器合并奇、偶時刻的部分相關(guān)結(jié)果,從而得到完整的結(jié)果.
圖4為l/4遞歸折疊濾波器的結(jié)構(gòu)框圖。(參數(shù)為L=8,R=4,C=4)。時序更加復(fù)雜,在相鄰時鐘周期內(nèi),抽頭樣本之間的相位差為1/4碼周期.
3.2 遞歸折疊DMF與傳統(tǒng)DMF資源消耗對比
為了評估優(yōu)化效果,表1給出了采用基本結(jié)構(gòu)和改進的折疊結(jié)構(gòu)實現(xiàn)DMF所消耗的資源(L=256,M=4,R=4,采樣率為fs).
從表1可以看出,除了需要1個額外的累加器以及L/C個C輸入數(shù)據(jù)選擇器之外,遞歸折疊DMF所消耗的資源(包括SRLL6E、乘法器和加法器)壓縮到接近未優(yōu)化結(jié)構(gòu)的l/C,但是其工作時鐘頻率也提高到原來的C倍,這也證明了硬件規(guī)模和工作頻率可以互換。
然而工作時鐘頻率的提高是有限制的,更高的工作頻率要求采用檔次更高的FPGA或者需要在FPGA的細節(jié)實現(xiàn)中付出更高的代價,因此在設(shè)計遞歸折疊DMF 時,需要統(tǒng)籌考慮chip速率、過采樣倍數(shù)和FPGA的工作時鐘頻率。例如。對于xilinx Virtex2系列FPGA,當(dāng)chip速率不超過10 MHz/s時,可以選用1/4或者l/2遞歸折疊結(jié)構(gòu),此時工作頻率不超過160 MHz,時序要求適中。
4 結(jié)束語
利用工作時鐘頻率與設(shè)計規(guī)??苫Q的原理,通過遞歸延遲線、折疊相關(guān)運算單元以及時分復(fù)用技術(shù),使遞歸折疊結(jié)構(gòu)大大降低了DMF的資源消耗。該結(jié)構(gòu)已經(jīng)應(yīng)用于某型號中頻數(shù)字化直接序列擴頻接收機中,應(yīng)用結(jié)果表明優(yōu)化效果明顯。在采樣率為40.96 MHz,工作時鐘頻率為163.84 MHz的條件下,通過4倍時分復(fù)用,其資源消耗約為優(yōu)化前的l/3.
評論