comm.MSKModulator

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

Описание

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

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

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

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

Примечание

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

Конструкция

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

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

Свойства

BitInput

Примите битные входные параметры

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

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

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

InitialPhaseOffset

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

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

SamplesPerSymbol

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

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

OutputDataType

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

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

Методы

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

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

Примеры

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

% Create an MSK modulator, an AWGN channel, and an MSK demodulator.  Use a
% phase offset of pi/4.
 hMod = comm.MSKModulator('BitInput', true, ...
                    'InitialPhaseOffset', pi/4);
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
                    'Signal to noise ratio (SNR)','SNR',0);
    hDemod = comm.MSKDemodulator('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.000000
Number of errors = 0

Этот пример иллюстрирует отображение двоичных последовательностей нулей и единиц к выходу модулятора 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 между выборками.

Алгоритмы

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

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

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