7
$\begingroup$

I am trying to apply a window function to smooth my signal and finally obtain the peaks of the signal. Yet, for spectral leakage I apply window function in time domain. After taking the Fourier amplitude spectrum ı want to further smooth the signal. Yet I do not know how to apply smoothing windows for frequency domain. Should I use convolution for the Fourier amplitude spectrum of the window and Fourier amplitude spectrum of the data?

What is the meaning of smoothing window length with 0.1 Hz or 0.2 Hz?

$\endgroup$
1
  • $\begingroup$ Could you please review my answer? $\endgroup$
    – Royi
    Jun 1, 2022 at 9:00

2 Answers 2

2
$\begingroup$

You need to use the Convolution Theorem.

Namely, when you want to apply an LPF Kernel in one domain (Using convolution) you can use multiplication in the other domain.

The tricky part is the dimensions of the signals (Since we're dealing with Discrete signals).
Since the LPF Kernel in the convolution domain might be different then the size of the signal it is applied to, so how do we multiply?

Well, the solution is given by interpolation to the correct dimension.
This is done by adding zeros at the end of the signals.
Pay attention that the end of the signal in the frequency domain is tricky.
The end are the samples before the sampling frequency (On both sides as it is symmetric), add zeros and keep the signal symmetric (If you signals are real in the other domain).

$\endgroup$
2
  • $\begingroup$ If "smoothing in the frequency domain" means to interpolate additional samples between the samples given (without changing those values and without changing the frequency resolution itself of the answer), then this is the correct answer: Simply add zeros--- if you only care about magnitude response and not phase then simply add zeros to the end. Adding zeros to double the FFT length will insert a new interpolated frequency between every frequency point we originally had, etc... If that was the OP's intention then this should be marked as the correct answer (it's that simple). $\endgroup$ Aug 22, 2018 at 11:26
  • $\begingroup$ Interpolating in frequency is not "Windowing in Frequency" so if this is what the OP wanted to do, the title should also be corrected. For consideration of the effects of actually windowing in frequency, please see this post here which goes into the details of that: dsp.stackexchange.com/questions/39047/… $\endgroup$ Aug 22, 2018 at 11:33
2
$\begingroup$

To smooth as if a non-rectangular window was applied in the time domain, you need to do a complex convolution of the transform of the window with the complex FT of the data. A convolution using just the amplitudes (magnitudes) won't work.

$\endgroup$

Your Answer

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

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