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

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

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

如何在FPGA內(nèi)實現(xiàn)擾碼過程

454398 ? 來源:MYMINIEYE微信公眾號 ? 作者:MYMINIEYE微信公眾號 ? 2020-10-10 15:52 ? 次閱讀

一、擾碼的作用

數(shù)字信號的比特進(jìn)行隨機(jī)處理,減少連0和連1的出現(xiàn),從而減少碼間干擾和抖動,方便接收端的時鐘提取;同時又?jǐn)U展了基帶信號頻譜,起到加密的效果。為了保證在任何情況下進(jìn)入傳輸信道的數(shù)據(jù)碼流中“0”與“1”的概率都能基本相等,傳輸系統(tǒng)會用一個偽隨機(jī)序列對輸入的傳送碼流進(jìn)行擾亂處理,將二進(jìn)制數(shù)字信息做“隨機(jī)化”處理。

二、擾碼的原理
偽隨機(jī)序列是由一個標(biāo)準(zhǔn)的偽隨機(jī)序列發(fā)生器生成的,其中“0”與“1”出現(xiàn)的概率接近50%。用偽隨機(jī)序列對輸入的傳送碼流進(jìn)行擾亂后,無論原始傳送碼流是何種分布,擾亂后的數(shù)據(jù)碼流中“0”與“1”的出現(xiàn)概率都接近50%。擾亂雖然改變了原始傳送碼流,但這種擾亂是有規(guī)律的,可以在接收端解除。將待發(fā)送的信息序列與發(fā)端產(chǎn)生的m序列進(jìn)行模二加(擾碼),擾碼序列通過傳輸信道傳送到接收端,接收端接收到擾碼序列,使用同樣的m序列進(jìn)行模二加,即可恢復(fù)原來的信息。

三、擾碼實現(xiàn)方法
1. 數(shù)學(xué)模型
擾碼模塊對每個數(shù)據(jù)塊進(jìn)行隨機(jī)化處理,隨機(jī)化序列和數(shù)據(jù)塊同步,每個數(shù)據(jù)塊都要重新初始化隨機(jī)序列,隨機(jī)化從數(shù)據(jù)塊的 MSB 位開始處理,K_BCH 位結(jié)束(K_BCH為定義的數(shù)據(jù)輸入長度)。擾碼序列的生成多項式為1+X14+X15,初始序列為100101010000000,擾碼實現(xiàn)結(jié)構(gòu)如下:

matlab代碼

根據(jù)以上結(jié)構(gòu),在matlab里產(chǎn)生偽隨機(jī)序列,函數(shù)代碼如下,其中K_BCH 為7032,為一組數(shù)據(jù)的長度,運(yùn)行得到7032長度的偽隨機(jī)序列碼。

產(chǎn)生一組隨機(jī)數(shù)據(jù),用作數(shù)據(jù)的輸入,與此同時,這個數(shù)據(jù)也被用作modelsim的數(shù)據(jù)輸入。輸入數(shù)據(jù)和m序列作模二加,即異或,進(jìn)行擾碼處理,得到最終輸出,擾碼的matlab的程序如下

3. FPGA實現(xiàn)

在FPGA內(nèi)實現(xiàn)擾碼過程的,并不復(fù)雜,主要是信號的控制,這里使用AXI總線的結(jié)構(gòu),定義模塊的輸入輸出接口如下

名稱

方向

有效狀態(tài)

描述

clk

in

-

時鐘,上升沿有效

rstn

in

low

同步復(fù)位

s_data_tvalid

in

high

輸入數(shù)據(jù)有效信號

s_data_tdata[0:0]

in

-

數(shù)據(jù)輸入

s_data_tready

out

high

準(zhǔn)備接收數(shù)據(jù)使能

s_data_tlast

in

high

表示輸入最后1bit數(shù)據(jù)

m_data_tvalid

out

high

數(shù)據(jù)輸出有效信號

m_data_tdata[0:0]

out

-

數(shù)據(jù)輸出

m_data_tready

in

high

下一模塊接收準(zhǔn)備使能

m_data_tlast

out

high

表示輸出最后1bit數(shù)據(jù)

該模塊主要處理基于數(shù)據(jù)塊的操作,每個數(shù)據(jù)完成一次擾碼操作,并且每一幀的初始擾碼移位寄存器均要初始化。應(yīng)滿足的時序如下

完成的功能為偽隨機(jī)序列的產(chǎn)生和數(shù)據(jù)擾碼兩個過程,如下

通過modelsim仿真波形,可以看到,輸入數(shù)據(jù)經(jīng)過擾碼之后的輸出能夠減少連1的出現(xiàn)。

4. 數(shù)據(jù)比對

對同一輸入數(shù)據(jù),用matlab和FPGA分別進(jìn)行擾碼操作,然后把結(jié)果寫入到本地,通過對比,驗證Verilog代碼的正確性。

編輯:hfy


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

    關(guān)注

    1621

    文章

    21511

    瀏覽量

    599070
  • 無線通信
    +關(guān)注

    關(guān)注

    58

    文章

    4418

    瀏覽量

    143128
  • 數(shù)字信號
    +關(guān)注

    關(guān)注

    2

    文章

    924

    瀏覽量

    47436
  • 仿真波形圖
    +關(guān)注

    關(guān)注

    1

    文章

    5

    瀏覽量

    3122
