Introduction - If you have any usage issues, please Google them yourself
/* A C++ version of Matlab's qamdemod(y, M, varargin)
* Align each symbol to the nearest constellation points by minimum Euclidean distance.
* The function only consider rectanglular constellation diagram and grey code.
* The input is assumed to have been downconverted into baseband.
* I is the I component of phase and Q is the Q component of phase.
* The I and Q should be NxM or 1xM matrix/vector, in which the N indicate the subchannels and M indicates the symbols.
* The function treats each row as a subchannel and normalizes them respectively.
*/