主要内容

qammod

正交幅度调制(QAM)

描述

例子

y= qammod(x调制输入信号x采用具有指定调制顺序的QAM.输出y是调制信号。

例子

y= qammod(xsymorder.指定符号顺序。

例子

y= qammod(___名称,价值除了前面语法中的任何输入参数组合外,还使用名称-值对参数指定选项。

例子

全部收缩

使用QAM调制数据并在散点图中显示结果。

将调制顺序设置为16,并创建一个包含每个可能符号的数据向量。

M = 16;x = (0: m - 1)”;

调节数据使用qammod函数。

y = qammod (x, M);

显示调制信号星座使用散点图函数。

散点图(y)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。这个对象表示通道1。

设置调制顺序为256,显示被调制信号的散点图。

M = 256;x = (0: m - 1)”;y = qammod (x, M);散点图(y)

图散点图包含一个轴对象。标题为Scatter plot的axes对象包含一个类型为line的对象。这个对象表示通道1。

使用QAM调制随机数据符号。对调制器输出进行归一化,使其具有1 W的平均信号功率。

设置调制顺序并生成随机数据。

M = 64;X = RANDI([0 m-1],1000,1);

调制数据。使用'onemaveragepower'名称-值对设置输出信号的平均功率为1w。

y = qammod(x,m,'onemaveragepower',真正的);

确认信号具有单位平均功率。

avgPower =意味着(abs (y) ^ 2)。
avgPower = 1.0070

绘制得到的星座。

散点图(y)标题('64 -QAM,平均功率= 1 w'

图散点图包含一个轴对象。具有标题64-QAM的轴对象,平均功率= 1 W包含类型线的对象。这个对象表示通道1。

绘制灰色、二进制和自定义符号映射的QAM星座。

设置调制顺序,并创建包含调制方案的一组完整符号的数据序列。

M = 16;d = [0 m - 1):;

调制数据,并绘制其星座。默认符号映射使用灰色排序。点的排序不是顺序。

y = qammod(d,m,'plotconstellation',真正的);

图中包含一个轴对象。标题为16-QAM, Gray Mapping, UnitAveragePower=false的轴对象包含19个类型为line, text的对象。

用二进制符号映射重复调制过程。符号映射遵循自然的二进制顺序,并且是连续的。

z = qammod (d, M,'bin''plotconstellation',真正的);

图中包含一个轴对象。具有标题16-QAM的轴对象,二进制映射,UnitaVeragePower = False包含19个类型的类型,文本的19个对象。

创建一个自定义符号映射。

smap = randperm(m)-1;

调整并绘制星座图。

w = qammod (d, M,大声叫嚷,'plotconstellation',真正的);

图中包含一个轴对象。带有标题16-QAM的轴对象,自定义映射,UnitaVeragePower = false包含19个类型的类型,文本。

使用64 QAM调制一系列比特。通过一个有噪声的信道传递信号。显示结果星座图。

设置调制顺序,并确定每个符号的比特数。

M = 64;k = log2(m);

创建二进制数据序列。使用二进制输入时,输入中的行数必须是每个符号位数的整数倍数。

数据= randi([0 1],1000*k,1);

使用位输入调制信号,并将其设置为单位平均功率。

txSig = qammod(数据、米'输入类型''少量''onemaveragepower',真正的);

通过一个有噪声的信道传递信号。

rxsig = awgn(txsig,25);

绘制星座图。

cd = comm.ConstellationDiagram (“ShowReferenceConstellation”,错误的);CD(rxsig)

解调定点QAM信号,验证数据恢复正确。

设置调制顺序作为64,并确定每个符号的比特数。

M = 64;bitsPerSym = log2 (M);

生成随机位。在以位模式下工作时,输入数据的长度必须是每个符号位数的整数倍数。

x = randi([0 1],10 * bitspersym,1);

使用二进制符号映射调制输入数据。将调制器设置为输出定点数据。数字数据类型以16位字长和10位分数长进行签名。

y = qammod(x,m,'bin''输入类型''少量''outputdatatype'...numerictype(10) 1, 16日);

解调64 QAM信号。验证解调的数据是否与输入数据匹配。

z = qamdemod (y、M、'bin'“OutputType”'少量');s = isequal(x,double(z))
s =逻辑1

输入参数

全部收缩

输入信号,指定为标量、矢量、矩阵或三维阵列。x的元素必须是取值范围为0到(- 1),是调制顺序。

请注意

要处理输入信号作为二进制元素,请设置“输入类型名称-值对'少量'.对于二进制输入,行数必须是的整数倍日志2.群体日志2位映射到一个符号上,第一个位表示MSB,最后一个位表示LSB。

数据类型:双倍的||fi|int8|INT16|uint8|uint16

调制顺序,指定为2的幂标量整数。调制顺序指定了信号星座中的点的数量。

例子:16

数据类型:双倍的

符号顺序,指定为“灰色”'bin',或矢量。

  • “灰色”- 用灰色代码订购

  • 'bin'-使用自然二进制编码排序

  • 向量-使用自定义符号排序

向量必须使用值范围为0到的唯一元素- 1.第一个元素对应于星座的左上点,随后从左到右运行列。

例子:[0 3 1 2]

数据类型:char|双倍的

名称-值参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值为对应值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:y = qammod (x, M, symOrder,“InputType”,“点”)

输入类型,指定为逗号分隔的对,由'输入类型'和任何一个'整数''少量'.如果您指定'整数',输入信号必须由0到0的整数组成- 1.如果您指定'少量',输入信号必须包含二进制值,行数必须是整数倍数日志2

数据类型:char

单位平均电源标志,指定为逗号分隔对组成'onemaveragepower'和一个数字或逻辑0) 或者1真的).当这面旗帜1真的),该功能将星座缩放到引用1欧姆的一个瓦特的平均功率。当这面旗帜0),该功能缩放了星座,使得QAM星座点分开的最小距离。

输出数据类型,指定为由逗号分隔的对组成的'outputdatatype'和一个numerictype对象。

有关构造这些对象的更多信息,请参见numerictype(定点设计师).如果您未指定'outputdatatype',数据类型是双倍的如果输入是数据类型双倍的或内置整数和如果输入是数据类型

绘制星座的选项,指定为逗号分隔的配对'plotconstellation'和一个数字或逻辑0) 或者1真的)绘制QAM星座,设置'plotconstellation'真的

输出参数

全部收缩

调制信号,以复标量、矢量、矩阵或数值的三维数组返回。对于整数输入,输出y与输入信号的尺寸相同吗x.对于位输入,输入的行数y行数是多少x除以日志2

数据类型:双倍的|

更多关于

全部收缩

灰色代码

一个灰色代码,也称为反射二进制码,是指相邻星座点的位模式仅相差一位的系统。

兼容性考虑因素

展开全部

错误开始于R2018b

扩展功能

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2006A之前介绍