《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 直接序列擴(kuò)頻系統(tǒng)匹配濾波器的FPGA實現(xiàn)
直接序列擴(kuò)頻系統(tǒng)匹配濾波器的FPGA實現(xiàn)
岳 晨 莫 瑋
桂林電子工業(yè)學(xué)院電子工程系(541004)
摘要: 根據(jù)直接序列擴(kuò)頻系統(tǒng)相關(guān)解擴(kuò)中的匹配濾波器的特點,提出了一種結(jié)構(gòu)簡單、基于FPGA實現(xiàn)匹配濾波器的方法,闡述了設(shè)計要點和關(guān)鍵部分的實現(xiàn)。
Abstract:
Key words :

摘   要: 根據(jù)直接序列擴(kuò)頻系統(tǒng)相關(guān)解擴(kuò)中的匹配濾波器的特點,提出了一種結(jié)構(gòu)簡單、基于FPGA實現(xiàn)匹配濾波器的方法,闡述了設(shè)計要點和關(guān)鍵部分的實現(xiàn)。
關(guān)鍵詞: 直接序列擴(kuò)頻  匹配濾波  FIR濾波器  FPGA

  解擴(kuò)過程對擴(kuò)頻通信至關(guān)重要,正是這一過程大大提高了系統(tǒng)的抗干擾能力。在直接序列擴(kuò)頻(直擴(kuò))系統(tǒng)中通常采用匹配濾波器來解擴(kuò)直擴(kuò)信號[1]。解擴(kuò)可分為模擬解擴(kuò)和數(shù)字解擴(kuò)。模擬解擴(kuò)中傳統(tǒng)的SAW匹配濾波器由抽頭延遲線和加法累加器構(gòu)成。通常根據(jù)擴(kuò)頻碼序列結(jié)構(gòu)做成固定的抽頭,不能適應(yīng)碼序列需要改變的情況。如果在輸出端加上控制電路,也可以做成可編程的SAW匹配濾波器,應(yīng)用起來更加方便,但工藝制作困難。本文主要討論基于FPGA設(shè)計N階數(shù)字匹配濾波器實現(xiàn)直擴(kuò)系統(tǒng)的數(shù)字解擴(kuò)[2]。該結(jié)構(gòu)不僅可以適應(yīng)碼序列變化的情況,而且與采用通用的FIR數(shù)字濾波器實現(xiàn)匹配濾波的設(shè)計相比,大大簡化了設(shè)計結(jié)構(gòu)。
1  直擴(kuò)系統(tǒng)的原理
  直接序列擴(kuò)頻就是直接用具有高碼率的擴(kuò)頻碼序列在發(fā)端去擴(kuò)展信號的頻譜,而在收端用相同的擴(kuò)頻碼序列進(jìn)行解擴(kuò),把展寬的擴(kuò)頻信號恢復(fù)成原來的信號。
  可采用m序列做擴(kuò)頻碼序列。m序列是由多級移位寄存器或其他延遲元件通過線性反饋產(chǎn)生的最長的碼序列。在二進(jìn)制移位寄存器發(fā)生器中,若n為移位寄存器的級數(shù),則能產(chǎn)生的最大長度的碼序列為2n-1位。N階匹配濾波器實現(xiàn)信號解擴(kuò)則需要N位長的m序列,故m序列發(fā)生器由log2(N+1)級移位寄存器構(gòu)成。
2  直擴(kuò)系統(tǒng)匹配濾波器的結(jié)構(gòu)
  如果用通用FIR濾波器實現(xiàn)N階匹配濾波,則N階FIR濾波器的傳遞函數(shù)可用差分方程表示為:,其典型結(jié)構(gòu)如圖1所示[3]。該結(jié)構(gòu)的實現(xiàn)需要N個乘法器、N-1個加法器和N級延遲鎖存器。若N很大,直接利用上述結(jié)構(gòu)實現(xiàn)匹配濾波將會導(dǎo)致高度消耗資源甚至于不可能實現(xiàn)。


  在直擴(kuò)系統(tǒng)中,匹配濾波的m序列均由0和1構(gòu)成,即濾波器系數(shù)h(i)為-1或1[4]。由此提出一種結(jié)構(gòu)簡單且易于實現(xiàn)的匹配濾波器方法,如圖2所示。該結(jié)構(gòu)不需要乘法器,并只用1個累加器實現(xiàn)了N個樣本數(shù)據(jù)的累加,有效地降低了資源的消耗。

2.1  緩沖器的設(shè)計

  緩沖器可以使用單口RAM或雙口RAM來實現(xiàn)。雙口RAM數(shù)據(jù)的輸入端口和輸出端口獨立,有利于數(shù)據(jù)流控制。但緩沖器在同樣的容量條件下,使用雙口RAM比單口RAM會消耗更多的資源。所以在本設(shè)計中采用了單口RAM作為樣本數(shù)據(jù)的緩沖。
  每來一個新的樣本數(shù)據(jù),都需要對RAM讀取N 個樣本數(shù)據(jù)以完成一次匹配濾波輸出。因此RAM采用的工作時鐘頻率為數(shù)據(jù)采樣頻率的(N+1)倍,其中1個節(jié)拍用于更新采樣數(shù)據(jù),另外N個節(jié)拍用來讀取用于運算的N個樣本數(shù)據(jù)。
  由緩沖器的長度可知,RAM的地址線的寬度應(yīng)為  。RAM的數(shù)據(jù)線的寬度即為緩沖器的寬度,由計算所需的精度決定。
