commsrc.combinedjitter

Построение комбинированного генератора джиттера

Описание

пример

combJitt = commsrc.combinedjitter создает комбинированный генератор джиттера по умолчанию, combJitt, с отключенными всеми компонентами дрожания.

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

пример

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

Свойства

A комбинированного генератора джиттера включает эти свойства. Можно редактировать все свойства, кроме явно отмеченных.

СвойствоОписание
Type

Тип объекта, Combined Jitter Generator. Это свойство недоступно для записи.

SamplingFrequency

Частота дискретизации входного сигнала в герце. Значение по умолчанию 1e4.

RandomJitter

Переменная для включения генератора случайного дрожания. Задайте как 'off' (по умолчанию) или 'on'.

RandomStd

Стандартное отклонение генератора случайного дрожания в секундах. Применяется при RandomJitter является 'on'. Значение по умолчанию 1e-4.

PeriodicJitter

Переменная для включения генератора периодического дрожания. Задайте как 'off' (по умолчанию) или 'on'.

PeriodicNumber

Количество синусоидальных компонентов. The PeriodicNumber должно быть конечным положительным скалярным целым числом. Применяется при PeriodicJitter является 'on'. Значение по умолчанию 1.

PeriodicAmplitude

Амплитуда каждого синусоидального компонента периодического дрожания в секундах. Применяется при PeriodicJitter является 'on'. Значение по умолчанию 5e-4.

PeriodicFrequencyHz

Частота каждого синусоидального компонента периодического дрожания, измеренная в Гц. Применяется при PeriodicJitter является 'on'. Значение по умолчанию является 200.

PeriodicPhase

Фаза каждого синусоидального компонента периодического дрожания в радианах. Применяется при PeriodicJitter является 'on'. Значение по умолчанию 0.

DiracJitter

Переменная для включения генератора дрожания Dirac. Задайте как 'off' (по умолчанию) или 'on'.

DiracNumber

Количество компонентов Dirac. The DiracNumber должно быть конечным положительным скалярным целым числом. Применяется при DiracJitter является 'on'. Значение по умолчанию 2.

DiracDelta

Задержка по времени каждого компонента Dirac в секундах. Применяется при DiracJitter является 'on'. Значение по умолчанию [-5.e-4 5.e-4].

DiracProbability

Вероятность каждого компонента Дирака, представленного как вектор длины DiracNumber. Сумма вероятностей должна равняться единице. Применяется при DiracJitter является 'on'. Значение по умолчанию [0,5 0,5].

Функции объекта

Комбинированный генератор джиттера имеет три функции объекта, как описано в этом разделе.

произвести

Эта функция объекта генерирует выборки дрожания на основе объекта генератора дрожания. Он имеет один входной параметр, который является количеством выборок в системе координат. Его выход является одноколоночным вектором длины N. Вы можете вызвать эту функцию объекта с помощью этого синтаксиса:

x = generate(combJitt,N)
где combJitt является объектом генератора, N количество выхода образцов и x является действительным вектором с одним столбцом.

сброс

Эта функция объекта сбрасывает внутренние состояния объединенного генератора дрожания. Вы можете вызвать эту функцию объекта с помощью этого синтаксиса:

reset(combJitt)
где combJitt является объектом генератора.

disp

Отобразите свойства объекта комбинированного генератора, combJitt. Вы можете вызвать эту функцию объекта с помощью этого синтаксиса:

disp(combJitt)

где combJitt является объектом генератора.

Примеры

свернуть все

Сгенерируйте 500 выборок джиттера, состоящих из случайных и периодических компонентов.

Создайте commsrc.combinedjitter объект, сконфигурированный для применения комбинации случайных и периодических компонентов дрожания. Используйте пары "имя-значение", чтобы включить RandomJitter и PeriodicJitter, и для назначения параметров дрожания. Установите стандартное отклонение случайного дрожания равным 2e-4 секунд, периодическая амплитуда дрожания, 5e-4 секунд, и периодическая частота дрожания, равная 2 Гц.

numSamples = 500;
combJitt = commsrc.combinedjitter(...
    'RandomJitter','on', ...
    'RandomStd',2e-4, ...
    'PeriodicJitter','on', ...
    'PeriodicAmplitude',5e-4, ...
    'PeriodicFrequencyHz',200)
combJitt = 
                   Type: 'Combined Jitter Generator'
      SamplingFrequency: 10000
           RandomJitter: 'on'
              RandomStd: 2.0000e-04
         PeriodicJitter: 'on'
         PeriodicNumber: 1
      PeriodicAmplitude: 5.0000e-04
    PeriodicFrequencyHz: 200
          PeriodicPhase: 0
            DiracJitter: 'off'

