mil188qammod

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

y = mil188qammod(x,M);

Отобразите созвездие как график поля точек.

scatterplot(y)

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

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

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

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

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

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

Figure contains an axes. The axes with title MIL188 16-QAM , UnitAveragePower=true contains 19 objects of type line, text.

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

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, как задано MIL-STD-188-110B, и выходные символы созвездия одного типа данных.

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

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

scatterplot(y)

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

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

свернуть все

Входной сигнал, заданный как скаляр, вектор или матрица. Элементами 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 - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: y = mil188qammod (данные, M, 'InputType', 'bit', '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].

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

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

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

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

свернуть все

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

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

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

Подробнее о

свернуть все

MIL-STD-188-110

MIL-STD-188-110 - стандарт Министерства обороны США для HF-связи с использованием последовательного PSK-режима как данных, так и голосовых сигналов.

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

Ссылки

[1] MIL-STD-188-110B & C: «Стандарты взаимодействия и эффективности для модемов данных». Стандарт взаимодействия Министерства обороны США.

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

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

.
Введенный в R2018a