DSPRelated.com
Forums

White noise generation in the frequency domain

Started by Michel Rouzic September 22, 2008
>I'd like to synthesise white noise in the frequency domain, the reason >for that is that I need to make it go through a bank of filters so >it's more convenient if I don't have to perform a FFT on it. I've >tried that before, unfortunately strange artifacts would appear in the >form of diagonal streaks on the noise's spectrogram. I have no idea >what this can be due to. The technique I used was to generate each >complex bin by having a magnitude of 1.0 and a random phase, normally >distributed from 0=B0 to 360=B0.
The following two are equivalent: 1) generating white noise and taking its Fourier transform 2) generating white noise directly in the Fourier domain That is, to say, there is no such as frequency domain noise, really. Fourier transform is an orthogonal transform, hence FFT of an i.i.d. sequence of normal random variables is an i.i.d. sequence of normal random variables.
> >That seemed like a sensible approach, considered the circular complex >distribution of frequency domain bins it would give me, however it >yields those undesirable diagonal streaks, basically long random dark >lines in the noisy spectrogram with fainter perpendicular equivalents. >Is there anything wrong with the approach? What could these diagonal >streaks be due to? How would you go about doing what I'm trying to do?
As others have pointed, you should not fix the magnitude. Try generating real and imaginary parts separately, and summing them as follows: x = sigma/sqrt(2) * ( randn(n,1) + i * randn(n,1) ); in Matlab language. You can use this to characterize white noise in the "frequency domain" as you wish. (The variance of each element in the sequence x is sigma^2, make sure you use the correct value. In communications sigma^2/2 is used often for noise variance, and this can be confusing.) Emre
>The Fourier transform of a white noise process has constant magnitude.
I hate to nitpick, but the above statement is confusing. What is meant here is that the Fourier transform of the autocorrelation of the white noise process is flat (i.e., constant magnitude), which goes by the name "power spectral density". Otherwise, as previously stated, Fourier transform of white noise is white noise. It has random magnitude. Emre
On Sep 22, 7:25�pm, spop...@speedymail.org (Steve Pope) wrote:
> Greg Berchin &#4294967295;<gberc...@comicast.net> wrote: > > >On Mon, 22 Sep 2008 20:44:46 +0000 (UTC), spop...@speedymail.org > >>Whereas the values of the discrete Fourier transform of a white > >>noise signal have a normal distribution. > >I'm not doubting the statements from you and Vladimir, but I've never > >seen the derivation of this. &#4294967295;Where did you find this info? > > Let's see... the DFT is a linear operation, that is to say, > any given output of a DFT is a linear combination of the > inputs to the DFT, so if the inputs are all normal, then any > output is normal, since the sum of normal variables is normal. > > This applies to both the real part of an output, and the > imaginary part of an output. &#4294967295;They would each be normal.
Noise needn't be bormally distributed in order to be white. Why would its parts be Gaussian? Jerry
>( In communications sigma^2/2 is used often for noise variance, and this
can be
>confusing.)
In above statement I meant sigma^2 = N_0 / 2. It has been some time since I used this in the context of my telecommunications courses. Can anyone remind me why this is? Why is there a need to divide N_0 by 2, whereas defining another constant as the variance N = N_0/2 would simplify the notation... or so it seems to me. Thanks, Emre
emre <eguven@ece.neu.edu> replies to my post,

>>The Fourier transform of a white noise process has constant magnitude.
>I hate to nitpick, but the above statement is confusing. What is meant >here is that the Fourier transform of the autocorrelation of the white >noise process is flat (i.e., constant magnitude), which goes by the name >"power spectral density".
Nope, that isn't what I meant. The Fourier transform (not the discrete fourier transform) of a power signal arising from stationary, random process that is white and Gaussian will be constant. It is a little confusing because not all power signals have Fourier transforms, but I would say this is one of them.
> Otherwise, as previously stated, Fourier transform of white noise > is white noise.
I think you're talking discrete Fourier transform here. Steve
Jerry Avins  <jya@ieee.org> wrote:

