exponenta event banner

serdes. ChannelLoss

Создание простой модели линии передачи с потерями

Описание

serdes.ChannelLoss Система object™ создает модель линии передачи с потерями для использования в приложении SerDes Designer и других экспортируемых моделях Simulink ® в Toolbox™ SerDes. Для получения дополнительной информации см. раздел Потеря аналогового канала в системе SerDes.

Чтобы построить модель потерь из метрики потерь канала, выполните следующие действия.

  1. Создать serdes.ChannelLoss и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

ChannelLoss = serdes.ChannelLoss возвращает ChannelLoss объект, который модифицирует форму входного сигнала с помощью модели линии передачи печатной платы с потерями согласно способу, описанному в [1].

ChannelLoss = serdes.ChannelLoss(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в кавычки. Неопределенные свойства имеют значения по умолчанию.

Пример: ChannelLoss = serdes.ChannelLoss('Loss',5,'TargetFrequency',14e9) возвращает ChannelLoss объект, имеющий потери канала 5 дБ при 14 ГГц.

Свойства

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

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

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Потеря канала на целевой частоте, заданная как действительный скаляр в дБ.

Типы данных: double

Частота для желаемой потери канала, заданная как положительный действительный скаляр в Гц.

Типы данных: double

Интервал выборки в s, заданный как положительный действительный скаляр.

Типы данных: double

Дифференциальный характеристический импеданс канала, определяемый как положительный действительный скаляр в омах.

Типы данных: double

Односторонний импеданс аналоговой модели передатчика, определяемый как неотрицательный действительный скаляр в омах.

Типы данных: double

Одноконцевая ёмкость аналоговой модели передатчика, заданная как неотрицательный действительный скаляр в фарадах.

Типы данных: double

Односторонний импеданс аналоговой модели приемника, определяемый как неотрицательный действительный скаляр в омах.

Типы данных: double

Емкость аналоговой модели приемника, заданная как неотрицательный действительный скаляр в фарадах.

Типы данных: double

20% − 80% времени нарастания входного сигнала стимула в аналоговую модель передатчика, заданную как положительный действительный скаляр в секундах.

Типы данных: double

Пиковое напряжение на входе аналоговой модели передатчика, определяемое как положительный действительный скаляр в вольтах.

Типы данных: double

Набор EnableCrosstalk кому true для включения перекрестных помех в моделирование. По умолчанию EnableCrosstalk имеет значение false.

Укажите величину агрессоров ближнего и дальнего концов. Можно включить максимально допустимую перекрестную помеху для таких спецификаций, как 100GBASE-CR4, CEI-25G-LR, CEI-28G-SR, CEI-28G-VSRили можно указать собственный уровень интегрированного перекрестного помехового шума (ICN).

Скорость передачи в бодах, используемая для вычисления интегрированного перекрестного помеха (ICN), заданная как положительный действительный скаляр в герцах. fb - обратное время символа.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true.

Типы данных: double

Требуемый уровень интегрированного перекрестного шума (ICN) агрессора дальнего конца, определяемый как неотрицательный действительный скаляр в вольтах. ICN определяет силу перекрестных помех.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true и CrosstalkSpecification имеет значение Custom.

Типы данных: double

Амплитудный коэффициент агрессора перекрестных помех на дальнем конце, определяемый как положительный действительный скаляр в вольтах.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true и CrosstalkSpecification имеет значение Custom.

Типы данных: double

Время нарастания агрессора перекрестных помех на дальнем конце, определяемое как положительный реальный скаляр в секундах.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true и CrosstalkSpecification имеет значение Custom.

Типы данных: double

Требуемый уровень интегрированного перекрестного шума (ICN) агрессора ближнего конца, определяемый как неотрицательный действительный скаляр в вольтах. ICN определяет силу перекрестных помех.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true и CrosstalkSpecification имеет значение Custom.

Типы данных: double

Время нарастания соседнего агрессора перекрестных помех, определяемое как положительный действительный скаляр в секундах.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true и CrosstalkSpecification имеет значение Custom.

Типы данных: double

Время нарастания соседнего агрессора перекрестных помех, определяемое как положительный действительный скаляр в секундах.

Зависимости

Это свойство доступно только в том случае, если EnableCrosstalk имеет значение true и CrosstalkSpecification имеет значение Custom.

Типы данных: double

Использование

Синтаксис

Описание

y = ChannelLoss(x)

Входные аргументы

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

Входной сигнал основной полосы частот.

Выходные аргументы

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

Расчетный выходной сигнал канала, который включает в себя эффект модели линии передачи печатной платы с потерями в соответствии со способом, описанным в разделе Потеря аналогового канала в системе SerDes.

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

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

release(obj)

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

stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

В этом примере показано, как обработать идеальную синусоидальную входную форму сигнала с помощью модели, и проверить, что она изменяет амплитуду сигнала разумным образом.

Определите системные параметры. Используйте время символа 100 пс с 8 отсчетами на символ. Амплитуда входного сигнала - 1 В. Потери канала - 3 дБ.

SymbolTime = 100e-12;
SamplesPerSymbol = 8;
a0 = 1;
Loss = 3;

Вычислите интервал выборки. Определите вектор времени длиной 30 символов.

dt = SymbolTime/SamplesPerSymbol;
t = (0:SamplesPerSymbol*30)*dt;

Создайте синусоидальный входной сигнал.

F = 1/SymbolTime/2;      %Fundamental frequency
inputWave = a0*sin(2*pi*F*t);

Создать channelModel объект с заданными потерями для почти идеального окончания передатчика и приемника.

channelModel = serdes.ChannelLoss('Loss',Loss,'dt',dt,...
      'TargetFrequency',F,'TxR',50,'TxC',1e-14,... 
      'RxR',50,'RxC',1e-14);

Обработка входного сигнала с помощью channelModel объект.

 outputWave = channelModel(inputWave);

Вычислите выходные амплитуды.

a1 = max(outputWave);                              %Output amplitude
aideal = a0*10^(-abs(channelModel.Loss)/20);       %Theoretical output amplitude

Создайте частотную характеристику.

s21 = channelModel.s21;
f = (0:length(s21)-1)*channelModel.dF;

Определите потери на целевой частоте частотной характеристики.

f1 = find(f>channelModel.TargetFrequency,1,'first');
LossAtTarget = interp1(f(f1-1:f1),db(s21(f1-1:f1)),channelModel.TargetFrequency);

Постройте график временной и частотной характеристики модели канала.

tns = t*1e9;
thline = [tns(1),tns(end)];
fghz = f*1e-9;
figure
subplot(211)
plot(tns,outputWave,thline,aideal*[1 1],thline,a1*[1 1],'b--'),
grid on
xlabel('ns'),ylabel('Voltage')
title('Time Response of Channel Model')
legend('Output waveform',...
sprintf('Ideal amplitude: %g mV',round(aideal*1e3)),...
sprintf('Actual amplitude: %g mV',round(a1*1e3)),'Location','southwest')
subplot(212)
plot(fghz,db(s21),...
channelModel.TargetFrequency*1e-9,LossAtTarget,'o')
title('Frequency Response of Channel Model')
legend('S_{21}(f)',sprintf('%g dB @ %g GHz',LossAtTarget,channelModel.TargetFrequency*1e-9))
grid on
xlabel('GHz')
ylabel('dB')

Figure contains 2 axes. Axes 1 with title Time Response of Channel Model contains 3 objects of type line. These objects represent Output waveform, Ideal amplitude: 708 mV, Actual amplitude: 735 mV. Axes 2 with title Frequency Response of Channel Model contains 2 objects of type line. These objects represent S_{21}(f), -3.00044 dB @ 5 GHz.

Подробнее

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

Алгоритмы

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

Ссылки

[1] IEEE 802.3bj-2014. «Стандарт IEEE для Ethernet, Поправка 2: Спецификации физического уровня и параметры управления для работы 100 Гбит/с над объединительными платами и медными кабелями». https://standards.ieee.org/standard/802_3bj-2014.html.

[2] Стивен Холл и Говард Хек. Улучшенная целостность сигналов для высокоскоростных цифровых систем. Хобокен, Нью-Джерси: Wiley Press, 2009.

Расширенные возможности

.
Представлен в R2019a