Suppose I have a random generator that generates gaussian distributed samples (mean = 0, variance = sigma) at a rate of 4*N samples per second.

I want to generate 4 different streams from this sequence (each at a rate of N samples per second) by taking 1 out 4 of the generated samples.

Will each stream still be gaussian distributed samples with mean = 0 and variance = sigma ?

NB: I want to see if I can save resources on a FPGA board by creating only a single noise generator to create multiple streams (at the expense of having a higher clock rate) for this generator.

  • 1
    $\begingroup$ 1. So, why should it be that if you take one out of 4 samples, the distribution should change? 2. What's the literal definition of "white noise" in terms of autocorrelation? $\endgroup$ – Marcus Müller Oct 4 at 9:00
  • $\begingroup$ @MarcusMüller I'm quite confident it should be ok in theory (maybe less confident in practice with physical randow generator pseudo-sequence) , so i'm asking. Autocorrelation is zero except for lag = 0, where it is the variance of the process. $\endgroup$ – CitizenInsane Oct 4 at 9:26
  • $\begingroup$ exactly! so the autocorrelation is also zero, especially for lag = 4n , n= …,-3,-2,-1,1,2,3… meaning that your 1:4 subsampling is still white :) That is, assuming your original generator is white. What is your generator, since you seem to be worried about its quality? $\endgroup$ – Marcus Müller Oct 4 at 9:33
  • $\begingroup$ @MarcusMüller Thanks for the clarification. Regarding the generator on the FPGA board, I don't know yet, I'm not the specialist, it seems it will be gaussian noise generated from uniform pseudo sequence using box-muller transform. I'm not familiar with that at all ... $\endgroup$ – CitizenInsane Oct 4 at 9:42
  • $\begingroup$ The whiteness is defined by the uniform generator, so make sure you get one that isn't just a short linear-feedback shift register (but that's easy to find, try XOROSHIRO128+). Box-Muller: not a distribution shaper you'd use on an FPGA, at all, because that is an inherently sequential, non-deterministic duration, algorithm. Depending on your speed needs and whether you need the distribution to have tails (you don't, because in the FPGA you'll deal with limited bit width only, anyway), a simple "sum N consecutive uniform numbers and get one approximately gaussian distributed" might be better. $\endgroup$ – Marcus Müller Oct 4 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.