comm.FSKDemodulator

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

Описание

The 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. The logical тип действителен только при установке BitOutput свойство false и ModulationOrder свойство для двух. Когда вы устанавливаете BitOutput свойство true, для выхода данных требуется тип logical | double.

Методы

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

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

reset

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

Примеры

свернуть все

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

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

M = 8;
freqSep = 100;

Создайте FSK модулятор и демодулятор System 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 свойство.

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

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

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