verticalBathtub

Системный объект: коммуникация. EyeDiagram
Пакет: коммуникация

Вертикальная кривая ванны

Синтаксис

s = verticalBathtub(ed)

Описание

s = verticalBathtub(ed) возвращает массив структур, s, для объекта ed индикаторной диаграммы. Каждая структура в s содержит уровень BER и соответствующие верхние и более низкие пороги между шумовым и вертикальным открытием глаза.

Примечание

Этот метод доступен, когда оба из этих условий применяются:

  • EnableMeasurements является true

  • ShowBathtub является 'Vertical' или 'Both'

Примеры

развернуть все

Отобразите индикаторную диаграмму для формы волны, имеющей двойного Дирака и случайное дрожание. Сгенерируйте и постройте горизонтальные и вертикальные кривые ванны.

Задайте частоту дискретизации, выборки на символ и количество параметров трассировок.

fs = 1000;
sps = 200;
numTraces = 1000;

Создайте объект индикаторной диаграммы.

ed = comm.EyeDiagram('SampleRate',fs,'SamplesPerSymbol',sps,'SampleOffset',sps/2, ...
    'DisplayMode','2D color histogram','ColorScale','Logarithmic', ...
    'EnableMeasurements',true,'ShowBathtub','Both','YLimits',[-1.2 1.2]);

Сгенерируйте форму волны, имеющую двойного Дирака и случайное дрожание. Задайте времена взлета и падения на 3 мс.

src = commsrc.pattern('SamplesPerSymbol',sps,'RiseTime',3e-3,'FallTime', 3e-3);
src.Jitter = commsrc.combinedjitter('RandomJitter','on','DiracJitter','on', ...
    'DiracDelta',[-5e-04 5e-04],'RandomStd',2e-4);

Сгенерируйте два символа для каждой трассировки.

x = src.generate(numTraces*2);

Передайте сигнал через канал AWGN с фиксированным seed для повторяемых результатов.

randStream = RandStream('mt19937ar','Seed',5489);
y = awgn(x,30,'measured',randStream);

Отобразите индикаторную диаграмму.

ed(y)

Сгенерируйте горизонтальные данные о ванне для индикаторной диаграммы. Постройте кривую.

hb = horizontalBathtub(ed)
semilogy([hb.LeftThreshold],[hb.BER],'b',[hb.RightThreshold],[hb.BER],'b')
grid
hb = 

  1x13 struct array with fields:

    BER
    LeftThreshold
    RightThreshold

Сгенерируйте вертикальные данные о ванне для индикаторной диаграммы. Постройте кривую.

vb = verticalBathtub(ed)
semilogx([vb.BER],[vb.LowerThreshold],'b',[vb.BER],[vb.UpperThreshold],'b')
grid
vb = 

  1x13 struct array with fields:

    BER
    UpperThreshold
    LowerThreshold

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте