commsrc.pattern

Создайте объект генератора шаблона

Описание

пример

h = commsrc.pattern создает объект генератора шаблона, h.

Объект генератора шаблона производит модулируемые шаблоны данных. Объект может использоваться, чтобы ввести дрожание в модулируемые сигналы.

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

Свойства

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

СвойствоОписание
TypeТип объекта генератора шаблона ('Pattern Generator'). Это свойство не перезаписываемо.
SamplingFrequency

Частота дискретизации входного сигнала в герц.

SymbolRateУровень символа входного сигнала. Это свойство зависит от SamplingFequency и SamplesPerSymbol свойства. Это свойство не перезаписываемо.
SamplesPerSymbol

Количество выборок, представляющих символ. SamplesPerSymbol должно быть целое число. Это свойство влияет на SymbolRate.

PulseType

Тип импульса объект генерирует. Импульсные доступные типы: возврат к нулю ('RZ') и невозврат к нулю ('NRZ'). Начальное условие для 'NRZ' импульсом является 0.

OutputLevels

Амплитудные уровни, которые соответствуют индексам символа. Для 'NRZ' импульс, задайте как вектор 1 на 2. Первый элемент вектора 1 на 2 соответствует 0th символу (значение бита данных 0). Второй элемент соответствует 1-му символу (значение бита данных 1). Для 'RZ' импульс, задайте как скаляр, и значение соответствует значению бита данных 1.

DutyCycle

Рабочий цикл импульса объект генерирует. Отображения вычислили рабочий цикл на основе импульсных параметров. Это свойство не перезаписываемо.

RiseTime

Задает 10% к 90%-му времени нарастания импульса в секундах.

PulseDuration

Импульсная длительность в секундах задана стандартом IEEE STD 181. Смотрите Преобразование Сигнала Возврата к нулю (RZ): Идеальный Импульс к STD–181 фигурирует в Функциях объекта. Применяется когда PulseType 'RZ'.

FallTime

Время спада импульса в секундах в виде процента от 10 до 90.

DataPattern

Последовательность битов объект использует в виде 'PRBS5', 'PRBS6', …, 'PRBS15', 'PRBS23', 'PRBS31', and'User Defined'.

UserDataPattern

Пользовательская комбинация двоичных разрядов, состоящая из вектора из единиц и, обнуляет. Применяется когда DataPattern 'User Defined'.

Jitter

Характеристики дрожания в виде commsrc.combinedjitter объект. Используйте это свойство сконфигурировать Случайное, Периодическое и Двойное Дрожание Дирака.

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

Объект генератора шаблона имеет пять объектных функций, как описано в этом разделе.

сгенерировать

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

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

сброс

Эта объектная функция сбрасывает генератор шаблона к своему состоянию по умолчанию. Значения свойств не сбрасывают, если они не относятся к состоянию объекта. Эта объектная функция не имеет никаких входных параметров.

idealtostd181

Эта объектная функция преобразует идеальные импульсные технические требования в STD IEEE 181 технические требования. Идеальные от 0% до 100%-го времени нарастания промежутка (tr) и время спада (tf) преобразованы в 10% к 90%-м промежуткам с 50%-й длительностью ширины импульса (pw). Вызовите idealtostd181 возразите функции с помощью этого синтаксиса:

h = idealtostd181(tr,tf,pw)

Объектная функция устанавливает соответствующие свойства. Параметры сигнала возврата к нулю (RZ) IEEE STD-181 показывают в этом рисунке.

std181toideal

std181toideal объектная функция преобразует технические требования импульса IEEE STD-181, сохраненные в генераторе шаблона, к идеальным импульсным техническим требованиям. Функция преобразует времена взлета и падения от 10%-го - 90% промежутка до 0%-го - 100% промежутка и преобразует 50%-ю импульсную длительность в ширину импульса. Вызовите std181toideal возразите функции с помощью этого синтаксиса:

[tr tf pw] = std181toideal(h)
где h указатель объекта генератора шаблона, tr идеальное 0%-й - 100% время нарастания, tf идеальное 0%-й - 100% время спада и pw идеальная ширина импульса. Идеальные импульсные параметры сигнала невозврата к нулю (NRZ) показывают в этом рисунке.

Используйте значения свойств в STD IEEE 181 технические требования.

computedcd

computedcd объектная функция вычисляет искажение рабочего цикла, DCD, импульса, заданного объектом генератора шаблона h.

DCD представляет отношение импульса на длительности к импульсу от длительности. Для импульса NRZ, на длительности длительность, которую импульс тратит выше уровня контура символа. От длительности длительность, которую импульс тратит ниже нуля. Вызовите computedcd возразите функции с помощью этого синтаксиса:

dcd = computedcd(h)

Программное обеспечение вычисляет DCD, данный t R, t F, T sym. Эта формула принимает, что уровень контура символа является нулем.

T h = (A h-Al) * tRAl + (A h-Al) * tFAl + PW +

Tl = (A h-Al) *tRAl + (A h-Al) *tFAl + PW -

DCD = ThTl

Где T h является длительностью высокого сигнала, T l является длительностью низкого сигнала, и DCD представляет отношение длительности высокого сигнала к низкому сигналу.

Примеры

свернуть все

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

h = commsrc.pattern;
disp(h)
                 Type: 'Pattern Generator'
    SamplingFrequency: 10000
     SamplesPerSymbol: 100
           SymbolRate: 100
            PulseType: 'NRZ'
         OutputLevels: [-1 1]
             RiseTime: 0
             FallTime: 0
          DataPattern: 'PRBS7'
               Jitter: [1x1 commsrc.combinedjitter]

Сгенерируйте бинарный сигнал невозврата к нулю (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)

Ссылки

[1] Стандарт IEEE для переходов, импульсов, и связанных форм волны, STD-181-2011. Пискатауэй, NJ. 6 сентября 2011.

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