comm.FSKDemodulator

Демодулируйте использующий M-арный метод FSK

Описание

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

Чтобы демодулировать сигнал, который модулировался с помощью манипулирования сдвига частоты:

  1. Задайте и настройте свой объект демодулятора FSK. Смотрите Конструкцию.

  2. Вызовите step демодулировать сигнал согласно свойствам FSKDemodulator. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

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

Конструкция

H = comm.FSKDemodulator создает Системный объект демодулятора, H. Этот объект демодулирует M-арный сдвиг частоты, включающий (M-FSK) использование сигнала некогерентного энергетического детектора.

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

H = comm.FSKDemodulator(M,FREQSEP,RS,Name,Value) создает объект демодулятора M-FSK, H. Этот объект имеет ModulationOrder набор свойств к M, FrequencySeparation набор свойств к FREQSEP, SymbolRate набор свойств к RS, и другой заданный набор свойств к заданным значениям.

Свойства

ModulationOrder

Количество частот в модулируемом сигнале

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

BitOutput

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

Задайте, является ли выход группами битов или целочисленных значений. Значением по умолчанию является false.

Когда вы устанавливаете это свойство на false, step метод выводит вектор-столбец длины, равной N/SamplesPerSymbol. N является длиной вектора входных данных к методу шага. Элементами выходного вектора являются целые числа между 0 и ModulationOrder– 1. Когда вы устанавливаете это свойство на true, step метод выводит вектор-столбец длины, равной log2 (ModulationOrder)×(N/SamplesPerSymbol). Элементами свойства являются битные представления целых чисел между 0 и ModulationOrder–1.

SymbolMapping

Кодирование символа

Задайте, как объект сопоставляет целое число или группу log2 (ModulationOrder) биты к соответствующему символу как один из Binary | Gray. Значением по умолчанию является Gray.

Когда вы устанавливаете это свойство на Gray, объект использует серо-закодированное упорядоченное расположение.

Когда вы устанавливаете это свойство на Binary, объект использует естественное двоично кодированное упорядоченное расположение.

Для любого типа отображения объект сопоставляет самую низкую частоту с целым числом 0 и сопоставляет самую высокую частоту с целочисленным M –1. В основополосной симуляции самая низкая частота является отрицательной частотой с самым большим абсолютным значением.

FrequencySeparation

Разделение частоты между последовательными тонами

Задайте разделение частоты между последовательными символами в модулируемом сигнале в Герц как положительное, действительное скалярное значение. Значением по умолчанию является 6 Гц.

SamplesPerSymbol

Количество отсчетов на вводимый символ

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

SymbolRate

Длительность символа

Задайте уровень символа в символах в секунду как положительное, действительное скалярное значение с двойной точностью. Значением по умолчанию является 100. Чтобы избежать искажения выходного сигнала, задайте выходную частоту дискретизации, Fs = SamplesPerSymbol×SymbolRate, который больше ModulationOrder × FrequencySeparation. Длительность символа остается то же самое, независимо от того, является ли вход битами или целыми числами.

OutputDataType

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

Задайте тип выходных данных как один из logical | int8 | uint8 | int16 | uint16 | int32 | uint32 | double. Значением по умолчанию является double. logical тип допустим только, когда вы устанавливаете BitOutput свойство ко лжи и ModulationOrder свойство к два. Когда вы устанавливаете BitOutput свойство к истине, выходные данные требуют типа logical | double.

Методы

шагДемодулируйте использующий M-арный метод FSK
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

reset

Сбросьте внутренние состояния Системного объекта

Примеры

свернуть все

Модулируйте и демодулируйте сигнал с помощью модуляции 8-FSK с разделением частоты 100 Гц.

Установите разделительные параметры порядка и частоты модуляции.

M = 8;
freqSep = 100;

Создайте модулятор FSK, и Система демодулятора objects™ с модуляцией заказывают разделение частоты на 8 и 100 Гц.

fskMod = comm.FSKModulator(M,freqSep);
fskDemod = comm.FSKDemodulator(M,freqSep);

Создайте аддитивный канал белого Гауссова шума, где шум задан как отношение сигнал-шум.

ch = comm.AWGNChannel('NoiseMethod', ...
    'Signal to noise ratio (SNR)','SNR',-2);

Создайте объект калькулятора коэффициента ошибок.

err = comm.ErrorRate;

Передайте сто кадров с 50 символами с помощью 8-FSK в канале AWGN.

for counter = 1:100
    data = randi([0 M-1],50,1);
    modSignal = step(fskMod,data);
    noisySignal = step(ch,modSignal);
    receivedData = step(fskDemod,noisySignal);
    errorStats = step(err,data,receivedData);
end

Отобразите статистику ошибок.

es = 'Error rate = %4.2e\nNumber of errors = %d\nNumber of symbols = %d\n';
fprintf(es,errorStats)
Error rate = 1.40e-02
Number of errors = 70
Number of symbols = 5000

Алгоритмы

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

  • Параметр Symbol set ordering соответствует SymbolMapping свойство.

  • SymbolRate свойство заменяет возможность частоты дискретизации блока.

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

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