Reply by HardySpicer March 11, 20102010-03-11
On Mar 12, 5:16&#4294967295;am, Tim Wescott <t...@seemywebsite.now> wrote:
> HardySpicer wrote: > > On Mar 10, 3:22 am, "msarovar" <mo...@grommit.com> wrote: > >> Hi, > > >> What is the most efficient way to generate a noise process that is Gaussian > >> correlated in time from a white noise process? > > >> I'm having trouble coming up with a simple FIR filter that will do this. > > >> Any suggestions? > > >> Thanks, > >> ~mohan > > > Bit confused here. If you pass Guassian white noise through a LTI > > filter the output is still Guassian but coloured. > > He wants noise that is colored in such a way that the autocorrelation is > Gaussian. > > -- > Tim Wescott > Control system and signal processing consultingwww.wescottdesign.com
Oh... weird..
Reply by Tim Wescott March 11, 20102010-03-11
HardySpicer wrote:
> On Mar 10, 3:22 am, "msarovar" <mo...@grommit.com> wrote: >> Hi, >> >> What is the most efficient way to generate a noise process that is Gaussian >> correlated in time from a white noise process? >> >> I'm having trouble coming up with a simple FIR filter that will do this. >> >> Any suggestions? >> >> Thanks, >> ~mohan > > Bit confused here. If you pass Guassian white noise through a LTI > filter the output is still Guassian but coloured.
He wants noise that is colored in such a way that the autocorrelation is Gaussian. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Reply by HardySpicer March 11, 20102010-03-11
On Mar 10, 3:22&#4294967295;am, "msarovar" <mo...@grommit.com> wrote:
> Hi, > > What is the most efficient way to generate a noise process that is Gaussian > correlated in time from a white noise process? > > I'm having trouble coming up with a simple FIR filter that will do this. > > Any suggestions? > > Thanks, > ~mohan
Bit confused here. If you pass Guassian white noise through a LTI filter the output is still Guassian but coloured. Hardy
Reply by Andor March 10, 20102010-03-10
On 10 Mrz., 05:35, Jerry Avins <j...@ieee.org> wrote:
> Andor wrote: > > On 9 Mrz., 15:22, "msarovar" <mo...@grommit.com> wrote: > >> Hi, > > >> What is the most efficient way to generate a noise process that is Gaussian > >> correlated in time from a white noise process? > > >> I'm having trouble coming up with a simple FIR filter that will do this. > > >> Any suggestions? > > >> Thanks, > >> ~mohan > > > This link is three years old but still works: > > >http://math.mit.edu/~stevenj/preprints/iir-colored-noise-2007-03-13.pdf > > > It describes the use of IIR filters to efficiently (wrt to computer > > time and memory) generate correlated sequences from white sequences. > > Any low-pass filter's output is correlated at high-enough frequencies.
Of course. The trick is to get the correlation you want as cheap as possible.
Reply by Jerry Avins March 10, 20102010-03-10
Andor wrote:
> On 9 Mrz., 15:22, "msarovar" <mo...@grommit.com> wrote: >> Hi, >> >> What is the most efficient way to generate a noise process that is Gaussian >> correlated in time from a white noise process? >> >> I'm having trouble coming up with a simple FIR filter that will do this. >> >> Any suggestions? >> >> Thanks, >> ~mohan > > This link is three years old but still works: > > http://math.mit.edu/~stevenj/preprints/iir-colored-noise-2007-03-13.pdf > > It describes the use of IIR filters to efficiently (wrt to computer > time and memory) generate correlated sequences from white sequences.
Any low-pass filter's output is correlated at high-enough frequencies. Jerry -- Physics is like sex: sure, it may give some practical results, but that's not why we do it. -- Richard P. Feynman (Nobel Prize, Physics) &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by msarovar March 9, 20102010-03-09
>On 9 Mrz., 15:22, "msarovar" <mo...@grommit.com> wrote: >> Hi, >> >> What is the most efficient way to generate a noise process that is
Gaussian
>> correlated in time from a white noise process? >> >> I'm having trouble coming up with a simple FIR filter that will do
this.
>> >> Any suggestions? >> >> Thanks, >> ~mohan > >This link is three years old but still works: > >http://math.mit.edu/~stevenj/preprints/iir-colored-noise-2007-03-13.pdf > >It describes the use of IIR filters to efficiently (wrt to computer >time and memory) generate correlated sequences from white sequences. > >Regards, >Andor >
Great, thanks guys. I will read more about Chebyshev filters. They sound like my solution. Cheers, ~mohan
Reply by Andor March 9, 20102010-03-09
On 9 Mrz., 15:22, "msarovar" <mo...@grommit.com> wrote:
> Hi, > > What is the most efficient way to generate a noise process that is Gaussian > correlated in time from a white noise process? > > I'm having trouble coming up with a simple FIR filter that will do this. > > Any suggestions? > > Thanks, > ~mohan
This link is three years old but still works: http://math.mit.edu/~stevenj/preprints/iir-colored-noise-2007-03-13.pdf It describes the use of IIR filters to efficiently (wrt to computer time and memory) generate correlated sequences from white sequences. Regards, Andor
Reply by Tim Wescott March 9, 20102010-03-09
msarovar wrote:
>> On Mar 9, 6:22=A0am, "msarovar" <mo...@grommit.com> wrote: >>> Hi, >>> >>> What is the most efficient way to generate a noise process that is > Gaussi= >> an >>> correlated in time from a white noise process? >>> >>> I'm having trouble coming up with a simple FIR filter that will do > this. >>> Any suggestions? >>> >>> Thanks, >>> ~mohan >> By "Gaussian correlated" do you mean anything other than correlated >> and Gaussian distributed? >> >> What have you tried and why do you think it hasn't worked? >> >> "most efficient" is a context dependent term. Are you concerned with >> implementing in a 8-bit micro-controller, a supercomputer, an FPGA or >> a PC? Do you mean efficient in your time or the processor's time or >> memory space? >> >> Dale B. Dalrymple >> >> > > Hi, > Thanks for the quick answers. And sorry for the lack of detail in my last > message. > > First, by "Gaussian correlated" I mean colored noise for which the temporal > correlations are Gaussian. > > What I have tried so far is to form a Gaussian FIR filter and convolve the > white noise with it to get output that is Gaussian correlated in time. I am > running this on a PC but need to do it many, many times and so efficiency > (in time, not memory) is important. Currently, the convolution is the > limiting step in my code and I was wondering if there was an easier way to > do this. > > For example, is there a recursive (IIR) filter for generating Gaussian > correlations that might decrease the number of convolution steps? >
"I'm having trouble coming up with a simple FIR filter that will do this" Thus, no one suggests the obvious. Yes, there are IIR filters that will approximate a Gaussian filter. In continuous time these are referred to as "Bessel filters"; I don't know how they've acquired a different name in the sampled time domain. No matter what, you'll only get an approximation. The FFT of a white Gaussian noise process is itself white Gaussian noise with uniformly distributed phase. If you need finite-length vectors with your Gaussian autocorrelation, you can make sequences with white noise, shape them with the appropriate Gaussian envelope, then take the inverse FFT to get a sequence with your desired time-domain properties. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Reply by msarovar March 9, 20102010-03-09
>On Mar 9, 6:22=A0am, "msarovar" <mo...@grommit.com> wrote: >> Hi, >> >> What is the most efficient way to generate a noise process that is
Gaussi=
>an >> correlated in time from a white noise process? >> >> I'm having trouble coming up with a simple FIR filter that will do
this.
>> >> Any suggestions? >> >> Thanks, >> ~mohan > >By "Gaussian correlated" do you mean anything other than correlated >and Gaussian distributed? > >What have you tried and why do you think it hasn't worked? > >"most efficient" is a context dependent term. Are you concerned with >implementing in a 8-bit micro-controller, a supercomputer, an FPGA or >a PC? Do you mean efficient in your time or the processor's time or >memory space? > >Dale B. Dalrymple > >
Hi, Thanks for the quick answers. And sorry for the lack of detail in my last message. First, by "Gaussian correlated" I mean colored noise for which the temporal correlations are Gaussian. What I have tried so far is to form a Gaussian FIR filter and convolve the white noise with it to get output that is Gaussian correlated in time. I am running this on a PC but need to do it many, many times and so efficiency (in time, not memory) is important. Currently, the convolution is the limiting step in my code and I was wondering if there was an easier way to do this. For example, is there a recursive (IIR) filter for generating Gaussian correlations that might decrease the number of convolution steps? Thanks again for the help, ~mohan
Reply by dbd March 9, 20102010-03-09
On Mar 9, 6:22&#4294967295;am, "msarovar" <mo...@grommit.com> wrote:
> Hi, > > What is the most efficient way to generate a noise process that is Gaussian > correlated in time from a white noise process? > > I'm having trouble coming up with a simple FIR filter that will do this. > > Any suggestions? > > Thanks, > ~mohan
By "Gaussian correlated" do you mean anything other than correlated and Gaussian distributed? What have you tried and why do you think it hasn't worked? "most efficient" is a context dependent term. Are you concerned with implementing in a 8-bit micro-controller, a supercomputer, an FPGA or a PC? Do you mean efficient in your time or the processor's time or memory space? Dale B. Dalrymple