0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA實(shí)現(xiàn)PN序列發(fā)生器的設(shè)計(jì)

FPGA設(shè)計(jì)論壇 ? 2022-12-20 17:05 ? 次閱讀

近年來(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)可編程邏輯門(mén)陣列)技術(shù)的發(fā)展,很多人采用FPGA來(lái)實(shí)現(xiàn)PN序列發(fā)生器。通常情況下應(yīng)用FPGA來(lái)實(shí)現(xiàn)PN碼生成器所采用的方法是利用觸發(fā)器及邏輯門(mén)來(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被并行加載一樣。

cf85ec46-8044-11ed-8abf-dac502259ad0.png

圖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)示意圖。

cfa0fd4c-8044-11ed-8abf-dac502259ad0.png

圖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所示。

cfbec1a6-8044-11ed-8abf-dac502259ad0.png

圖3 SRL 16E構(gòu)成PN碼生成器的電路圖

圖4為以SRL16E為基本單元,使用ISE軟件設(shè)計(jì)的PN碼生成器所得到的模塊圖。其中輸出pn_out_i對(duì)應(yīng)的LFSR多項(xiàng)式為:

cfd714f4-8044-11ed-8abf-dac502259ad0.png

圖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)一步的降低。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1621

    文章

    21511

    瀏覽量

    599056
  • 衛(wèi)星通信
    +關(guān)注

    關(guān)注

    12

    文章

    688

    瀏覽量

    38627
  • 無(wú)線通信
    +關(guān)注

    關(guān)注

    58

    文章

    4418

    瀏覽量

    143128
  • CDMA
    +關(guān)注

    關(guān)注

    1

    文章

    584

    瀏覽量

    117788
  • 發(fā)生器
    +關(guān)注

    關(guān)注

    4

    文章

    1351

    瀏覽量

    61456

