mil188qammod

Миллиметр STD-188 110 B/C стандартно-специфичная квадратурная амплитудная модуляция (QAM)

Синтаксис

y = mil188qammod(x,M)
y = mil188qammod(x,M,Name,Value)

Описание

пример

y = mil188qammod(x,M) выполняет модуляцию QAM на входном сигнале, x, в соответствии с миллиметром STD-188 110 и порядком модуляции, M. Для получения дополнительной информации смотрите миллиметр STD-188 110.

пример

y = mil188qammod(x,M,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'OutputDataType','double' задает желаемый тип выходных данных как дважды. Задайте аргументы пары "имя-значение" после всех других входных параметров.

Примеры

свернуть все

Модулируйте данные, использующие 32-QAM, как задано в стандарте MIL-188-110C. Отобразите результат с помощью графика рассеивания.

Установите M на 32 и создайте вектор данных, содержащий все возможные символы.

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

Модулируйте данные с помощью QAM, как задано в миллиметре STD-188 110C.

y = mil188qammod(x,M);

Отобразите совокупность как график рассеивания.

scatterplot(y)

Модулируйте данные, использующие 16-QAM, как задано в стандарте миллиметра STD-188 110B. Нормируйте модулятор вывод так, чтобы это имело среднюю силу сигнала 1 Вт.

Установите M и сгенерируйте случайные данные.

M = 16;
x = randi([0 M-1],1e5,1);

Модулируйте данные, применяющиеся 16-QAM, как задано в миллиметре STD-188 110B. Используя пары "имя-значение", устанавливает модульная средняя степень на true и включать график совокупности.

y = mil188qammod(x,M,'UnitAveragePower',true,'PlotConstellation',true);

Проверьте, что сигнал имеет приблизительно модульную среднюю силу.

avgPow = mean(abs(y).^2)
avgPow = 1.0012

Модулируйте последовательность битов, использующих 64-QAM, как задано MIL-STD188-110B. Отобразите совокупность.

Установите порядок модуляции и сгенерируйте последовательность случайных битов.

M = 64;
numBitsPerSym = log2(M);
data = randi([0 1],1000*numBitsPerSym,1);

Модулируйте данные, применяющиеся 64-QAM, как задано миллиметром STD-188 110B, и выведите символы совокупности одного типа данных.

y = mil188qammod(data,M,'InputType','bit','OutputDataType','single');

Постройте совокупность результата с помощью графика рассеивания.

scatterplot(y)

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

свернуть все

Входной сигнал, заданный как скаляр, вектор или матрица. Элементы x должны быть двоичными значениями или целыми числами, которые колеблются от 0 до (M – 1), где M является порядком модуляции.

Примечание

К входному сигналу процесса как двоичные элементы, установленные значение 'InputType' к 'bit'. Для двоичных входов количество строк должно быть целочисленным кратным log2 (M). Группы log2 (M) биты в столбце сопоставлены на символ с первым битом, представляющим MSB и последний бит, представляющий LSB.

Типы данных: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

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

Пример: 16

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: y = mil188qammod (данные, M, 'InputType', 'бит', 'OutputDataType', 'single');

Введите тип, заданный как пара, разделенная запятой, состоящая из 'InputType' и или 'integer' или 'bit'. Если вы задаете 'integer', входной сигнал должен состоять из целых чисел от 0 до M – 1. Если вы задаете 'bit', входной сигнал должен содержать двоичные значения, и количество строк должно быть целочисленным кратным log2 (M).

Типы данных: char | string

Тип выходных данных, заданный как пара, разделенная запятой, состоящая из OutputDataType и 'double' или 'single'.

Типы данных: char | string

Модульный средний флаг степени, заданный как пара, разделенная запятой, состоящая из 'UnitAveragePower' и логического скаляра. Когда этим флагом является true, функция масштабирует совокупность к средней степени 1 ватта, на который ссылаются к 1 Ому. Когда этим флагом является false, функция масштабирует совокупность на основе спецификаций в соответствующем стандарте, как описано в [1].

Типы данных: логический

Опция, чтобы построить совокупность, заданную как пара, разделенная запятой, состоящая из 'PlotConstellation' и логического скаляра. Чтобы построить совокупность, установите PlotConstellation на true.

Типы данных: логический

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

свернуть все

Модулируемый сигнал, возвращенный как комплексный скаляр, вектор или матрица. Размерность вывода зависит от заданного значения InputType.

InputTypeРазмерности Вывода
'integer'y имеет те же размерности как вход x.
'bit'Количество строк в y равняется количеству строк в x, разделенном на log2 (M).

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

Больше о

свернуть все

Миллиметр STD-188 110

Миллиметр STD-188 110 является стандартом Министерства обороны США для коммуникаций HF с помощью последовательного режима PSK и данных и речевых сигналов.

Стандарт задает схемы модуляции физического уровня коммуникаций тактического и долгого пути. Схема модуляции, заданная стандартом, является соединением QAM и APSK. Для подробного описания схемы модуляции см. [1].

Ссылки

[1] Миллиметр STD-188 110B & C: "Функциональная совместимость и стандарты производительности для модемов данных". Стандарт интерфейса министерства обороны, США.

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

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

Смотрите также

Функции

Системные объекты

Введенный в R2018a