主要内容

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)

图散点图包含一个坐标轴对象。带有标题散点图的axis对象包含一个类型为line的对象。该对象表示通道1。

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

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

图散点图包含一个坐标轴对象。带有标题散点图的axis对象包含一个类型为line的对象。该对象表示通道1。

使用QAM调制随机数据符号。将调制器输出归一化,使其平均信号功率为1w。

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

M = 64;x = randi([0 M-1],1000,1);

调整数据。使用“UnitAveragePower”名称-值对设置输出信号的平均功率为1w。

y = qammod (x, M,“UnitAveragePower”,真正的);

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

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

绘制出结果星座。

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

图散点图包含一个坐标轴对象。标题为64-QAM,平均功率= 1w的axes对象包含一个类型为line的对象。该对象表示通道1。

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

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

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

调整数据,绘制星座图。默认的符号映射使用Gray排序。这些点的顺序不是连续的。

y = qammod (d, M,“PlotConstellation”,真正的);

图中包含一个axes对象。标题为16-QAM,灰色映射,UnitAveragePower=false的axes对象包含19个类型为line, text的对象。

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

z = qammod (d, M,“本”“PlotConstellation”,真正的);

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

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

smap = randperm (M) 1;

调整和绘制星座。

w = qammod (d, M,大声叫嚷,“PlotConstellation”,真正的);

图中包含一个axes对象。标题为16-QAM,自定义映射,UnitAveragePower=false的axes对象包含19个类型为line, text的对象。

使用64-QAM调制位序列。把信号通过一个有噪声的通道。显示生成的星座图。

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

M = 64;k = log2 (M);

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

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

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

txSig = qammod(数据、米“InputType”“一点”“UnitAveragePower”,真正的);

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

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,“本”“InputType”“一点”“OutputDataType”...numerictype(10) 1, 16日);

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

z = qamdemod (y、M、“本”“OutputType”“一点”);s = isequal (x,双(z))
s =逻辑1

输入参数

全部折叠

输入信号,指定为标量、向量、矩阵或3-D数组。x的元素必须是二进制值或整数,范围从0到(- 1),是调制阶。

请注意

若要将输入信号作为二进制元素处理,请将InputType'名称-值对“一点”.对于二进制输入,行数必须是的整数倍日志2.组日志2位被映射到一个符号上,第一个位表示MSB,最后一个位表示LSB。

数据类型:||fi|int8|int16|uint8|uint16

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

例子:16

数据类型:

符号顺序,指定为“灰色”“本”,或者一个向量。

  • “灰色”——使用格雷码订购

  • “本”-使用自然二进制编码顺序

  • Vector -使用自定义符号排序

向量必须使用唯一的元素,其值范围从0到- 1。第一个元素对应于星座的左上角点,随后的元素从左到右依次向下排列。

例子:[0 3 1 2]

数据类型:字符|

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

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

输入类型,指定为逗号分隔的对,由“InputType”,要么“整数”“一点”.如果您指定“整数”,输入信号必须由0到的整数组成- 1。如果您指定“一点”,输入信号必须包含二进制值,并且行数必须是的整数倍日志2

数据类型:字符

单位平均功率标志,指定为逗号分隔的对,由“UnitAveragePower”和一个数字或逻辑0)或1真正的).当这个标志是1真正的),该函数将星座的平均功率缩放为1瓦(参考1欧姆)。当这个标志是0),该函数缩放星座,使QAM星座点之间的最小距离为两个。

输出数据类型,指定为逗号分隔的对,由“OutputDataType”和一个numerictype对象。

有关构造这些对象的更多信息,请参见numerictype(定点设计师).如果不指定“OutputDataType”,数据类型为如果输入是数据类型或内置整数和如果输入是数据类型

选项来绘制星座,指定为逗号分隔的对,由“PlotConstellation”和一个数字或逻辑0)或1真正的)要绘制QAM星座,设置“PlotConstellation”真正的

输出参数

全部折叠

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

数据类型:|

更多关于

全部折叠

格雷码

一个格雷码,也称为反射二进制码,是一种相邻星座点的位模式仅相差一位的系统。

扩展功能

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

版本历史

之前介绍过的R2006a

全部展开

Baidu
map