一、扰码的作用
对数字信号的比特进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取;同时又扩展了基带信号频谱,起到加密的效果。为了保证在任何情况下进入传输信道的数据码流中“0”与“1”的概率都能基本相等,传输系统会用一个伪随机序列对输入的传送码流进行扰乱处理,将二进制数字信息做“随机化”处理。
二、扰码的原理
伪随机序列是由一个标准的伪随机序列发生器生成的,其中“0”与“1”出现的概率接近50%。用伪随机序列对输入的传送码流进行扰乱后,无论原始传送码流是何种分布,扰乱后的数据码流中“0”与“1”的出现概率都接近50%。扰乱虽然改变了原始传送码流,但这种扰乱是有规律的,可以在接收端解除。将待发送的信息序列与发端产生的m序列进行模二加(扰码),扰码序列通过传输信道传送到接收端,接收端接收到扰码序列,使用同样的m序列进行模二加,即可恢复原来的信息。
三、扰码实现方法
1. 数学模型
扰码模块对每个数据块进行随机化处理,随机化序列和数据块同步,每个数据块都要重新初始化随机序列,随机化从数据块的 MSB 位开始处理,K_BCH 位结束(K_BCH为定义的数据输入长度)。扰码序列的生成多项式为1+X14+X15,初始序列为100101010000000,扰码实现结构如下:
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数据 |
该模块主要处理基于数据块的操作,每个数据完成一次扰码操作,并且每一帧的初始扰码移位寄存器均要初始化。应满足的时序如下
完成的功能为伪随机序列的产生和数据扰码两个过程,如下
编辑:hfy
-
FPGA
+关注
关注
1629文章
21736浏览量
603259 -
无线通信
+关注
关注
58文章
4569浏览量
143530 -
数字信号
+关注
关注
2文章
969浏览量
47549 -
仿真波形图
+关注
关注
1文章
5浏览量
3157
发布评论请先 登录
相关推荐
评论