KJBob

Stimulus-Probe Capability and Limitations

Discussion created by KJBob on Oct 12, 2013
Latest reply on Mar 30, 2015 by KJBob

     Together, SigmaStudio's Stimulus and Probe blocks allow you to predict the frequency response of the blocks you place between them.  This is tremendously helpful, especially when building a desired response from multiple filters.  You can use Stimulus-Probe without hardware connected, in fact without even compiling your design.  This indicates that Stim-Probe does not perform a bit-accurate simulation of your signal flow.  Rather, it computes its result from the known filter characteristics using complex math.  That it works so well is a testament to the hard-working programmers on the SigmaStudio team.  Because it doesn't actually run your signal flow, Stim-Probe does have some limitations, so by example we can explore when it works, when it doesn't, and where you may receive misleading results.

 

 

Linear Filter Combinations -- OK

     Stim-Probe correctly evaluates the response of any of the fixed-parameter stock filters, cascaded or added together with fixed gains.  It correctly predicts the response of the RIAA EQ curve below:

Cascade-add-gain_OK_pic.jpg

 

 

Feed-forward Delays and GUI Controls -- OK

     Stim-Probe successfully evaluates any combination of fixed delays, fixed gains, and additions.  This means you can predict the response of homemade FIR filters (the stock FIR filter is of course OK as well).  Linear blocks such as mixers work too, as long as they use GUI (not external) controls.  Thus the FIR comb filter below Stim-Probes fine:


Feedford-delay-mixer_OK_pic.jpg

 

No Runtime Parameters Allowed

     Stim-Probe cannot evaluate the control levels for multipliers or variable-parameter blocks (such as external-control volume and filter blocks), even when the control comes from a DC Source.  You'll need to run Stim-Probe on a variant of your design that substitutes GUI-controlled versions of these blocks:

Calc-params_NG_pic.jpg

 

Index-Selections Won't Work

     Multiplexers work fine when GUI-controlled, but not with external indexes.  The same is true for index-controlled lookup filters:

    Idx-sel_NG_pic.jpg

     Most of the time, Stim-Probe produces a blank graph when faced with something it cannot evaluate, but the Lookup Filter above provides a fixed output ignoring its index input -- a misleading result.

 

 

Explicit Feedback Loops Ignored

     If a signal flow includes Feedback cells, Stim-Probe ignores their contribution to the result.  Thus, homemade IIR filters won't Stim-Probe properly, as shown with the first-order IIR lowpass filter below:

Feedback_NG_pic.jpg

Here the feed-forward path (a 20dB loss) is represented, but the feedback loop is not -- resulting in the lowpass filter modeling as a straight attenuation.  In this case the inaccuracy is obvious.  However, a complex mix of feed-forward and feedback paths yields potentially misleading results from only a portion of your filter.

 

 

     When you need to plot a response that Stimulus-Probe can't handle, of course you can run it on your hardware and plot with external test equipment.  You could also feed your flow with a built-in white noise source and use Audacity to record the output and plot its spectrum.

Another way to "rough out" the response with hardware connected but no measurement gear is described at http://ez.analog.com/message/88589#88589

 

 

     Bob

Outcomes