Low Frequency Flicker Noise Source - Page 1
Forum section: electronics / projects

author: David Hess
author_rank: Super Contributor
timestamp: May 19, 2023, 03:25:38 pm
content: I want to make an LED strip look like it is flickering, like an expired neon tube. I was thinking of using a low frequency flicker noise source to modulate the supply current, but to do this I need a high level source of low frequency flicker noise. Usually I am trying to get rid of flicker noise, so this is a change.I was thinking of using a low power precision CMOS operational amplifier, like an LMC6061/LMC6062 or TLC271 (1), as a source for low frequency flicker noise, and configuring the operational amplifier to amplify its own noise in a non-inverting configuration with a capacitor to block the input offset voltage. Then I can amplify and filter as needed to get the noise characteristic needed for best visual results.A flat noise source can be filtered with a series of RC networks to produce flicker (pink) noise, however this depends on a flat noise source at the frequency of interest and the time constants involved at low frequencies are problematic, so I think starting with a low level flicker noise source will be easier.Does anybody have any thoughts about this?(1) I would have to buy the LMC6061/LC6062 and they are not cheap anymore, but I will have some "free" TLC271s shortly frommy Fluke 80TK project.Update: Added noise graph for TCL271.Update: Added noise graph for LMC6061.

author: Vovk_Z
author_rank: Super Contributor
timestamp: May 19, 2023, 03:39:31 pm
content: I don't have an experience in noise circuits but the idea seems legit.Idk, 10 Hz LF filter, or less?

author: David Hess
author_rank: Super Contributor
timestamp: May 19, 2023, 04:12:23 pm
content: Quote from: Vovk_Z on May 19, 2023, 03:39:31 pmIt should work but may not be practical if external noise cannot be kept out because of the great amount of gain required.QuoteI can make the low pass filter on the output have an adjustable cutoff to some extent.

author: jmelson
author_rank: Super Contributor
timestamp: May 19, 2023, 04:14:32 pm
content: My choice would be to do it digitally. Look up linear feedback shift registers, these are used to produce various pseudorandom sequences and noise. Pick a few bits of an LFSR, and run through an and gate and you can have a source of short flashes, with a duty cycle chosen by how many bits go to the and gate.Jon

author: David Hess
author_rank: Super Contributor
timestamp: May 19, 2023, 04:23:40 pm
content: Quote from: jmelson on May 19, 2023, 04:14:32 pmI considered that, and found several examples, however there is the same problem that I identified if I used a flat noise source and filtered it at low frequencies; the RC filter network to convert white noise to pink noise is non-trivial at such low frequencies.Digital generation is of course possible, but it requires pulse code modulation with a DAC which will be considerably more complex than what I am proposing.

author: mawyatt
author_rank: Super Contributor
timestamp: May 19, 2023, 04:44:26 pm
content: What about characterizing the noise behavior in the frequency domain (i.e. drawing the desired frequency shape), then doing an IFT to get the time domain response. Then replicate this at the desired clock rate with a simple DAC, many microcontrollers have built in DACs, if what you have doesn't then implement a crude DAC with a couple I/O ports and some discrete resistors.Because you just want to create the flickering effect with the LED strip, maybe just a 1 bit I/O port would suffice.If you have a AWG handy you can check the performance directly, just create the custom Arbitrary Waveform file from the IFT results, load and run.Best,

author: MK14
author_rank: Super Contributor
timestamp: May 19, 2023, 05:05:27 pm
content: This might give some hints:http://techlib.com/electronics/pinknoise.htmUsing a couple of op-amps, and very large number of passives. I like the way they explain as to how hard the problem is and hence why they solved it that way.I''m not clear, if that circuit is the right frequency range or not.Edit:You can also apparently get these LED flicker controllers, on ebay, for around $12.99.E.g.https://www.ebay.com/itm/122421351044

author: David Hess
author_rank: Super Contributor
timestamp: May 19, 2023, 05:56:02 pm
content: Quote from: MK14 on May 19, 2023, 05:05:27 pmI saw that one. They are starting with a 50nV/SqrtHz white noise source, so actually need *more* gain to achieve the same thing. I can get away with starting with a flicker noise source because I am only interested in lower frequencies. The good news here is that if their circuit works, then so will mine, as mine has lower gain.QuoteHuh, I did a search for those and never found anything. I will check that out.

