文档

descrambler系统对象

解压缩输入信号

描述

com . descrambler对象的作用是:对标量或列向量输入信号进行解压缩。对象的逆comm.Scrambler对象。如果你使用comm.Scrambler对象,然后在相关的接收器中使用com . descrambler对象。

这个原理图显示了解码器操作。加法器和减法器都是模运算N,在那里N的值是否由CalculationBase财产。

在每个时间步中,输入使寄存器的内容按顺序移位。使用多项式属性时,您可以为解扰程序中的每个开关指定打开或关闭状态。为了使comm.Descrambler对象的反向操作comm.Scrambler对象,在两个对象中使用相同的属性Settings。如果扰频器和反扰频器之间没有信号延迟,则InitialConditions在两个对象中必须是相同的。

对输入信号进行解码器:

  1. 创建com . descrambler对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?(MATLAB)。

创建

语法

descrambler = com . descrambler
descrambler = com . descrambler (base,poly,cond)
= com . descrambler (___、名称、值)

描述

解码器= comm.Descrambler创建一个descrambler系统对象™。类指定的线性反馈移位寄存器,该对象对输入数据进行解扰多项式财产。

例子

解码器= comm.Descrambler (基地气孔导度)属性创建解扰器对象CalculationBase属性设置为基地,多项式属性设置为,以及InitialConditions属性设置为气孔导度

例子:comm.Descrambler (8, ' 1 + z ^ 2 + z ^ 3 + z z ^ ^ 5 + 7”,[0 3 1 2 2 5 7])将计算基础设置为8,以及指定的解扰多项式和初始条件。

例子

解码器= comm.Descrambler (___的名字价值)使用一个或多个名称-值对和前面任何一种语法设置属性。将每个属性名用单引号括起来。

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

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计(MATLAB)。

除扰程序用于模运算的输入数据范围,指定为非负整数。该对象的输入和输出是来自的整数0CalculationBase- - - - - -1

数据类型:

解码器中线性反馈移位寄存器的连接,指定为字符向量、整数向量或二进制向量。的多项式属性定义解扰器中的每个开关是打开还是关闭。指定多项式为:

  • 字符向量,如'1 + z^-6 + z^-8'.有关以这种方式指定多项式的详细信息,请参见多项式的字符表示

  • 整数向量,如[0 -6 -8]的降幂顺序列出解扰器系数z-1,在那里pz-1) = 1 +p1z-1+p2z-2+……

  • 二进制向量,如[1 0 0 0 0 0 0 1 0 1],列出的权力z出现在系数为1的多项式中。在这种情况下,解扰多项式的阶数比二进制向量的长度小1。

例子:'1 + z^-6 + z^-8'[0 -6 -8],[1 0 0 0 0 0 0 1 0 1]都表示这个多项式:

pz-1) = 1 +z6+z8

数据类型:|字符

  • “属性”参数指定解扰器初始条件InitialConditions财产。

  • 输入端口的-通过使用额外的输入参数来指定解码器初始条件,initcond,当调用对象时。

数据类型:字符

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

依赖关系

InitialConditionsSource设置为“属性”

解码器状态重置端口,指定为真正的.如果ResetInputPort真正的,您可以通过使用额外的输入参数重置descrambler对象,重置,当调用对象时。

依赖关系

InitialConditionsSource设置为“属性”

使用

语法

descrambledOut = descrambler(信号)
descrambledOut = descrambler(信号,initcond)
descrambledOut = descrambler(信号,重置)

描述

例子

descrambledOut=解码器(信号)对输入信号进行解扰。输出的数据类型和长度与输入向量相同。

例子

descrambledOut=解码器(信号initcond)提供一个附加输入,其值指定线性反馈移位寄存器的初始条件。

属性时应用此语法InitialConditionsSource对象的属性输入端口的

descrambledOut=解码器(信号重置)提供额外的输入,指示是否重置解压缩程序的状态。

属性时应用此语法InitialConditionsSource对象的属性“属性”ResetInputPort真正的

输入参数

全部展开

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

例子:descrambledOut = descrambler([0 1 1 0 1 0 0])

数据类型:|逻辑

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

例子:descrambledOut = descrambler(信号,[0 1 1 0])对应于多项式阶的解码器的可能初始寄存器状态4的计算基础2或更高版本。

数据类型:

在模拟开始时重置解码器的初始状态,指定为标量。当的值重置为非零,则在调用该对象之前将其重置。

例子:descrambledOut = descrambler(0)在不重置解扰器状态的情况下对输入信号进行解扰。

数据类型:

输出参数

全部展开

解压缩后的输出,作为具有相同数据类型和长度的列向量返回信号

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

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

例子

全部展开

打乱和解码器8元数据使用comm.Scrambler而且comm.Descrambler系统对象™具有8的计算基数。

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

N = 8;扰频器(N,'1 + z^-2 + z^-3 + z^-5 + z^-7'...[0 3 2 2 5 1 7]);descrambler = com . descrambler (N,[1 0 1 1 0 1 0 1],...[0 3 2 2 5 1 7]);

打乱和解乱随机整数。显示原始数据、置乱数据和解置乱数据序列。

data = randi([0 N-1],5,1);scrData =扰码器(数据);deScrData = descrambler(scrData);[data scrData deScrData]
ans =5×36 7 6 7 5 7 1 7 1 7 0 7 5 3 5

验证解序后的数据是否与原始数据匹配。

deScrData isequal(数据)
ans =逻辑1

在函数调用之间改变初始条件的同时,打乱和反打乱四元数据。

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

N = 4;扰频器(N,1 + z^-3“InitialConditionsSource”输入端口的);descrambler (N,1 + z^-3“InitialConditionsSource”输入端口的);

为错误向量预分配内存,该错误向量将用于存储由symerr函数。

errVec = 0 (10,1);

在改变初始条件的同时对随机整数进行打乱和反打乱,initCond,每次循环执行时。使用symerr函数确定置乱和反置乱操作是否会导致符号错误。

k = 1:10 initCond = randperm(3)';data = randi([0 N-1],5,1);scrData =扰码器(数据,initCond);deScrData = descrambler(scrData,initCond);errVec(k) = symerr(data,deScrData);结束

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

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

扩展功能

另请参阅

系统对象

在R2012a中引入

这个话题有用吗?