exponenta event banner

dvbsapskmod

DVB-S2/S2X/SH модуляция со стандартной амплитудной фазовой манипуляцией (APSK)

Описание

пример

y = dvbsapskmod(x,M,stdSuffix) осуществляет модуляцию APSK на входном сигнале, x, в соответствии со стандартом цифрового видеотрансляции (DVB), идентифицированным stdSuffix и порядок модуляции, M.

пример

y = dvbsapskmod(x,M,stdSuffix,codeIDF) задает идентификатор кода, codeIDF, для использования при выборе параметров модуляции.

пример

y = dvbsapskmod(x,M,stdSuffix,codeIDF,frameLength) определяет codeIDF и frameLength используется при выборе параметров модуляции.

пример

y = dvbsapskmod(___,Name,Value) задает параметры, использующие один или несколько аргументов пары имя-значение, используя любой из предыдущих синтаксисов. Например, 'OutputDataType','double' задает требуемый тип выходных данных как двойной. Укажите аргументы пары имя-значение после всех других входных аргументов.

Примеры

свернуть все

Смодулируйте данные, используя определенную 32-APSK схему модуляции стандарта DVB-S2X. Отображение результата на графике разброса.

Установите порядок модуляции и суффикс, идентифицирующий стандарт DVB-S2X. Создайте вектор данных со всеми возможными символами.

M = 32;
stdSuffix = 's2x';
x = (0:M-1);

Модулировать данные.

y = dvbsapskmod(x,M,stdSuffix);

Отображение созвездия с помощью графика рассеяния.

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.

Модулировать данные с помощью 64-APSK, как указано в стандарте DVB-S2X. Группировка графиков для различных идентификаторов кода.

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

M = 64;
std = 's2x';
x = randi([0 M-1],1000,1);

Модулировать данные в соответствии с 64-APSK совокупностью для кодового идентификатора 7/9 и построить график опорной совокупности.

y1 = dvbsapskmod(x,M,std,'7/9','PlotConstellation',true);

Figure contains an axes. The axes with title DVB-S2x 64(8+16+20+20)-APSK with Code Rate 7/9, UnitAveragePower=false contains 67 objects of type line, text.

Модулировать установку идентификатора кода на 132/180 и наблюдать различия в структуре созвездия.

y2 = dvbsapskmod(x,M,std,'132/180','PlotConstellation',true);

Figure contains an axes. The axes with title DVB-S2x 64(4+12+20+28)-APSK with Code Rate 132/180, UnitAveragePower=false contains 67 objects of type line, text.

Модулировать данные, используя 16-APSK, указанные в стандарте DVB-S2 для обычной и короткой длины кадра. Вычислите мощность выходного сигнала.

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

M = 16;
std = 's2';
x = randi([0 1],1000*log2(M),1);

Установите тип ввода в бит и модулируйте данные в соответствии с 16-APSK совокупностью для кодового идентификатора 2/3. Используйте стандартную длину кадра по умолчанию.

y1 = dvbsapskmod(x,M,std,'2/3','InputType','bit');

Модулировать данные с использованием различных настроек, установить идентификатор кода на 8/9 и использовать короткую длину кадра.

y2 = dvbsapskmod(x,M,std,'8/9','short','InputType','bit');

Средняя мощность модулированного сигнала изменяется на основе кодового идентификатора. Вычислите среднюю мощность модулированных сигналов.

y1avgPow = mean(abs(y1).^2)
y1avgPow = 0.7590
y2avgPow = mean(abs(y2).^2)
y2avgPow = 0.7716

Модулировать данные, применяющие 16-APSK, как указано в стандартах DVB-SH и DVB-S2. Нормализуйте выходной сигнал модулятора таким образом, чтобы он имел среднюю мощность сигнала 1 Вт.

Установите порядок модуляции и создайте все возможные символы.

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

Модулировать данные, применяющие 16-APSK, как указано в DVB-SH. Используйте пару «имя-значение» для указания вывода одного типа данных.

y1 = dvbsapskmod(x,M,'sh','OutputDataType','single');

Модулировать данные, применяющие 16-APSK, как указано в DVB-S2. Используйте пару «имя-значение» для указания вывода одного типа данных.

