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

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

Описание

Объект GMSKModulator модулирует использование Гауссова минимального метода манипулирования сдвига. Вывод представляет собой репрезентацию модулированного сигнала.

Модулировать сигнал с помощью Гауссова минимального манипулирования сдвига:

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

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

Примечание

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

Конструкция

H = comm.GMSKModulator создает Системный объект модулятора, H. Этот объект модулирует входной сигнал с помощью метода модуляции Гауссова минимального манипулирования сдвига (GMSK).

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

Свойства

BitInput

Примите, что вход является битами

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

Когда вы устанавливаете свойство BitInput на false, вход метода step требует вектор-столбца типа данных или целого числа со знаком с двойной точностью со значениями -1 или 1.

Когда вы устанавливаете свойство BitInput на истинный, вход метода шага требует вектор-столбца или логического типа данных с двойной точностью 0s и 1 с.

BandwidthTimeProduct

Продукт пропускной способности и время символа Гауссова импульса

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

PulseLength

Импульсная длина

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

SymbolPrehistory

Предыстория символа

Задайте символы данных использование модулятора до первого вызова метода step в противоположном хронологическом порядке. Значением по умолчанию является 1. Это свойство требует скаляра или вектора с элементами, равными -1 или 1. Если значение является вектором, то его длина должна быть той меньше, чем значение в свойстве PulseLength.

InitialPhaseOffset

Начальная фаза смещается

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

SamplesPerSymbol

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

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

OutputDataType

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

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

Методы

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

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

Примеры

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

% Create a GMSK modulator, an AWGN channel, and a GMSK demodulator. Use a phase offset of pi/4.
    hMod = comm.GMSKModulator('BitInput', true, 'InitialPhaseOffset', pi/4);
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
                    'Signal to noise ratio (SNR)','SNR',0);
    hDemod = comm.GMSKDemodulator('BitOutput', true, ...
                    'InitialPhaseOffset', pi/4);
% Create an error rate calculator, account for the delay caused by the Viterbi algorithm
    hError = comm.ErrorRate('ReceiveDelay', hDemod.TracebackDepth);
    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.000133
Number of errors = 4

Этот пример иллюстрирует отображение двоичных последовательностей нулей и единиц к выводу модулятора GMSK. Отношение также запрашивает модуляцию MSK.

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

gmsk = comm.GMSKModulator('BitInput',true,'PulseLength',1,'SamplesPerSymbol',1);

Создайте входную последовательность всех нулей. Модулируйте последовательность.

x = zeros(5,1);
y = gmsk(x)
y = 5×1 complex

   1.0000 + 0.0000i
  -0.0000 - 1.0000i
  -1.0000 + 0.0000i
   0.0000 + 1.0000i
   1.0000 - 0.0000i

Определите угол фазы для каждой точки. Используйте функцию unwrap, чтобы лучше показать тренд.

theta = unwrap(angle(y))
theta = 5×1

         0
   -1.5708
   -3.1416
   -4.7124
   -6.2832

Последовательность нулей заставляет фазу переключать-π/2 между выборками.

Сбросьте модулятор. Модулируйте входную последовательность из всех единиц.

reset(gmsk)
x = ones(5,1);
y = gmsk(x)
y = 5×1 complex

   1.0000 + 0.0000i
  -0.0000 + 1.0000i
  -1.0000 - 0.0000i
   0.0000 - 1.0000i
   1.0000 + 0.0000i

Определите угол фазы для каждой точки. Используйте функцию unwrap, чтобы лучше показать тренд.

theta = unwrap(angle(y))
theta = 5×1

         0
    1.5708
    3.1416
    4.7124
    6.2832

Последовательность из единиц заставляет фазу переключать + π/2 между выборками.

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока GMSK Modulator Baseband. Свойства объектов соответствуют параметрам блоков. Для GMSK сдвиг фазы на символ является π/2, который является индексом модуляции 0,5.

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

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