Используйте generate метод для создания комбинированных выборок дрожания.

y = generate(combJitt,numSamples);
x = [0:numSamples-1];

Постройте график выборок дрожания. Можно увидеть Гауссов и периодический характер комбинированного дрожания.

plot(x/combJitt.SamplingFrequency,y)
xlabel('Time (seconds)')
ylabel('Jitter (seconds)')

Figure contains an axes. The axes contains an object of type line.

Создайте commsrc.combinedjitter объект. Отобразите значения свойств объектов по умолчанию.

combJitt = commsrc.combinedjitter;
disp(combJitt)
                 Type: 'Combined Jitter Generator'
    SamplingFrequency: 10000
         RandomJitter: 'off'
       PeriodicJitter: 'off'
          DiracJitter: 'off'

Создайте commsrc.combinedjitter объект со случайными, периодическими и активированными джиттерами Dirac. Отобразите значения свойств объекта.

combJitt = commsrc.combinedjitter('RandomJitter','on', ...
    'PeriodicJitter','on','DiracJitter','on');
disp(combJitt)
                   Type: 'Combined Jitter Generator'
      SamplingFrequency: 10000
           RandomJitter: 'on'
              RandomStd: 1.0000e-04
         PeriodicJitter: 'on'
         PeriodicNumber: 1
      PeriodicAmplitude: 5.0000e-04
    PeriodicFrequencyHz: 200
          PeriodicPhase: 0
            DiracJitter: 'on'
            DiracNumber: 2
             DiracDelta: [-5.0000e-04 5.0000e-04]
       DiracProbability: [0.5000 0.5000]

Сгенерируйте двоичный сигнал без возврата к нулю (NRZ), используя объект генератора шаблона. Просмотрите сигнал NRZ с дрожанием, приложенным к сигналу, и без него.

Инициализируйте системные параметры.

Fs = 10000; % Sample rate
Rs = 50; % Symbol rate
sps = Fs/Rs; % Number of samples per symbol
Trise = 1/(5*Rs); % Rise time of the NRZ signal
Tfall = 1/(5*Rs); % Fall time of the NRZ signal
frameLen = 100; % Number of symbols in a frame
spt = 200; % Number of samples per trace on eye diagram

Создайте объект генератора шаблона без назначенного компонента дрожания.

src = commsrc.pattern('SamplingFrequency',Fs, ...
'SamplesPerSymbol',sps,'RiseTime',Trise,'FallTime',Tfall)
src = 
                 Type: 'Pattern Generator'
    SamplingFrequency: 10000
     SamplesPerSymbol: 200
           SymbolRate: 50
            PulseType: 'NRZ'
         OutputLevels: [-1 1]
             RiseTime: 0.0040
             FallTime: 0.0040
          DataPattern: 'PRBS7'
               Jitter: [1x1 commsrc.combinedjitter]

src.Jitter
ans = 
                 Type: 'Combined Jitter Generator'
    SamplingFrequency: 10000
         RandomJitter: 'off'
       PeriodicJitter: 'off'
          DiracJitter: 'off'

Сгенерируйте сигнал NRZ и просмотрите глазковую диаграмму сигнала.

message = generate(src,frameLen);
eyediagram(message,spt)

Figure Eye Diagram contains an axes. The axes with title Eye Diagram contains an object of type line. This object represents In-phase.

Добавьте межсимвольную интерференцию (ISI) к сигналу NRZ. ISI моделируется двумя функциями Дирака с равной амплитудой. Создайте комбинированный объект джиттера с дрожанием Dirac и присвойте его объекту генератора шаблона.

jitterSrc = commsrc.combinedjitter('DiracJitter','on', ...
    'DiracDelta',0.05/Rs*[-1 1]);
src.Jitter = jitterSrc
src = 
                 Type: 'Pattern Generator'
    SamplingFrequency: 10000
     SamplesPerSymbol: 200
           SymbolRate: 50
            PulseType: 'NRZ'
         OutputLevels: [-1 1]
             RiseTime: 0.0040
             FallTime: 0.0040
          DataPattern: 'PRBS7'
               Jitter: [1x1 commsrc.combinedjitter]

Сгенерируйте сигнал NRZ, который имеет добавленный к нему джиттер, и просмотрите глазковую диаграмму сигнала.

reset(src);
message = generate(src,frameLen);
eyediagram(message,spt)

Figure Eye Diagram contains an axes. The axes with title Eye Diagram contains an object of type line. This object represents In-phase.

Введенный в R2015a