802.11 中 scrambler的matlab仿真

16 篇文章 3 订阅
8 篇文章 1 订阅

802.11a和802.11n中的scrambler仿真不可以直接用matlab中的comm.Scrambler函数。因为这个函数实现的是multiplicative scrambling,而802.11a和802.11n中的scrambler使用的是additive scrambling。additive scrambling使用异或操作进行扰码,multiplicative scrambling使用乘法而非异或操作来对数据进行扰码。

所以进行仿真的时候,要使用comm.PNSequence生成一个PN序列,然后对输入数据进行XOR操作即可。

代码如下:

%% scramble
genPoly = 'x^7 + x^3 + 1';       % Generator polynomial
shift = 7;                       % Shift value for output
spf = 48;                        % Samples per frame
initState = [1 0 1 1 1 0 1]';    
pnSeq = comm.PNSequence( ...
    Polynomial=genPoly, ...
    InitialConditionsSource="Input Port", ...
    Mask=shift, ...
    SamplesPerFrame=spf, ...
    OutputDataType="logical");
pnsequence = pnSeq(initState);
scrData = xor(data_Payload_bit,pnsequence);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值