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

Создайте 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