>On Sep 22, 7:25&#4294967295;pm, spop...@speedymail.org (Steve Pope) wrote:
>> Greg Berchin &#4294967295;<gberc...@comicast.net> wrote:
>> >On Mon, 22 Sep 2008 20:44:46 +0000 (UTC), spop...@speedymail.org >> >>Whereas the values of the discrete Fourier transform of a white >> >>noise signal have a normal distribution. >> >I'm not doubting the statements from you and Vladimir, but I've never >> >seen the derivation of this. &#4294967295;Where did you find this info?
>> Let's see... the DFT is a linear operation, that is to say, >> any given output of a DFT is a linear combination of the >> inputs to the DFT, so if the inputs are all normal, then any >> output is normal, since the sum of normal variables is normal.
>> This applies to both the real part of an output, and the >> imaginary part of an output. &#4294967295;They would each be normal.
>Noise needn't be bormally distributed in order to be white. Why would >its parts be Gaussian?
You're right. My statement above applies only to Gaussian white noise. Steve
>emre <eguven@ece.neu.edu> replies to my post, > >>>The Fourier transform of a white noise process has constant magnitude. > >>I hate to nitpick, but the above statement is confusing. What is meant >>here is that the Fourier transform of the autocorrelation of the white >>noise process is flat (i.e., constant magnitude), which goes by the
name
>>"power spectral density". > >Nope, that isn't what I meant. The Fourier transform (not the >discrete fourier transform) of a power signal arising from >stationary, random process that is white and Gaussian will be >constant.
Steve, I don't see how this can be true. Are you saying that a one-to-one transformation, that is the Fourier transform (FT), of a random signal is not random? But this is a contradiction, since there is only one function (scaled delta) that is the (inverse) FT of a constant function.
>It is a little confusing because not all power signals have >Fourier transforms, but I would say this is one of them.
This is a separate issue from the one above, but it further adds to the confusion.
>> Otherwise, as previously stated, Fourier transform of white noise >> is white noise. > >I think you're talking discrete Fourier transform here.
Right. Emre
emre <eguven@ece.neu.edu> wrote:

>>emre <eguven@ece.neu.edu> replies to my post,
>>>>The Fourier transform of a white noise process has constant magnitude.
>>>I hate to nitpick, but the above statement is confusing. What is meant >>>here is that the Fourier transform of the autocorrelation of the white >>>noise process is flat (i.e., constant magnitude), which goes by the >name >>>"power spectral density".
>>Nope, that isn't what I meant. The Fourier transform (not the >>discrete fourier transform) of a power signal arising from >>stationary, random process that is white and Gaussian will be >>constant.
>Steve, I don't see how this can be true.
Well firstly, my statement up at top ("constant magnitude") is what I intended, not "constant".
> Are you saying that a one-to-one transformation, that is > the Fourier transform (FT), of a random signal is not random? > But this is a contradiction, since there is only one function > (scaled delta) that is the (inverse) FT of a constant function.
If it is not constant magnitude, then I think you have a dilemma: at what frequencies would it have above-average magnitude? Logically there can't be any.
>>It is a little confusing because not all power signals have >>Fourier transforms, but I would say this is one of them.
>This is a separate issue from the one above, but it further adds to the >confusion.
Well, one way the confusion might go away if we decide such a signal has no Fourier transform. Steve

Greg Berchin wrote:
> Michel Rouzic wrote: > > The technique I used was to generate each > > complex bin by having a magnitude of 1.0 and a random phase, normally > > distributed from 0&#65533; to 360&#65533;. > > Try a uniform distribution of phase from 0 to 360 degrees. > > Greg
Wait, I thought normal meant uniform.. well I meant uniform, not Gaussian.
emre wrote:
> As others have pointed, you should not fix the magnitude. Try generating > real and imaginary parts separately, and summing them as follows: > x = sigma/sqrt(2) * ( randn(n,1) + i * randn(n,1) ); > in Matlab language. You can use this to characterize white noise in the > "frequency domain" as you wish. (The variance of each element in the > sequence x is sigma^2, make sure you use the correct value. In > communications sigma^2/2 is used often for noise variance, and this can be > confusing.) > > Emre
Sorry but I don't use Matlab (I code all in C) and my mathematics background is a bit weak. What do you mean by "sigma" in the context of "sigma/sqrt(2)"? Does it have anything to do with the summation operator? Also, if you generate the real and imaginary parts separately, wouldn't the distribution of the samples in the complex plane be a square?