Filter White Noise: Designing FIR Moving Average Filter

  • Thread starter Thread starter veccia
  • Start date Start date
  • Tags Tags
    Noise White noise
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 6K views
veccia
Messages
3
Reaction score
0
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!
 
Engineering news on Phys.org
veccia said:
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!

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.
 
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:
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.
 
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.
 
Well, then how can I have control over "sigma" of the Gaussian signal in the time domain?