comm.CPFSKModulator

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

Описание

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

Чтобы модулировать сигнал с использованием метода непрерывной фазы частоты сдвига манипуляции:

  1. Определите и настройте объект модулятора CPFSK. См. «Конструкция».

  2. Функции step модулировать сигнал в соответствии со свойствами comm.CPFSKModulator. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

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

Конструкция

H = comm.CPFSKModulator создает модулятор Системный объект, H. Этот объект модулирует входной сигнал, используя метод модуляции с непрерывной фазы частотой сдвига манипуляции (CPFSK).

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

H = comm.CPFSKModulator(M,Name,Value) создает объект модулятора CPFSK, H. Этот объект имеет ModulationOrder значение свойства установлено в M, и другие заданные свойства устанавливаются на заданные значения.

Свойства

ModulationOrder

Размер символа алфавита

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

BitInput

Предположим, что битовые входы

Укажите, является ли вход битами или целыми числами. Значение по умолчанию является false. Когда вы устанавливаете это свойство на false, а step метод входа должен быть типом данных с двойной точностью или целым числом со знаком вектора-столбца. Этот вектор содержит нечетные целочисленные значения между - (ModulationOrder-1) и ModulationOrder–1.

Когда вы устанавливаете это свойство на true, а step метод должен быть вектором-столбцом из P битовых слов -length, где P = log2 (ModulationOrder). Входные данные должны быть двойной точности или логического типа данных. Объект преобразует каждое битовое слово в целое число K между 0 и ModulationOrder-1, с использованием отображения, заданного в SymbolMapping свойство. Затем объект преобразует целое число K в промежуточное значение 2 K - (ModulationOrder-1) и протекает как в случае, когда вы устанавливаете BitInput свойство к false.

SymbolMapping

Кодировка символов

Задайте отображение битовых входов как один из Binary | Gray. Значение по умолчанию является Binary. Это свойство определяет, как объект сопоставляет каждый вход P битовым словом -length, где P = log2 (ModulationOrder), в целое число между 0 и ModulationOrder–1.

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

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

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

ModulationIndex

Индекс модуляции

Задайте индекс модуляции. Значение по умолчанию является 0.5. Значение этого свойства может быть скаляром, h или вектором-столбцом, [h0, h1,.... h H-1]

где H-1 представляет длину вектора-столбца. Сдвиг фазы над символом равен, × h.

Когда h i изменяется от интервала к интервалу, объект работает в несколько часов. Когда объект работает в multi-h, h i должно быть рациональным числом.

InitialPhaseOffset

Смещение начальной фазы

Задайте начальную фазу модулированной формы волны в радианах как действительный, числовой скаляр. Значение по умолчанию является 0.

SamplesPerSymbol

Количество выборок на каждый выходной символ

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

OutputDataType

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

Задайте тип выходных данных как один из double | single. Значение по умолчанию является double.

Методы

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

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

reset

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

Примеры

свернуть все

% Create a CPFSK modulator, an AWGN channel, and a CPFSK demodulator
    hMod = comm.CPFSKModulator(8, 'BitInput', true, ...
                         'SymbolMapping', 'Gray');
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
                         'Signal to noise ratio (SNR)','SNR',0);
    hDemod = comm.CPFSKDemodulator(8, 'BitOutput', true, ...
                         'SymbolMapping', 'Gray');

 % Create an error rate calculator, account for the delay caused by the Viterbi algorithm.
    delay = log2(hDemod.ModulationOrder)*hDemod.TracebackDepth;
    hError = comm.ErrorRate('ReceiveDelay', delay);
    for counter = 1:100
        % Transmit 100 3-bit words
        data = randi([0 1],300,1);
        modSignal = step(hMod, data);
        noisySignal = step(hAWGN, modSignal);
        receivedData = step(hDemod, noisySignal);
        errorStats = step(hError, data, receivedData);
    end

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

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на CPFSK Modulator Baseband блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков. Для CPFSK сдвиг фазы на символ равен и × h, где h является индексом модуляции.

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

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