主要内容

comm.Scrambler

争夺输入信号

描述

comm.Scrambler对象应用乘法争相输入数据。

这个示意图显示了乘法扰频器操作。该方案操作模N,在那里N指定的值吗CalculationBase财产。

在每个时间步,输入导致寄存器的内容按顺序转变。使用多项式属性,指定每个开关的打开或关闭状态的扰频器。

请注意

应用添加剂争相输入数据,您可以使用comm.PNSequence™和系统对象xor函数。例如,看到的添加剂加扰的输入数据

争夺一个输入信号:

  1. 创建comm.Scrambler对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

扰频器= comm.Scrambler创建一个扰码器系统对象。这个对象基于输入数据通过使用一个线性反馈移位寄存器,您指定的多项式财产。

例子

扰频器= comm.Scrambler (基地,,气孔导度)创建的扰频器对象CalculationBase属性设置为基地,多项式属性设置为,InitialConditions属性设置为气孔导度

例子:comm.Scrambler (8, ' 1 + x ^ 2 + x ^ 3 + x x ^ ^ 5 + 7”, [0 3 1 2 2 5 7])设置计算基础8扰频器多项式和初始条件指定。

例子

扰频器= comm.Scrambler (___,的名字,价值)设置使用一个或多个属性的名称-值对,以前的语法。在单引号附上每个属性的名字。

例子:comm.Scrambler ('CalculationBase',2)

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

模的扰频器中使用的输入数据范围操作,指定为一个非负整数。这个对象的输入和输出都是整数0CalculationBase- - - - - -1

数据类型:

扰频器连接线性反馈移位寄存器,指定为一个特征向量,整数向量,或二进制向量。的多项式属性定义了如果每个开关的扰频器。指定多项式:

  • 一个特征向量,例如“1 + x ^ 6 + x ^ 8 '。为更多的细节在以这种方式指定多项式,明白了多项式的表示通信工具箱

  • 一个整数向量,如[0 6 8],清单的扰频器系数顺序降序的权力x1,在那里p(x1)= 1 +p1x1+p2x2+……

  • 一个二进制向量,如[1 0 0 0 0 0 1 0 1],清单的权力x出现在的多项式系数1。在这种情况下,阶多项式的争夺一个小于二元向量的长度。

例子:“1 + x ^ 6 + x ^ 8 ',[0 6 8],[1 0 0 0 0 0 1 0 1]所有代表这个多项式:

p(x1)= 1 +x6+x8

数据类型:|字符

  • “属性”——指定扰频器初始条件使用InitialConditions财产。

  • 输入端口的——指定扰频器初始条件通过使用一个额外的输入参数,initcond,当调用对象。

数据类型:字符

扰频器寄存器的初始条件模拟开始时,指定为一个非负整数向量。的长度InitialConditions必须等于的顺序吗多项式财产。向量元素值必须是整数0CalculationBase- - - - - -1

依赖关系

此属性可用时InitialConditionsSource被设置为“属性”

扰频器状态复位端口,指定为真正的。如果ResetInputPort真正的,你可以重置扰频器对象通过使用一个额外的输入参数,重置,当调用对象。

依赖关系

此属性可用时InitialConditionsSource被设置为“属性”

使用

描述

例子

scrambledOut=扰频器(信号)基于输入信号。输出是相同的数据类型和长度作为输入向量。

例子

scrambledOut=扰频器(信号,initcond)提供了一个额外的输入值指定线性反馈移位寄存器的初始条件。

这个语法适用于当你设置InitialConditionsSource对象的属性输入端口的

scrambledOut=扰频器(信号,重置)提供了一个额外的输入指示是否复位加扰器的状态。

这个语法适用于当您设置InitialConditionsSource“属性”ResetInputPort真正的

输入参数

全部展开

输入信号,指定为一个列向量。

例子:scrambledOut =扰频器([0 1 1 0 1])

数据类型:|逻辑

最初的扰频器仿真开始时注册条件,指定为一个非负整数列向量。的长度initcond必须等于的顺序吗多项式财产。向量元素值必须是整数0CalculationBase- - - - - -1

例子:scrambledOut =扰频器(信号,[0 1 1 0])可能对应于初始注册状态与多项式的扰频器4和计算的基础2或更高版本。

数据类型:

重置扰频器的初始状态仿真开始时,指定为一个标量。时的值重置非零,对象是重置之前。

例子:scrambledOut =扰频器(信号,0)基于输入信号没有重置扰频器状态。

数据类型:

输出参数

全部展开

炒输出,作为一个列向量返回相同的数据类型和长度信号

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

争夺和descramble 8-ary数据使用comm.Scramblercomm.Descrambler系统对象™有8的计算基础。

创建扰频器和解码器对象,指定计算基础,多项式,使用输入参数和初始条件。与指定的扰频器和解码器多项式都不同,但相同的数据格式。

N = 8;扰频器= comm.Scrambler (N,“1 + x ^ 2 + x ^ 3 + x x ^ ^ 5 + 7的,[0 3 1 2 2 5 7]);解码器= comm.Descrambler (N, [1 0 1 1 0 1 0 1],[0 3 1 2 2 5 7]);

争夺和descramble随机整数。显示原始数据、炒数据和descrambled数据序列。

data =兰迪([0 n - 1] 5 1);scrData =扰频器(数据);deScrData =解码器(scrData);(数据scrData deScrData]
ans =5×36 7 6 7 5 7 1 7 1 7 0 7 5 3 5

验证descrambled数据与原始数据。

deScrData isequal(数据)
ans =逻辑1

争夺和descramble第四纪数据而变化的函数调用之间的初始条件。

创建扰频器和解码器系统对象计算的4。设置InitialConditionsSource财产输入端口的所以你可以设置初始条件的对象作为参数。

N = 4;扰频器= comm.Scrambler (N,“1 + z ^ 3”,“InitialConditionsSource”,输入端口的);解码器= comm.Descrambler (N,“1 + z ^ 3”,“InitialConditionsSource”,输入端口的);

Preallocate内存错误矢量将用于存储错误输出的symerr函数。

errVec = 0 (10, 1);

争夺和descramble随机整数而改变初始条件,initCond,每次循环执行。使用symerr函数来确定加扰和descrambling操作导致符号错误。

k = 1:10 initCond = randperm (3) ';data =兰迪([0 n - 1] 5 1);scrData =扰频器(数据、initCond);deScrData =解码器(scrData initCond);errVec (k) = symerr(数据,deScrData);结束

检查errVec验证解码器的输出匹配原始数据。

errVec
errVec =10×10 0 0 0 0 0 0 0 0 0

数字通信系统通常使用添加剂争相随机输入数据来帮助定时同步和功率谱的要求。的comm.Scrambler系统对象™实现乘法匆忙但不支持添加剂加扰。万博1manbetx执行添加剂可以使用comm.PNSequence系统对象。这个例子实现了IEEE 802.11中指定的添加剂匆忙™争先恐后地输入数据与输出序列comm.PNSequence系统生成的对象。对于仿真软件万博1manbetx®模型,实现了一个类似的工作流,看到添加剂加扰模型的输入数据万博1manbetx的例子。

这个图显示了一个添加剂扰频器,使用发电机多项式 x 7 + x 4 + 1 ,指定图17-7 17.3.5.5 IEEE 802.11部分[1]

比较802.11中指定的移位寄存器和移位寄存器实现使用comm.PNSequence系统对象,注意两个移位寄存器图表是彼此的镜像。因此,当配置comm.PNSequence系统对象来实现一个添加剂加扰器,您必须反向生成器多项式的值,初始状态,面具的输出。采取从前端的输出寄存器,指定一个转变的价值7。

关于802.11扰频器的更多信息,请参阅[1]wlanScramble(WLAN工具箱)参考页面。

发电机多项式定义变量,转变为输出值,初始移位寄存器状态,输入数据的一个框架,包含127位加扰器的变量序列中指定节17.3.5.5 IEEE 802.11标准。创建一个初始化寄存器的PN序列对象通过使用一个输入参数。

genPoly =“x ^ 7 + x ^ 3 + 1的;%发电机多项式转变= 7;%将值输出防晒系数= 127;%样本每帧initState = (1 1 1 1 1 1 1);%初始移位寄存器状态dataIn =兰迪([0,1],防晒指数,1);ieee802_11_scram_seq =逻辑([0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 10 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 01 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 00 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 1 10 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 01 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1])”;pnSeq = comm.PNSequence (多项式= genPoly,InitialConditionsSource =“输入端口”,掩码=转变,SamplesPerFrame =防晒系数,OutputDataType =“逻辑”);pnsequence = pnSeq (initState);

比较PN序列对象输出IEEE 802.11 127位扰频器序列确认生成的PN序列匹配802.11指定的序列。

isequal (ieee802_11_scram_seq pnsequence)
ans =逻辑1

争夺输入数据根据modulo-adding 802.11指定添加剂加扰器输入数据与PN序列输出。

scrambledOut = xor (dataIn pnSeq (initState));

Descramble爬数据通过应用相同的扰频器和初始条件的加密数据。

descrambledData = xor (scrambledOut pnSeq (initState));

验证descrambled数据匹配的输入数据。

isequal (dataIn descrambledData)
ans =逻辑1

参考

[1]IEEE Std 802.11™-2020(-2016年修订IEEE Std 802.11™)。“第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范。”IEEE Standard for Information technology — Telecommunications and information exchange between systems. Local and metropolitan area networks — Specific requirements.

扩展功能

版本历史

介绍了R2012a

另请参阅

对象