serdes.ChannelLoss

Создайте простую модель линии электропередачи с потерями

Описание

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

Входные параметры

расширить все

Входной сгенерированный модулированный сигнал.

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

расширить все

Оценка выхода канала, который включает в себя эффект модели линии электропередачи печатной платы с потерями согласно способу, описанному в Analog Channel Loss в SerDes System.

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

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

release(obj)

расширить все

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

Примеры

свернуть все

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

Определите системные параметры. Используйте время символа 100 ps с 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] Стивен Холл и Говард Хек. Улучшенная целостность сигнала для высокоскоростных цифровых проектов. Hoboken, NJ: Wiley Press, 2009.

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

.
Введенный в R2019a