bin2gray

(Чтобы быть удаленным), Преобразуют положительные целые числа в соответствующие целые числа в коде Грэя

bin2gray будет удален в будущем релизе. Вместо этого используйте соответствующий объект модуляции или функцию, чтобы повторно сопоставить точки созвездия. Для получения дополнительной информации см. Вопросы совместимости.

Описание

y = bin2gray(x,modulation,M) генерирует серо-закодированный вектор или матрицу выход y с теми же размерностями как его входной параметр xX может быть скаляр, вектор, матрица или трехмерный массив. modulation тип модуляции и должен быть 'qam', 'pam', 'fsk', 'dpsk', или 'psk'M порядок модуляции и должна быть целочисленная степень 2.

Примечание

Если вы преобразуете двоично-кодированные данные в серо-закодированные данные и модулируете результат сразу впоследствии, необходимо использовать соответствующий объект модуляции или функцию с 'Gray' опция, вместо bin2gray.

пример

[y,map] = bin2gray(x,modulation,M) генерирует серо-закодированный выход y с его соответствующей серо-закодированной картой созвездия, map.

Можно использовать, сопоставляют выход, чтобы маркировать созвездие Gray-encoded. Карта выход дает серо-закодированные метки для соответствующей модуляции.

Примеры

свернуть все

В этом примере показано, как использовать bin2gray, и gray2bin функционирует, чтобы сопоставить целочисленные входные параметры от естественного бинарного отображения символа порядка до серо-закодированного сигнального созвездия и наоборот, принимая 16-QAM модуляцию. Кроме того, визуальное представление различия между серо-закодированными и двоично кодированными отображениями символа показывают.

Создайте полный вектор из 16-QAM целых чисел. Преобразуйте входной вектор от естественного бинарного порядка до серо-закодированного векторного использования bin2gray. Преобразуйте Серый в Бинарное Преобразование серо-закодированные символы, y, назад к двоичному использованию упорядоченного расположения gray2bin. Проверьте что исходные данные, x, и вектор окончательного результата, z, идентичны.

M = 16;
x = (0:M-1);
[y,mapy] = bin2gray(x,'qam',M);
z = gray2bin(y,'qam',M);
isequal(x,z)
ans = logical
   1

Покажите отображения символа. Чтобы создать график созвездия, показывающий различные отображения символа, используйте qammod функционируйте, чтобы найти комплексные значения символа. Постройте символы созвездия и пометьте их использующий Серый (y) и двоичный файл (z) выходные векторы. Бинарное представление серо-закодированных символов отображают черным цветом, и бинарное представление естественно упорядоченных символов отображают красным. Установите масштабирование осей так, чтобы все точки были отображены.

sym = qammod(x,M);
scatterplot(sym,1,0,'b*');
for k = 1:16 
    text(real(sym(k))-0.3,imag(sym(k))+0.3,... 
        dec2base(mapy(k),2,4)); 
    text(real(sym(k))-0.3,imag(sym(k))-0.3,... 
        dec2base(z(k),2,4),'Color',[1 0 0]);
end
axis([-4 4 -4 4])

Sscatterplot showing Gray and natural binary mapping

Входные параметры

свернуть все

Введите закодированные двоичным файлом данные в виде вектора или матрицы.

Типы данных: double

Тип модуляции в виде, 'qam', 'pam', 'fsk', 'dpsk', или 'psk'

Порядок модуляции в виде целочисленной степени 2.

Типы данных: double

Выходные аргументы

свернуть все

Серо-закодированные данные с тем же размером и входом x размерностей.

Карта выход, чтобы маркировать созвездие Gray-encoded в виде вектора с длиной размером порядка модуляции, M. Карта дает серо-закодированные метки для соответствующей модуляции.

Вопросы совместимости

развернуть все

Предупреждает запуск в R2021b

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте