1
$\begingroup$

First of all i am new in DSP, so i have no solid education in the field.

I have convert my time domain acceleration-seismic data to frequency using DFT and i am trying to smooth the DFT data, in order to have a more appropriate view of them. I didn't know how exactly to approach my problem until i found a python code in the Scipy-Cookbook that smooths signals with convolution of them with a specific window (e.g. hanning, hamming).

You can find the code here: https://scipy-cookbook.readthedocs.io/items/SignalSmooth.html

I tried this code and the results seem quite promising as you can see. enter image description here

So my questions are: 1) Is this a theoretically accepted method to smooth data in DFT domain or only applies in time domain ? (references are welcome!) 2) Are there different methods to smooth DFT data?

Thank you!

$\endgroup$

2 Answers 2

1
$\begingroup$

1) Is this a theoretically accepted method to smooth data in DFT domain or only applies in time domain ?

Sort of. It certainly can be done this way. Doing it directly in the DFT (instead of the PSD) is risky since it's a complex number you can get a lot of cancellation if the phase is fluctuating a lot.

You also need to decide how you manage the "edges": do you do circular or linear convolution

2) Are there different methods to smooth DFT data?

Yes. There are as many methods as there are different sets of requirements and application. You plotted your data on a log frequency scale, so you may be better off with "1/Nth octave smoothing algorithm"

$\endgroup$
1
$\begingroup$

Moving average filter is a good smoothing filter in time domain but is a bad low pass filter in frequency domain due to slow roll off and bad stop band attenuation. It is important to look at the time and frequency response of the filters before deciding on them.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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