Skip to content

Eye Diagrams, Impulse Response Filters, Transfer Matrices, and LeCroy Waveforms

Compare
Choose a tag to compare
@PetePupalaikis PetePupalaikis released this 01 Sep 23:15
· 218 commits to master since this release

Features

Eye Diagrams

Added the Eye Probe which produces very nice eye diagrams

image

This capability will be enhanced in the future towards items like clock recovery and measurements made on eye diagrams. For now, it assumes a single specified baud rate, and you must control the delay to center the eye in the diagram automatically -- but it does make beautiful pictures.

Impulse Response Filters

A type of filter has been added that allows for a filter to be described by the impulse (or step response of a waveform).

LeCroy Waveforms

Up to now, the only format for waveforms usable with SignalIntegrity was the SignalIntegrity text based waveform format. Now, LeCroy waveform format (the kind used in LeCroy scopes is available). These waveforms have the .trc extension and are automatically read in properly and a preference has been added to allow saving in this format as the preferred format. This is useful when using SignalIntegrity along with the oscilloscope.
Closes #5.

Transfer Matrices

The SignalIntegrityAppHeadless API that is used for driving project calculations from other Python scripts has been enhanced to allow Simulation projects and Virtual Probe projects to supply only the transfer parameters (or transfer matrices). These, as you might know, are the banks of filters to which the waveforms are applied. Also, the main application allows for calculation and viewing of only the transfer matrices (this was previously possible only after an entire simulation was performed).

Other Small, Miscellaneous Things

Upper case file names are now allowed in s-parameter files. This was not really a problem on Windows machines, but was problematic for Linux machines. Plus, some old VNAs would automatically write wave forms with upper case extensions. This is now handled properly.
The default preferences have been updated so that on new installations, The preferences are the preferred ones (previously, these were the safest ones). This means that SinX interpolation, calculation caching, and grids on plots is now preferred, along with the experimental "Try SVD" in calculations that has been around for a long time and seems to work very well.
The Laplace function filter has been updated to allow for z-domain waveforms (in addition to functions based on f, jw, and s, previously).

Bug Fixes

Waveform Adaption

During waveform adaption, there was a bug that was rarely encountered that caused the fractional delay to not be applied. This is fixed.

Documentation Fixes

Some documentation used with the online software documentation that is automatically generated from the decorated code was repaired.

Skin-effect Resistor

This feature released in the last release was very broken, and is now fixed.

Performance Improvements

It was discovered that the impedance peeling capability added awhile ago for port peeling and de-embedding was running all the time, even when peeling was not being asked for. This did not result in a wrong answer, but added a large amount of work to s-parameter generation and de-embedding, especially for large amounts of frequency points. Now, this is optimized to do as little work as possible when impedance peeling is not desired.

Help System and Unit Tests

The help system was completely updated with the documentation, especially for the eye diagrams and all unit tests were run and passed.

See Installation for installation instructions.