Generate 16 QAM signal

最后都变了- 提交于 2019-12-12 09:53:31

问题


I know the way to generate QPSK signals using the following

TxS=round(rand(1,N))*2-1;  % QPSK symbols are transmitted symbols
TxS=TxS+sqrt(-1)*(round(rand(1,N))*2-1);

In the above, the symbols are 2 alphabets +1/-1. But I cannot understand how to generate 16- Quadrature Amplitude Modulation signal for the same alphabet space? Is it possible? Or what is the usual way for generating ?

Also, is it a practice to work with complex signals and not real ?


回答1:


Take a look at this: 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);

You can also use:

TxS = (randi(4,N,1)*2-5)+i*(randi(4,N,1)*2-5)



回答2:


Yes, it's usual to work with complex numbers (representing the I/Q (in-phase/quadrature) plane) rather than real numbers. This comes from the fact that in software defined radio, you typically consider the complex base band.

Of course, you cannot represent 16 points with only two dimensions and two values in each of these. You might want to read up on digital comms theory.



来源:https://stackoverflow.com/questions/30403517/generate-16-qam-signal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!