exponenta event banner

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

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

Описание

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

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

  1. Создать comm.BPSKDemodulator и задайте его свойства.

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

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

Создание

Описание

пример

bpskdemod = comm.BPSKDemodulator создает систему демодулятора object™ bpskdemod, которая демодулирует входной сигнал с использованием способа двоичной фазовой манипуляции (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

Дисперсия шума, заданная как ненулевой действительный скаляр. Если это значение очень мало (т.е. SNR очень высокое), вычисления логарифмического отношения правдоподобия (LLR) могут дать Inf или -Inf. Эта дисперсия возникает, потому что алгоритм LLR вычисляет экспоненту очень больших или очень малых чисел, используя арифметику конечной точности. В таких случаях рекомендуется использовать приблизительное LLR, поскольку алгоритм этой опции не вычисляет экспоненты. Это свойство можно настроить.

Зависимости

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

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

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

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

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

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

Зависимости

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

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

Тип данных вывода с фиксированной точкой, указанный как numerictype (Конструктор фиксированных точек) объект с подписью Auto.

Зависимости

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Генерировать сигнал 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. Свойства объекта соответствуют параметрам блока.

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

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