Anybody have any inkling of what is going on here?
trying to make a simple 1/f gaussian white noise source that has an intercept at F0, this case approx 100Hz. I have the pdf and white noise source, very flat. To control the charactersitics and get that weird rolloff so the 'energy' is 1/f is posing some difficulties.
Thought process was to take the white noie source and put it through a filter that exhibits 1/f. I have that in the below schematic. from 0.1Hz to 100 Hz, 3 decades, the filter's output drops only 30 dB, not the standard 60 dB like a single capaictor would do. PERFECT! Running the white noise through that filter seemed like it should produce a nice 1/f down to intercept and then flat. However, run it and you will see that the FFT of the time waveform coming out drops 60dB over the three decades, not
30dB as expected.What's going on?
I suspect there is an interaction between random waveforms and the complex value of the capacitive filter that causes the spectrum to be wrong, but ??
SimpleFiveResistorCircuit.asc:
Version 4 SHEET 1 27404 712 WIRE 336 -416 224 -416 WIRE 448 -416 336 -416 WIRE 576 -416 448 -416 WIRE 688 -416 656 -416 WIRE 768 -416 688 -416 WIRE 880 -416 848 -416 WIRE 960 -416 880 -416 WIRE 1072 -416 1040 -416 WIRE 1152 -416 1072 -416 WIRE 1264 -416 1232 -416 WIRE 1360 -416 1264 -416 WIRE 1472 -416 1440 -416 WIRE 1632 -416 1472 -416 WIRE 1648 -416 1632 -416 WIRE 688 -384 688 -416 WIRE 880 -384 880 -416 WIRE 1072 -384 1072 -416 WIRE 1264 -384 1264 -416 WIRE 1472 -384 1472 -416 WIRE 224 -336 224 -416 WIRE 336 -336 336 -416 WIRE 448 -336 448 -416 WIRE 688 -272 688 -320 WIRE 880 -272 880 -320 WIRE 1072 -272 1072 -320 WIRE 1264 -272 1264 -320 WIRE 1472 -272 1472 -320 WIRE 224 -160 224 -256 WIRE 336 -160 336 -256 WIRE 336 -160 224 -160 WIRE 448 -160 448 -256 WIRE 448 -160 336 -160 WIRE 336 -128 336 -160 WIRE 688 -128 688 -192 WIRE 880 -128 880 -192 WIRE 1072 -128 1072 -192 WIRE 1264 -128 1264 -192 WIRE 1472 -128 1472 -192 FLAG 336 -128 0 FLAG 688 -128 0 FLAG 880 -128 0 FLAG 1072 -128 0 FLAG 1264 -128 0 FLAG 1472 -128 0 FLAG 1632 -416 out SYMBOL current 224 -336 R0 WINDOW 123 24 28 Left 2 WINDOW 39 0 0 Left 2 SYMATTR Value2 AC 35500 SYMATTR InstName I1 SYMATTR Value "" SYMBOL bi2 336 -336 R0 WINDOW 3 -167 395 Left 2 SYMATTR Value I={35500*Vn*sqrt(12/5/dt)*(rand(time/dt)+rand(N+time/dt)+rand(2*N+time/dt)+rand(3*N+time/dt)+rand(4*N+time/dt)-2.5) } SYMATTR InstName B1 SYMBOL res 560 -400 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName RA1 SYMATTR Value {R} SYMBOL cap 672 -384 R0 SYMATTR InstName C1 SYMATTR Value {320*C} SYMBOL res 672 -288 R0 SYMATTR InstName RB1 SYMATTR Value {R} SYMBOL res 432 -352 R0 SYMATTR InstName R1 SYMATTR Value .001 SYMBOL res 752 -400 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName RA2 SYMATTR Value {10*R} SYMBOL cap 864 -384 R0 SYMATTR InstName C2 SYMATTR Value {8*C} SYMBOL res 864 -288 R0 SYMATTR InstName RB2 SYMATTR Value {10*R} SYMBOL res 944 -400 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName RA3 SYMATTR Value {100*R} SYMBOL cap 1056 -384 R0 SYMATTR InstName C3 SYMATTR Value {2*C/10} SYMBOL res 1056 -288 R0 SYMATTR InstName RB3 SYMATTR Value {100*R} SYMBOL res 1136 -400 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName RA4 SYMATTR Value {1000*R} SYMBOL cap 1248 -384 R0 SYMATTR InstName C4 SYMATTR Value {C/200} SYMBOL res 1248 -288 R0 SYMATTR InstName RB4 SYMATTR Value {1000*R} SYMBOL res 1344 -400 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName RA5 SYMATTR Value {10000*R} SYMBOL cap 1456 -384 R0 SYMATTR InstName C5 SYMATTR Value {C/8000} SYMBOL res 1456 -288 R0 SYMATTR InstName RB5 SYMATTR Value {10000*R} TEXT 1736 -176 Left 2 !.ac dec 100 {0.1*Fstart} {10*Fstop} TEXT 1728 -136 Left 2 ;.noise V(out) Vin dec 100 1k 10MEG TEXT 1744 -416 Left 2 !.options plotwinsize=0\n.param k=1.38e-23 T=300 N=20000 dt=50uS\n.param Vn=1nV F0=100 C=0.01 R={1/2/pi/C/F0} \n.param Fstart={1/N/dt} Fstop={1/2/dt}\n.param tstart={0.1*N*dt} tstop={1.1*N*dt} TEXT 1728 -104 Left 2 ;.tran 0 {tstop} {tstart} {dt/10}\n.save V(out) TEXT 1736 -256 Left 2 ;Fmin = 1/(N*dt) = 1Hz\nFmax = 1/2/dt = 10kHz