comm.gpu. PSKModulator

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

Описание

Объект 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

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

Задайте, является ли вход битами или целыми числами. Значение по умолчанию является ложным. Когда вы устанавливаете это свойство на истину, вход метода шага должен быть вектор-столбцом битных значений, длина которых является целочисленным кратным 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 с графическим процессором
Характерный для всех системных объектов
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