comm.BPSKDemodulator

Демодулируйте с использованием метода BPSK

Описание

Объект comm.BPSKDemodulator демодулирует сигнал, который был модулирован с помощью двоичного метода фазы сдвига keying. Вход является представлением модулированного сигнала в основной полосе частот.

Для демодуляции с использованием BPSK:

  1. Создайте comm.BPSKDemodulator Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

пример

bpskdemod = comm.BPSKDemodulator создает демодулятор System object™ bpskdemod, который демодулирует входной сигнал с помощью двоичного метода фазы сдвига keying (BPSK).

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

bpskdemod = comm.BPSKDemodulator(phase,Name,Value) создает демодулятор BPSK Системного объекта bpskdemod. Область объекта PhaseOffset для свойства задано значение phase, и другие заданные свойства заданы в заданных значениях.

Свойства

расширить все

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

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Фаза нулевой точки созвездия в радианах, заданная как конечный действительный скаляр.

Типы данных: double

Метод принятия решений о демодуляции, заданный как один из 'Hard decision', 'Log-likelihood ratio', или 'Approximate log-likelihood ratio'.

Типы данных: char | string

Источник отклонения шума, заданный как один из 'Property' или 'Input port'.

Зависимости

Это свойство применяется, когда вы устанавливаете DecisionMethod свойство к 'Log-likelihood ratio' или 'Approximate log-likelihood ratio'.

Типы данных: char | string

Шумовое отклонение, заданная как ненулевой, действительный скаляр. Если это значение очень мало (то есть ОСШ очень высок), расчеты логарифмического коэффициента логарифмической правдоподобности (LLR) могут привести к Inf или -Inf. Это отклонение возникает, потому что алгоритм LLR вычисляет экспоненциал очень больших или очень малых чисел с помощью конечной арифметики точности. Как лучшая практика в таких случаях, используйте приблизительный LLR, потому что алгоритм этой опции не вычисляет экспоненциалов. Это свойство настраивается.

Зависимости

Это свойство применяется, когда вы устанавливаете VarianceSource свойство к 'Property'.

Типы данных: double

Выходной тип данных, заданный как 'double', 'single' или Custom.

Типы данных: char

Свойства с фиксированной точкой

Тип данных коэффициента деротации, заданный как один из 'Same word length as input' | 'Custom'.

Зависимости

Это свойство применяется, когда вы устанавливаете DecisionMethod свойство к 'Hard decision'. Объект использует коэффициент деротата в расчетах только тогда, когда существуют определенные обстоятельства. Вход метода step должен быть типа с фиксированной точкой, и PhaseOffset свойство должно иметь значение, которое не является произведением

Типы данных: char | string

Типы данных с фиксированной точкой выхода, заданные как numerictype (Fixed-Point Designer) объект со знаком Auto.

Зависимости

Это свойство применяется, когда вы устанавливаете OutputDataType свойство к 'Custom'.

Типы данных: fi

Использование

Синтаксис

Описание

data = bpskdemod(waveform) применяет BPSK демодуляцию к модулированной форме волны и возвращает демодулированный входной сигнал.

Входные параметры

расширить все

BPSK Модулированный сгенерированный модулированный сигнал, заданный как вектор-столбец или матрица того же размера, что и входной сигнал.

Типы данных: double
Поддержка комплексного числа: Да

Выходные аргументы

расширить все

Выход сигнал, возвращенный как вектор-столбец или матрица.

Типы данных: double

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

constellationВычислите или постройте идеальное сигнальное созвездие
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Сгенерируйте сигнал BPSK, передайте его через канал AWGN, демодулируйте сигнал и вычислите статистику ошибок.

Создайте BPSK-модулятор и демодулятор Системных объектов.

bpskModulator = comm.BPSKModulator;
bpskDemodulator = comm.BPSKDemodulator;

Создайте калькулятор частоты ошибок Системный объект.

errorRate = comm.ErrorRate;

Сгенерируйте 50-битные системы координат случайных данных, примените модуляцию BPSK, передайте сигнал через канал AWGN, демодулируйте принятые данные и скомпилируйте статистику ошибок.

for counter = 1:100
    % Transmit a 50-symbol frame
    txData = randi([0 1],50,1);            % Generate data
    modSig = bpskModulator(txData);        % Modulate
    rxSig = awgn(modSig,5);                % Pass through AWGN
    rxData = bpskDemodulator(rxSig);       % Demodulate
    errorStats = errorRate(txData,rxData); % Collect error stats
end

Отображение совокупной статистики ошибок.

fprintf('Error rate = %f\nNumber of errors = %d\n', ...
    errorStats(1), errorStats(2))
Error rate = 0.005600
Number of errors = 28

Алгоритмы

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

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

.
Введенный в R2012a