DIYstompboxes.com

DIY Stompboxes => Building your own stompbox => Topic started by: anotherjim on May 27, 2019, 05:10:50 PM

Title: Noise generator using device self-noise
Post by: anotherjim on May 27, 2019, 05:10:50 PM
Been futzing on the breadboard...
A while ago PRR suggested using self-noise as an alternative to the more usual choice of BE reverse breakdown or digital generators.
(https://i.postimg.cc/Gmq1PrJF/Self-noise1.png)

This makes a nice full noise signal, but despite the amount of gain expect only about 1v peak to peak output. Power supply filtering is absolutely essential unless battery only. 100% screening of the circuit is also a must.

For a stand-alone noise synth machine, the second op-amp could be a Q&D filter since that has lots of gain too.
Title: Re: Noise generator using device self-noise
Post by: PRR on May 27, 2019, 05:26:42 PM
My suspicion is the TL072 makes a flatter smoother hiss than most 12-cent resistors; I'd make R3 zero (or 100k with a good 0.1u cap to ground for further power-crap filtering).

Output level would be increased with R5 toward 1K (and C4 larger). Ah, that would give 3KHz bandwidth-- enuff for some, no good for hi-fi response tests.

IAC, hiss has infinite peaks. Even at "1Vpp" you may have rare clipping if you watch long enough. This too may not matter, but sometimes it does, depending what you are doing.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 27, 2019, 07:05:17 PM
QuoteA while ago PRR suggested using self-noise as an alternative to the more usual choice of BE reverse breakdown or digital generators.
It's not a bad approach.   Moons ago I spent a lot of time with the BE junction generators and they vary all over the map; they don't quite make 9V operation.   You can get good results by tuning the "reverse-diode" current.   The good thing about analog generators is they don't have that annoying cycling you get from short (Q&D) digital sequences.  You might be able to stretch the bandwidth with a little less gain on the first opamp and more on the second.  As far as listening to the noise it probably sounds better as is.  Be interesting to see the spectra.  You can record it on a PC and do an FFT. 

FYI, the Boss DR55 also uses resistor noise.  They use 2M2's.   (I haven't calculated the shot noise component from the transistor to see how large it is).
(https://i.postimg.cc/njwrdqW0/Boss-dr55-noisegen-1980.png) (https://postimg.cc/njwrdqW0)
[EDIT: I forgot to add this circuit ran from 6V batteries]

QuoteMy suspicion is the TL072 makes a flatter smoother hiss than most 12-cent resistors;.
Hard to know since they all have 1/f^n issues in fact .    The resistor will put out a higher noise voltage which helps keep interferring noise down (provided you shield the resistor).
Title: Re: Noise generator using device self-noise
Post by: anotherjim on May 28, 2019, 09:56:53 AM
It's quite a tricky thing to experiment on having such a sensitive front end. I was getting feedback squeals from my little bench amp - microphonic capacitors!
Also trying to see what I can do with a mostly standard range of components. Ironically, I think the only resistors I have >1M are all metal-film due to noise considerations -  or is there a diminishing return in noise spec for metal-film over carbon-film at high resistances?

I don't remember the good old DR-55 having a weak noise source, so that circuit looks like something worth trying.

Noise generators aren't something I have much experience with. Like Rob, I've already given up on reverse junction breakdown due to inconsistency at lower voltages.

I'm not aiming a test equipment quality noise, just a means to add hiss and crackle.

For crackle, would it be the right way to go to feed the noise to a logic gate or comparator so it makes random clicks whenever it passes a threshold?

Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 28, 2019, 10:33:12 PM
QuoteFor crackle, would it be the right way to go to feed the noise to a logic gate or comparator so it makes random clicks whenever it passes a threshold?
I did a few simple tests (in software).  The input signal was computer generated white noise (approx gaussian):

1) Simple one sided threshold:
    If the Vnoise >  threshold  then output 1 otherwise output 0.
    In other words, outputs a blip while the noise exceeds a positive threshold.
    Circuit wise basically a simple one sided comparator, taking the output directly
    off the comparator.

2) Slightly more elaborate than (1). Two sided threshold and bipolar output blips.
    If the Vnoise > threshold  then output 1 otherwise output 0.
    If the Vnoise < -threshold  then output -1 otherwise output 0.
    In other words, outputs a positive blip *while* the noise exceeds a positive threshold,
    and outputs a negative blip *while* the noise exceeds a negative threshold.

