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

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

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


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

2.1  緩沖器的設(shè)計(jì)

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

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

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

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

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