直序擴(kuò)頻的研究與FPGA實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 直接序列擴(kuò)頻通信系統(tǒng)以強(qiáng)抗噪聲、低截獲性和多址通信等特點(diǎn),在軍事及民用移動(dòng)通信網(wǎng)絡(luò)中得到廣泛應(yīng)用。文中對(duì)直序擴(kuò)頻的FPGA實(shí)現(xiàn)技術(shù)進(jìn)行了研究。以QuartusII為開發(fā)工具,建立了一個(gè)初步的直接序列擴(kuò)頻通信系統(tǒng)。設(shè)計(jì)了發(fā)射模塊和接收模塊,發(fā)射模塊包括PN碼產(chǎn)生器、擴(kuò)頻調(diào)制器、接收模塊包括匹配濾波器和解擴(kuò)器;給出了上述模塊的實(shí)現(xiàn)電路及仿真結(jié)果。
關(guān)鍵詞 直序擴(kuò)頻;FPGA;PN碼;匹配濾波器
擴(kuò)頻通信是現(xiàn)代通信系統(tǒng)中的一種獨(dú)特的通信方式,其擁有較強(qiáng)的抗干擾、抗多徑性能以及頻譜利用率高、多址通信等諸多優(yōu)點(diǎn)。直接序列擴(kuò)頻被許多現(xiàn)存的和未來(lái)的蜂窩通信系統(tǒng)采用,并廣泛應(yīng)用在軍事通信網(wǎng)絡(luò)與系統(tǒng)中。
隨著微電子制造工藝的發(fā)展,可編程邏輯器件取得了長(zhǎng)足的進(jìn)步??梢酝瓿沙笠?guī)模的復(fù)雜組合邏輯與時(shí)序邏輯的現(xiàn)場(chǎng)可編程邏輯器件(FPGA),在電子系統(tǒng)的設(shè)計(jì)中得到越來(lái)越廣泛的應(yīng)用。
以Quartus II軟件為開發(fā)工具,利用FPGA實(shí)現(xiàn)了一個(gè)基帶直接序列擴(kuò)頻通信系統(tǒng),其包括發(fā)送模塊和接收模塊兩部分。
1 直序擴(kuò)頻通信系統(tǒng)的基本原理
直接序列擴(kuò)展頻譜系統(tǒng)(Direct Sequece Spread Spectrum Communication Systems,DS-SS),簡(jiǎn)稱直擴(kuò)系統(tǒng),是用待傳輸?shù)男畔⑿盘?hào)與高速率的偽隨機(jī)碼波形相乘,去調(diào)制射頻信號(hào)的某個(gè)參量,來(lái)擴(kuò)展傳輸信號(hào)的帶寬。原理如圖1所示。
在發(fā)信機(jī)端,待傳輸?shù)臄?shù)據(jù)信號(hào)與偽隨機(jī)碼波形相乘形成的復(fù)合碼對(duì)載波進(jìn)行調(diào)制,然后由天線發(fā)射。在收信機(jī)端,要產(chǎn)生一個(gè)和發(fā)信機(jī)中的偽隨機(jī)碼同步的本地參考偽隨機(jī)碼,對(duì)接收信號(hào)進(jìn)行解擴(kuò)。解擴(kuò)后的信號(hào)送到解調(diào)器解調(diào),恢復(fù)出傳送的信息。
2 直序擴(kuò)頻通信系統(tǒng)發(fā)送模塊的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)射子系統(tǒng)主要包括信息碼的輸入模塊、擴(kuò)頻偽隨機(jī)碼的產(chǎn)生模塊及擴(kuò)頻模塊。
2.1 信息碼輸入模塊
該模塊提供系統(tǒng)仿真及調(diào)試用的輸入數(shù)據(jù)源,數(shù)據(jù)固化在ROM中。設(shè)置為200字長(zhǎng)、1位寬。設(shè)計(jì)ROM的地址控制模塊,以給定的時(shí)鐘驅(qū)動(dòng)一個(gè)計(jì)數(shù)器來(lái)循環(huán)產(chǎn)生地址信息,使得ROM中存儲(chǔ)的待發(fā)射信息循環(huán)不斷的輸出。
利用Verilog語(yǔ)言設(shè)計(jì)地址控制模塊,利用QuartusⅡ提供的LPM定制ROM模塊,用原理圖設(shè)計(jì)生成頂層實(shí)體,可得如圖2所示的電路及圖3所示仿真結(jié)果。
從結(jié)果可以看出,在時(shí)鐘控制下,地址輸入端循環(huán)產(chǎn)生地址信息使ROM中的數(shù)據(jù)循環(huán)輸出。
2.2 PN碼發(fā)生器的數(shù)字化設(shè)計(jì)
系統(tǒng)的PN碼發(fā)生器采用m序列發(fā)生器,本設(shè)計(jì)中m序列發(fā)生器選用6級(jí)移位寄存器,即n=6,其對(duì)應(yīng)的特征多項(xiàng)式為f(x)=x6+x+1,由第1和第6級(jí)引回反饋,序列發(fā)生器結(jié)構(gòu)如圖4所示。
6級(jí)m序列發(fā)生器可產(chǎn)生周期為63的PN碼序列,因?yàn)榧拇嫫髌鹗夹蛄腥羧?,輸出序列也將為全零。這樣會(huì)造成PN碼發(fā)生器進(jìn)入死鎖狀態(tài)。因此要使PN碼發(fā)生器正常工作,產(chǎn)生預(yù)期的PN序列,必須保證在起始時(shí)寄存器中至少有一個(gè)為1。設(shè)計(jì)發(fā)射端的PN碼寄存器初始狀態(tài)取“111111”。
利用VHDL程序?qū)崿F(xiàn)PN碼發(fā)生器,可以采用結(jié)構(gòu)化描述方式,也可采用寄存器傳輸描述方式,兩種方式的仿真結(jié)果相同。設(shè)計(jì)采用寄存器傳輸描述方式,便于設(shè)計(jì)中修改寄存器的初始狀態(tài)。仿真結(jié)果如圖5所示。
2.3 擴(kuò)頻調(diào)制的實(shí)現(xiàn)
在實(shí)際應(yīng)用中,為達(dá)到數(shù)據(jù)符號(hào)擴(kuò)頻的目的,通常的做法是用一擴(kuò)頻碼序列與待發(fā)射的信號(hào)相乘,并且擴(kuò)頻序列具有比數(shù)據(jù)比特窄得多的時(shí)寬,從而使擴(kuò)頻序列具有比數(shù)據(jù)序列高得多的頻帶。
2.4 發(fā)射子系統(tǒng)的綜合仿真
結(jié)合前幾個(gè)模塊,整個(gè)發(fā)射子系統(tǒng)部分將存儲(chǔ)在ROM中的信息以取出后與來(lái)自PN碼發(fā)生器的偽碼序列進(jìn)行模2加,完成信號(hào)的頻譜擴(kuò)展。系統(tǒng)電路圖和仿真結(jié)果分別如圖6和圖7所示。仿真結(jié)果中,clk為全局時(shí)鐘,clk4為讀數(shù)時(shí)鐘,clk204為PN碼發(fā)生器時(shí)鐘,data為輸入數(shù)據(jù),kuopinout為擴(kuò)頻輸出數(shù)據(jù)。從結(jié)果可以看出,實(shí)現(xiàn)了擴(kuò)頻調(diào)制的功能。
從仿真波形圖可以看出,設(shè)計(jì)的發(fā)送端按要求完成了m序列的產(chǎn)生及擴(kuò)頻調(diào)制等功能.
3 接收模塊的設(shè)計(jì)與實(shí)現(xiàn)
相對(duì)于發(fā)射子系統(tǒng),接收子系統(tǒng)是個(gè)復(fù)雜的數(shù)字信號(hào)處理過(guò)程,它主要完成數(shù)字基帶信號(hào)的同步捕獲和解擴(kuò)。
3.1 本地PN碼發(fā)生器的設(shè)計(jì)
本地PN碼發(fā)生器與發(fā)射子系統(tǒng)中的PN碼發(fā)生器結(jié)構(gòu)完全相同。也采用m序列發(fā)生器,這里不再敘述。
3.2 同步捕獲模塊的FPGA設(shè)計(jì)與實(shí)現(xiàn)
擴(kuò)頻通信系統(tǒng)解擴(kuò)的關(guān)鍵技術(shù)是擴(kuò)頻信號(hào)的同步,其性能的好壞直接影響到系統(tǒng)的性能和可靠性,而同步的關(guān)鍵又在PN碼捕獲方法。
擴(kuò)頻碼的同步捕獲是要解決在工程上實(shí)用的問(wèn)題,包含兩方面的內(nèi)容:簡(jiǎn)單的同步捕獲設(shè)備和短的同步捕獲時(shí)間。盡管設(shè)備簡(jiǎn)單是任何一個(gè)系統(tǒng)都追求的指標(biāo),但擴(kuò)頻通信系統(tǒng)中這個(gè)指標(biāo)更顯得重要。在不增加或少增加設(shè)備量的情況下,如何縮短擴(kuò)頻碼的同步捕獲時(shí)間是擴(kuò)頻碼同步捕獲的主要研究?jī)?nèi)容。
擴(kuò)頻碼同步捕獲一般有以下幾個(gè)步驟:(1)確定要搜索的擴(kuò)頻碼相位的區(qū)域。(2)調(diào)整本地參考擴(kuò)頻碼的相位。(3)求解擴(kuò)頻碼的相關(guān)函數(shù)值。(4)對(duì)所求相關(guān)值進(jìn)行判決。
在綜合考慮以上因素的基礎(chǔ)上設(shè)計(jì)了數(shù)字基帶匹配濾波器的捕獲電路。匹配濾波器捕獲的最大優(yōu)點(diǎn)是捕獲時(shí)間短,可以快速完成擴(kuò)頻信號(hào)的解擴(kuò)和解調(diào)。在理想情況下,數(shù)字匹配濾波器(DMF)捕獲系統(tǒng)最多只需要一個(gè)擴(kuò)頻序列周期的時(shí)間,就可檢測(cè)出同步相位,實(shí)現(xiàn)擴(kuò)頻序列的捕獲。
在匹配濾波器中,用PN碼序列與通道的待解擴(kuò)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,并計(jì)算出相關(guān)運(yùn)算的和,由于PN碼的重要特性就是它的自相關(guān)系數(shù)高,而互相關(guān)系數(shù)低,所以只要相關(guān)的兩路信號(hào)的PN碼一致,就可以獲得相關(guān)積分的峰值。這意味著解擴(kuò)的成功。用于PN碼同步捕捉的匹配濾波器一般采用延遲線匹配濾波器,在捕捉過(guò)程中,接收信號(hào)與本地偽碼序列連續(xù)地進(jìn)行相關(guān)處理,任何時(shí)刻的相關(guān)結(jié)果都與一個(gè)門限相比較,如果超過(guò)了門限,則表明此時(shí)刻本地PN碼序列的相位與接收碼序列相位是同步,同步過(guò)程即告完成,同時(shí)還完成了擴(kuò)頻信號(hào)的解擴(kuò)。由于PN碼的自相關(guān)特性,在一個(gè)碼周期內(nèi)總會(huì)出現(xiàn)一個(gè)相關(guān)峰,在僅T=NTC時(shí)間內(nèi),序列所有可能的相位都被搜索了一遍,具有較高的相位搜索速度,因此它的捕捉時(shí)間很短。然而當(dāng)擴(kuò)頻碼周期較長(zhǎng)時(shí),采用常規(guī)方法就需要較多抽頭的FIR濾波器,這樣的濾波器實(shí)現(xiàn)起來(lái)比較困難,而且占用資源較大,其硬件復(fù)雜度會(huì)隨著擴(kuò)頻碼的長(zhǎng)度成倍增長(zhǎng)。因此,將匹配濾波器在FPGA中以一種簡(jiǎn)單有效的方法來(lái)實(shí)現(xiàn)是關(guān)鍵。
基于上述思想,用FPGA來(lái)實(shí)現(xiàn)的數(shù)字匹配濾波器由兩組延遲移位寄存器、乘法器、算術(shù)累加器和一組系數(shù)寄存器構(gòu)成,結(jié)構(gòu)示意圖如圖8所示。
在圖8中,序列移位寄存器主要用于存放高速時(shí)鐘采集的輸入擴(kuò)頻數(shù)據(jù),并經(jīng)過(guò)固定的延時(shí)單元后將數(shù)據(jù)送入乘法器中與預(yù)存的PN碼做相關(guān)運(yùn)算。移位寄存器組構(gòu)成匹配濾波器陣列,目的在于完成擴(kuò)頻信號(hào)與本地偽碼的匹配。
數(shù)字基帶匹配濾波器的仿真結(jié)果如圖9所示。
3.3 解擴(kuò)模塊的FPGA實(shí)現(xiàn)
對(duì)于直擴(kuò)系統(tǒng),只有在完成擴(kuò)頻序列的同步后,才能用同步的PN碼序列對(duì)接收的擴(kuò)頻信號(hào)進(jìn)行相關(guān)解擴(kuò),對(duì)于基頻信號(hào)來(lái)說(shuō),解擴(kuò)的方法與擴(kuò)頻相同,通常的做法就是用本地同步的PN碼序列與接收到的擴(kuò)頻信號(hào)相乘,即可把擴(kuò)頻的寬帶信號(hào)恢復(fù)成窄帶信號(hào),以解調(diào)出傳送的信息數(shù)據(jù)。
3.4 基帶系統(tǒng)綜合仿真
結(jié)合以上模塊進(jìn)行基帶綜合功能仿真,仿真圖如圖10和圖11所示。
發(fā)射子系統(tǒng)中,發(fā)送PN碼產(chǎn)生器為63位序列,用它對(duì)信息碼進(jìn)行擴(kuò)頻。接收子系統(tǒng)中,本地PN碼發(fā)生器也為63位序列,頻率和碼字與發(fā)送端都相同,但相位不同。同步捕獲采用匹配濾波器法,將本地PN碼與接收信號(hào)中的PN碼進(jìn)行相關(guān)匹配,實(shí)現(xiàn)同步捕獲后,啟動(dòng)本地PN碼進(jìn)行同步相位移動(dòng),送入解擴(kuò)模塊中進(jìn)行解擴(kuò)。
系統(tǒng)仿真結(jié)果如圖11所示。
從結(jié)果可以看出,在捕獲到PN碼的情況下,系統(tǒng)可以實(shí)現(xiàn)正確的解擴(kuò)功能。
4 結(jié)束語(yǔ)
研究了直序擴(kuò)頻的基本原理,設(shè)計(jì)并實(shí)現(xiàn)了基于FPGA的直序擴(kuò)頻系統(tǒng),給出系統(tǒng)的設(shè)計(jì)電路和仿真結(jié)果,通過(guò)結(jié)果驗(yàn)證了設(shè)計(jì)的正確性和可行性。