author: David Hess
author_rank: Super Contributor
timestamp: May 19, 2023, 05:57:22 pm
content: Quote from: mawyatt on May 19, 2023, 04:44:26 pmThe only reason I am not making a digital implementation is that it is more complex. I know how to do it completely digitally with a microcontroller, but it would involve more time investment then the analog method, if the analog method works.

author: mawyatt
author_rank: Super Contributor
timestamp: May 19, 2023, 06:21:04 pm
content: Quote from: MK14 on May 19, 2023, 05:05:27 pmNice findBest,

author: Kim Christensen
author_rank: Super Contributor
timestamp: May 19, 2023, 07:21:47 pm
content: What about using reverse bias on a small signal transistor's base-emitter junction as your white noise source? They usually zener at around 6-7V

author: tggzzz
author_rank: Super Contributor
timestamp: May 19, 2023, 07:36:30 pm
content: Quote from: David Hess on May 19, 2023, 05:57:22 pmI hate to say it, but an 8-bit MCU inan 8-pin package and programmed in the Arduino environment is probably sufficient. Doubly so if you want to achieve something visually appealing rather than physically correct. Using a suck-it-and-see approach to developing "digital algorithms" is probably faster than fiddling with "analogue algorithms".Now, where did I leave that bar of soap

author: Nominal Animal
author_rank: Super Contributor
timestamp: May 19, 2023, 08:36:08 pm
content: An eight-octave Voss-McCartney algorithm using an Xorshift64* PRNG (of which only 32 high bits are used) would produce pretty pink noise:Code:#include <stdint.h>#include <stdio.h>uint64_t pink_prng = 1;uint_fast8_t pink_step = 0; /* Monotonic 255-step counter */uint32_t pink_state = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };uint32_t pink_u32(void){uint64_t x = pink_prng;x ^= x >> 12;x ^= x << 25;x ^= x >> 27;pink_prng = x;return (x * UINT64_C(2685821657736338717)) >> 32;}void pink_init(uint64_t seed){pink_prng = seed + (!seed); /* Zero seed is not allowed; map it to 1 */pink_state = 0;for (int s = 1; s < 9; s++) {pink_state = pink_u32() >> s;pink_state += pink_state;}}uint32_t prng_pink(void){pink_step++;if (!pink_step || pink_step > 255)pink_step = 1;const int s = 8 - __builtin_ctz(pink_step); /* 1..8, inclusive: Count Trailing binary Zeroes */pink_state -= pink_state;pink_state = pink_u32() >> s;pink_state += pink_state;return pink_state;}#ifndef SAMPLES#define SAMPLES 1024#endifint main(void){pink_init(1); // Always the same sequencefor (int i = 0; i < SAMPLES; i++)printf("%.10f\n", prng_pink() / 4294967296.0);return 0;}The output ofpink_u32()passes all BigCrunch tests in TestU01, it only needs 37 bytes of state as is (you can trivially shrink that to 19 bytes), and each iteration ofprng_pink()callspink_u32()only once, and generates the next sample in the time sequence. So, you don't need much computational power to do this.The output power spectrum is not exactly 1/f = f-1, more like f-1.7or so. (The amplitude spectrum is pretty close to 1/f.)

author: David Hess
author_rank: Super Contributor
timestamp: May 19, 2023, 08:41:46 pm
content: Quote from: Kim Christensen on May 19, 2023, 07:21:47 pmI thought a MOSFET would generate higher levels of noise, as shown in the graph I posted.A small signal RF MOSFET operating at low drain current should be even better, but I do not have any and they are most expensive and less available.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 19, 2023, 11:29:20 pm
content: Joke idea but maybe semi-serious: use a supercap for filter. Source a white noise current into it, voltage has pink spectrum. Impedance is pretty low, but the mechanism is ionic diffusion, along with the chaotic structure (activated carbon?), giving a diffusion response over many decades of frequency.The op-amp idea is promising, but besides the high gain being sensitive to external noise, it's sensitive to variations in the device itself: consider mechanical stress. In other words, it's going to be microphonic. It also needs quite a low highpass to deal with "DC" level while giving reasonable flicker.Related: should the LED have gamma correction as well? Maybe it doesn't matter if it's just toggling between two LEDs (more closely emulating the neon experience). Or if it's more like the modern "flame" lamps, where many LEDs are being modulated -- having a multi-variable and propagating or phase-shifting network between them would be more convincing, in which case you probably don't want to do that analog at all and just stick with an MCU instead (alas).Tim

author: jonpaul
author_rank: Super Contributor
timestamp: May 20, 2023, 07:13:46 am
content: David, wonmderful post, the various Zener, noise diodes etc have vey variable and unstable flicker noise.One solution is use two audio pink npoise sources and mix/combine XOR to see a coherence...needs some testing...Easiest way is a PRN shift reg gen with low F clock.https://en.wikipedia.org/wiki/Pseudorandom_binary_sequenceYou can make one DIY with SR but the old National MM5437 Noise gen came in a version with EXT clk so any freq desired can be done.https://pdf1.alldatasheet.com/datasheet-pdf/view/103155/NSC/MM5437.htmlThough these are decades old, I am sure you can still find some.If you are pateint I may have one in my parts archive.....but not till July!Bon ChanceJon

author: Someone
author_rank: Super Contributor
timestamp: May 20, 2023, 07:43:08 am
content: Quote from: jonpaul on May 20, 2023, 07:13:46 amAt which point its cheaper/quicker/easier to slap it all inside a micro, no? Bigclive is the obvious source to start for examples of that.Sticking to non-programmable chips, cmos gate relaxation oscillators are well known:http://www.geofex.com/article_folders/lfos/psuedorandom.htm

author: RoGeorge
author_rank: Super Contributor
timestamp: May 20, 2023, 08:15:31 am
content: For an analog noise source, most often I've seen a BE junction of a bipolar polarized in reverse, near its breakdown point. Not sure if 1/F noise on a LED strip will look alike with a flickering neon.Maybe just film a few minutes of a flickering neon tube, process the video to extract the flickering, then put that data in a flash for later playback with the LED strip.

author: jonpaul
author_rank: Super Contributor
timestamp: May 22, 2023, 05:41:26 pm
content: two indep noise sources, use comparator to get a cooincidence.Jon

author: MegaVolt
author_rank: Frequent Contributor
timestamp: May 24, 2023, 03:16:40 pm
content: If your LED strip works from 220(110). You can use a starter from a daylight lamp in series with your garland. It will flicker very randomly.

author: David Hess
author_rank: Super Contributor
timestamp: May 24, 2023, 04:45:24 pm
content: The LED strip is 12 volts. I ordered the one linked by MK14 for testing. Maybe it will produce a satisfactory result.

author: antenna
author_rank: Frequent Contributor
timestamp: May 25, 2023, 03:01:28 am
content: What about a pair of noise sources fed into a resistive combiner and decouple that into a class c amplifier with adjustable bias so that the bias voltage can be lowered so that only the larger peaks in the noise make the transistor conduct?

author: David Hess
author_rank: Super Contributor
timestamp: May 25, 2023, 03:23:20 am
content: Quote from: antenna on May 25, 2023, 03:01:28 amSo a 4 level white noise source? That might produce an acceptable result, but it has all of the difficulties of amplifying a white noise source, plus now two noise sources are required.I have 4 weeks to get this working, so whether the flicker noise device I bought works, I will likely build the low frequency flicker/pink noise version that I proposed anyway for my own edification. I will have the noisy operational amplifiers in a couple days.

author: coppercone2
author_rank: Super Contributor
timestamp: May 25, 2023, 04:41:27 am
content: get a bad neon bulb and connect it to a photo resistor

author: David Hess
author_rank: Super Contributor
timestamp: May 25, 2023, 04:57:30 pm
content: Quote from: coppercone2 on May 25, 2023, 04:41:27 amWould need to make a high voltage power supply also, but at least any neon bulb could be used. Didn't someone do that as part of a random number generator?

author: coppercone2
author_rank: Super Contributor
timestamp: May 26, 2023, 04:55:37 pm
content: I don't know, that might be susceptible to tampering by increasing radiation bias though

author: mawyatt
author_rank: Super Contributor
timestamp: May 26, 2023, 05:03:33 pm
content: Curious if the neon bulb current flickers along with the light output?If so, one could place a small series resistor (maybe AC couple) in the ground leg of the bulb and electrically "see" the random noise result, or maybe just the ON voltage across the bulb (AC coupled).Best,

author: David Hess
author_rank: Super Contributor
timestamp: May 26, 2023, 05:31:48 pm
content: If you just drive the neon bulb into breakdown it operates as a noise source anyway. There were special tubes which used this mechanism.