Convert Scattering Parameter to Impulse Response for SerDes System
This example shows how to find an Impulse Response by combining a Scattering-Parameter (S-Parameter) model of a baseband communication channel along with a transmitter and receiver represented by their analog characteristic impedance values. You can find an impulse response of this network using the sParameterFitter
app to create an SParameterChannel
object in SerDes Toolbox™. The app also uses some supporting functions from RF Toolbox™ such as rational
(RF Toolbox) and impulse
(RF Toolbox).
Configure Variables
The S-Parameter file representing the baseband channel should be a Touchstone 1.0 (.sNp) file. Typically these are extracted from a software EDA tool or laboratory VNA with a port reference impedance (50-Ohms is recommended). The following properties are the main settings you would use to extract an impulse response of the concatenated Transmitter-Channel-Receiver circuit network:
SParameterChannel Properties:
FileName - Filename of the S-Parameter to be imported.
PortOrder - Port order for the S-Parameter.
MaxNumberOfPoles - Maximum number of poles to use for a fit output by the
rational
function.ErrorTolerance - Desired error tolerance in dB for a fit output by the
rational
function.SampleInterval - Sample interval in units of seconds.
StopTime - Desired duration of the Impulse Response in units of seconds.
TxR - Single-ended impedance value in Ohms of the analog TX IO structure.
TxC - Capacitance value in Farads of the analog TX IO structure.
TxAmplitude - Stimulus amplitude of the Tx output rising waveform.
TxRiseTime - The 20-80% rise time of the Tx stimulus waveform.
TxRTFactor - The conversion factor from 20-80% or 10-90% to 0-100% risetime, default is 20-80%.
RxR - Single-ended resistance value in Ohms of the analog RX IO structure.
RxC - Single-ended capacitance value in Farads of the Rx structure.
Signalling - Specify signaling as 'single-ended' or 'differential'.
AggressorDefinition - Method of acquiring aggressor behavior. For 'same-source' the stimulus is applied to victim input and probed at aggressor output and for 'same-load' (default) the stimulus is applied to each aggressor input and probed at the victim output. While the same load definition is more direct, the same source definition is used by methodologies that rely on time domain excitation (like HSPICE) to stimulate the system with a single pulse or step response. Consider the following 4-port single-ended system:
Through-Ports: (1) -- (3)
Through-Ports: (2) -- (4)
The victim line is S31, the same-source crosstalk aggressor is S41 and the same-load crosstalk aggressor is S32.
AutoDetectPortOrder - Boolean option to force auto-detect of port order.
Note: defaults are provided for all settings if no entries are made when calling SParameterChannel
.
Create the S-Parameter Channel Object:
You create an SParameterChannel
object by launching the sParameterFitter app from the base workspace.
sParameterFitter;
This will allow you to create an impulse response from a Touchstone S-Parameter data file. The app loads with default parameters for an SParameterChannel
object. The equivalent command would be as follows:
obj = SParameterChannel('FileName','default.s4p',... 'PortOrder', [1 2 3 4],... 'MaxNumberOfPoles', 1000,... 'ErrorTolerance', -40,... 'SampleInterval', 6.25e-12,... 'StopTime', 20e-9,... 'TxR',50,... 'TxC',0.1e-12,... 'TxAmplitude', 1.0,... 'TxRiseTime', 40e-12,... 'TxRTFactor', 0.6,... 'RxR',50,... 'RxC',0.2e-12,... 'Signaling','differential',... 'AggressorDefinition','same-load');
It is important to also ensure SampleInterval
and StopTime
are set appropriately for the Impulse Response calculation (in this case, 6.25e-12 seconds and 20e-9 seconds, respectively), as well as the stimulus represented by TxAmplitude
and TxRiseTime
. Understanding S-Parameters is beyond the scope of this example, but it is important to remember the bandwidth of an S-Parameter must be sufficient to model a channel according to the Nyquist-Shannon sampling theorem.
Visualize a Plot of the Impulse Response:
You can plot the impulse response in the sParameterFitter
app and export the object sParameterFit
and the impulse response sParameterFitImpulse
to the base workspace.
Use Impulse Response for Channel Model in SerDes Designer
Once you create the base workspace variable sParameterFitImpulse
using the sParameterFitter app, you can use the impulse response of the baseband channel model in the SerDes Designer app. To do so, set the Impulse response parameter for the analog channel model to sParameterFitImpulse
.
Simulate Channel Network with Transmitter and Receiver in SerDes Designer
You can use the impulse response of the baseband channel model in the SerDes Designer app in concert with TX and RX topologies to simulate an eye diagram.
Impulse Response for Channel Model in Simulink
You can use the impulse response of the baseband channel model within Simulink®. To do so, open the Block Parameters dialog box for Analog Channel block and set the Channel Model parameter to Impulse response
. This launches the sParameterFitter app.