serdes.Stimulus
Set a pseudorandom binary sequence (PRBS) pattern and number of symbols to simulate in SerDes model
Since R2021b
Description
The serdes.Stimulus
System object™ defines how to create the waveform and the number of symbols to simulate in a
SerDes Toolbox™ model. You can directly specify a PAMn symbol pattern or define a binary to PAMn
mapping scheme.
To create a multi-level pseudorandom binary sequence or custom data pattern:
Create the
serdes.Stimulus
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
returns a
stimulus
= serdes.StimulusStimulus
object that outputs multi-level pseudorandom binary sequence
or custom data pattern.
sets properties using one or more name-value arguments. Unspecified properties have
default values.stimulus
= serdes.Stimulus(Name=Value
)
Example: stimulus = serdes.Stimulus(Modulation=4,Delay=10e-12)
returns a Stimulus
object that uses a four-level pulse amplitude
modulation (PAM4) modulation scheme and has a delay of 10e-12
seconds.
Properties
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
Tips
If the PRBS waveform specification definition is incomplete, then extended defaults will be applied. For instance, if Modulation is 4 but Seed is incomplete or incorrect, a valid Seed value will be found and used.
The PAMn waveform specification creates pulse amplitude modulation (PAM) signals for 2 to 16 levels. This random integer generator selects 16 bits from a PRBS31 data stream to form an integer between 0 and 2^16-1. This integer is then linearly mapped to the range of [0.501, N + 0.499] which is then rounded to an integer in the range of 1 to N, where N is the desired number of PAM levels. This uniform integer then selects the appropriate symbol voltage from the
MapToVoltage
property.The injected jitter is accumulated as follows:
DJ: jitter
= 2*Dj
*(rand(1)-0.5);Rj: jitter
=Rj
*randn(1);DCD: jitter = DCD/2*(-1.0)^N, where N is the symbol index
Sj
: jitter =pSj
*sin(N*T*2*pi*SjFrequency
), where N is the symbol index, T is the symbol time.Jitter is injected in the symbol to waveform conversion and therefore jitter cannot be injected when the Specification is 'Sampled Voltage'.
Version History
Introduced in R2021b
See Also
serdes.ChannelLoss
| Stimulus | Analog Channel | SerDes Designer