y2 = dvbsapskmod(x,M,'s2','OutputDataType','single');

Модулировать данные, применяющие 16-APSK, как указано в DVB-S2. Пары «имя-значение» используются для установки значения «истина» в качестве средней мощности единицы измерения и указания вывода одного типа данных.

y3 = dvbsapskmod(x,M,'s2','UnitAveragePower',true,'OutputDataType','single');

Проверьте, какие сигналы имеют среднюю мощность блока.

y1avgPow = mean(abs(y1).^2)
y1avgPow = single
    1
y2avgPow = mean(abs(y2).^2)
y2avgPow = single
    0.7752
y3avgPow = mean(abs(y3).^2)
y3avgPow = single
    1.0000

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

свернуть все

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

Примечание

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

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

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

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

Стандартный суффикс для варианта модуляции DVBS, указанный как 's2', 's2x', или 'sh'.

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

Идентификатор кода, указанный как символьный вектор или строка. В этой таблице перечислены допустимые codeIDF значения.

Порядок созвездия (M)Применимый стандарт (stdSuffix)Допустимый идентификатор кода (CodeIDF) Значения
16

's2' или 's2x'

'2/3', '3/4', '4/5', '5/6', '8/9', '9/10'

16

's2x'

'26/45', '3/5', '28/45', '23/36', '25/36', '13/18', '7/9', '77/90', '100/180', '96/180', '90/180', '18/30', '20/30'

32

's2' или 's2x'

'3/4', '4/5', '5/6', '8/9', '9/10'

32

's2x'

'32/45', '11/15', '7/9', '2/3'

64

's2x'

'11/15', '7/9', '4/5', '5/6', '128/180'

128

's2x'

'3/4', '7/9'

256

's2x'

'32/45', '3/4', '116/180', '20/30', '124/180', '22/30'

Для получения дополнительной информации см. таблицы 9 и 10 в стандарте DVB-S2 [1] и таблицу 17a в стандарте DVB-S2X [2].

Зависимости

Этот входной аргумент применяется только в том случае, если stdSuffix имеет значение 's2' или 's2x'.

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

Длина кадра, указанная как 'normal' или 'short'. frameLength и codeIDF используются для определения параметров модуляции.

Зависимости

Этот входной аргумент применяется только в том случае, если stdSuffix имеет значение 's2' или 's2x'.

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: y = dvbsapskmod(x,M,std,'InputType','bit','OutputDataType','single');

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

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

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

Примечание

Когда stdSuffix имеет значение 'sh', созвездие всегда имеет единичную среднюю мощность.

Зависимости

Этот аргумент пары имя-значение применяется только в том случае, если stdSuffix имеет значение 's2' или 's2x'.

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

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

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

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

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

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

свернуть все

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

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

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

Подробнее

свернуть все

DVB-S2/S2X/SH

Стандарты цифрового видеовещания (DVB) определяют модуляцию S2, S2X и SH со стандартной амплитудной фазовой манипуляцией (APSK). Дополнительную информацию о стандартах DVB-S2/S2X/SH см. в разделах [1], [2] и [3] соответственно.

Ссылки

[1] Стандарт ETSI EN 302 307 V1.4.1: цифровое видеовещание (DVB); Структура кадров второго поколения, системы кодирования и модуляции каналов для вещания, интерактивных услуг, сбора новостей и других широкополосных спутниковых приложений (DVB-S2), Европейский институт телекоммуникационных стандартов, Вальбонн, Франция, 2005-03.

[2] Стандарт ETSI EN 302 307-2 V1.1.1: цифровое видеовещание (DVB); Структура кадров второго поколения, системы кодирования и модуляции каналов для вещания, интерактивных услуг, сбора новостей и других широкополосных спутниковых приложений (DVB-S2X), Европейский институт телекоммуникационных стандартов, Вальбонн, Франция, 2015-02.

[3] Стандарт ETSI EN 302 583 V1.1.1: цифровое видеовещание (DVB); Структура кадров, канальное кодирование и модуляция для спутниковых услуг портативным устройствам (SH), Европейский институт телекоммуникационных стандартов, Вальбонна, Франция, 2008-03.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2018a