扰码原理以及matlab实现

一、扰码

扰码的作用:避免出现长连0或长连1,避免信号的功率谱密度集中在窄带内。
扰码的结构是一个带反馈的移位寄存器,通过输入与移位寄存器的某些寄存器进行模2加来得到输出。

  • 特征多项式
    在这里插入图片描述
  • 扰码器结构
    图中给出了移位寄存器初始化的序列。对于每个要传送的数据包,移位寄存器都要被重新初始化。
    在这里插入图片描述

二、matlab程序

% 函数功能:扰码
% 输入:din、g
% 输出:dout
% 生成多项式:g = [1 0 0 0_0 0 0 0_0 0 0 0_0 0 1 1];低位--->高位
% 移位寄存器输入:sr_in


function dout = bit_scramble(din)

g = [1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1];

% 移位寄存器初始化
sr_reg = zeros(1,length(g)-1);

dout = zeros(1,length(din));

for clk = 1:length(din)
    
    % 组合逻辑
    sr_in = mod(sr_reg(14)+sr_reg(15),2);
    dout(clk) = mod(din(clk)+sr_in,2);
    
    % 时序逻辑
    sr_reg(2:end) = sr_reg(1:end-1);
    sr_reg(1) = sr_in;
    
end

end


  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
RNTI(Radio Network Temporary Identifier)扰码是LTE系统中用于标识UE(User Equipment)的临时标识符。在Matlab中,可以使用PN序列生成RNTI扰码。具体实现步骤如下: 1. 生成PN序列:使用pnsequence函数生成长度为31的PN序列,例如: ``` pnseq = pnsequence('maximal', 31); ``` 其中,'maximal'表示生成最大长度的PN序列。 2. 生成RNTI扰码:将PN序列循环左移一个随机数,得到RNTI扰码,例如: ``` rnti_scrambling_identity = randi([0 1], 1, 16); rnti_mask = pnseq(1:16); rnti_sequence = xor(rnti_scrambling_identity, rnti_mask); rnti_sequence = circshift(rnti_sequence', randi([0 15]))'; % 循环左移 ``` 其中,rnti_scrambling_identity为16位随机序列,rnti_mask为PN序列的前16位,rnti_sequence为生成的RNTI扰码序列。 3. 对原始数据进行RNTI扰码:将RNTI扰码与原始数据进行异或运算,得到加扰后的数据,例如: ``` scrambled_data = xor(data, repmat(rnti_sequence, 1, length(data)/16)); ``` 其中,data为原始数据序列,repmat函数用于将RNTI扰码序列重复到与原始数据长度相同。 4. 对加扰后的数据进行解扰:接收方使用相同的RNTI扰码对加扰后的数据进行异或运算,得到还原后的原始数据,例如: ``` original_data = xor(scrambled_data, repmat(rnti_sequence, 1, length(data)/16)); ``` 其中,original_data为还原后的原始数据序列。 需要注意的是,RNTI扰码只是一种保护方式,不能完全保证数据的安全性。在实际应用中,还需要结合其他加密算法和协议进行综合保护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据线

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值