Transmission Lines and W Elements
Summary
Fixed a major bug in the analytical transmission line models and introduced the HSpice W element.
Bug Fixes
Transmission Line Model
While looking at W elements, I found a mistake I had made in the definition of how skin-effect resistance is treated (and unfortunately it's wrong in my book). The error is that I had used Z=Rsesqrt(f) for the skin effect impedance. In fact, it is Z=Rse(1+j)*sqrt(f). Changing this was quite invasive, as it affected transmission line model fitting and numerous test results. I also, after careful looking, found that the treatment of the DC point was also incorrect. When computing the analytical transmission line, now, when we compute Zc=sqrt(Z/Y) and Y is zero, we simply return a model of a line with only a series impedance Z. This is the correct treatment.
Features
Simulation of projects from scripts
Previously, scripts utilizing simulation projects had to write the waveforms to a file, that the project that would then read in. Now, hooks have been added for the script to insert the waveform into the simulation, which speeds things up a lot.
S-parameter viewer
Now, when s-parameters are viewed with more than nine ports, the buttons are formatted better to see the selections.
PRBS generation
Previously, when you select a PRBS polynomial, the bits for the entire polynomial are generated, and then the bits are chosen from the waveform. This is actually impossible for large PRBS polynomial values as the application runs out of memory (and it takes a ridiculous amount of time). Now, only the number of bits needed are created. This has a side effect that the end of the pattern is actually the bits computed wrapped around, which is not good, but the behavior is highly preferable to what was there before.
W element
The W element has been added to scripted solutions only. The W element is very useful for simulating large sets of distributed transmission lines that are interacting with each other. In the future, this will be modified to be more amenable to the UI and a UI implementation will be added.
See Installation for installation instructions.