qammod
正交调幅(QAM)
描述
例子
使用QAM调制数据
使用QAM调制数据并在散点图中显示结果。
将调制顺序设置为16,并创建一个包含每个可能符号的数据向量。
M = 16;x = (0: m - 1)”;
方法调制数据qammod
函数。
y = qammod (x, M);
显示调制信号星座使用散点图
函数。
散点图(y)
设置调制顺序为256,显示调制信号的散点图。
M = 256;x = (0: m - 1)”;y = qammod (x, M);散点图(y)
用平均功率归一化QAM信号
使用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 ')
QAM象征订购
绘制灰色、二进制和自定义符号映射的QAM星座。
设置调制顺序,并创建包含调制方案的完整符号集的数据序列。
M = 16;d = [0 m - 1):;
调整数据,绘制星座图。默认的符号映射使用Gray排序。这些点的顺序不是连续的。
y = qammod (d, M,“PlotConstellation”,真正的);
用二进制符号映射重复调制过程。符号映射遵循自然二进制顺序,是连续的。
z = qammod (d, M,“本”,“PlotConstellation”,真正的);
创建一个自定义符号映射。
smap = randperm (M) 1;
调整和绘制星座。
w = qammod (d, M,大声叫嚷,“PlotConstellation”,真正的);
带位输入的正交振幅调制
使用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定点信号
解调一个定点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
输入参数
米
- - - - - -调制顺序
标量整数
调制顺序,指定为二次方的标量整数。调制顺序指定了信号星座中点的数量。
例子:16
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:y = qammod (x, M, symOrder,“InputType”,“点”)
InputType
- - - - - -输入类型
“整数”
(默认)|“一点”
输入类型,指定为逗号分隔的对,由“InputType”
,要么“整数”
或“一点”
.如果您指定“整数”
,输入信号必须由0到的整数组成米
- 1。如果您指定“一点”
,输入信号必须包含二进制值,并且行数必须是的整数倍日志2(米
).
数据类型:字符
UnitAveragePower
- - - - - -单位平均功率标志
假
或0
(默认)|真正的
或1
单位平均功率标志,指定为逗号分隔的对,由“UnitAveragePower”
和一个数字或逻辑0
(假
)或1
(真正的
).当这个标志是1
(真正的
),该函数将星座的平均功率缩放为1瓦(参考1欧姆)。当这个标志是0
(假
),该函数缩放星座,使QAM星座点之间的最小距离为两个。
OutputDataType
- - - - - -输出数据类型
numerictype
对象
输出数据类型,指定为逗号分隔的对,由“OutputDataType”
和一个numerictype
对象。
有关构造这些对象的更多信息,请参见numerictype
(定点设计师).如果不指定“OutputDataType”
,数据类型为双
如果输入是数据类型双
或内置整数和单
如果输入是数据类型单
.
PlotConstellation
- - - - - -绘制星座的选项
假
或0
(默认)|真正的
或1
选项来绘制星座,指定为逗号分隔的对,由“PlotConstellation”
和一个数字或逻辑0
(假
)或1
(真正的
)要绘制QAM星座,设置“PlotConstellation”
来真正的
.
输出参数
更多关于
格雷码
一个格雷码,也称为反射二进制码,是一种相邻星座点的位模式仅相差一位的系统。
扩展功能
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
版本历史
之前介绍过的R2006aMATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。