comm.BPSKDemodulator

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

Описание

comm.BPSKDemodulator Система object™ демодулирует сигнал, который модулировался с помощью бинарного метода манипулирования сдвига фазы. Объект сопоставляет точки exp (jθ) или-exp (jθ) к 0 и 1, соответственно. PhaseOffset свойство задает значение θ в радианах.

Демодулировать модулируемые BPSK данные сигнала:

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

пример

bpskdemodulator = comm.BPSKDemodulator создает Системный объект демодулятора, который демодулирует входной сигнал с помощью метода BPSK.

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

bpskdemodulator = comm.BPSKDemodulator(phase,Name,Value) создает Системный объект демодулятора BPSK с 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

Шумовое отклонение в виде ненулевого скаляра. Когда шумовое отклонение или результат степени сигнала в расчетах включающие экстремальные положительные или отрицательные величины, смотрите BPSK Мягкая Демодуляция для факторов типа решения демодуляции.

Настраиваемый: да

Зависимости

Включить этому набору свойств VarianceSource свойство к 'Property'.

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

Выходной тип данных в виде одной из этих опций.

  • Когда вы устанавливаете это свойство на 'Full precision', тип выходных данных совпадает с типом входа, когда тип входных данных одинарный или двойная точность. Если входные данные имеют фиксированную точку, то тип выходных данных работает, как будто вы установили это свойство на 'Smallest unsigned integer'.

  • Когда вы устанавливаете DecisionMethod свойство к 'Log-liklihood ratio' или 'Approximate log-liklihood ratio , тип выходных данных совпадает с типом входа, и тип входных данных должен быть одинарный или двойная точность.

    Примечание

    Для входных параметров целочисленного типа данных требуется программное обеспечение Fixed-Point Designer™, когда это свойство установлено в 'Full precision' или 'Smallest unsigned integer'.

  • 'Full precision'

  • 'Smallest unsigned integer'

  • 'double'

  • 'single'

  • 'int8'

  • 'uint8'

  • 'int16'

  • 'uint16'

  • 'int32'

  • 'uint32'

  • 'logical'

Зависимости

Включить этому набору свойств DecisionMethod свойство к 'Hard decision'.

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

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

Тип данных derotate фактора в виде одного из 'Same word length as input' | 'Custom'.

Зависимости

Включить этому набору свойств DecisionMethod свойство к 'Hard decision'. Кроме того, использование объекта, derotate включают расчеты только, когда вход должен иметь фиксированную точку и PhaseOffset значение свойства не является кратным π/2.

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

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

Зависимости

Включить этому набору свойств OutputDataType свойство к 'Custom'.

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

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

Описание

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

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

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

BPSK Модулируемый сгенерированный модулированный сигнал в виде вектор-столбца или матрицы одного размера с входным сигналом. Для получения дополнительной информации о выходном типе данных, смотрите OutputDataType свойство.

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

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

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

Данные о выходном сигнале, возвращенные как вектор-столбец или матрица. OutputDataType задает тип данных для выходных данных.

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием 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

Больше о

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

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

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

Объекты

Блоки

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