Construct loss model from channel loss metric or impulse response
SerDes Toolbox / Utilities
The Analog Channel block constructs a loss model using a channel loss metric or an impulse response from another source in a SerDes Toolbox™ model. Analog model inputs are only used for IBIS file construction when using impulse response. For more information, see Analog Channel Loss in SerDes System.
WaveIn
— Input signalInput signal, specified as a waveform.
Data Types: double
WaveOut
— Modified output dataModified output data that includes the effect of a lossy printed circuit board transmission line model according to the method outlined in [1].
Data Types: double
Channel model
— Source of channel modelLoss model
(default) | Impulse response
Source of channel model.
Select Loss model
to model the analog channel from
a loss model.
Select Impulse response
to model the analog channel
from an impulse response.
Use get_param(gcb,'ChannelType')
to view the current
Channel model.
Use set_param(gcb,'ChannelType',value)
to set a
specific Channel model.
Target frequency (Hz)
— Frequency for desired channel loss20e9
(default) | positive real scalarFrequency for the desired channel loss, specified as a positive real scalar in hertz. It corresponds to the Nyquist frequency of the system.
This parameter is only available when Loss model
is
selected as Channel model.
Use get_param(gcb,'TargetFrequency')
to view the
current value of Target frequency (Hz).
Use set_param(gcb,'TargetFrequency',value)
to set
Target frequency (Hz) to a specific value.
Data Types: double
Loss (dB)
— Channel loss at target frequency8
(default) | scalarChannel loss at the target frequency, specified as a scalar in dB.
This parameter is only available when Loss model
is
selected as Channel model.
Use get_param(gcb,'Loss')
to view the current value
of Loss (dB).
Use set_param(gcb,'Loss',value)
to set Loss
(dB) to a specific value.
Data Types: double
Impedance (Ohms)
— Channel characteristic impedanceCharacteristic impedance of the channel, specified as a positive real scalar in ohms. Impedance (Ohms) depends on the setting of Signaling in the Configuration tab in the SerDes Designer app or in the Configuration block.
If Signaling is set to
Differential
, the default value of
Impedance (Ohms) is 100
.
If Signaling is set to
Single-ended
, the default value of
Impedance (Ohms) is 50
.
This parameter is only available when Loss model
is
selected as Channel model.
Use get_param(gcb,'Zc')
to view the current value of
Impedance.
Use set_param(gcb,'Zc',value)
to set
Impedance to a specific value.
Data Types: double
Impulse response
— User provided impulse response[zeros(1,63),1/SampleInterval,zeros(1,192)]
(default) | matrixUser provided impulse response, specified as a unitless matrix. Impulse response is used to construct a channel loss model from the user-defined impulse response of the system.
You can use user specified impulse response to define your own crosstalk. If you decide to include crosstalk from your custom impulse response, you can specify upto six crosstalk stimuli as new columns in the impulse response.
This parameter is only available when Impulse
response
is selected as Channel model
Use get_param(gcb,'ImpulseResponse')
to view the
current value of Impulse response.
Use set_param(gcb,'ImpulseResponse',value)
to set
Impulse response to a specific value.
Data Types: double
Impulse sample interval
— Sample interval of user provided impulse response6.25e-12
(default) | positive real scalarSample interval of the user provided impulse response, specified as a positive real scalar in seconds.
Data Types: double
Tx R (Ohms)
— Single-ended impedance of transmitter analog model50
(default) | nonnegative real scalarSingle-ended impedance of the transmitter analog model, specified as a nonnegative real scalar in ohms.
Use get_param(gcb,'TxR')
to view the current value of
Tx R (Ohms).
Use set_param(gcb,'TxR',value)
to set Tx R
(Ohms) to a specific value.
Data Types: double
Tx C (F)
— Capacitance of transmitter analog model100e-15
(default) | nonnegative real scalarCapacitance of the transmitter analog model, specified as a nonnegative real scalar in farads.
Use get_param(gcb,'TxC')
to view the current value of
Tx C (F).
Use set_param(gcb,'TxC',value)
to set Tx C
(F) to a specific value.
Data Types: double
Rx R (Ohms)
— Single-ended impedance of receiver analog model50
(default) | nonnegative real scalarSingle-ended impedance of the receiver analog model, specified as a nonnegative real scalar in ohms.
Use get_param(gcb,'RxR')
to view the current value of
Rx R (Ohms).
Use set_param(gcb,'RxR',value)
to set Rx R
(Ohms) to a specific value.
Data Types: double
Rx C (F)
— Capacitance of receiver analog model200e-15
(default) | nonnegative real scalarCapacitance of the receiver analog model, specified as a nonnegative real scalar in farads.
Use get_param(gcb,'RxC')
to view the current value of
Rx C (F).
Use set_param(gcb,'RxC',value)
to set Rx C
(F) to a specific value.
Data Types: double
Rise time (s)
— Rise time of stimulus input10e-12
(default) | positive real scalar20%−80% rise time of the stimulus input to transmitter analog model, specified as a positive real scalar in seconds.
Use get_param(gcb,'RiseTime')
to view the current
value of Rise time (s).
Use set_param(gcb,'RiseTime',value)
to set
Rise time (s) to a specific value.
Data Types: double
Voltage (V)
— Peak-to-peak voltage at input of transmitter analog model1
(default) | positive real scalarPeak-to-peak voltage at the input of transmitter analog model, specified as a positive real scalar in volts.
Use get_param(gcb,'VoltageSwingIdeal')
to view the
current value of Voltage (V).
Use set_param(gcb,'VoltageSwingIdeal',value)
to set
Voltage (V) to a specific value.
Data Types: double
Include crosstalk
— Include crosstalk in simulationSelect to include crosstalk in the simulation. By default, this option is deselected.
Specification
— Specify magnitude of near and far end aggressors100GBASE-CR4
(default) | CEI-25G-LR
| CEI-28G-SR
| CEI-28G-VSR
| Custom
Specify the magnitude of the near and far end aggressors. You can choose to
include maximum allowed crosstalk for specifications such as
100GBASE-CR4
, CEI-25G-LR
,
CEI-28G-SR
, CEI-28G-VSR
, or
you can specify your own custom crosstalk integrated crosstalk noise (ICN)
level.
Use get_param(gcb,'CrosstalkSpecification')
to view
the current value of Specification.
Use set_param(gcb,'CrosstalkSpecification',value)
to
set Specification to a specific value.
Far end crosstalk ICN (V)
— Desired integrated noise level of far end aggressor15e-3
(default) | nonnegative real scalarDesired integrated crosstalk noise (ICN) level of the far end aggressor, specified as a nonnegative real scalar in volts. ICN specifies the strength of the crosstalk.
This parameter is only available when you choose
Custom
as crosstalk
Specification.
Use get_param(gcb,'FEXTICN')
to view the current
value of Far end crosstalk ICN (V).
Use set_param(gcb,'FEXTICN',value)
to set
Far end crosstalk ICN (V) to a specific value.
Data Types: double
Near end crosstalk ICN (V)
— Desired integrated noise level of near end aggressor10e-3
(default) | nonnegative real scalarDesired integrated crosstalk noise (ICN) level of the near end aggressor, specified as a nonnegative real scalar in volts. ICN specifies the strength of the crosstalk.
This parameter is only available when you choose
Custom
as crosstalk
Specification.
Use get_param(gcb,'NEXTICN')
to view the current
value of Near end crosstalk ICN (V).
Use set_param(gcb,'NEXTICN',value)
to set
Near end crosstalk ICN (V) to a specific value.
Data Types: double
Symbol Time (s)
— Symbol time of far end crosstalk stimulus100e-12
(default) | positive real scalarSymbol time of the far end crosstalk (FEXT) stimulus, specified as a positive real scalar in seconds.
Use get_param(gcb,'UIFEXT')
to view the current value
of Symbol Time (s) in FEXT stimulus.
Use set_param(gcb,'UIFEXT',value)
to set
Symbol Time (s) in FEXT stimulus to a specific
value.
Data Types: double
Delay (s)
— Delay offset of far end crosstalk stimulus0
(default) | nonnegative real scalarDelay offset of the far end crosstalk (FEXT) stimulus, specified as a positive real scalar in seconds.
Use get_param(gcb,'DelayFEXT')
to view the current
value of Delay (s) in FEXT stimulus.
Use set_param(gcb,'DelayFEXT',value)
to set
Delay (s) in FEXT stimulus to a specific value.
Data Types: double
Modulation
— Modulation levels of far end crosstalk stimulusNRZ
(default) | PAM4
Modulation levels of the far end crosstalk (FEXT) stimulus, specified between
NRZ
(2-level) and PAM4
(4-level).
Use get_param(gcb,'ModulationFEXT')
to view the
current value of Modulation in FEXT stimulus.
Use set_param(gcb,'ModulationFEXT',value)
to set
Modulation in FEXT stimulus to a specific value.
PRBS Order
— PRBS order of far end crosstalk stimulus7
(default) | 9
| 11
| 13
| 15
| 20
| 23
| 31
| 47
Pseudorandom binary sequence (PRBS) order of the far end crosstalk (FEXT) stimulus.
Use get_param(gcb,'OrderFEXT')
to view the current
value of PRBS Order in FEXT stimulus.
Use set_param(gcb,'OrderFEXT',value)
to set
PRBS Order in FEXT stimulus to a specific value.
Data Types: double
Symbol Time (s)
— Symbol time of near end crosstalk stimulus100e-12
(default) | positive real scalarSymbol time of the near end crosstalk (NEXT) stimulus, specified as a positive real scalar in seconds.
Use get_param(gcb,'UINEXT')
to view the current value
of Symbol Time (s) in NEXT stimulus.
Use set_param(gcb,'UINEXT',value)
to set
Symbol Time (s) in NEXT stimulus to a specific
value.
Data Types: double
Delay (s)
— Delay offset of near end crosstalk stimulus0
(default) | nonnegative real scalarDelay offset of the near end crosstalk (NEXT) stimulus, specified as a positive real scalar in seconds.
Use get_param(gcb,'DelayNEXT')
to view the current
value of Delay (s) in NEXT stimulus.
Use set_param(gcb,'DelaynEXT',value)
to set
Delay (s) in NEXT stimulus to a specific value.
Data Types: double
Modulation
— Modulation levels of near end crosstalk stimulusNRZ
(default) | PAM4
Modulation levels of the near end crosstalk (NEXT) stimulus, specified between
NRZ
(2-level) and PAM4
(4-level).
Use get_param(gcb,'ModulationNEXT')
to view the
current value of Modulation in NEXT stimulus.
Use set_param(gcb,'ModulationNEXT',value)
to set
Modulation in NEXT stimulus to a specific value.
PRBS Order
— PRBS order of near end crosstalk stimulus9
(default) | 7
| 11
| 13
| 15
| 20
| 23
| 31
| 47
Pseudorandom binary sequence (PRBS) order of the near end crosstalk (NEXT) stimulus.
Use get_param(gcb,'OrderFEXT')
to view the current
value of PRBS Order in FEXT stimulus.
Use set_param(gcb,'OrderFEXT',value)
to set
PRBS Order in FEXT stimulus to a specific value.
Data Types: double
ICN is a frequency domain metric where the crosstalk is multiplied by a weighting function and then numerically integrated from 50 MHz to the baud rate (fb). If there are multiple aggressors, their power are summed together before combining with the weighting function.
The time domain signal does not excite all frequencies evenly. The power spectral density (PSD) of a baseband time domain excitation follows a sinc-squared type response. The weighting function mimics the excitation of the PSD and shapes the PSD by including the effects of the receiver bandwidth and the transmitter rise time.
The total ICN is calculated by root-sum-squaring the FEXT ICN and NEXT ICN values together.
The impact felt on a victim line from a far end crosstalk aggressor is proportional to the rate of change of the aggressor waveform [2]. So, you can estimate the shape of a FEXT time domain signal with the derivative of the through response lossy impulse response.
where, kFEXT is a scale factor that scales the IFEXT(t) so that it has user specified ICN value.
To calculate the ICN of the signal, transform the signal to frequency domain using Fourier transform.
The magnitude of the scale factor kFEXT is: ,
where is the integrated crosstalk noise operator.
The sign of kFEXT is negative since in typical transmission lines in inhomogeneous dielectrics, the inducting coupling is generally greater than capacitive coupling. As a result, the forward crosstalk pulse has the opposite magnitude from the magnitude of the aggressor signal.
To calculate the near end crosstalk, note that the frequency domain NEXT response is similar in shape (not in magnitude) to the victim's return loss (S11 or S11).
Then the scale factor kNEXT is:
And the time domain NEXT signal is derived from the inverse Fourier transform.
[1] IEEE 802.3bj-2014. "IEEE Standard for Ethernet Amendment 2: Physical Layer Specifications and Management Parameters for 100 Gb/s Operation Over Backplanes and Copper Cables." URL: https://standards.ieee.org/standard/802_3bj-2014.html.
[2] Stephen Hall and Howard Heck. Advanced Signal Integrity for High-Speed Digital Designs. Hoboken, NJ: Wiley Press, 2009.