comm.gpu.PSKModulator

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

Описание

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

Примечание

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

Основанная на графическом процессоре Система object™ принимает типичные массивы MATLAB®, или объекты создали использование gpuArray класс. Основанный на графическом процессоре Системный объект поддерживает входные сигналы с двойным - или типы данных с одинарной точностью. Выходной сигнал наследовал свой тип данных от входного сигнала.

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

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

Модулировать манипулирование сдвига фазы использования сигнала:

  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, H, с заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN)

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

Свойства

ModulationOrder

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

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

PhaseOffset

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

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

BitInput

Примите битные входные параметры

Задайте, является ли вход битами или целыми числами. Значение по умолчанию является ложным. Когда вы устанавливаете это свойство на true, вход метода шага должен быть вектор-столбцом битных значений, длина которых является целочисленным кратным log2 (ModulationOrder). Этот вектор содержит битные представления целых чисел между 0 и ModulationOrder-1. Тип входных данных может быть числовым или логическим. Когда вы устанавливаете свойство BitInput на ложь, вход метода шага должен быть вектор-столбцом целочисленных значений символа между 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]. Значения должны иметь тип данных дважды. Первый элемент этого вектора соответствует точке созвездия под углом 0 + PhaseOffset, с последующими элементами, запускающимися против часовой стрелки. Последний элемент соответствует точке созвездия под углом-π/ModulationOrder + PhaseOffset. Это свойство применяется, когда вы устанавливаете SymbolMapping свойство к Пользовательскому. Значением по умолчанию является 0:7.

OutputDataType

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

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

Методы

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

Позвольте изменения значения свойства Системного объекта

Алгоритм

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

Примеры

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

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

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

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

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

Модулируйте и отобразите данные на графике

modData = gpuMod(data);
scatterplot(modData)

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

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

Представленный в R2012a