commsrc.combinedjitter

Создайте объединенный объект генератора дрожания

Синтаксис

combJitt = commsrc.combinedjitter
combJitt = commsrc.combinedjitter(Name,Value)

Описание

пример

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

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

пример

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

Свойства

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

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

Тип объекта, Combined Jitter Generator. Это свойство не перезаписываемо.

SamplingFrequency

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

RandomJitter

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

RandomStd

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

PeriodicJitter

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

PeriodicNumber

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

PeriodicAmplitude

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

PeriodicFrequencyHz

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

PeriodicPhase

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

DiracJitter

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

DiracNumber

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

DiracDelta

Задержка каждого компонента Дирака в секундах. Применяется, когда 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)')

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

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

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

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)
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)

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

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)

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