收藏 人收藏

    評論

    相關(guān)推薦

    器的并行化問題

    如果一個器現(xiàn)在做并行化,例如要求輸入位寬為32位,那么本原多項式如何確定?在實現(xiàn)過程中,如果想使用并行,是不是需要將同移位寄存器長一致的周期后狀態(tài)機(jī)算出來呢?不很明白為什么可以
    發(fā)表于 05-07 16:53

    通信中器與并行器設(shè)計

    的工作頻率要求非常高,但是由于串行器是1bit進(jìn)行的,如果再要求頻率過高的話,FPGA是無法實現(xiàn)如此高頻率的。所以我們要對其進(jìn)行并行化處理,以此達(dá)到高速的要求。并行
    發(fā)表于 07-31 16:30

    [Mill]FPGA無線通信課程連載——的原理及實現(xiàn)

    用作modelsim的數(shù)據(jù)輸入。輸入數(shù)據(jù)和m序列作模二加,即異或,進(jìn)行處理,得到最終輸出,的matlab的程序如下3. FPGA
    發(fā)表于 12-18 09:37

    如何用FPGA實現(xiàn)下行?

    下行的生成過程是怎樣的?如何用FPGA實現(xiàn)下行
    發(fā)表于 04-30 07:24

    無線通信中的

    或,進(jìn)行處理,得到最終輸出,的matlab的程序如下: 3. FPGA實現(xiàn)
    發(fā)表于 09-21 10:42

    WCDMA系統(tǒng)的擴(kuò)頻與

    WCDMA系統(tǒng)的擴(kuò)頻與1、    Walsh 函數(shù), OVSF的介紹及擴(kuò)頻的性質(zhì)  圖5.16    產(chǎn)生
    發(fā)表于 02-09 09:11 ?98次下載

    基于FPGA的偽測距電路的設(shè)計與實現(xiàn)?

    【摘 要】 介紹了基于偽測距的某定位系統(tǒng)的設(shè)計方案,簡要分析了偽測距的原理,研究了用FPGA實現(xiàn)的捕獲與跟蹤的方法。 
    發(fā)表于 05-14 20:58 ?797次閱讀
    基于<b class='flag-5'>FPGA</b>的偽<b class='flag-5'>碼</b>測距電路的設(shè)計與<b class='flag-5'>實現(xiàn)</b>?

    LS及其FPGA實現(xiàn)

    LS及其FPGA實現(xiàn)  引 言    眾所周知,在二元域、有限域以及復(fù)數(shù)域都不存在理想的地址,如m序列、Gold序列以及Walsh
    發(fā)表于 11-13 10:10 ?861次閱讀

    13曼徹斯特編解碼的FPGA設(shè)計與實現(xiàn)-9

    13曼徹斯特編解碼的FPGA設(shè)計與實現(xiàn)-9。
    發(fā)表于 04-26 15:12 ?12次下載

    LDPC編碼器的FPGA實現(xiàn)

    800Mbps準(zhǔn)循環(huán)LDPC編碼器的FPGA實現(xiàn)
    發(fā)表于 05-09 10:59 ?37次下載

    如何消除間串_怎么避免間串

    所謂間串,就是數(shù)字基帶信號通過基帶傳輸系統(tǒng)時,由于系統(tǒng)(主要是信道)傳輸特性不理想,或者由于信道中加性噪聲的影響,使收端脈沖展寬,延伸到鄰近碼元中去,從而造成對鄰近碼元的干擾,我們將這種現(xiàn)象稱為間串
    的頭像 發(fā)表于 04-16 14:25 ?4.4w次閱讀
    如何消除<b class='flag-5'>碼</b>間串<b class='flag-5'>擾</b>_怎么避免<b class='flag-5'>碼</b>間串<b class='flag-5'>擾</b>

    在WCDMA中如何用FPGA生成下行

    由兩個M序列相加而成,且容易產(chǎn)生、自相關(guān)性優(yōu)良的優(yōu)點(diǎn)。本文介紹下行的生成過程和如何用FPGA實現(xiàn)。采用Verlog硬件描述語言進(jìn)行功能
    的頭像 發(fā)表于 07-02 08:06 ?1734次閱讀
    在WCDMA中如何用<b class='flag-5'>FPGA</b>生成下行<b class='flag-5'>擾</b><b class='flag-5'>碼</b>

    器(一)器綜述及設(shè)計思路

    出現(xiàn)問題。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——摘自 百度百科接下來就來說一說如何實現(xiàn)
    發(fā)表于 05-07 23:04 ?2694次閱讀

    器(二)串行器綜述及設(shè)計思路

    首先器的作用就是用來將有序數(shù)據(jù)流變成隨機(jī)(無序)數(shù)據(jù)流。而且不是簡單的無序,是要求之后的數(shù)據(jù)流是類白噪聲數(shù)據(jù)流。而且
    發(fā)表于 08-19 23:30 ?2391次閱讀
    <b class='flag-5'>擾</b><b class='flag-5'>碼</b>器(二)串行<b class='flag-5'>擾</b><b class='flag-5'>碼</b>器綜述及設(shè)計思路

    器(三)并行器綜述及設(shè)計思路

    的話,FPGA是無法實現(xiàn)如此高頻率的。所以我們要對其進(jìn)行并行化處理,以此達(dá)到高速的要求。并行器設(shè)計基于串行
    發(fā)表于 08-19 23:30 ?1841次閱讀