exponenta event banner

comm.gpu. PSKModulator

Модулировать методом M-ary PSK с GPU

Описание

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

Примечание

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

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

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

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

Для модуляции сигнала с помощью фазовой манипуляции:

  1. Определите и настройте объект модулятора PSK. См. раздел Строительство.

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

Примечание

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

Строительство

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

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

H = comm.gpu.PSKModulator(M,PHASE,Name,Value) создает объект модулятора M-PSK на основе GPU, H, со свойством ReadingOrder, равным M, PhaseOffset свойство имеет значение PHASE, а другое указанное свойство имеет значение «Имена». M и PHASE являются аргументами, предназначенными только для значений. Чтобы задать аргумент только для значения, необходимо также указать все предшествующие аргументы только для значения. Можно указать аргументы пары имя-значение в любом порядке.

Свойства

ModulationOrder

Количество точек в созвездии сигналов

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

PhaseOffset

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

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

BitInput

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

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

SymbolMapping

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

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

CustomSymbolMapping

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

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

OutputDataType

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

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

Методы

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

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

Алгоритм

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