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 целых чисел.

M = 16;
x = (0:M-1);

Преобразуйте входной вектор от естественного бинарного порядка до серо-закодированного вектора с помощью bin2gray.

[y,mapy] = bin2gray(x,'qam',M);

Преобразуйте серый в двоичный файл

Преобразуйте серо-закодированные символы, y, назад к двоичному упорядоченному расположению с помощью gray2bin.

z = gray2bin(y,'qam',M);

Проверьте что исходные данные, x, и вектор окончательного результата, z, идентичны.

isequal(x,z)
ans = logical
   1

Покажите отображения символа

Чтобы создать график созвездия, показывающий различные отображения символа, используйте qammod функционируйте, чтобы найти комплексные значения символа.

sym = qammod(x,M);

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

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])

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

свернуть все

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

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

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

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

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

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

свернуть все

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

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

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

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

Не рекомендуемый запуск в R2020a

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

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

Представлено до R2006a

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