I'm trying to denoise the signal by performing PSD analysis and followed by IFFT. Ultimately, I want to generate Force and Displacement plots from the denoised acceleration signal.

Noisy Acceleration Signal($a_z$ vs t):

enter image description here

PSD analysis of the signal:

enter image description here

Setting a PSD > 0.001 in the code to filter out frequencies having less power than 0.001.

After IFFT($a_z$ vs t):

enter image description here

The denoised signal makes sense since I'm recording z-acceleration on curb impacts which comes out to be a series of impulses.

I'm a novice in signal processing and I don't know whether a windowing would have given a better result or not?

Further questions: Is it possible to find force distribution from the acceleration signal? I've been searching to find answers but none have given me a good idea.


Filtering by zeroing out bins is not a recommended approach as it will introduce significantly more time domain ringing, as detailed here

Why is it a bad idea to filter by zeroing out FFT bins?

Consider using the firls function available in MATLAB / Octave or Python scipy.signal to design optimized multiband filters around your frequencies of interest.

However the frequency content will be driven by repetition in the data; if the actual application will repeat (or not) at unknown and variable intervals, any such filtering techniques will not be useful.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.