0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在FPGA内实现扰码过程

454398 来源:MYMINIEYE微信公众号 作者:MYMINIEYE微信公众号 2020-10-10 15:52 次阅读

一、扰码的作用

数字信号的比特进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取;同时又扩展了基带信号频谱,起到加密的效果。为了保证在任何情况下进入传输信道的数据码流中“0”与“1”的概率都能基本相等,传输系统会用一个伪随机序列对输入的传送码流进行扰乱处理,将二进制数字信息做“随机化”处理。

二、扰码的原理
伪随机序列是由一个标准的伪随机序列发生器生成的,其中“0”与“1”出现的概率接近50%。用伪随机序列对输入的传送码流进行扰乱后,无论原始传送码流是何种分布,扰乱后的数据码流中“0”与“1”的出现概率都接近50%。扰乱虽然改变了原始传送码流,但这种扰乱是有规律的,可以在接收端解除。将待发送的信息序列与发端产生的m序列进行模二加(扰码),扰码序列通过传输信道传送到接收端,接收端接收到扰码序列,使用同样的m序列进行模二加,即可恢复原来的信息。

三、扰码实现方法
1. 数学模型
扰码模块对每个数据块进行随机化处理,随机化序列和数据块同步,每个数据块都要重新初始化随机序列,随机化从数据块的 MSB 位开始处理,K_BCH 位结束(K_BCH为定义的数据输入长度)。扰码序列的生成多项式为1+X14+X15,初始序列为100101010000000,扰码实现结构如下:

matlab代码

根据以上结构,在matlab里产生伪随机序列,函数代码如下,其中K_BCH 为7032,为一组数据的长度,运行得到7032长度的伪随机序列码。

产生一组随机数据,用作数据的输入,与此同时,这个数据也被用作modelsim的数据输入。输入数据和m序列作模二加,即异或,进行扰码处理,得到最终输出,扰码的matlab的程序如下

3. FPGA实现

在FPGA内实现扰码过程的,并不复杂,主要是信号的控制,这里使用AXI总线的结构,定义模块的输入输出接口如下

名称

方向

有效状态

描述

clk

in

-

时钟,上升沿有效

rstn

in

low

同步复位

s_data_tvalid

in

high

输入数据有效信号

s_data_tdata[0:0]

in

-

数据输入

s_data_tready

out

high

准备接收数据使能

s_data_tlast

in

high

表示输入最后1bit数据

m_data_tvalid

out

high

数据输出有效信号

m_data_tdata[0:0]

out

-

数据输出

m_data_tready

in

high

下一模块接收准备使能

m_data_tlast

out

high

表示输出最后1bit数据

该模块主要处理基于数据块的操作,每个数据完成一次扰码操作,并且每一帧的初始扰码移位寄存器均要初始化。应满足的时序如下

完成的功能为伪随机序列的产生和数据扰码两个过程,如下

通过modelsim仿真波形,可以看到,输入数据经过扰码之后的输出能够减少连1的出现。

4. 数据比对

对同一输入数据,用matlab和FPGA分别进行扰码操作,然后把结果写入到本地,通过对比,验证Verilog代码的正确性。

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21736

    浏览量

    603259
  • 无线通信
    +关注

    关注

    58

    文章

    4569

    浏览量

    143530
  • 数字信号
    +关注

    关注

    2

    文章

    969

    浏览量

    47549
  • 仿真波形图
    +关注

    关注

    1

    文章

    5

    浏览量

    3157
收藏 人收藏

    评论

    相关推荐

    器的并行化问题

    如果一个器现在做并行化,例如要求输入位宽为32位,那么本原多项式如何确定?在实现过程中,如果想使用并行,是不是需要将同移位寄存器长一致的周期后状态机算出来呢?不很明白为什么可以
    发表于 05-07 16:53

    通信中器与并行器设计

    的工作频率要求非常高,但是由于串行器是1bit进行的,如果再要求频率过高的话,FPGA是无法实现如此高频率的。所以我们要对其进行并行化处理,以此达到高速的要求。并行
    发表于 07-31 16:30

    [Mill]FPGA无线通信课程连载——的原理及实现

    用作modelsim的数据输入。输入数据和m序列作模二加,即异或,进行处理,得到最终输出,的matlab的程序如下3. FPGA
    发表于 12-18 09:37

    如何用FPGA实现下行

    下行的生成过程是怎样的?如何用FPGA实现下行
    发表于 04-30 07:24

    无线通信中的

    或,进行处理,得到最终输出,的matlab的程序如下: 3. FPGA实现
    发表于 09-21 10:42

    WCDMA系统的扩频与

    WCDMA系统的扩频与1、    Walsh 函数, OVSF的介绍及扩频的性质  图5.16    产生
    发表于 02-09 09:11 98次下载

    基于FPGA的伪测距电路的设计与实现?

    【摘 要】 介绍了基于伪测距的某定位系统的设计方案,简要分析了伪测距的原理,研究了用FPGA实现的捕获与跟踪的方法。 
    发表于 05-14 20:58 838次阅读
    基于<b class='flag-5'>FPGA</b>的伪<b class='flag-5'>码</b>测距电路的设计与<b class='flag-5'>实现</b>?

    LS及其FPGA实现

    LS及其FPGA实现  引 言    众所周知,在二元域、有限域以及复数域都不存在理想的地址,如m序列、Gold序列以及Walsh
    发表于 11-13 10:10 939次阅读

    13曼彻斯特编解码的FPGA设计与实现-9

    13曼彻斯特编解码的FPGA设计与实现-9。
    发表于 04-26 15:12 12次下载

    LDPC编码器的FPGA实现

    800Mbps准循环LDPC编码器的FPGA实现
    发表于 05-09 10:59 37次下载

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

    所谓间串,就是数字基带信号通过基带传输系统时,由于系统(主要是信道)传输特性不理想,或者由于信道中加性噪声的影响,使收端脉冲展宽,延伸到邻近码元中去,从而造成对邻近码元的干扰,我们将这种现象称为间串
    的头像 发表于 04-16 14:25 4.5w次阅读
    如何消除<b class='flag-5'>码</b>间串<b class='flag-5'>扰</b>_怎么避免<b class='flag-5'>码</b>间串<b class='flag-5'>扰</b>

    在WCDMA中如何用FPGA生成下行

    由两个M序列相加而成,且容易产生、自相关性优良的优点。本文介绍下行的生成过程和如何用FPGA实现。采用Verlog硬件描述语言进行功能
    的头像 发表于 07-02 08:06 1952次阅读
    在WCDMA中如何用<b class='flag-5'>FPGA</b>生成下行<b class='flag-5'>扰</b><b class='flag-5'>码</b>

    器(一)器综述及设计思路

    出现问题。                                                                                                                                ——摘自 百度百科接下来就来说一说如何实现
    发表于 05-07 23:04 2802次阅读

    器(二)串行器综述及设计思路

    首先器的作用就是用来将有序数据流变成随机(无序)数据流。而且不是简单的无序,是要求之后的数据流是类白噪声数据流。而且
    发表于 08-19 23:30 2511次阅读
    <b class='flag-5'>扰</b><b class='flag-5'>码</b>器(二)串行<b class='flag-5'>扰</b><b class='flag-5'>码</b>器综述及设计思路

    器(三)并行器综述及设计思路

    的话,FPGA是无法实现如此高频率的。所以我们要对其进行并行化处理,以此达到高速的要求。并行器设计基于串行
    发表于 08-19 23:30 1895次阅读