覃馨+李書艷+寧寧+陳培美+孫曉書+崔舒揚(yáng)
摘要:m序列是擴(kuò)頻通信方式的基礎(chǔ)理論,應(yīng)用較為廣泛,m序列是對(duì)最長(zhǎng)線性反饋移位寄存器序列的簡(jiǎn)稱,可由帶線性反饋的移位寄存器通過串行移位方式生成。文中通過對(duì)m序列生成的基本理論進(jìn)行了詳細(xì)介紹,并基于此設(shè)計(jì)了簡(jiǎn)易m序列調(diào)制解調(diào)器架構(gòu),和硬件描述語(yǔ)言代碼,完成了仿真,測(cè)試。
關(guān)鍵詞:m序列;偽隨機(jī)碼;Verilog HDL;仿真
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2017)07-0205-02
一、引言
m序列的使用是通信系統(tǒng)中CDMA(Code Division Multiple Access——碼分多址)模式的基礎(chǔ),也是擴(kuò)頻通信方式的基礎(chǔ)理論。應(yīng)用較為廣泛,可用于《通信原理》基礎(chǔ)理論研究,也可以用于實(shí)際通信過程的擾碼單元使用,因此,對(duì)于該序列調(diào)制解調(diào)器的設(shè)計(jì)具有實(shí)際的意義。
m序列是對(duì)最長(zhǎng)線性反饋移位寄存器序列(maximal length linear feedback shift register sequence)的簡(jiǎn)稱,它是一種由帶線性反饋的移位寄存器所產(chǎn)生的序列,并且具有最長(zhǎng)周期。帶線性反饋的移位寄存器設(shè)定各級(jí)寄存器的初始狀態(tài)后,在時(shí)鐘觸發(fā)下,每次移位后各級(jí)寄存器狀態(tài)都會(huì)發(fā)生變化。觀察其中一級(jí)寄存器(通常為末級(jí))的輸出,隨著移位時(shí)鐘節(jié)拍的推移會(huì)產(chǎn)生一個(gè)序列,稱為移位寄存器序列??梢园l(fā)現(xiàn)序列是一個(gè)周期序列,其周期不但與移位寄存器的級(jí)數(shù)有關(guān),而且與線性反饋邏輯有關(guān)。在相同級(jí)數(shù)情況下,采用不同的線性反饋邏輯所得到的周期長(zhǎng)度不同。此外,周期還與移位寄存器的初始狀態(tài)有關(guān)。
二、系統(tǒng)整體設(shè)計(jì)方案
一般情況下,用于產(chǎn)生m序列的n級(jí)線性反饋移位寄存器的結(jié)構(gòu)圖如圖1所示。
0010110011111000110111010100001(由右至左依次按順序生成),發(fā)送端需要調(diào)制的信號(hào),與這31位數(shù)進(jìn)行異或運(yùn)算。為仿真驗(yàn)證波形顯示便利,在發(fā)送信號(hào)的時(shí)候采用調(diào)制方法,即將1相應(yīng)的調(diào)制為1,0調(diào)制為-1;則可以得到傳輸中的m序列。
三、系統(tǒng)HDL設(shè)計(jì)方案
系統(tǒng)使用Verilog HDL語(yǔ)言完成設(shè)計(jì)。代碼由add_noise.v、coder.v、correct.v、Corrected_Decoder.v、decoder.v和top.v六個(gè)Verilog HDL代碼。代碼架構(gòu)設(shè)計(jì)圖如圖3所示。分別為傳輸加噪、發(fā)送端編碼調(diào)制、發(fā)送端校驗(yàn)編碼、校驗(yàn)解碼、解碼單元和頂層單元。
m序列調(diào)制與解調(diào)部分學(xué)習(xí)和實(shí)驗(yàn)主要進(jìn)行了基于ModelSim仿真的代碼編寫和調(diào)試,屬于不可綜合仿真,參考代碼中加入了兼具了testbench的測(cè)試功能。通信過程中,一般系統(tǒng)不會(huì)在啟動(dòng)后立即發(fā)送有效載荷數(shù)據(jù),為了保證通信的穩(wěn)定,首先要發(fā)送雙方約定好的一系列信令和同步用數(shù)據(jù)信息,通過同步用數(shù)據(jù)信息來完成發(fā)送、接收雙方的時(shí)鐘、信令和控制數(shù)據(jù)的同步,同步后才能有效接收數(shù)據(jù),這個(gè)過程類似于網(wǎng)絡(luò)通信中的TCP協(xié)議通信過程,是通信網(wǎng)絡(luò)中保證收發(fā)雙方可靠、穩(wěn)定通信的流程。
四、設(shè)計(jì)仿真測(cè)試
上述設(shè)計(jì)代碼直接在ModelSim中就可以直接綜合和進(jìn)行仿真。加載了Verilog HDL代碼的ModelSim項(xiàng)目窗口如圖4所示。發(fā)送端發(fā)送的數(shù)據(jù)由outdata變量存儲(chǔ),其發(fā)送的數(shù)據(jù)經(jīng)由編碼和加噪模塊完成數(shù)據(jù)的m調(diào)制后,發(fā)送至接收端,接收端由解校驗(yàn)和解碼單元處理后,形成解調(diào)數(shù)據(jù)。
仿真運(yùn)行50微秒后部分仿真波形如圖5所示。從圖5中很容易看出負(fù)向波谷(表示波形向下,但是取值仍未正)位置對(duì)應(yīng)的解調(diào)碼值為0,正向波峰對(duì)應(yīng)位置解調(diào)碼值為1。與該窗口outdata(已發(fā)送數(shù)據(jù))顯示數(shù)據(jù)一致。
五、結(jié)束語(yǔ)
本簡(jiǎn)易m序列調(diào)制解調(diào)器設(shè)計(jì)完成了基本的設(shè)計(jì)目標(biāo),能夠正常發(fā)送和解調(diào)已發(fā)送的數(shù)據(jù),能夠準(zhǔn)確進(jìn)行仿真和驗(yàn)證,后續(xù)可以繼續(xù)進(jìn)行優(yōu)化和加長(zhǎng)序列調(diào)制長(zhǎng)度,并增加通信系統(tǒng)中常見的各種糾錯(cuò)編碼方案,以使系統(tǒng)更加完善。
參考文獻(xiàn):
[1]夏宇聞.從算法設(shè)計(jì)到硬件邏輯的實(shí)現(xiàn)[M].北京:高等教育出版社,2001.
[2]王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與VerilogHDL[M].北京:電子工業(yè)出版社,2002.
[3]SKALRB.數(shù)字通信———基礎(chǔ)與應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[4]樊昌信,張甫翊,徐炳祥,等.通信原理[M].第5版.北京:國(guó)防工業(yè)出版社,2003.
Abstract:M sequence is the basic theory of spread spectrum communication,which has been widely applied,m sequence is short for the longest of linear feedback shift register sequence,which can be generated by a serial shift register with a linear feedback shift register . In this paper,we introduced the basic theory of how to produce m - sequence in detail. Based on this,A simple m - sequence modem architecture was designed,together with the design using hardware described language code,and finished the simulated and tested.
Key words:m sequence;PN code;Verilog HDL;Simulate