3) Similar to 1 except instead of outputting 1 when the voltage exceeds the threshold
    I output a fixed width pulse.  Pretty much like feeding case (1) into a monostable,
    a monostable which doesn't retrigger until the pulse is finished.

For consistency reasons, the threshold was set as a percentage of the peak of the noise or a multiple of the rms;   both methods worked pretty much the same.   For a circuit there's no need for such an elaborate scheme.  The noise level is constant and you would just adjust the threshold manually to set the crackle rate.

The results:

The nature of the crackle is pretty much like a geiger counter (not like surface noise of an LP).  The threshold controls the click rate from infrequent clicks, to crazy "you a going to die" clicks, to sounding like white noise again.

Case 1 sounds pretty good.

Case 2 sounds virtually identical.  A minor detail: since you get twice as many clicks I raised the threshold so the probability of the clicks was the same as case 1.  It sounded virtually identical to case 1, to the point where the two sided comparator is not worth it.

Case 3 sounds a lot like case 1.  When you increase the pulse width the clicks have a full bodied sound and it actually sounds like less natural clicking that case 1.

(4) What I didn't try:   I was thinking if you want infrequent clicks the threshold might be hard to set so I got the idea of using a lower threshold and then feed the  (more frequent) comparator clicks into a divider then letting the clicks out less frequently. ie. lower threshold -> more clicks -> divider -> every nth click.   I might try it later since I'm interested in seeing what happens.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 29, 2019, 01:47:09 AM
QuoteI might try it later since I'm interested in seeing what happens.
4) Tuning the threshold to match the click-rate of case 1 there isn't much in it sound-wise.

I also tried gating the noise through (with and without removing the threshold offset) during a click instead of outputting a pulse.  The difference was small.

I suppose case 1 has a lot to offer.  Sounds OK and is the simplest implementation.

I might try low and high-pass filtering the clicks.  Edit: Turns out, in all the above my equalizer was on.  I had quite a bit of low-pass filtering.  When I removed the EQ the clicks were quite harsh.  So, yep, some EQ helps.

Another thing I tried was to sample and hold another random source instead of outputting fixed height pulses for the clicks.  The idea is it randomized the click height.  That did actually make the clicks sound more natural, especially when you AB it with the pulses.

I managed to get a good popcorn sound  :icon_mrgreen:
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 29, 2019, 04:36:18 AM
Well, I've started to become addicted to this darn thing.   

I got a cool LP surface noise and clicks/pops by combining two (or more) click generators with different settings:  One at a low level but high click rate for the surface noise then another at a high level and slow rate for the click/pops.   Then later I added a third one with level and rate in between.

It's actually quite a bit of fun playing around with it but I've got other things to do :icon_redface:
Title: Re: Noise generator using device self-noise
Post by: anotherjim on May 29, 2019, 04:39:30 AM
I had a crackle experiment going last night - together with a new design. CMOS inverters 4069UB. Don't have a schematic yet 'cause it's not finished but obviously, it's a chain of inverting amplifiers amplifying component noise. Seems its 4 or 5 stages needed to reach full swing, but I don't think I've found an optimal arrangement for maximum noise yet. However, it is far less susceptible to hum and interference than the op-amp idea above.

Crackle - the last inverter is fed the noise via a resistor and another resistor controls a DC offset from a pot to the same input thus biasing the logic level threshold.  This is primitive approach because the crackle effect only becomes identifiable from simple noise at a particular point close to a logic threshold when the switching becomes less frequent - so the resistances need padding to ensure the pot has a usable swing. The other limitation is that identifiable crackle from this is much quieter than the full noise, which is obvious, but means a simple  "Noise->Crackle" one-knob control would need some tricks to work well.

Like you Rob, I noticed EQ makes a big difference to what the Crackle sounds like. I had a coupling cap between inverters too small in order to get phonogram crackle, but listening outside the workshop it sounded like a lawn sprinkler!
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 29, 2019, 05:17:26 AM
Quoteit's a chain of inverting amplifiers amplifying component noise. Seems its 4 or 5 stages needed to reach full swing, but I don't think I've found an optimal arrangement for maximum noise yet..
If I get time I'll try than clipped noise method.   The final waveform is different to the threshold method.  For the threshold method the pulse-width is narrow since it slices through the narrow peaks of the noise waveform.  The clipped method stretching things from the zero-crossings.  Did you pass it though a high-pass filter so you get narrow pulses on one of the edges?
QuoteCrackle - the last inverter is fed the noise via a resistor and another resistor controls a DC offset from a pot to the same input thus biasing the logic level threshold.  This is primitive approach because the crackle effect only becomes identifiable from simple noise at a particular point close
Maybe the idea of using a lower threshold and a divider in (4) above can help?  I was suspicious that might happen.

