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 = mean(abs(y).^2)
avgPower = 1.0070
绘制结果星座。
散点图(y)标题('64-QAM,平均功率= 1 W')
符号排序
为灰色、二进制和自定义符号映射绘制QAM星座。
设置调制顺序,并创建包含调制方案的完整符号集的数据序列。
M = 16;d = [0:M-1];
调制数据,并绘制其星座。默认的符号映射使用灰色排序。点的顺序不是连续的。
y = qammod(d,M,“PlotConstellation”,真正的);
用二进制符号映射重复调制过程。符号映射遵循自然二进制顺序并且是连续的。
z = qammod(d,M,“本”,“PlotConstellation”,真正的);
创建一个自定义符号映射。
smap = randperm(M)-1;
调制和绘制星座。
w = qammod(d,M,smap,“PlotConstellation”,真正的);
位输入的正交振幅调制
使用64-QAM调制一个比特序列。把信号通过有噪声的信道传送。显示结果星座图。
设置调制顺序,并确定每个符号的比特数。
M = 64;k = log2(M);
创建二进制数据序列。当使用二进制输入时,输入中的行数必须是每个符号位数的整数倍。
数据= randi([0 1],1000*k,1);
使用位输入调制信号,并将其设置为具有单位平均功率。
txSig = qammod(data,M,“InputType”,“一点”,“UnitAveragePower”,真正的);
把信号通过有噪声的信道传送。
rxSig = awgn(txSig,25);
绘制星座图。
cd = com .星座图(“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,double(z))
s =逻辑1
输入参数
米
- - - - - -调制顺序
标量整数
调制顺序,指定为2的幂标量整数。调制顺序指定信号星座中的点数。
例子:16
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:y = qammod(x,M,symOrder,'InputType','bit')
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++代码。
版本历史
R2006a之前介绍MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。