commsrc.pattern

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

Синтаксис

h = commsrc.pattern
h = commsrc.pattern(Name,Value)

Описание

пример

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