2.2  移位寄存器的設(shè)計
  移位寄存器用來保存m序列,故移位寄存器的長度為N。移位寄存器也采用(N+1)倍數(shù)據(jù)采樣頻率的工作時鐘,其中1個節(jié)拍用于移位寄存器讀取m序列,在另外的N個節(jié)拍內(nèi),每個節(jié)拍都使移位寄存器循環(huán)移動1位。取出該移位寄存器的最高或最低位作為控制累加器做加法還是減法的控制信號。
2.3 累加器的設(shè)計
  累加器用來實現(xiàn)樣本數(shù)據(jù)的N次累加和,采用一個帶有累加和反饋的加法器來實現(xiàn)。累加器結(jié)構(gòu)如圖3所示。

  累加器采用(N+1)倍數(shù)據(jù)采樣頻率的工作時鐘。N個節(jié)拍用于完成N次累加(數(shù)據(jù)選擇器選擇加法器輸出時),1個節(jié)拍用于完成累加運算后的清零(數(shù)據(jù)選擇器選擇‘0’輸出時)。
  累加器完成有符號數(shù)相加或相減運算,它的一個輸入為累加和的反饋,另一個輸入則為樣本數(shù)據(jù)。加減法的控制信號由移位寄存器的最高或最低位決定。累加器的寬度由計算精度決定。在要求累加器無精度損失的情況下,累加器的寬度應(yīng)該保證匹配濾波的結(jié)果不會溢出。
2.4  降采樣
  累加器的輸出為各次累加結(jié)果的輸出,輸出數(shù)據(jù)率為(N+1)倍的數(shù)據(jù)采樣頻率。其中僅有第N次樣本數(shù)據(jù)累加完成后的結(jié)果才是需要的匹配濾波的輸出結(jié)果。因此,還應(yīng)對累加器的輸出進(jìn)行(N+1)倍的降采樣,以得到有效的匹配濾波輸出。若輸出數(shù)據(jù)率剛好等于采樣頻率,即完成了完整的N階匹配濾波。直擴(kuò)系統(tǒng)N階匹配濾波器的電路結(jié)構(gòu)示意圖如圖4所示。

3  直擴(kuò)系統(tǒng)匹配濾波器的時序
  本設(shè)計采用了Xilinx公司的ISE集成環(huán)境[5]及Spartan2e芯片,用Verilog語言編寫了濾波器的設(shè)計程序[6],并用Model Technology公司的ModelSim做了時序仿真。N階匹配濾波器的時序仿真示意圖如圖5所示。
采用一個頻率為(N+1)倍數(shù)據(jù)采樣頻率的時鐘作為RAM、移位寄存器和累加器的工作時鐘。

   對于RAM,其中1個節(jié)拍用于更新采樣數(shù)據(jù)x(n)(寫操作),另外N個節(jié)拍分別從RAM的N個單元取出N個樣本數(shù)據(jù)x(n-N-1)、x(n-N-2)、……x(n)(讀操作)。在RAM寫操作時,將m序列寫入移位寄存器;在RAM讀操作的N個節(jié)拍內(nèi),每個節(jié)拍移位寄存器循環(huán)移動1位,并取出最高或最低位作為累加器的加、減法控制信號。
  對于累加器,N個節(jié)拍用于完成N次累加(數(shù)據(jù)選擇器選擇加法器輸出時),1個節(jié)拍用于完成累加運算后的清零(數(shù)據(jù)選擇器選擇‘0’輸出時)。
  經(jīng)與數(shù)據(jù)采樣頻率相同的時鐘降采樣后,得到匹配濾波器運算輸出。
4  小  結(jié)
  本文提出了基于FPGA中的RAM資源實現(xiàn)高階匹配濾波器的設(shè)計方法。由于該設(shè)計采用了串行運算元素,故占用面積??;采用FPGA實現(xiàn),可以適應(yīng)擴(kuò)頻碼序列變化的任意階數(shù)的匹配濾波,與采用通用FIR數(shù)字濾波器實現(xiàn)匹配濾波相比,大大降低了FPGA的資源消耗。通常FPGA中的RAM的訪問速度在10M~20MHz。利用本文所述的方法,可有效地實現(xiàn)數(shù)據(jù)采樣率小于1/(N+1)倍RAM最高訪問頻率的各種N階匹配濾波。因此,本文的方法非常適合中低速數(shù)據(jù)率條件下的直擴(kuò)系統(tǒng)相關(guān)解擴(kuò)的匹配濾波。
參考文獻(xiàn)
1   李承恕,趙榮黎.擴(kuò)展頻譜通信.北京:人民郵電出版社,1993
2   楊暉,張鳳言.大規(guī)??删幊踢壿嬈骷c數(shù)字系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,1998
3   賴玉強(qiáng),付民倉,王法能.DS-SS數(shù)字匹配濾波器原理及實 現(xiàn)方法.通信技術(shù),2003;133(1)
4   步衍冰,曾興雯,梁敏超.基于FPGA的快速匹配濾波器.無線電工程,2003;33(6)
5   王誠,薛小剛,鐘信潮.FPGA/CPLD設(shè)計工具——Xilinx    ISE 5.x使用詳解.北京:人民郵電出版社,2003
6   夏宇聞.從算法設(shè)計到硬件邏輯的實現(xiàn)——復(fù)雜數(shù)字邏輯系統(tǒng)的Verilog HDL設(shè)計技術(shù)和方法.北京:高等教育出版社,2001
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。