Tunable pink noise generator with no low frequency cutoff
10615764 ยท 2020-04-07
Assignee
Inventors
- Aaron C. Smith (Westlake Village, CA, US)
- Daniel S. Matic (Newbury Park, CA, US)
- Seth Merkel (Agoura Hills, CA, US)
Cpc classification
G06F7/588
PHYSICS
International classification
Abstract
A method for providing pink noise and improving computational efficiency including providing N.sub.S stochastic signal generators, generating a respective first random number g with variance and generating a respective second random number u for each respective stochastic signal generator at each discrete time n, comparing the respective second random number u with an update probability for the respective stochastic signal generator at each discrete time n, if the respective u is greater than the update probability, then not changing a respective output of the respective stochastic signal generator, if the respective u is less than or equal to the update probability, then updating the respective output of the respective stochastic signal generator to be equal to the first random number, and summing at each discrete time n the respective output of each of the N.sub.S stochastic signal generators.
Claims
1. A method for providing pink noise and for improving computational efficiency for providing pink noise comprising: providing N.sub.S stochastic signal generators, wherein each of the N.sub.S stochastic signal generators has a respective output at each discrete time n; generating a respective first random number g with variance for each respective stochastic signal generator at each discrete time n; generating a respective second random number u for each respective stochastic signal generator at each discrete time n; comparing for each respective stochastic signal generator the respective second random number u with an update probability for the respective stochastic signal generator at each discrete time n, wherein the update probability for an Nth respective stochastic signal generator is .sup.N, where N ranges from 1 to N.sub.S for the respective stochastic signal generators; if the respective second random number u is greater than the update probability for the respective stochastic signal generator, then not updating a respective output of the respective stochastic signal generator; if the respective second random number u is less than or equal to the update probability for the respective stochastic signal generator, then updating the respective output of the respective stochastic signal generator to be equal to the first random number; and summing at each discrete time n the respective output of each of the N.sub.S stochastic signal generators to provide a sum.
2. The method of claim 1 wherein: the respective output at each discrete time n for each respective stochastic signal generator is a discrete time series
3. The method of claim 1 wherein: each stochastic signal has a power spectral density of
4. The method of claim 1: wherein the sum comprises substantially 1/f pink noise over a frequency range.
5. The method of claim 4: wherein the frequency range has no low frequency cutoff.
6. The method of claim 1 wherein the method comprises: performing the method on a computer or processor; or implementing the method with a special purpose processor, digital hardware, or integrated circuit.
7. A device for generating pink noise and for improving computational efficiency for providing pink noise comprising: N.sub.S stochastic signal generators, wherein each respective stochastic signal generator of the N.sub.S stochastic signal generators comprises; a random number generator for a generating a respective first random number g with variance for the respective stochastic signal generator and for generating a respective second random number u for the respective stochastic signal generator; a comparator coupled to the random number generator for comparing for the respective stochastic signal generator the respective second random number u with an update probability for the respective stochastic signal generator, wherein the update probability for an Nth respective stochastic signal generator is .sup.N, where N ranges from 1 to N.sub.S for the respective stochastic signal generators; and a register for storing a respective output of the respective stochastic signal generator, wherein if the respective second random number u is greater than the update probability for the respective stochastic signal generator, then not updating or changing the respective output stored in the register for the respective stochastic signal generator, and wherein if the respective second random number u is less than or equal to the update probability for the respective stochastic signal generator, then storing the first random number in the register; and a summer coupled to an output of each respective stochastic signal generator for summing at each discrete time n the respective output of each of the N.sub.S stochastic signal generators.
8. The device of claim 7 wherein: the respective output at each discrete time n for each respective stochastic signal generator is a discrete time series
9. The device of claim 7 wherein: each stochastic signal has a power spectral density of
10. The device of claim 7: wherein an output of the summer comprises substantially 1/f pink noise over a frequency range.
11. The device of claim 7: wherein an output of the summer has no low frequency cutoff.
12. The device of claim 7 wherein each respective stochastic signal generator of the N.sub.S stochastic signal generators further comprises: a multiplexer having a first input coupled to the random number generator, a second input coupled to the respective output of the respective stochastic signal generator, a multiplexer output coupled to the register of the respective stochastic signal generator, and a control input coupled to the comparator of the respective stochastic signal generator, wherein the control input controls the multiplexer output to be either the first input or the second input.
13. The device of claim 7 further comprising: a digital to analog converter coupled to an output of the summer; and an amplifier having a voltage output coupled to the digital to analog converter.
14. A device for generating pink noise and for improving computational efficiency for providing pink noise comprising: a random number generator for generating a first random number g with variance output at each discrete time n, and for generating a second uniformly random number u output at each discrete time n; N.sub.S registers, each of the N.sub.S registers for storing a respective one of N.sub.S stochastic values; a priority encoder coupled to the second random number u output for determining at each discrete time n a selected respective stochastic value of the N.sub.S stochastic values to update with the first random number g with variance output; a sum register; and a summer coupled to the N.sub.S registers, the first random number g with variance output, and to the sum register, and having an output coupled to the sum register; wherein the summer adds the first random number g with variance to a sum stored in the sum register and subtracts the selected respective stochastic value to form a new sum at each discrete time n; wherein the new sum is stored in the sum register at each discrete time n; and wherein the first random number g with variance output is stored in the respective register for the selected respective stochastic value at each discrete time n.
15. The device of claim 14 further comprising: a 1 to N multiplexer having an input coupled to the first random number g with variance output and N.sub.S outputs, wherein each respective one of the N.sub.S outputs is coupled to a respective one of the N.sub.S registers; and an N to 1 multiplexer having N.sub.S inputs which each respective one of the N.sub.S inputs is coupled to a respective output of one of the N.sub.S registers, wherein the N to 1 multiplexer has an output; wherein the priority encoder controls the 1 to N multiplexer to couple the first random number g with variance output to the respective register for the selected respective stochastic value at each discrete time n, and wherein the priority encoder controls the N to 1 multiplexer to couple the selected respective stochastic value to the summer at each discrete time n.
16. The device of claim 14: wherein an output of the summer is substantially 1/f pink noise over a frequency range.
17. The device of claim 14: wherein the frequency range has no low frequency cutoff.
18. The device of claim 14 further comprising: a digital to analog converter coupled to an output of the summer; and an amplifier having a voltage output coupled to the digital to analog converter.
19. The device of claim 14 wherein: the priority encoder generates a random integer between 1 and N.sub.S with a .sup.N probability distribution.
20. A method for generating pink noise and for improving computational efficiency for providing pink noise comprising: generating a first random number g with variance output at each discrete time n; generating a second uniformly random number u output at each discrete time n; storing N.sub.S stochastic values; using the second random number u output for determining at each discrete time n a selected respective one of the stored N.sub.S stochastic values to update with the first random number g with variance output at each discrete time n; storing a sum; adding the first random number g with variance output to the sum and subtracting the stochastic value of the selected respective one of the stored N.sub.S stochastic values to form a new sum at each discrete time n; replacing the stored sum with the new sum at each discrete time n; and replacing the stochastic value of the selected respective one of the stored N.sub.S stochastic values with the first random number g with variance output at each discrete time n.
21. The method of claim 20: wherein the sum comprises substantially 1/f pink noise over a frequency range.
22. The method of claim 21: wherein the frequency range has no low frequency cutoff.
23. The method of claim 20 wherein using the second random number u output for determining at each discrete time n a selected respective one of the stored N.sub.S stochastic values to update with the first random number g with variance output at each discrete time n comprises: generating a random integer between 1 and N.sub.S with a .sup.N probability distribution.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
DETAILED DESCRIPTION
(5) In the following description, numerous specific details are set forth to clearly describe various specific embodiments disclosed herein. One skilled in the art, however, will understand that the presently claimed invention may be practiced without all of the specific details discussed below. In other instances, well known features have not been described so as not to obscure the invention.
(6) One object of the present invention is to generate pink (1/f) noise signals that have a precisely defined amplitude, no low frequency cutoff, and that can be reliably regenerated. Other objects are low cost, efficient implementation in digital hardware, and computational efficiency to improve operation on a computer or processor.
(7) The stochastic signal used herein is a discrete time-series which is a function of two parameters, p and , where each sample in the series is chosen to be equal to the previous sample with probability 1p or is a random number g drawn from a distribution with variance :
(8)
(9) where B.sub.n is the current stochastic signal in a time series, where B.sub.n-1 is the previous stochastic signal in the time series, where g is a random number with variance , and where p is the probability that B.sub.n will be set to the new value g.
(10) The distribution from which g is drawn may typically be a uniform distribution. A time-series constructed in this way has an average discrete power spectral density which has the same response as a Butterworth filter:
(11)
(12) Where f.sub.0=pF.sub.S is the corner frequency, the frequency where attenuation reduces the power by half of the peak power, where F.sub.S is the sampling frequency, and where f.sub.k is the discrete frequency component of the B.sub.n time series.
(13) The filter order O(p) has very weak dependence on probability p and is approximately 1 for p less than or equal to .
(14) Pink noise may be generated by adding a set of these stochastic signals where each signal has the same but the probability p is decreased by a factor of two in each succeeding cascaded stochastic signal. Each signal in the cascade thus has its corner frequency shifted down an octave but the amplitude shifted up a factor of 2 relative to the signal before it. The sum of a set of cascaded stochastic signals is shown in the equation below.
(15)
As the number of cascaded signals N.sub.S included in the sum increases, the power spectral density approximates 1/f very well in the band over the frequency range: F.sub.S/2.sup.N.sup.
(16)
(17) In the approach described in
(18)
(19) In the embodiment shown in
(20) Since only a single stochastic signal is updated at each time step, the summation is much simpler because it is only necessary to add the new stochastic signal value 84 to the previous sum 86 and subtract the previous stochastic signal value 88 for the selected stochastic signal. The last summed value 86 is stored in register 87 and then the previous value of the stochastic signal to be updated is subtracted from the previous sum 86 and the new value 84 added, greatly simplifying the computational requirements.
(21) As shown in
(22) To determine which of the stochastic signals 92 to update with the new g with variance 84, the priority encoder 82 receives the u 83 from the random number generator and generates a random integer N between 1 and N.sub.S with a .sup.N probability distribution. The priority encoder 82 does this by effectively evaluating log.sub.2(u)+1. The resulting integer which is between 1 and N.sub.S indicates the selected stochastic signal 92 to update. The priority encoder 82 sends control signals 94 to multiplexers 95 and 96 to select the stochastic signal 92 to update.
(23) The summer 90 adds the previous output 89 of the summer 90, which may be stored in register 87, to the new g with variance 84, and the priority encoder 82 controls the multiplexers 95 and 96 to route the previous value 92 for the selected stochastic signal to the summer 90, which subtracts this selected previous value 92. As shown in
(24) The digital pink noise generation may be implemented using digital logic in a field programmable gate array (FPGA) or be performed with a computer or processor.
(25)
(26)
(27) Having now described the invention in accordance with the requirements of the patent statutes, those skilled in this art will understand how to make changes and modifications to the present invention to meet their specific requirements or conditions. Such changes and modifications may be made without departing from the scope and spirit of the invention as disclosed herein.
(28) The foregoing Detailed Description of exemplary and preferred embodiments is presented for purposes of illustration and disclosure in accordance with the requirements of the law. It is not intended to be exhaustive nor to limit the invention to the precise form(s) described, but only to enable others skilled in the art to understand how the invention may be suited for a particular use or implementation. The possibility of modifications and variations will be apparent to practitioners skilled in the art. No limitation is intended by the description of exemplary embodiments which may have included tolerances, feature dimensions, specific operating conditions, engineering specifications, or the like, and which may vary between implementations or with changes to the state of the art, and no limitation should be implied therefrom. Applicant has made this disclosure with respect to the current state of the art, but also contemplates advancements and that adaptations in the future may take into consideration of those advancements, namely in accordance with the then current state of the art. It is intended that the scope of the invention be defined by the Claims as written and equivalents as applicable. Reference to a claim element in the singular is not intended to mean one and only one unless explicitly so stated. Moreover, no element, component, nor method or process step in this disclosure is intended to be dedicated to the public regardless of whether the element, component, or step is explicitly recited in the Claims. No claim element herein is to be construed under the provisions of 35 U.S.C. Sec. 112, sixth paragraph, unless the element is expressly recited using the phrase means for . . . and no method or process step herein is to be construed under those provisions unless the step, or steps, are expressly recited using the phrase comprising the step(s) of . . . .