生成 16 QAM 信号
Generate 16 QAM signal
我知道用下面的方法生成QPSK信号
TxS=round(rand(1,N))*2-1; % QPSK symbols are transmitted symbols
TxS=TxS+sqrt(-1)*(round(rand(1,N))*2-1);
上面的符号是2个字母+1/-1。
但是我不明白如何为相同的字母表 space 生成 16 正交调幅信号?可能吗?或者通常的生成方式是什么?
另外,处理复杂信号而不是真实信号是一种习惯吗?
看看这个:
http://www.mathworks.com/help/comm/ref/comm.rectangularqamdemodulator-class.html
hMod = comm.RectangularQAMModulator('ModulationOrder',16);
dataIn = randi([0 15],10000,1);
txSig = step(hMod,dataIn);
您还可以使用:
TxS = (randi(4,N,1)*2-5)+i*(randi(4,N,1)*2-5)
是的,通常使用复数(表示 I/Q (in-phase/quadrature) 平面)而不是实数。这是因为在软件无线电中,您通常会考虑复杂的基带。
当然,您不能只用两个维度和每个维度中的两个值来表示 16 个点。您可能想阅读数字通信理论。
我知道用下面的方法生成QPSK信号
TxS=round(rand(1,N))*2-1; % QPSK symbols are transmitted symbols
TxS=TxS+sqrt(-1)*(round(rand(1,N))*2-1);
上面的符号是2个字母+1/-1。 但是我不明白如何为相同的字母表 space 生成 16 正交调幅信号?可能吗?或者通常的生成方式是什么?
另外,处理复杂信号而不是真实信号是一种习惯吗?
看看这个: http://www.mathworks.com/help/comm/ref/comm.rectangularqamdemodulator-class.html
hMod = comm.RectangularQAMModulator('ModulationOrder',16);
dataIn = randi([0 15],10000,1);
txSig = step(hMod,dataIn);
您还可以使用:
TxS = (randi(4,N,1)*2-5)+i*(randi(4,N,1)*2-5)
是的,通常使用复数(表示 I/Q (in-phase/quadrature) 平面)而不是实数。这是因为在软件无线电中,您通常会考虑复杂的基带。
当然,您不能只用两个维度和每个维度中的两个值来表示 16 个点。您可能想阅读数字通信理论。