коммуникация. 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

Для просмотра документации необходимо авторизоваться на сайте