exponenta event banner

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

Модулировать с помощью метода CPFSK

Описание

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, где P = log2 (ModulationOrder). Входные данные должны иметь двойную точность или логический тип данных. Объект сопоставляет каждое битовое слово целому числу K между 0 и ModulationOrder-1, используя сопоставление, указанное в SymbolMapping собственность. Затем объект отображает целое число K в промежуточное значение 2K- (ModulationOrder-1) и выполняется, как в случае установки BitInput свойство для false.

SymbolMapping

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

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

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

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

Это свойство применяется при установке BitInput свойство имеет значение true.

ModulationIndex

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

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

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

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

InitialPhaseOffset

Начальное фазовое смещение

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

SamplesPerSymbol

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

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

OutputDataType

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

Укажите тип выходных данных как один из double | single. Значение по умолчанию: double.

Методы

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

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

reset

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

Примеры

свернуть все

% 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. Свойства объекта соответствуют параметрам блока. Для CPFSK фазовый сдвиг на символ равен δ × h, где h - индекс модуляции.

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

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