QuoteThe other limitation is that identifiable crackle from this is much quieter than the full noise,
I noticed that as well.  My code prints out the rms level and the rms level drops when the click rate goes down (as expected really).

QuoteLike you Rob, I noticed EQ makes a big difference to what the Crackle sounds like. I had a coupling cap between inverters too small in order to get phonogram crackle, but listening outside the workshop it sounded like a lawn sprinkler!
I'm sure the filtering from the room to outside has a large impact.  One version I played with had a first-order high-pass filter around 300Hz to 500Hz and low-pass around 1.2kHz to 2kHz.   The tone is vastly different on my POS PC speakers compared to my ear-bud headphones.  In a few cases I found changing the filter made it sound angry but that was because the level went up.  After adjusting the level to be similar to before it didn't sound so angry.




Title: Re: Noise generator using device self-noise
Post by: anotherjim on May 29, 2019, 11:33:50 AM
A problem with the CMOS is that as the noise signal approaches the rails, the gain reduces causing compression. This means the crackle detections are somewhat all-or-nothing since the peak levels of noise are crowded in at similar amplitudes.
An advantage of the hex inverter is getting 6 devices to use, but I found I needed the first one to simply bias up with a 10k feedback so it provided a low impedance source for the next amplifying stage. This greatly reduces the sensitivity to supply or radiated noise, something the op-amp really suffered from. I take a cue from that to try a quad opamp. The first being a reference buffer then 2 amplifying stages and a final amp as a comparator or Schmitt trigger to extract a crackle signal.

