0
$\begingroup$

I have a function $f(t) : [0, 2 \pi] \rightarrow {\Bbb R}$. This function is sampled on $N$ points (equidistant in interval $[0, 2 \pi]$, getting the discretized function $f_i$, $i = 1, .., N$. The number of points $N$ is a power of 2.

Furthermore, I have an analytical window function $h(t)$, for which I know also its analytical fourier transform $H(\omega)$. I use currently the Hann window defined in 'http://www.thefouriertransform.com/pairs/truncatedCosine.php' with parameter $a$. From the analytical window function h(t), i generate the discretized window function $h_i$ by sampling the the function on a grid with the same spacing as $f_i$.

Now i do a discrete convolution $g_i = f_i * h_i$ of the discretized function $f_i$ with the discretized window function $h_i$, followed by a discrete fourier transform (DFT) of $g_i$, $G_i = DFT(g_i)$. So $G_i = DFT(f_i * h_i)$ where $*$ is the discrete convolution operator.

Now my question: I want to 'undo' the effect of the convolution operator. Note I have to (approximately) undo this in frequency space (so using $G_i$) because all following steps of the algorithm are also done in frequency space. What I am actually implementing is 'nonuniform FFT of type 1' for OCT. It looks like this 'undo step' can be done by point-wise division (which acts as a sort of 'deconvolution'), so by calculating $F_i = G_i / H_i$ with a sampled function $H_i$.

My question is now, how can I calculate the sampled function $H_i$ ? So how do I calculate $H_i$ from (preferably) $H(\omega)$, the analytical fourier transform of the window function ? An actual 'recipe' would be fine containing also details of the steps to do as I am not so experienced with fourier transforms and discrete fourier transform.

  • 0
    Please consider [formatting your question](http://math.stackexchange.com/help/notation) with mathjax in order to make it more readable.2017-01-25
  • 0
    You can't undo $f \ast h$ because $h$ is an almost ideal low-pass filter, so the higher frequencies have been almost completely filtered out. In general for recovering $f$ you need a filter $g$ such that $h \ast g = \delta$ (the Kronecker delta, the identity of the discrete convolution). When trying to compute it on matlab with $h$ the Hann window, you'll get some NaNs (division by $0$) because $G(k) = 1/H(k)$ in the DFT domain2017-01-25
  • 0
    @reuns you can sometimes use statistics to guess on the higher frequency components based on the low frequency ones. Correllations between low and high frequency bands occur both for images and music.2018-09-17

0 Answers 0