Browse Source

noise simulation examples

pre-master-46
Holger Vogt 3 years ago
parent
commit
33e17fa969
  1. 25
      examples/noise/baker-252-gain.cir
  2. 41
      examples/noise/resdiv.cir
  3. 48
      examples/noise/resdiv_gain.cir

25
examples/noise/baker-252-gain.cir

@ -0,0 +1,25 @@
baker-252 enhanced
* simple noiseless opamp with RC feedback
* compare E source and code model gain stage
* ngspice-40+ required
.control
set sqrnoise
noise V(vout) Vplus dec 100 1 1000G
print all
noise V(vouta) Vplusa dec 100 1 1000G
print all
.endc
Vplus Vplus 0 dc 0 ac 1
Rf vout vminus 100k
Cf vout vminus 1000p
Eopamp vout 0 vplus vminus 100Meg
Vplusa Vplusa 0 dc 0 ac 1
Rfa vouta vminusa 100k
Cfa vouta vminusa 1000p
a1 %vd(vplusa, vminusa) vouta amp
.model amp gain(gain=1e8)
.end

41
examples/noise/resdiv.cir

@ -0,0 +1,41 @@
* noise of a resistive divider
* noise of a resistive divider, lower resistor noiseless
* noise of a resistive divider with filter
* 'set behavior = lta' is required
V1 1 0 dc 0 ac 1
R1 1 2 10k
R2 2 0 10k
V11 11 0 dc 0 ac 1
R11 11 12 10k
R12 12 0 10k noiseless
V21 21 0 dc 0 ac 1
R21 21 22 10k
R22 22 0 10k
C22 22 0 1u
.control
noise v(2) V1 dec 10 1 100k
echo **resistive divider**
print onoise_total inoise_total
setplot noise1
print onoise_spectrum[0] inoise_spectrum[0]
noise v(12) V11 dec 10 1 100k
echo **resistive divider, lower resistor noiseless**
print onoise_total inoise_total
setplot noise3
print onoise_spectrum[0] inoise_spectrum[0]
noise v(22) V21 dec 10 1 100k
echo **resistive divider with filter**
print onoise_total inoise_total
setplot noise5
print onoise_spectrum[0] inoise_spectrum[0]
set xbrushwidth=2
plot onoise_spectrum inoise_spectrum xlimit 1 1e5
.endc
.end

48
examples/noise/resdiv_gain.cir

@ -0,0 +1,48 @@
*noise of a resistive divider
*noise of a resistive divider with filter
*noise as above after a noiseless amplifier with gain 5
V1 1 0 dc 0 ac 1
R1 1 2 10k
R2 2 0 10k
V21 21 0 dc 0 ac 1
R21 21 22 10k
R22 22 0 10k
C22 22 0 1u
a1 2 3 amp
.model amp gain(in_offset = 0 gain = 5.0
+ out_offset = 0)
a2 22 23 amp
.control
noise v(2) V1 dec 10 1 100k
print onoise_total inoise_total
setplot noise1
print onoise_spectrum[0] inoise_spectrum[0]
noise v(3) V1 dec 10 1 100k
print onoise_total inoise_total
setplot noise3
print onoise_spectrum[0] inoise_spectrum[0]
noise v(22) V21 dec 10 1 100k
print onoise_total inoise_total
setplot noise5
print onoise_spectrum[0] inoise_spectrum[0]
noise v(23) V21 dec 10 1 100k
print onoise_total inoise_total
setplot noise7
print onoise_spectrum[0] inoise_spectrum[0]
set xbrushwidth = 2
plot onoise_spectrum noise5.onoise_spectrum inoise_spectrum xlimit 1 1e5
.endc
.end
Loading…
Cancel
Save