原文標(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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA實(shí)現(xiàn)PN序列發(fā)生器的設(shè)計(jì)

    Access,直接序列-碼分多址)移動(dòng)通信系統(tǒng),因其具有較好的抗干擾性能而成為軍事通信、民用通信以及宇宙通信的一種重要的通信體制。
    發(fā)表于 12-07 10:03 ?2504次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>PN</b><b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>的設(shè)計(jì)

    基于FPGA技術(shù)的Logistic映射PN序列

    發(fā)生器需要一個(gè)隨機(jī)信號(hào)源和一系列的離散、量化算法及其硬件實(shí)現(xiàn)技術(shù)。確定性的混沌可以復(fù)制,具有長(zhǎng)期不可預(yù)測(cè)性,且很難區(qū)分一個(gè)信號(hào)是來(lái)自于非確定性系統(tǒng)還是混沌系統(tǒng)。因此,混沌滿足密碼系統(tǒng)設(shè)計(jì)的基本原則
    發(fā)表于 07-05 07:33

    【原創(chuàng)】基于FPGA的M序列發(fā)生器設(shè)計(jì)

    多項(xiàng)式(只能被1和自身整除,類似于質(zhì)數(shù))時(shí)才能產(chǎn)生M序列。這里給出2階到10階的本原多項(xiàng)式1.4 FPGA實(shí)現(xiàn) 我們以7階、8階本原多項(xiàng)式為例設(shè)計(jì)兩個(gè)M序列
    發(fā)表于 04-15 13:55

    怎么實(shí)現(xiàn)m序列信號(hào)發(fā)生器的設(shè)計(jì)?

    m序列信號(hào)發(fā)生器由那幾部分組成?怎么實(shí)現(xiàn)m序列信號(hào)發(fā)生器的設(shè)計(jì)?
    發(fā)表于 05-10 06:09

    燈光序列發(fā)生器

    燈光序列發(fā)生器
    發(fā)表于 09-22 14:14 ?677次閱讀
    燈光<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>

    節(jié)目燈光序列發(fā)生器

    節(jié)目燈光序列發(fā)生器
    的頭像 發(fā)表于 09-22 14:19 ?1932次閱讀
    節(jié)目燈光<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>

    節(jié)日燈光序列發(fā)生器(續(xù))

    節(jié)日燈光序列發(fā)生器(續(xù))
    發(fā)表于 09-22 14:22 ?588次閱讀
    節(jié)日燈光<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>(續(xù))

    流動(dòng)燈序列發(fā)生器

    流動(dòng)燈序列發(fā)生器 該流動(dòng)燈序列
    的頭像 發(fā)表于 09-22 15:12 ?1649次閱讀
    流動(dòng)燈<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>

    FPGA的偽隨機(jī)序列發(fā)生器設(shè)計(jì)

    FPGA的偽隨機(jī)序列發(fā)生器設(shè)計(jì)0  引言偽隨機(jī)序列現(xiàn)已廣泛應(yīng)用于密碼學(xué)、擴(kuò)頻通訊、導(dǎo)航、集成電路的可測(cè)性設(shè)計(jì)、現(xiàn)代戰(zhàn)爭(zhēng)中的電子對(duì)抗技術(shù)等許多重要領(lǐng)域。
    發(fā)表于 04-02 11:07 ?3442次閱讀
    <b class='flag-5'>FPGA</b>的偽隨機(jī)<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>設(shè)計(jì)

    計(jì)數(shù)型序列信號(hào)發(fā)生器

    計(jì)數(shù)型序列信號(hào)發(fā)生器 試設(shè)計(jì)一個(gè)01100011序列發(fā)生器.
    發(fā)表于 01-12 14:02 ?2653次閱讀

    序列信號(hào)發(fā)生器

    序列信號(hào)發(fā)生器 序列信號(hào)是指在同步脈沖作用下循環(huán)地產(chǎn)生一串周期性的二進(jìn)制信號(hào).能產(chǎn)
    發(fā)表于 09-18 08:37 ?7554次閱讀
    <b class='flag-5'>序列</b>信號(hào)<b class='flag-5'>發(fā)生器</b>

    基于TDERCS偽隨機(jī)序列發(fā)生器FPGA設(shè)計(jì)與實(shí)現(xiàn)

    偽隨機(jī)序列 (Pseudo-Random Sequence,PRS)廣泛應(yīng)用于密碼學(xué)、擴(kuò)頻通信、雷達(dá)、導(dǎo)航等領(lǐng)域,其設(shè)計(jì)和分析一直是國(guó)際上的研究熱點(diǎn)。本文是關(guān)于偽隨機(jī)序列發(fā)生器FPGA
    發(fā)表于 11-01 18:45 ?27次下載
    基于TDERCS偽隨機(jī)<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>的<b class='flag-5'>FPGA</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    如何使用FPGA實(shí)現(xiàn)混沌跳頻序列發(fā)生器

    本文根據(jù)單峰映射產(chǎn)生混沌序列極易被攻擊的特點(diǎn),采用髙維的混沌系統(tǒng)來(lái)設(shè)計(jì)混沌跳頻序列發(fā)生器。針對(duì)n維非線性數(shù)字濾波產(chǎn)生序列的周期和分布特性,
    發(fā)表于 02-02 15:14 ?11次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>混沌跳頻<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>

    序列發(fā)生器是什么_序列發(fā)生器設(shè)計(jì)步驟

    序列信號(hào)是指在同步脈沖作用下循環(huán)地產(chǎn)生一串周期性的二進(jìn)制信號(hào),能產(chǎn)生這種信號(hào)的邏輯器件就稱為序列信號(hào)發(fā)生器序列發(fā)生器。
    發(fā)表于 02-18 14:17 ?1w次閱讀
    <b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>是什么_<b class='flag-5'>序列</b><b class='flag-5'>發(fā)生器</b>設(shè)計(jì)步驟

    數(shù)字序列信號(hào)發(fā)生器如何測(cè)量

    數(shù)字序列信號(hào)發(fā)生器(Digital Sequence Signal Generator,簡(jiǎn)稱DSSG)是一種用于生成數(shù)字序列信號(hào)的設(shè)備。它廣泛應(yīng)用于通信、雷達(dá)、電子對(duì)抗等領(lǐng)域。本文將詳細(xì)介紹數(shù)字
    的頭像 發(fā)表于 06-03 14:04 ?253次閱讀