文档

comm.RectangularQAMTCMDemodulator系统对象

解调卷积编码数据映射到矩形QAM信号星座

描述

RectangularQAMTCMDemodulator对象使用维特比算法解码网格编码调制(TCM)信号,该信号先前使用矩形QAM信号星座调制。

解调映射到矩形QAM信号星座的卷积编码数据:

  1. 定义和设置矩形QAM TCM解调器对象。看到建设

  2. 调用一步的性质来解调信号comm.RectangularQAMTCMDemodulator.的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行由System对象™定义的操作,您可以调用带有参数的对象,就像调用函数一样。例如,y =步骤(obj, x)而且y = obj (x)执行相同操作。

建设

H = comm.RectangularQAMTCMDemodulator创建一个网格编码的矩形正交振幅(QAM TCM)解调器系统对象,H.该对象解调已映射到矩形QAM星座的卷积编码数据。

H = comm.RectangularQAMTCMDemodulator (的名字价值创建一个矩形,QAM TCM,解调器对象,H,每个指定的属性设置为指定的值。可以以任意顺序指定附加的名称-值对参数,如(Name1Value1、……).

H = comm.RectangularQAMTCMDemodulator(格子,的名字价值创建一个矩形QAM TCM解调器对象,H.该对象具有TrellisStructure属性设置为格子,并将其他指定属性设置为指定的值。

属性

TrellisStructure

卷积代码的网格结构

指定网格作为MATLAB®结构,该结构包含卷积代码的网格描述。使用istrellis函数检查结构是否是有效的格。的结果poly2trellis[3 1 1], [5 2 0 0;0 0 1 0;0 0 0 1]).

TerminationMethod

编码帧的终止方法

指定终止方法为连续|截断|终止.默认值是连续

当您将此属性设置为连续,该对象在每帧结束时保存内部状态度量。下一帧使用相同的状态度量。对象独立地处理每个回溯路径。如果输入信号只包含一个符号,您应该使用连续模式。

当您将此属性设置为截断,对象独立处理每个输入向量。回溯路径从具有最佳度量的状态开始,总是以全零状态结束。

当您将此属性设置为终止,对象独立处理每个输入向量,并且回溯路径总是以全零状态开始和结束。

TracebackDepth

维特比解码器的回溯深度

指定用于构造每个回溯路径的网格分支的标量整数数。默认值是21.回溯深度参数影响解码的精度和时延。解码延迟是输出中第一个解码符号之前的零符号的数目。

当你设置TerminationMethod财产连续,解码延迟由TracebackDepth零符号或TracebackDepth组成 × K零比特表示速率K/N卷积码。

当你设置TerminationMethod财产截断终止,则不会出现输出延迟,并且回溯深度必须小于或等于每个输入向量中的符号数。

ResetInputPort

启用解调器复位输入

将此属性设置为真正的控件的附加输入一步方法。默认值是.当这个额外的重置输入是非零值时,编码器的内部状态重置为初始条件。属性时应用此属性TerminationMethod财产连续

ModulationOrder

信号星座中的点数

指定信号星座中用于将卷积编码数据映射为正整数标量值的点数。点数必须是481632,或64.默认值是16.的ModulationOrder属性值必须等于矩形QAM TCM解调器对象的卷积解码器的可能输入符号的数量。的ModulationOrder必须等于2N对于一个速度K/N卷积码。

OutputDataType

输出的数据类型

指定输出数据类型为逻辑|.默认值是

方法

重置 矩形QAM TCM解调器对象的重置状态
一步 解调卷积编码数据映射到矩形QAM星座
通用于所有系统对象
释放

允许系统对象属性值更改

例子

全部展开

在AWGN信道中使用16-QAM TCM调制和解调数据。估计的系统。

创建QAM TCM调制器和解调器系统对象™。

hMod = comm.RectangularQAMTCMModulator;hDemod = comm.RectangularQAMTCMDemodulator (“TracebackDepth”16);

创建一个AWGN通道对象。

hAWGN = comm.AWGNChannel (“EbNo”,5);

通过QAM TCM解调器确定延时。解调器采用维特比算法对矩形QAM调制的TCM信号进行解码。为了准确计算误码率,必须知道通过解码器的延迟。

bitsPerSymbol = log2 (hDemod.TrellisStructure.numInputSymbols);延迟= hDemod.TracebackDepth * bitsPerSymbol;

方法创建错误率计算器对象ReceiveDelay属性设置为延迟

hErrorCalc = comm.ErrorRate (“ReceiveDelay”、延迟);

生成二进制数据并使用16-QAM TCM进行调制。将信号通过AWGN通道并解调。计算错误统计信息。循环运行,直到遇到100位错误或传输1e7位为止。

初始化错误结果向量。errStats = [0 0 0];errStats(2) < 100 && errStats(3) < 1e7传输200个3位符号的帧txData = randi([0 1],600,1);%调节txSig =步骤(hMod txData);%通过AWGN通道rxSig =步骤(hAWGN txSig);%解调rxData =步骤(hDemod rxSig);%收集错误统计信息errStats =步骤(hErrorCalc txData rxData);结束

显示错误数据。

流('错误率= %4.2e\n错误数= %d\n'...errStats errStats (1), (2))
错误率= 1.94e-03错误数= 100

算法

类中描述的算法、输入和输出矩形QAM TCM解码器块引用页面。对象属性对应于块参数。

扩展功能

介绍了R2012a

这个话题有帮助吗?