exponenta event banner

commsrc.combinedjitter

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

Описание

пример

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

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 с включенными случайными, периодическими и джиттерами Дирака. Отображение значений свойств объекта.

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. МСИ моделируется двумя равными амплитудными функциями Дирака. Создайте комбинированный джиттер с джиттером Дирака и назначьте его объекту-генератору массива.

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