An aside is this...
(https://proxy.duckduckgo.com/iu/?u=http%3A%2F%2Fwww.schmitzbits.de%2Fnoise.png&f=1)
Which shows that even with a decently high supply voltage, a junction breakdown noise source still needs help. Although, to be fair, in a synth you might want random voltages to reach the full CV range of the instrument.

Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 29, 2019, 07:10:12 PM
QuoteA problem with the CMOS is that as the noise signal approaches the rails, the gain reduces causing compression. This means the crackle detections are somewhat all-or-nothing since the peak levels of noise are crowded in at similar amplitudes.
I think I misunderstood your scheme in the earlier post (my apologies).  Let me get this right.  You offset the DC so the gate saturates against the rails.   You then then DC offset so only the peaks of the noise are high enough to get the gate out of saturation? At that point you get a click.   So to a first order, it works like a comparator with the threshold high enough to trip on one side of the peaks.  In principle it's the same scheme I used in case 1.

What I found is for slowish rates the threshold needs to be set high to only select the infrequent peaks and this makes the click rate quite sensitive to the threshold.  Very roughly 10% change in threshold to double or half the click rate.  The idea of using the divider was make the click rate less sensitive to the noise and also less sensitive to the nature of the peaks of the noise (which might not be 100% gaussian, especially if there is clipping earlier on which is going to narrow the range of peaks further).    I wonder if detecting the zero crossings (with an offset for rate adjustment) with a divider is less sensitive?

QuoteAn advantage of the hex inverter is getting 6 devices to use, but I found I needed the first one to simply bias up with a 10k feedback so it provided a low impedance source for the next amplifying stage. This greatly reduces the sensitivity to supply or radiated noise, something the op-amp really suffered from. I take a cue from that to try a quad opamp. The first being a reference buffer then 2 amplifying stages and a final amp as a comparator or Schmitt trigger to extract a crackle signal.
Perhaps the output signal signal couples back to the earlier stages and the buffer helps stop that?   I agree that the PSU can be a source of problems for these high gain ckts.   As soon as something clips the problem can get worse.   One trick to stop clipping to the rails is to use diodes and zeners in the feedback loop to deliberately clip but where the feedback is maintained and the opamp still operates linearly.  The down side is you lose swing.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on May 29, 2019, 10:45:13 PM
QuoteI wonder if detecting the zero crossings (with an offset for rate adjustment) with a divider is less sensitive?
FYI, the divided zero crossings didn't sound that great.

However, I had another idea:   Low pass filter the noise before it goes to the detector.   The idea is band limited noise is still noise but the rate which it exceeds the detection threshold is reduced.   This method naturally makes the infrequent noise louder because the time that it exceed the detector threshold is longer (in proportion to the bandwidth reduction).    On the downside at very low rates the noise become more like a bad connection than a distinct click.   I guess that's the trade off.   It's possible to feed the output into a monostable or pulse generator to make the pulse short again but then the level will drop.   Anyway it's quite an easy change to the basic idea.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 01, 2019, 08:29:28 AM
(https://i.postimg.cc/zGSRMT2y/Self-noise2.png)
As far as I got with the CMOS inverter version. Stable, but not optimised. The 22pF caps on most stages needed to quell the concentration of high-frequency content around the zero crossings. Unlike op-amps, this can produce noise up into megahertz if you needed that.
The "Crackle" control is a crude but effective adjustment to allow fewer positive going peaks to get through.
Current consumption is surprisingly low at just over 3mA, but as the noise signal grows larger, the inverters spend less time in the middle linear region so reducing the average shoot-thru current.

Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 01, 2019, 08:58:12 AM
(https://i.postimg.cc/FsGGYPLx/Self-noise3.png)
Having struggled to get 2 op-amps to boost the noise level enough and keep stable, I tried with 4.
However, the TL07x had to go, the current consumption with 4 stages meant a much larger supply capacitor with a smaller series resistor in the 9v supply to keep power ripple out. I want a fairly small and compact circuit. So I picked a quad CMOS. Not as fast as the bi-fet types, but fast enough for musical noise (I'm not aiming for test equipment noise and I don't care what colour it is!). TLC274 is for illustration - I actually have the LMC660 in the breadboard. Obviously, no particular reason for quad types, it's just convenient in a small breadboard that will fit in the tin lid I'm screening it with.
...Anyway, this doesn't seem to need any RF filtering as the opamps just won't go there. In fact, it can be beneficial if it clips a little in the last stage to regain some high end from the distortion so I put a gain trimmer in the middle.

Some things that I found had to be for stability...
The op-amp Vref had to be well filtered.
The Vref had to be buffered.
The op-amps could not have the Vref connected directly in parallel to the +in pins or it oscillated at low frequency. So a 10k resistor is included in all (and I suppose helps to supply a little more resistor noise in the system).
Coupling caps and stage gain is very sensitive. Simply changing C3 from 1uF to 2.2uF caused instability.
Very difficult to optimise, every single component value change has a knock-on that needs compensating with changes elsewhere.








Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 03, 2019, 04:21:36 AM
QuoteThe 22pF caps on most stages needed to quell the concentration of high-frequency content around the zero crossings. Unlike op-amps, this can produce noise up into megahertz if you needed that.
The filtering could help for slower crackle rates.

QuoteSome things that I found had to be for stability...
The op-amp Vref had to be well filtered.
The Vref had to be buffered.
The op-amps could not have the Vref connected directly in parallel to the +in pins or it oscillated at low frequency. So a 10k resistor is included in all (and I suppose helps to supply a little more resistor noise in the system).
Coupling caps and stage gain is very sensitive. Simply changing C3 from 1uF to 2.2uF caused instability.
Very difficult to optimise, every single component value change has a knock-on that needs compensating with changes elsewhere.
You might find connecting the ground end of C3 to +UB helps (sometimes not).  Connecting to ground amplifies any signals on +UB by 100 but connecting C3 to +UB amplifiers it by 1 (+ some common mode).  If you connect C3 to the output of IC1A you might lose some wanted noise from IC1A.

I've tried to refrain from playing with this until I finish some other stuff.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 03, 2019, 11:35:39 AM
Might be a thing that won't play nice in a solderless breadboard no matter what. Just too much stray coupling and contact resistance to keep things tight & controlled.
I did try the Boss noise resistor BJT idea Rob posted, it works but modest output level  - and mostly treble. Note the 2n2 coupling cap feeding a naked BE load of the second BJT. I've tried a hybrid with the Boss front end. Good to modest levels again but still gets unstable when boosted toward the power rail limits.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 03, 2019, 03:32:22 PM
May have a winner. Tried with power from a local regulator on the BB - 78L05. Power to DR55 noise transistor (1st stage only) and a TLC272 dual CMOS amp with each stage x100. Schematic to follow.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 03, 2019, 06:28:37 PM
QuoteMight be a thing that won't play nice in a solderless breadboard no matter what. Just too much stray coupling and contact resistance to keep things tight & controlled.
Getting that ckt working on a solderless breadboard is going to be tough!

QuoteMay have a winner. Tried with power from a local regulator on the BB - 78L05. Power to DR55 noise transistor (1st stage only) and a TLC272 dual CMOS amp with each stage x100. Schematic to follow.
Interesting to see how that pans out.   

FYI, when I posted the ckt I noticed the DR55 layout puts that circuit in between the pots.   It may be a deliberate attempt to provide some incidental shielding (and keep it away from everything else).

Forgot to mention, the dominant source of the noise is actually the shot noise from the base current and not the 2M2 resistor!.  You can see this if you split the 2M2 resistor into 2M (to C) and 200k (to B) then bypass the connection point to ground with a cap.  When you do this you actually double the noise since the shot noise remains constant and miller effect of the 2M2 is removed.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 04, 2019, 01:52:13 PM
IIRC the DR-55 was battery only (x4 AA?) and the noise was only needed for the snare crackle and (cough) Hi-hat chiff. A few hundred millivolt p-p was probably plenty of level.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 04, 2019, 08:14:15 PM
QuoteIIRC the DR-55 was battery only (x4 AA?) and the noise was only needed for the snare crackle and (cough) Hi-hat chiff. A few hundred millivolt p-p was probably plenty of level.
Yes it ran from 6V.   A while back I put note under the schematic above.

Off hand the *first stage* generates around 1uV per root Hertz and the bandwidth was in the 50kHz to 100kHz region, which crudely works out to be 1.2mV p-p.   The gain stage (with a large coupling cap) will multiply that up to about 100mV p-p.   You probably should check my numbers here.

One thing that caught my eye was the small (2n2) coupling cap.  That pretty much only produces kHz to 20kHz noise.   You could use an opamp for the second stage and it will present less loading.

At higher voltages the circuit still works and noise level increases.  Probably a good idea to check collector bias voltages.

One interesting thing about shot current is, suppose you keep the supply fixed, then fiddle with the bias current by adjusting the resistors.  You actual get more noise when the circuit operates from lower current.  The down side is the noise bandwidth decreases (OK upto a point) but the circuit is then more susceptible to interference.  I suspect at some point the noise quality degrades due to increased 1/f noise.

I can't remember the sound of that thing.  Back in the day I reviewed a heap of drum machines and ended up with a Roland R-8 because it sounded great.   Clearly that small coupling cap is going to change the sound of the noise.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 05, 2019, 04:36:49 AM
Well, the DR55's only plus was to be the cheapest programmable DM. You had to be Ninja quick to change the batteries without losing your programs. The sound was thin and lacked one vital one for the time - claps. We used to cover Blue Monday with one and did the claps with an E&MM Synwave. Ahhh, memories...

What I have at the moment is essentially the Rene Schmitz Noise module that I posted above. Run it all off 5V. Use the DR55 noise transistor instead of the reverse BE. Fit a pot in the collector load resistance so the DC point can be tweaked and DC couple to the +in of the first op-amp. The pot is tweaked for a centred noise wave out of the second amp. This arrangement allows for LF noise too for if you want Rumble.
It might be a bit better to use a 6v regulator, but I have an idea for it as an appendage to a PT2399 based idea so it will be good to be able to use 5v.

Title: Re: Noise generator using device self-noise
Post by: bool on June 05, 2019, 07:56:02 AM
Quote from: anotherjim on June 05, 2019, 04:36:49 AM
Blue Monday
Dssss Dssss Dssss
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 05, 2019, 07:16:29 PM
QuoteWell, the DR55's only plus was to be the cheapest programmable DM. ... The sound was thin and lacked one vital one for the time - claps. We used to cover Blue Monday with one and did the claps with an E&MM Synwave. Ahhh, memories...
Youtube came to the rescue.   That sound, it's definitely an 80's sound.  Miles apart from the Roland R8.   We used the R8 when the real drummer couldn't make it to Jams.  We used to call it "Roland the drummer" (as in the guy's name).

QuoteYou had to be Ninja quick to change the batteries without losing your programs.
Ha, the tricks people find :icon_mrgreen:

QuoteWhat I have at the moment is essentially the Rene Schmitz Noise module that I posted above. Run it all off 5V. Use the DR55 noise transistor instead of the reverse BE. Fit a pot in the collector load resistance so the DC point can be tweaked and DC couple to the +in of the first op-amp. The pot is tweaked for a centred noise wave out of the second amp.
Sounds like a winner.  The 5V reg will put an end to any supply related issues.
So did you only use first transistor of the DR55?

QuoteIt might be a bit better to use a 6v regulator, but I have an idea for it as an appendage to a PT2399 based idea so it will be good to be able to use 5v.
5V is fine.  The noise is about 15% lower at 5V.  It's not as if the level is calibrated.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 06, 2019, 11:28:30 AM
(https://i.postimg.cc/JzHzm1Wn/Self-noise4.png)
This is the breadboarded affair at the moment.
Only one transistor, but it's either the first or second of the DR55 design depending on how you look at it  :icon_wink:

I've no idea if...
It's optimal.
It's repeatable without selecting things.
How much noise is silicon and how much is carbon.

I do know...
It is stable.
It has low supply ripple (I'm deliberately using an unregulated transformer based 9V DC supply).
The noise sounds full. Without any filtering, it sounds like a military jet engine. There is some HF content so I popped C5 in.
Tricky to know if the bias is optimal for maximum clean before clipping without scoping the output.

Although I'm not aiming for a piece of test gear, I might box it up standalone. It could be handy for checking out EQ and tone controls.

Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 06, 2019, 07:50:20 PM
Looks like a winner.  FYI electro caps are reversed.

QuoteIt's repeatable without selecting things.
QuoteHow much noise is silicon and how much is carbon.
The noise level and quality should be quite repeatable once the bias is set.  From what I can see the thing that will cause variation in the level is the transistor gain - even if the bias is set "correctly" for say mid-rail.  Higher gain transistors produce more noise.

The noise is 99% silicon.

QuoteAlthough I'm not aiming for a piece of test gear,
The circuit has one appealing property for test instruments.  There's very little temperature dependency.  The temperature dependence comes from beta (and minor IC shifts).  The square-root dependency on beta weakens the temperature dependency.

A first order calculation gives the output noise from the first stage as,

    Vonoise ~  (Vcc/2) sqrt(q beta / (2 IC))     [V rms / root Hz]

where, q = electron charge, beta is the transistor gain IC is the collector current, Vcc = supply voltage.
(The formula will estimate 10 to 20% higher than reality for low Vcc.  It assumes the collector is biased to VCC/2 and the connection has an unbypassed feedback bias.   For other bias arrangements the noise will double provided the bias resistors are large compared to rpi.)

You can see lower collector currents give higher noise.   Unfortunately the collector current would need to be decreased by a factor of 10000! to get rid of one gain stage which is asking a bit much; and the noise bandwidth will suffer.

It makes me wonder if a 2N7000 can be used in a similar circuit.   Those things tend to have more noise than BJT's.   IIRC the noise is excess noise and more 1/f like so it's not going to be as nice as the BJT.  Not sure where the noise bandwidth will end-up.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 07, 2019, 04:11:54 AM
Duh, yes C3 & C4 drawn reverse. Built that way, any cap leakage would kill it. I went up to 10uF for the hell of it since earlier circuits would become unstable with response going that low. As it happens, those caps could be 680nF film for a 20Hz bottom.
I did wonder about using a MOSFET, and as it happens the 2N7000 is something I have.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 07, 2019, 06:52:03 PM
QuoteI went up to 10uF for the hell of it since earlier circuits would become unstable with response going that low.
I wonder what the mechanism was.  The inductance of the 10uF caps or perhaps power supply related?

QuoteAs it happens, those caps could be 680nF film for a 20Hz bottom.
Probably not a bad thing for audio.  For a test instrument I should imagine you could flatten out the 1/f noise.

I'm going to build one to see how stable it is over time.    Higher voltages are going to be more stable.  The formula I gave has some deliberate  simplifications but in reality there is a VBE term in there which will vary with temperature.   

Having the variable collector resistor like in your schematic should help with repeatability as the high gain transistor will operate at higher currents.  In fact the formula has a (Beta/IC) term which is IB and since IB = (VCC/2 - VBE)/RBB,   where RBB is the 2M,  setting the collector voltage makes that a constant.   In other words by setting the collector bias to VCC/2 you should do a very good job of setting the noise output to a constant value for any transistor - which is quite a cool thing!

If we connected the RBB to VCC instead of the collector it reduces the VBE effect by a factor of two.  And since we are adjusting the collector bias voltage anyway we might trade feedback bias for better stability;  I'd need to look at what wins in the end.

One thing though it's going to be vastly more consistent than zeners and reverse VBE junctions.   I've never bothered to look at the temperature stability of those since I'm usually happy just to get a good output.     The only down side for the shot noise version is the small noise voltages which means more attention to shielding around that first stage.

Thanks a lot for posting the topic.   It's been quite interesting digging into this stuff again.
Title: Re: Noise generator using device self-noise
Post by: bool on June 08, 2019, 07:12:12 AM
You could actually band-limit at the first opamp (like using a 1u as C2) and have it more broadband at second opamp (w/o removing the 22pF in nfb).
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 08, 2019, 11:06:37 AM
Quote from: bool on June 08, 2019, 07:12:12 AM
You could actually band-limit at the first opamp (like using a 1u as C2) and have it more broadband at second opamp (w/o removing the 22pF in nfb).
Yes, upper and lower limits have 2 poles each available for shaping the spectrum. As non-inverting, there is always x1 full band getting thru, but in this case, it's going to negligible.

I do worry the DC bias could be the weak spot. Although I can centre the output with the bias adjust, the collector voltage is below Vcc/2, doesn't want to get much higher than 2v and adjustment also interacts with the noise amplitude.  So I might just be lucky with the way the op-amp offset error is handling that to the final stage. Possibly the last amp should have a DC bias adjust mixed into the -in.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 08, 2019, 07:04:28 PM
QuoteI do worry the DC bias could be the weak spot. Although I can centre the output with the bias adjust, the collector voltage is below Vcc/2, doesn't want to get much higher than 2v and adjustment also interacts with the noise amplitude.
It's the feedback bias!   So maybe it's better to use say 4M7 connected to VCC after all.
The level noise will go up quite a bit, and the noise bandwidth decreases to 20kHz.
Rc =4k7 and RBB =2M7 gets back a bit of bandwidth and Rc=1.8k and RBB=1M0 puts thing back how they were (more or less).



Title: Re: Noise generator using device self-noise
Post by: bool on June 09, 2019, 06:38:17 AM
I think you overcomplicate this. You could pragmatically and simply bias the first opamp directly from the 7805 (via +5V) with just another 1M/100n RC... Opamps will be happy with that since you plan to run on 9V, your wallet too.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 09, 2019, 09:03:22 AM
QuoteI think you overcomplicate this. You could pragmatically and simply bias the first opamp directly from the 7805 (via +5V) with just another 1M/100n RC... Opamps will be happy with that since you plan to run on 9V, your wallet too.

I liked how Jim did it.   You have to pick a bias point for the transistor collector so why not VCC/2?  then, the opamps bias up without extra parts.   With such tiny signals I suspect powering the opamps off the nice quite regulated rail is going to save some headaches; you have to think of PSRR figures.    The only thing to be careful about is many opamps don't swing rail to rail and at 5V you don't have a lot of swing left.

Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 09, 2019, 11:41:54 AM
I tried a regulated Vref before as well as the usual voltage divider with and without an op-amp buffer. In those attempts, there was instability and excessive supply ripple.

I think it only needs amps with rail-rail output. The op-amp inputs can't get close to either rail in normal working. So any CMOS type should do with perhaps a preference for the faster types. Any requirement for higher signal levels should easily be met with a little gain in the following circuit. As I might have said earlier, the only reason I can think of for higher level is you want a full-scale random CV in a conventional synth.



Title: Re: Noise generator using device self-noise
Post by: bool on June 10, 2019, 08:32:37 AM
So that's a no-go then... But have you thought about using your topology with a "standard" opamp and changing the 7805 to say a 7809 (and vice-versa a higher supply). That "should work" (in theory... ).
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 10, 2019, 06:40:44 PM
QuoteBut have you thought about using your topology with a "standard" opamp and changing the 7805 to say a 7809 (and vice-versa a higher supply).
It certainly crossed my mind.   Then I started thinking maybe I could just use a string of BJT stages (with gain set by resistors not 're').   If it turns out to produce a stable output I'd feel compelled to put in a pink noise filter which is best done with an opamp; a minor case of requirements creep.  That would be a standard opamp on the last stage running off 9V (or whatever) like you mentioned before.  You  shouldn't have to worry about power supply noise with opamps in the later stages.

I'm really interested to see how stable it is.  At the end of the day a calibrated source is probably best done with a PRBS these days.   The output level is automatically determined from the supply rail and the output is strong enough to be immune to hum, noise and interference.
Title: Re: Noise generator using device self-noise
Post by: bool on June 11, 2019, 06:04:29 AM
For sure (in theory at least... ) it would be most hygienic to allocate the largest portion of signal gain to the first opamp and "filter-and-boost" with the later stage(s). That would naturally split the circuit into "clean" and "dirty" blocks, similar to how you deal with highgain circuits.

Has anybody thought of adding a soft-clip after (or inside the nfb loop) the broadband gain stage?
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 11, 2019, 11:21:11 AM
In earlier versions, I did try NFB diode limiting. Diode or LED and with or without series resistance. it did what I would expect. However, I don't want to restrict the dynamics in the basic generator circuit.
Title: Re: Noise generator using device self-noise
Post by: bool on June 12, 2019, 06:42:02 AM
Did you think of using a zener-bjt combo as a generator? In early 80's I made a noise source for a elec-percussion effect with some sort of a zener-bjt combo and a filter with iirc a 741. I forgot the details, sorry. (It ran off a 9V battery).

Another Q: in your cckt you split the c-b resistor into 2 halves (R6 & R3). What happens if you shunt the split-point of these resistors to gnd with a cap, say 100n? And what if you change the ratio? say R6 at 200k-ish, then a cap to gnd; R3 at 2meg-ish? better or worse noise?

And why did you split the resistors in the first place? I may be wrong, but "resistor noise" should add in a rms way, while one bigger resistor should make a couple dB more self-noise if total R matches the cumulative two smaller r's.
Title: Re: Noise generator using device self-noise
Post by: anotherjim on June 13, 2019, 01:26:33 PM
I was being very literal when I said the scheme was what was on the breadboard! The x2 1M was in lieu of a single 2M2.  The only 2M2 I have are fiddly little 1/10th watt things with really skinny wire.
I did try Zener for a noise source but it was pretty feeble. I found a few ways to increase the noise without increasing amp gain but they still need a lot of gain anyway, so it's swings and roundabouts.
Title: Re: Noise generator using device self-noise
Post by: PRR on June 13, 2019, 06:07:05 PM
> why did you split the resistors in the first place? I may be wrong, but "resistor noise" should add in a rms way

No. Each resistor loads the other. One physical resistor, or same-value split in 10 or 100 physical resistors, is the same hiss.

Consider that real resistors are billions of nano-resistors (specs of carbon or molecules of nichrome). That does not matter.

I don't think it really matters even if your physical resistors have "excess noise", hiss higher than the thermal noise expected. Except that as you go from 100K to 100Meg you may get into crappier conductor and higher excess hiss.
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 13, 2019, 07:13:18 PM
QuoteI did try Zener for a noise source but it was pretty feeble.
FWIW,  the other day I did a half-hearted poke around through my stuff on the subject.  Unfortunately my notes are on subject got archived when the house was re-carpeted.  A common problem is tuning the current (that includes reversed VBE) so the noise is strong but also also nice - sometimes you get really weird waveforms.   

The RF guys quite often use 6.2V zeners and they tune the current because there's a small window of currents where the noise is strong.  This straddles the Zener/Avalanche region and is also near zero TC. One paper mentioned 6.2V zeners have a low noise TC.  Unfortunately I can't remember if the noise was any good for audio.

QuoteI may be wrong, but "resistor noise" should add in a rms way
It's correct.  You just need to add the squares of the noise.
Each resistor,      Vn1^2 = 4 k T B R1,  Vn2^2 = 4 k T B R2
Series resistors, total noise voltage  Vn^2 = Vn1^2 + Vn2^2 =  4 k T B R1 +4 k T B R2 = 4 k T B (R1+R2)
so the noise is the same as using the total series resistance.

Title: Re: Noise generator using device self-noise
Post by: PRR on June 22, 2019, 03:53:15 PM
OT: Tom makes digital noise sources and sells them honestly cheaper than your breadboard labor is worth.

Digi-noise has a bad name from the old short-lines, but today's PICs allow lengths which will not repeat for "142 million years".

https://electricdruid.net/noise2-white-pink-noise-source/
https://electricdruid.net/white-noise-source/
...etc...
Title: Re: Noise generator using device self-noise
Post by: Rob Strand on June 22, 2019, 06:39:50 PM
Quotehttps://electricdruid.net/noise2-white-pink-noise-source/
https://electricdruid.net/white-noise-source/
...etc...
Nice write-ups too - thanks Tom!

Following through some of the web-sites,  there's this interesting paper about subtleties of noise, [click on the blue dot in the calendar]
https://web.archive.org/web/20110501000000*/http://users.informatik.uni-halle.de/~thielema/Research/noise.pdf (https://web.archive.org/web/20110501000000*/http://users.informatik.uni-halle.de/~thielema/Research/noise.pdf)