| Contents | Index |
y = gray2bin(x,modulation,M)
[y,map] = gray2bin(x,modulation,M)
y = gray2bin(x,modulation,M) generates a Gray-decoded output vector or matrix y with the same dimensions as its input parameter x. x can be a scalar, vector, or matrix. modulation is the modulation type and must be a string equal to 'qam', 'pam', 'fsk', 'dpsk', or 'psk'. M is the modulation order that can be an integer power of 2.
[y,map] = gray2bin(x,modulation,M) generates a Gray-decoded output y with its respective Gray-encoded constellation map, map.
You can use map output to label a Gray-encoded constellation. The map output gives the Gray encoded labels for the corresponding modulation. See the example below.
Note If you are converting binary coded data to Gray-coded data and modulating the result immediately afterwards, you should use the appropriate modulation object or function with the'Gray' option, instead of BIN2GRAY. |
% To Gray decode a vector x with a 16-QAM Gray encoded % constellation and return its map, use: x=randi([0 15],1,100); [y,map] = gray2bin(x,'qam',16); % Obtain the symbols for 16-QAM hMod = modem.qammod('M', 16); symbols = hMod.Constellation; % Plot the constellation scatterplot(symbols); set(get(gca,'Children'),'Marker','d','MarkerFaceColor','auto'); hold on; % Label the constellation points according % to the Gray mapping for jj=1:16 text(real(symbols(jj))-0.15,imag(symbols(jj))+0.15,... dec2base(map(jj),2,4)); end set(gca,'yTick',(-4:2:4),'xTick',(-4:2:4),... 'XLim',[-4 4],'YLim',... [-4 4],'Box','on','YGrid','on', 'XGrid','on');
The example code generates the following plot, which shows the 16 QAM constellation with Gray-encoded labeling.


Learn how to apply early verification to your development process through these technical resources.
How much time do you spend on testing to ensure implementation meets system-level requirements?
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |