Electronics-Related.com
Forums

Circuit for Randomized Pulse Width Modulation

Started by Robert Martin January 8, 2019
I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty 
cycle.

How can I randomly pulse width modulate this so that when a low pass 
filter is added a constantly changing, "wave-like" arbitrary waveform 
will be produced?

I would prefer analog or CMOS IC's, not a microprocessor, and minimum 
parts count.

The "randomness" does not need to be true but only a reasonable 
approximation.

Thank you for any ideas or available circuit diagrams.

Robert Martin
On Wednesday, January 9, 2019 at 10:48:46 AM UTC+11, Robert Martin wrote:
> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty > cycle. > > How can I randomly pulse width modulate this so that when a low pass > filter is added a constantly changing, "wave-like" arbitrary waveform > will be produced? > > I would prefer analog or CMOS IC's, not a microprocessor, and minimum > parts count. > > The "randomness" does not need to be true but only a reasonable > approximation. > > Thank you for any ideas or available circuit diagrams.
https://en.wikipedia.org/wiki/Pseudorandom_binary_sequence You can make a pseudorandnom binary sequence in a single-chip processor - it can also be done with long shift registers, and some parts seem to have been designed for the job, but the single-chip microprocessor or a programmable logic chip are the minimum part solution. -- Bill Sloman, Sydney
On 9/1/19 11:04 am, bill.sloman@ieee.org wrote:
> On Wednesday, January 9, 2019 at 10:48:46 AM UTC+11, Robert Martin wrote: >> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty >> cycle. >> >> How can I randomly pulse width modulate this so that when a low pass >> filter is added a constantly changing, "wave-like" arbitrary waveform >> will be produced? >> >> I would prefer analog or CMOS IC's, not a microprocessor, and minimum >> parts count. >> >> The "randomness" does not need to be true but only a reasonable >> approximation. >> >> Thank you for any ideas or available circuit diagrams. > > https://en.wikipedia.org/wiki/Pseudorandom_binary_sequence > > You can make a pseudorandnom binary sequence in a single-chip processor - it can also be done with long shift registers, and some parts seem to have been designed for the job, but the single-chip microprocessor or a programmable logic chip are the minimum part solution. >
I would prefer not to use a micro. This circuit uses only two IC's. http://www.seekic.com/circuit_diagram/Signal_Processing/PSEUDO_RANDOM_BIT_SEQUENCE_GENERATOR.html Any comments? Would clocking it at 4Hz present any problems? Do I understand correctly that the output would be a 4Hz PWM signal at about 2Vpp? Robert Martin
On 01/08/2019 06:48 PM, Robert Martin wrote:
> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty > cycle. > > How can I randomly pulse width modulate this so that when a low pass > filter is added a constantly changing, "wave-like" arbitrary waveform > will be produced? > > I would prefer analog or CMOS IC's, not a microprocessor, and minimum > parts count. > > The "randomness" does not need to be true but only a reasonable > approximation. > > Thank you for any ideas or available circuit diagrams. > > Robert Martin
I think the simplest way to do it without a uP would to build an analog white noise source a la: <http://www.electro-music.com/forum/phpbb-files/2tran_wn_203.gif> and then aggressively low-pass filter it. then feed your square wave into one input of a comparator and the appropriately-scaled low-passed noise into the other.
On 01/08/2019 06:48 PM, Robert Martin wrote:
> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty > cycle. > > How can I randomly pulse width modulate this so that when a low pass > filter is added a constantly changing, "wave-like" arbitrary waveform > will be produced? > > I would prefer analog or CMOS IC's, not a microprocessor, and minimum > parts count. > > The "randomness" does not need to be true but only a reasonable > approximation. > > Thank you for any ideas or available circuit diagrams. > > Robert Martin
Another idea, if pseudo-random is okay and you want to be quick and cheap and not muck with analog noise sources is get yourself one of those "flicker flame" LED candles that have a pseudorandom sequence generator built into the chip in the LED to make the LED "flicker." Drive the LED with a current source and buffer/filter/gain scale the voltage output across the LED with an op-amp as you like, and then into one input of a comparator and the square wave into the other as before.
On 01/08/2019 11:13 PM, Robert Martin wrote:
> On 9/1/19 11:04 am, bill.sloman@ieee.org wrote: >> On Wednesday, January 9, 2019 at 10:48:46 AM UTC+11, Robert Martin wrote: >>> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty >>> cycle. >>> >>> How can I randomly pulse width modulate this so that when a low pass >>> filter is added a constantly changing, "wave-like" arbitrary waveform >>> will be produced? >>> >>> I would prefer analog or CMOS IC's, not a microprocessor, and minimum >>> parts count. >>> >>> The "randomness" does not need to be true but only a reasonable >>> approximation. >>> >>> Thank you for any ideas or available circuit diagrams. >> >> https://en.wikipedia.org/wiki/Pseudorandom_binary_sequence >> >> You can make a pseudorandnom binary sequence in a single-chip >> processor - it can also be done with long shift registers, and some >> parts seem to have been designed for the job, but the single-chip >> microprocessor or a programmable logic chip are the minimum part >> solution. >> > > I would prefer not to use a micro. This circuit uses only two IC's. > http://www.seekic.com/circuit_diagram/Signal_Processing/PSEUDO_RANDOM_BIT_SEQUENCE_GENERATOR.html > > > Any comments? Would clocking it at 4Hz present any problems? > > Do I understand correctly that the output would be a 4Hz PWM signal at > about 2Vpp? > > Robert Martin
The only other question I have is why you need to filter a PWM waveform to get your desired output to begin with, can't you just filter a noise generator directly? Filtered noise is surely a "constantly-changing wave-like arbitrary waveform" yes?
On 01/09/2019 01:31 AM, bitrex wrote:
> On 01/08/2019 06:48 PM, Robert Martin wrote: >> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% >> duty cycle. >> >> How can I randomly pulse width modulate this so that when a low pass >> filter is added a constantly changing, "wave-like" arbitrary waveform >> will be produced? >> >> I would prefer analog or CMOS IC's, not a microprocessor, and minimum >> parts count. >> >> The "randomness" does not need to be true but only a reasonable >> approximation. >> >> Thank you for any ideas or available circuit diagrams. >> >> Robert Martin > > Another idea, if pseudo-random is okay and you want to be quick and > cheap and not muck with analog noise sources is get yourself one of > those "flicker flame" LED candles that have a pseudorandom sequence > generator built into the chip in the LED to make the LED "flicker." > > Drive the LED with a current source and buffer/filter/gain scale the > voltage output across the LED with an op-amp as you like, and then into > one input of a comparator and the square wave into the other as before.
<https://www.youtube.com/watch?v=753-lkao8l0>
On 9/1/19 5:26 pm, bitrex wrote:
> On 01/08/2019 06:48 PM, Robert Martin wrote: >> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% >> duty cycle. >> >> How can I randomly pulse width modulate this so that when a low pass >> filter is added a constantly changing, "wave-like" arbitrary waveform >> will be produced? >> >> I would prefer analog or CMOS IC's, not a microprocessor, and minimum >> parts count. >> >> The "randomness" does not need to be true but only a reasonable >> approximation. >> >> Thank you for any ideas or available circuit diagrams. >> >> Robert Martin > > I think the simplest way to do it without a uP would to build an analog > white noise source a la: > > <http://www.electro-music.com/forum/phpbb-files/2tran_wn_203.gif> > > and then aggressively low-pass filter it. then feed your square wave > into one input of a comparator and the appropriately-scaled low-passed > noise into the other.
> I tried using noise, as recommended earlier on this group and elsewhere. The filtered amplitude below 10Hz was too low to produce a workable result, Your idea about using a candlelight flickering LED is interesting, but looking at the video the switching appears to be a bit sharp. In any case, I would prefer a circuit over which I have a degree of design control as I may need to tinker to get the chaotic wave-like effect with smooth transitions that I am looking for. Robert Martin
On 08/01/2019 23:48, Robert Martin wrote:
> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% duty > cycle.
XOR it with another free running oscillator of about the same frequency but with a bit of frequency modulation dither added.
> How can I randomly pulse width modulate this so that when a low pass > filter is added a constantly changing, "wave-like" arbitrary waveform > will be produced? > > I would prefer analog or CMOS IC's, not a microprocessor, and minimum > parts count.
It would be so much easier to do in a PIC or with a shift register. https://en.wikipedia.org/wiki/Linear-feedback_shift_register
> > The "randomness" does not need to be true but only a reasonable > approximation. > > Thank you for any ideas or available circuit diagrams. > > Robert Martin
-- Regards, Martin Brown
On Wednesday, January 9, 2019 at 8:16:36 AM UTC-5, Robert Martin wrote:
> On 9/1/19 5:26 pm, bitrex wrote: > > On 01/08/2019 06:48 PM, Robert Martin wrote: > >> I have a CD4060 outputting a 5Vpp 4Hz (4 hertz) square wave at 50% > >> duty cycle. > >> > >> How can I randomly pulse width modulate this so that when a low pass > >> filter is added a constantly changing, "wave-like" arbitrary waveform > >> will be produced? > >> > >> I would prefer analog or CMOS IC's, not a microprocessor, and minimum > >> parts count. > >> > >> The "randomness" does not need to be true but only a reasonable > >> approximation. > >> > >> Thank you for any ideas or available circuit diagrams. > >> > >> Robert Martin > > > > I think the simplest way to do it without a uP would to build an analog > > white noise source a la: > > > > <http://www.electro-music.com/forum/phpbb-files/2tran_wn_203.gif> > > > > and then aggressively low-pass filter it. then feed your square wave > > into one input of a comparator and the appropriately-scaled low-passed > > noise into the other. > > > > I tried using noise, as recommended earlier on this group and elsewhere. > The filtered amplitude below 10Hz was too low to produce a workable result,
That makes sense (loss of signal) how about filter it at ~10-100 kHz and then send it into a counter/ divider to get to lower frequency. George H.
> > Your idea about using a candlelight flickering LED is interesting, but > looking at the video the switching appears to be a bit sharp. > > In any case, I would prefer a circuit over which I have a degree of > design control as I may need to tinker to get the chaotic wave-like > effect with smooth transitions that I am looking for. > > Robert Martin