exponenta event banner

коммуникация. DPSKDemodulator

Демодуляция методом M-ary DPSK

Описание

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

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

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

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

Примечание

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

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

H = comm.DPSKDemodulator создает объект системы демодулятора, H. Этот объект демодулирует входной сигнал с использованием метода M-ary дифференциальной фазовой манипуляции (M-DPSK).

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

H = comm.DPSKDemodulator(M,PHASE,Name,Value) создает объект демодулятора M-DPSK, H. Этот объект имеет ModulationOrder свойство имеет значение M, PhaseRotation свойство имеет значение PHASEи другие указанные свойства имеют указанные значения.

Свойства

ModulationOrder

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

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

PhaseRotation

Дополнительный фазовый сдвиг

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

BitOutput

Выходные данные в виде битов

Укажите, состоит ли вывод из групп битов или целых значений символов. Значение по умолчанию: false. При установке для этого свойства значения true step способ выводит вектор столбца битовых значений. Длина этого вектора столбца равна log2 (ModulationOrder) умножает число демодулированных символов.

При установке для этого свойства значения false, step способ выводит вектор столбца. Длина этого вектора столбца равна длине вектора входных данных. Выходные данные содержат целочисленные значения символов между 0 и ModulationOrder-1.

SymbolMapping

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

Укажите, как объект сопоставляет целое число или группу log2 (ModulationOrder) бит к соответствующему символу в качестве одного из Binary | Gray. Значение по умолчанию: Gray. При установке для этого свойства значения Grayобъект использует кодированную Греем сигнальную группировку. При установке для этого свойства значения Binary, входное целое число m, между (0≤m≤ ModulationOrder-1) сопоставляется с текущим символом. Это отображение использует exp (j ×PhaseRotation + j×2×π×m/ModulationOrder) × (ранее смодулированный символ).

OutputDataType

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

Укажите тип выходных данных как один из Full precision | Smallest unsigned integer | double | single | int8 | uint8 | int16 | uint16 | int32 | uint32. Значение по умолчанию: Full precision. При установке для этого свойства значения Full precisionтип входных данных - одинарная или двойная точность, выходные данные - те же, что и входные данные. При установке BitOutput свойство имеет значение true, logical тип данных становится допустимым параметром.

Методы

шагДемодуляция методом M-ary DPSK
Общие для всех системных объектов
release

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

reset

Сброс внутренних состояний объекта System

Примеры

свернуть все

Создайте пару модулятора и демодулятора DPSK. Создайте объект канала AWGN, имеющий три бита на символ.

dpskmod = comm.DPSKModulator(8,pi/8,'BitInput',true);
dpskdemod = comm.DPSKDemodulator(8,pi/8,'BitOutput',true);
channel = comm.AWGNChannel('EbNo',10,'BitsPerSymbol',3);

Создайте калькулятор частоты ошибок. Установите ComputationDelay свойство для 1 для учета однобитового переходного процесса, вызванного дифференциальной модуляцией

errorRate = comm.ErrorRate('ComputationDelay',1);

Основные этапы цикла обработки:

  • Создание 50 3-разрядных кадров

  • 8-DPSK модулировать

  • Пройти по каналу AWGN

  • 8-DPSK демодулировать

  • Сбор статистики об ошибках

for counter = 1:100
    txData = randi([0 1],150,1);
    modSig = dpskmod(txData);
    rxSig = channel(modSig);
    rxData = dpskdemod(rxSig);
    errorStats = errorRate(txData,rxData);
end

Просмотрите статистику ошибок.

ber = errorStats(1)
ber = 0.0098
numErrors = errorStats(2)
numErrors = 147
numBits = errorStats(3)
numBits = 14999

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на справочной странице блока базовой полосы демодулятора M-DPSK. Свойства объекта соответствуют параметрам блока.

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

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