近年來(lái),擴(kuò)頻通信技術(shù)在移動(dòng)通信、個(gè)人通信、室內(nèi)無(wú)線通信以及衛(wèi)星通信中得到越來(lái)越廣泛的應(yīng)用。對(duì)于DS-CDMA(Direct Sequence-Code Division MulTIple Access,直接序列-碼分多址)移動(dòng)通信系統(tǒng),因其具有較好的抗干擾性能而成為軍事通信、民用通信以及宇宙通信的一種重要的通信體制。擴(kuò)頻通信的一項(xiàng)關(guān)鍵技術(shù)是擴(kuò)頻信號(hào)的設(shè)計(jì),以及對(duì)它的捕捉和跟蹤。在DS-CDMA移動(dòng)通信中,也正是利用擴(kuò)頻碼來(lái)實(shí)現(xiàn)用戶多址,從而使多用戶能同時(shí)共享同一頻帶進(jìn)行通信。
在擴(kuò)頻通信中,通常在偽隨機(jī)序列(Pseudo-random Noise,PN)的基礎(chǔ)上產(chǎn)生擴(kuò)頻碼。然而,擴(kuò)頻碼(PN序列)的生成一直是通信工程師最關(guān)心的問(wèn)題之一。隨著FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程邏輯門陣列)技術(shù)的發(fā)展,很多人采用FPGA來(lái)實(shí)現(xiàn)PN序列發(fā)生器。通常情況下應(yīng)用FPGA來(lái)實(shí)現(xiàn)PN碼生成器所采用的方法是利用觸發(fā)器及邏輯門來(lái)組成線性反饋移位寄存器,從而產(chǎn)生所需的PN序列。然而這種方法會(huì)占用大量的觸發(fā)器資源,不利于縮小芯片面積及制造成本。SRL16 E是Xilinx公司Virtex II等系列FPGA的Slice中的基本單元,應(yīng)用它來(lái)實(shí)現(xiàn)PN碼生成器可以大大降低FPGA中專用觸發(fā)器的使用量,從而減少FPGA片上面積的占用。
基本原理
PN碼生成器的核心是LFSR(LinearFeedback Shift Regisiter,線性反饋移位寄存器),LFSR序列共有(2N-1)種狀態(tài)(其中N為L(zhǎng)FSR中寄存器的個(gè)數(shù)),寄存器中的數(shù)據(jù)在每個(gè)觸發(fā)時(shí)鐘周期右移一位。反饋由預(yù)先確定的寄存器引出,共同經(jīng)過(guò)異或邏輯后,加到LFSR的左端。通常寄存器的個(gè)數(shù)越多生成的PN序列的長(zhǎng)度就越長(zhǎng),其中生成的最長(zhǎng)的序列成為M序列。
要實(shí)現(xiàn)LFSR序列的填充,需要在LFSR的反饋路徑中加入一個(gè)多路復(fù)用器,利用這個(gè)多路復(fù)用器將實(shí)現(xiàn)期望的狀態(tài)加載進(jìn)去。需要注意的是在用一個(gè)特定的序列來(lái)填充時(shí)必須事先知道合適新填充的第一位從LFSR中輸出。新的填充序列必須在相同的時(shí)鐘周期內(nèi)加載到LFSR中,并且新序列的第一位必須在并行加載完成后的第一個(gè)時(shí)鐘周期被移出。如圖1所示PN碼生成器的原理圖,共有17種寄存狀態(tài)。下面來(lái)看并行加載是如何實(shí)現(xiàn)的。如果一個(gè)并行加載發(fā)生在T=0時(shí)鐘周期,那么在T=17時(shí)鐘周期時(shí),通過(guò)fillsel指示反饋加入。這時(shí),移位寄存器包含反饋加入前的長(zhǎng)度為17位原序列,這17位的原序列在反饋加入時(shí)并未受影響。在接下來(lái)的17個(gè)時(shí)鐘周期(即從T=17到T=0),原序列被移出,新的序列被移出,在T=0周期,新的序列移入完畢,反饋路徑被斷開(kāi),并在下一個(gè)時(shí)鐘周期開(kāi)始驅(qū)動(dòng)新序列的第一位。這樣,就如同新序列在一個(gè)單個(gè)的時(shí)鐘周期T=0被并行加載一樣。
圖1 PN碼生成器的原理圖
PN碼生成器的實(shí)現(xiàn)
SRL16E是一種基于查找表的移位寄存器,可以非常方便地配置成多個(gè)觸發(fā)器級(jí)聯(lián)輸出的形式,因此應(yīng)用SRL16E來(lái)實(shí)現(xiàn)PN序列,是非常高效的,并且能夠很大程度地減少FPGA資源的占用。原先SRL16E由于在配制時(shí)需要注冊(cè)而被認(rèn)為比ASIC(ApplicaTIon Specific Integrated Circuit,特定用途集成電路)開(kāi)銷更大。現(xiàn)在,它已成為FPGA中LUT(Look Up Table,查找表)配制模式的基本單元,可以非常方便地應(yīng)用。并且這些基本單元在設(shè)計(jì)中應(yīng)用得越多,那么設(shè)計(jì)所占用的專用觸發(fā)器資源就越少。如圖2所示為Xilinx公司Virtex II系列FPGA中的基本Slice結(jié)構(gòu)示意圖。
圖2 Virtex II中的Slice結(jié)構(gòu)示意圖
應(yīng)用SRL16E來(lái)實(shí)現(xiàn)LFSR時(shí),一個(gè)Slice就可以生成一個(gè)16階的LFSR,而用觸發(fā)器來(lái)實(shí)現(xiàn)時(shí),所用Slice的數(shù)量激增為16個(gè)。由此可見(jiàn),應(yīng)用SRL16E可以大大降低FPGA資源的占用。
假設(shè)LFSR多項(xiàng)式為g(x)=1+x5+x17,即圖1所示的PN碼生成器,則應(yīng)用SRL16E來(lái)實(shí)現(xiàn)PN碼生成器的電路圖如圖3所示。
圖3 SRL 16E構(gòu)成PN碼生成器的電路圖
圖4為以SRL16E為基本單元,使用ISE軟件設(shè)計(jì)的PN碼生成器所得到的模塊圖。其中輸出pn_out_i對(duì)應(yīng)的LFSR多項(xiàng)式為:
圖4 PN碼生成器模塊圖
輸出pn_out_q對(duì)應(yīng)的LSFR多項(xiàng)式為:
對(duì)于圖4所示PN碼生成器,我們應(yīng)用ISE軟件內(nèi)嵌的XST(Xilinx Synthesis Technology)綜合工具對(duì)其進(jìn)行綜合,得到的仿真波形如圖5所示。
圖5 PN碼生成器的XST仿真波形圖
根據(jù)ISE生成的綜合報(bào)告可得到圖4所示PN碼生成器僅僅占用4個(gè)Xilinx公司Virtex II系列FPGA的基本Slice單元,可見(jiàn)應(yīng)用SRL16E來(lái)設(shè)計(jì)PN碼生成器可以非常有效地節(jié)省FPGA資源。
結(jié)論
應(yīng)用SRL16E來(lái)實(shí)現(xiàn)PN碼生成器的方法可以大大節(jié)省FPGA資源的占用量,并且由于SRL16E是被優(yōu)化設(shè)計(jì)的模塊,相較于傳統(tǒng)的方法可提高所設(shè)計(jì)PN碼生成器的效率。同時(shí),SRL16E還可以用來(lái)實(shí)現(xiàn)濾波器、除法器以及波形發(fā)生器等,在大的系統(tǒng)中,例如整個(gè)CDMA系統(tǒng),通過(guò)使用SRL16E可有效降低整個(gè)FPGA資源的占用量,從而使功耗及成本等得到進(jìn)一步的降低。
-
FPGA
+關(guān)注
關(guān)注
1626文章
21669瀏覽量
601869 -
衛(wèi)星通信
+關(guān)注
關(guān)注
12文章
703瀏覽量
38714 -
無(wú)線通信
+關(guān)注
關(guān)注
58文章
4520瀏覽量
143417 -
CDMA
+關(guān)注
關(guān)注
1文章
584瀏覽量
117940 -
發(fā)生器
+關(guān)注
關(guān)注
4文章
1363瀏覽量
61623
原文標(biāo)題:基于FPGA實(shí)現(xiàn)PN序列發(fā)生器的設(shè)計(jì)
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論