Convert positive integers into corresponding Gray-encoded integers

`y = bin2gray(x,modulation,M)`

[y,map] = bin2gray(x,modulation,M)

`y = bin2gray(x,modulation,M)`

generates a
Gray-encoded vector or matrix output `y`

with the same dimensions as
its input parameter `x`

. `x`

can be a scalar, vector,
matrix, or 3-D array. `modulation`

is the modulation type and must be
`'qam'`

, `'pam'`

, `'fsk'`

,
`'dpsk'`

, or `'psk'`

. `M`

is the
modulation order that can be an integer power of 2.

`[y,map] = bin2gray(x,modulation,M)`

generates a
Gray-encoded 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.

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`

.