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 will see how to find an Impulse Response of this network using the
sParameterFitter app to create an
SParameterChannel (hyperlink to sParameterChannel in doc) object in SerDes Toolbox™, which also uses some supporting functions from RF Toolbox™ such as
rational (RF Toolbox) and
impulse (RF Toolbox).
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:
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
ErrorTolerance - Desired error tolerance in dB for a fit output by the
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
Create the S-Parameter Channel Object:
You create an
SParameterChannel object by launching the
sParamterFitter app from the base workspace.
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
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
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
sParamterFitter app and export the object
sParameterFit and the impulse response
sParameterFitImpulse to the base workspace.
Use Impulse Response for Channel Model in Serdes Designer
You can use the impulse response of the baseband channel model within SerDes Designer by selecting "Impulse response" for channel model and enter the base workspace variable
sParameterFitImpulse that you created with the
Simulate Channel Network with Transmitter and Receiver in Serdes Designer
You can use the impulse response of the baseband channel model within Serdes Designer 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 by opening the Analog Channel block and clicking on the option "Impulse Response" under Channel Model. This will launch the