Noise analysis
I couldn't find any mention of this in the ng-spice archives... my
apologies if I've overlooked something on this topic.
******************************************************************
Either I'm missing the point or there is an error in the way noise is
being calculated in ng-spice rework 13. (I have no idea if this problem
exists in previous versions).
If I calculate noise using a command of the form
noise v(outamp) vsig dec 10 1khz 2meg 1
my understanding is that the total noise at node "outamp" is calculated as
caused by the sum of the contribution of all noise generators within the
circuit. To calculate this sum the transfer function from each noise
generator to the "outamp" node is calculated and the contribution from
each noise generator is scaled by this amount and added to form the sum.
This seems to work in a reasonable way for all the output noises. I can
also pull out the individual contributions to the noise from the noise
generator output summaries, sum them, and they add up to the total noise.
The noise command, however, also calculates the noise as referred to a
reference input voltage generator, in this case vsig. Ng-spice calculates
both the total noise referred to the input "inoise_total", and summaries
of the various contributions of noise generators within the circuit as
referred to the input.
Surely though the ratio of each individual noise generator's contribution
referred to the output to this noise generator's contribution as referred
to the input should just be the transfer function of vsig to v(outamp).
(Actually the square of the transfer function because we are working in
units of V^2 or A^2).
If I take the ratio of individual contributions, some equal the expected
transfer function and some differ by a large factor. What's more, some of
the individual inoise_total_(generator) contributions are larger than the
sum total inoise_total noise referred to the input.
My previous experience has been with TopSPICE, which I recall worked in
the way I'm describing. Ng-spice does not seem to be working in the
expected way. Am I seeing a bug or is the noise referred to the input
different from what I'm describing.
Many thanks for any help,
-Robert Penny (rob@ucsd.edu)
Partial thread listing: