Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Filtering White Noise

  1. Sep 15, 2011 #1
    I want to generate a Gaussian white noise as an input to a vibration exciter. Since, it does not follow the high frequencies I need to low pass filter the signal. I need to implement a filter which makes minimum distortion to my signal in terms of temporal correlation of the filtered signal and at the same time attenuates the high frequencies. Can anybody help me with designing this filter? I think I should use an FIR moving average filter, but I do not know which windowing method would be useful!
  2. jcsd
  3. Sep 15, 2011 #2


    User Avatar

    Staff: Mentor

    Welcome to the PF.

    Since the mechanical apparatus does not respond to the high frequency components of your white noise signal, why do you need to filter them out? The mechanical apparatus is acting as a lowpass filter already.
  4. Sep 15, 2011 #3
    Agreed with Berkeman.

    But assuming you do need a low-pass filter for some reason not yet clear, note that the main reason you might use a FIR or IIR rather than just doing an FFT, windowing the spectrum, and then a IFFT, is to save CPU. I'm sure any modern desktop computer has more than enough CPU horsepower to use the FFT method for the frequency range of the device!

    In fact, if you are driving it with an audio output and you don't care too much about the degree of randomness, you might simply create a few minutes (or even hours) of Gaussian (white) noise with an audio editor (like Audacity), low pass it with the FFT functions provided in the editor, and play it in loop mode. Or if you don't trust that Audacity really is making AWGN, then make it yourself and use Audacity's abilty to import raw data files.

    If you want more randomness than that, i wouldn't be surprised if there is free software out there that would do that dynamically.

    If you are not driving it with an audio output, note that Audacity can save raw sample data files, too.
    Last edited: Sep 15, 2011
  5. Sep 15, 2011 #4
    The point is that I am generating two different random noises with the same mean and different sigmas in an online task and they should be updated in less than a second time resolution and moreover I need to have control over sigmas after filtering (I need to keep the sigma ratios the same as the raw signals) and almost after vibrator rather than giving the raw signal and not knowing what is the actual output of the vibrator. Vibrator is working as an unknown low-pass filter and it produces some high level auditory noise in high frequencies (probably in resonance frequencies) that I am trying to avoid it by low-pass filtering the signal before.
  6. Sep 15, 2011 #5


    User Avatar
    Science Advisor
    Homework Helper

    If you are generating a digital signal to drive your exciter, why not generate white noise in the frequency domain, filter the amplitude as you want, and then do an inverse FFT to convert it into the time domain?

    Or if you want bandwidth-limited noise, just choose the Nyquist frequency of your digital signal generation process to kill the high frequency content that you don't want.
  7. Sep 16, 2011 #6
    Well, then how can I have control over "sigma" of the Gaussian signal in the time domain?
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook