文档帮助中心文档
正交幅度调制(QAM)
y = qammod(x,m)
y = qammod (x, M, symOrder)
y = qammod (___,名称,价值)
例子
y= qammod(x,米)调制输入信号x采用具有指定调制顺序的QAM米.输出y是调制信号。
y= qammod(x,米)
y
x
米
y= qammod(x,米,symorder.)指定符号顺序。
y= qammod(x,米,symorder.)
symorder.
y= qammod(___,名称,价值)除了前面语法中的任何输入参数组合外,还使用名称-值对参数指定选项。
y= qammod(___,名称,价值)
名称,价值
全部收缩
使用QAM调制数据并在散点图中显示结果。
将调制顺序设置为16,并创建一个包含每个可能符号的数据向量。
M = 16;x = (0: m - 1)”;
调节数据使用qammod函数。
qammod
y = qammod (x, M);
显示调制信号星座使用散点图函数。
散点图
散点图(y)
设置调制顺序为256,显示被调制信号的散点图。
M = 256;x = (0: m - 1)”;y = qammod (x, M);散点图(y)
使用QAM调制随机数据符号。对调制器输出进行归一化,使其具有1 W的平均信号功率。
设置调制顺序并生成随机数据。
M = 64;X = RANDI([0 m-1],1000,1);
调制数据。使用'onemaveragepower'名称-值对设置输出信号的平均功率为1w。
'onemaveragepower'
y = qammod(x,m,'onemaveragepower',真正的);
确认信号具有单位平均功率。
avgPower =意味着(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,'bin','plotconstellation',真正的);
创建一个自定义符号映射。
smap = randperm(m)-1;
调整并绘制星座图。
w = qammod (d, M,大声叫嚷,'plotconstellation',真正的);
使用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,并确定每个符号的比特数。
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
双倍的
单
fi
int8
INT16
uint8
uint16
调制顺序,指定为2的幂标量整数。调制顺序指定了信号星座中的点的数量。
例子:16
16
数据类型:双倍的
“灰色”
'bin'
符号顺序,指定为“灰色”,'bin',或矢量。
“灰色”- 用灰色代码订购
'bin'-使用自然二进制编码排序
向量-使用自定义符号排序
向量必须使用值范围为0到的唯一元素米- 1.第一个元素对应于星座的左上点,随后从左到右运行列。
例子:[0 3 1 2]
数据类型:char|双倍的
char
指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值为对应值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
y = qammod (x, M, symOrder,“InputType”,“点”)
'整数'
输入类型,指定为逗号分隔的对,由'输入类型'和任何一个'整数'或'少量'.如果您指定'整数',输入信号必须由0到0的整数组成米- 1.如果您指定'少量',输入信号必须包含二进制值,行数必须是整数倍数日志2(米).
'输入类型'
数据类型:char
IntenAveragePower.
假
0
真的
1
单位平均电源标志,指定为逗号分隔对组成'onemaveragepower'和一个数字或逻辑0(假) 或者1(真的).当这面旗帜1(真的),该功能将星座缩放到引用1欧姆的一个瓦特的平均功率。当这面旗帜0(假),该功能缩放了星座,使得QAM星座点分开的最小距离。
OutputDataType
numerictype
输出数据类型,指定为由逗号分隔的对组成的'outputdatatype'和一个numerictype对象。
'outputdatatype'
有关构造这些对象的更多信息,请参见numerictype(定点设计师).如果您未指定'outputdatatype',数据类型是双倍的如果输入是数据类型双倍的或内置整数和单如果输入是数据类型单.
plotconstellation
绘制星座的选项,指定为逗号分隔的配对'plotconstellation'和一个数字或逻辑0(假) 或者1(真的)绘制QAM星座,设置'plotconstellation'来真的.
'plotconstellation'
调制信号,以复标量、矢量、矩阵或数值的三维数组返回。对于整数输入,输出y与输入信号的尺寸相同吗x.对于位输入,输入的行数y行数是多少x除以日志2(米).
数据类型:双倍的|单
一个灰色代码,也称为反射二进制码,是指相邻星座点的位模式仅相差一位的系统。
展开全部
错误开始于R2018b
从R2018B开始,您可以使用使用的QAM星座的初始阶段抵消qammod函数。
而是使用genqammod来抵消被调制数据的初始相位,或者你可以乘以qammod通过所需的初始阶段输出:
genqammod
y = qammod(x,m)。* exp(1i * initphase)
qamdemod|genqammod|genqamdemod|pammod|pamdemod|modnorm
qamdemod
genqamdemod
pammod
pamdemod
modnorm
您拥有此示例的修改版本。您是否希望使用您的编辑打开此示例?
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系您当地的办公室