exponenta event banner

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 соответствует 0-му символу (значение бита данных 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', и'User Defined'.

UserDataPattern

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

Jitter

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

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

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

произвести

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

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

сброс

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

idealtostd181

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

h = idealtostd181(tr,tf,pw)

Функция объекта задает соответствующие свойства. На этом рисунке показаны параметры сигнала IEEE STD-181 Return-to-Zero (RZ).

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) показаны на этом рисунке.

Используйте значения свойств для спецификаций IEEE STD-181.

computedcd

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

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

dcd = computedcd(h)

Программное обеспечение вычисляет DCD с учетом tR, tF, tym. Эта формула предполагает, что граничный уровень символа равен нулю.

Th = (Ah-Al) * tRA1 + (Ah-Al) * tFAl + PW +

T1 = (Ah-Al) * tRA1 + (Ah-Al) * tFAl + PW-

DCD = ThTl

Где Th - длительность высокого сигнала, T1 - длительность низкого сигнала, а 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 = 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.

Ссылки

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

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