Noise analysis VCSW issue

Hi all,

I may have discovered an issue with the .noise analysis in combination with the parameter (step) command in Qspice. When doing a .noise analysis in combination with a parameter stepping from 1 to 9, the plotted steps in the Qspice step selection tool show step values from 1 to 3 with another interval. I use this parameter as a dummy parameter to simulate through different switches turning on and off in the circuit to simulate the expected noise at the output. This looks like:

The noise commands that I use:

This results in an output with the same noise graph for all 9 situations, while it should show different behavior for all 9 cases according to LTspice and measurement verification, using the exact same circuit. For .tran analysis the behavior of the circuit is correct.

The output should look like:

What Qspice shows:

I found that the issue is caused by the voltage controlled switches. In transient analysis the behavior is correct. However, for .noise analysis the switches do not behave correctly anymore. I checked this by replacing the switch with a large resistor or by a short. This showed correct noise results. The switches are defined as: .model SW SW(Ron=100 Roff=1T Vt=0.5 Vh=0) in Qspice.

Without your simulation files, it’s not possible to know what is happening.

But do an update and check if everything is okay now.


Amazing work! The switches and step numbering now work in .Noise analysis as well. Thank you!

Another issue/question which I also discovered yesterday is the output when doing .Noise simulations:

In the output window Qspice writes the total integrated output and input referenced noise in uVrms. However for some cases, when using the .step command, this is skipped and nothing is written to the output window.

I tried to calculate this uVrms noise myself as you would do in, for example, LTspice:
.meas Noiserms integ V(onoise) From xHz to xHz.

This however results in wrong values being calculated: larger deviation when circuit size increases and wrong order of magnitude. I included an example file below.

Many thanks for the fast support, keep up the amazing work so far :slight_smile: .


Qspice_Noise_Example.qsch (26.7 KB)

Here’s how to get the same results from .meas statements as the automatically calculated integral noises:

.meas integrated param sqrt(tmp):
0 1.28748e-05
1 1.82077e-05

Which is the same that the simulator prints on the console:

1 of 2 steps: .step r=1000
Total integrated output-referenced noise: 12.8748µV rms
Total integrated input-referenced noise: 12.8748µV rms
2 of 2 steps: .step r=2000
Total integrated output-referenced noise: 18.2077µV rms
Total integrated input-referenced noise: 18.2077µV rms

Thanks for the support!