comm.gpu.PSKModulator

Модулируйте с использованием метода M-арного PSK при помощи графический процессор

Описание

The GPU PSKModulator объект модулирует сигнал, используя M-арный метод фазы сдвига манипуляции, реализованный на графическом процессорном модуле (GPU). Вход является представлением модулированного сигнала в основной полосе частот. Входные и выходные параметры для этого объекта являются сигналами дискретного времени. Этот объект принимает входной сигнал скалярного значения или вектора-столбца.

Примечание

Чтобы использовать этот объект, необходимо установить лицензию Parallel Computing Toolbox™ и иметь доступ к соответствующему графическому процессору. Для получения дополнительной информации о графических процессорах см. раздел «Графические процессоры» (Parallel Computing Toolbox).

Система на базе GPU, object™ принимает типовой MATLAB® массивы или объекты, созданные с помощью gpuArray класс. Объект System на основе GPU поддерживает входные сигналы с типами данных двойной или одинарной точности. Сигнал выхода наследует свой тип данных от входного сигнала.

  • Если входной сигнал является массивом MATLAB, системный объект обрабатывает передачу данных между центральным процессором и графическим процессором. Сигнал выхода является массивом MATLAB.

  • Если входной сигнал является gpuArray, данные остаются на графическом процессоре. Выходной сигнал является gpuArray. Когда объекту задается gpuArrayвычисления происходят полностью на графическом процессоре, и передача данных не происходит. Передача gpuArray аргументы обеспечивают увеличение эффективности за счет сокращения времени симуляции. Для получения дополнительной информации смотрите Установка массивов на графическом процессоре (Parallel Computing Toolbox).

Чтобы модулировать сигнал, используя фазу shift keing:

  1. Определите и настройте объект модулятора PSK. См. «Конструкция».

  2. Функции step модулировать сигнал в соответствии со свойствами comm.gpu.PSKModulator. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной системным объектом, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Конструкция

H = comm.gpu.PSKModulator возвращает демодулятор на базе графического процессора Системного объекта, H. Этот объект модулирует входной сигнал, используя метод M-арной фазы сдвига манипуляции (M-PSK) с мягким решением, используя аппроксимационный алгоритм логарифмической правдоподобности отношения.

H = comm.gpu.PSKModulator(Name,Value) создает объект модулятора M-PSK на базе GPU, H, с заданным именем свойства установите на заданное Значение. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке, как (Name1,Value1,...,NameN,ValueN)

H = comm.gpu.PSKModulator(M,PHASE,Name,Value) создает объект модулятора M-PSK на базе GPU, H, с помощью набора свойств ModulationOrder, чтобы M, а PhaseOffset значение свойства установлено на ФАЗА и другое заданные имена свойства установлены на заданные значения. M и ФАЗА являются аргументами только для значения. Чтобы задать аргумент только для значения, необходимо также задать все предыдущие аргументы только для значения. Вы можете задать аргументы пары "имя-значение" в любом порядке.

Свойства

ModulationOrder

Число точек в сигнальном созвездии

Задайте число точек в сигнальном созвездии как положительный, целочисленный скаляр. Значение по умолчанию является 8.

PhaseOffset

Фаза нулевой точки созвездия

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

BitInput

Предположим, что битовые входы

Укажите, является ли вход битами или целыми числами. Значение по умолчанию является false. Когда вы устанавливаете это свойство равным true, вход метода step должен быть вектором-столбцом с битовыми значениями, длина которого является целым числом, кратным log2 (ModulationOrder). Этот вектор содержит битовые представления целых чисел от 0 до ModulationOrder-1. Тип входных данных может быть числовым или логическим. Когда вы устанавливаете свойство BitInput в false, вход метода step должен быть вектором-столбцом с целочисленными значениями символов от 0 до ModulationOrder-1. Тип данных входа должен быть числовым.

SymbolMapping

Кодировка созвездия

Задайте, как объект сопоставляет целое число или группу бит log2 (ModulationOrder) с соответствующим символом как один из Binary | Gray | Custom. Значение по умолчанию является Gray. Когда вы устанавливаете это свойство на Grayобъект использует сигнальное созвездие с кодировкой Грея. Когда вы устанавливаете это свойство на Binaryцелое число m (0 ≤ m ≤ ModulationOrder-1) преобразуется в комплексное число exp (j * PhaseOffset + j * 2 * pi * m/ModulationOrder). Когда вы устанавливаете это свойство на Customобъект использует сигнальное созвездие, заданное в свойстве CustomSymbolMapping.

CustomSymbolMapping

Пользовательская кодировка созвездия

Задайте пользовательский вектор отображения символов созвездия. Это свойство должно быть строкой или вектором-столбцом размера ModulationOrder с уникальными целочисленными значениями в области значений [0, ModulationOrder-1]. Значения должны иметь тип данных double. Первый элемент этого вектора соответствует точке созвездия под углом 0 + PhaseOffset, с последующими элементами, идущими против часовой стрелки. Последний элемент соответствует точке созвездия под углом -2π/ModulationOrder + PhaseOffset. Это свойство применяется, когда вы устанавливаете SymbolMapping свойство для пользовательского. Значение по умолчанию является 0:7.

OutputDataType

Тип данных выхода

Укажите тип выходных данных как один из double | single. Значение по умолчанию является double.

Методы

созвездиеВычислите или постройте идеальное сигнальное созвездие
шагМодулируйте с использованием метода M-арного PSK при помощи графический процессор
Общий для всех системных объектов
release

Разрешить изменение значения свойства системного объекта

Алгоритм

The GPU PSK Modulator Системный объект поддерживает типы входных данных с плавающей точкой и целое число. Этот объект использует тот же алгоритм, что и comm.PSKModulator Системный объект. См. Раздел «Алгоритмы» comm.PSKModulator страница справки для получения дополнительной информации.

Примеры

свернуть все

Создайте двоичные данные для 100, 4-битных символов

data = randi([0 1],400,1);

Создайте модулятор 16-PSK, Системный объект с битами как входы и сигнальное созвездие с кодированием Грея. Измените смещение фазы на.$\pi/16$

gpuMod = comm.gpu.PSKModulator(16,'BitInput',true);
gpuMod.PhaseOffset = pi/16;

Модулируйте и постройте график данных

modData = gpuMod(data);
scatterplot(modData)

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

См. также

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