2
$\begingroup$

I am reading the paper, Design of an energy-efficient accelerator for training of convolutional neural networks using frequency-domain computation, and I came across the following definition of sinc interpolation.

Paper


Warning. I don't have a strong background in signal processing. Also, I have no clue what that bar on $\bar{F}$ means. I don't know why that would be the conjugate. Would it actually be the conjugate?

Context. In this part, for a given kernel $f_k$ of size $k$, we want to expand $F_k = DFT\{f_k\}$ to $F_N = DFT\{f_N\}$ have size $N$, without going to the spatial domain, padding and back to the spectral domain.

Let's discuss on a 1D scenario for notation simplification.

$$ G(u) = F(u) \ast \left [ e^{\frac{-j 2 \pi u}{N}(\frac{k-1}{2})} \frac{sin(\frac{\pi u k}{N})}{sin(\frac{\pi u}{N})} \right ] $$

Q1. I am assuming that $G(u)$ and $F(u)$ are discrete, having the respective sizes of $N$ and $k$. Is this assumption right?

Q2. Would that second term actually be the $sinc$ kernel, i.e. would the expression below be true? If not, what is their between that term and the sinc function? $$ sinc(u) = \frac{sin(u)}{u} = \left [ e^{\frac{-j 2 \pi u}{N}(\frac{k-1}{2})} \frac{sin(\frac{\pi u k}{N})}{sin(\frac{\pi u}{N})} \right ] $$

Another way I know to avoid using the DFT to compute $F_N$, is by representing $f_N$ in terms of $f_k$ as

$$f_n = \sum_{i=0}^{k-1} \delta(n-i) f_i$$

Thus, having that $$DFT\{\delta[n]\} = 1$$

and $$ DFT\{x[n-n_o]\} = e^{-j \frac{2 \pi}{N} k n_o} DFT\{x[n]\}$$

Hence $$F_N(k) = \sum_{n_o=0}^{k-1} e^{-j \frac{2 \pi}{N} k n_o } f_{n_o}$$

I am not sure if that the convolution on the frequency domain $G(u)$, and the impulse based composition $F_N(k)$ are similar approaches of doing the same thing. I did notice the similarity between

$$ e^{\frac{-j 2 \pi u}{N}(\frac{k-1}{2})} \sim e^{\frac{-j 2 \pi k}{N}n_o} $$

But, if this is the case, then,

$$ \frac{sin(\frac{\pi u k}{N})}{sin(\frac{\pi u}{N})} \sim F\{\delta(k-n_o)\} $$

Q3. Are these the same approaches? Is there any relation between these expressions? $$\frac{k-1}{2} \sim n_o$$

$\endgroup$
2
  • $\begingroup$ I found this other answer that seems to be what I've looking for, not sure yet. But at least it contains part of it. I am still trying to understand the transition from step 6 to 7. $\endgroup$ Jul 16, 2019 at 14:55
  • $\begingroup$ Related to the proof how to do it properly in dsp.stackexchange.com/questions/72433. $\endgroup$
    – Royi
    Aug 24, 2021 at 8:22

1 Answer 1

1
$\begingroup$

The "discrete sinc kernel" is also known as a Dirichlet Kernel. It looks like a you got a 2D (u and v) going there. I'm not that familiar with that, but we just did a pretty good number on the 1D case.

This post explains the inverse DFT can be interpreted as "epicycle drawing":

How to get Fourier coefficients to draw any shape using DFT?

This post then follows up with the relationship between the sampling, epicycle drawing, upsampling, and the normalized sinc function:

Absolute convergence of periodic sinc interpolation

The conclusions are:

Suppose a continuous band limited function (with band limit $L$) is sampled, then reconstructed from the samples.

1) If L < N/2 the function can be unambiguously reconstructed. The results from an infinite series sinc reconstruction (Whittaker-Shannon) and taking a DFT, zero padding at the Nyquist and then the inverse DFT to upsample, will produce the same path.

2) If L = N/2, the Nyquist bin must be split between N/2 and -N/2 for the sinc reconstruction to match the DFT reconstruction. It may or not may not match the original function, but it will match at all the sample points.

3) If L > N/2, and N is even, the Nyquist bin must still be split for the sinc reconstruction to match the DFT reconstruction, but neither will match the original function, yet both will still match at all the sample points.

The relationship between the sinc function and the Direchlet Kernel is this:

1) The sinc function is the limit of the Dirichlet kernel as the sample count goes to infinity

2) For odd N, the Dirichlet kernel is an infinite sum of sinc functions. For even N, it is an adjusted one.

See the posts for details and discussion.


What I forgot to overtly mention is that the Dirichlet Kernel formula is directly derived from, and equivalent to, doing the FFT, zero pad at Nyquist (split Nyquist on even N) then inverse DFT for resampling or coefficients for Fourier Series. Your link in the comment is about the reverse case, but since the forward DFT and inverse DFT are mirror image twins (especially when $1/\sqrt{N}$ normalized), so what gets said in one direction has to be true in the other. This means if you zero pad a signal, and have an even number of points, one of the outside points needs to be halved and the other half appended at the other end before zero padding outward, leaving your data centered.

I already explained the relationship between the Sinc and the Dirichlet, just above. The math can be found in the second link in the section of my answer that has $y_m = Y(w)$ in it. Towards the bottom.

$\endgroup$
3
  • $\begingroup$ Thank you! Still trying to understand this answer. The first link is TL; DR (yet). Trying to put together your answer and other one $\endgroup$ Jul 16, 2019 at 15:00
  • $\begingroup$ Could you explain more how/why (sinc)[wikiwand.com/en/Sinc_function] is the same as (Direchlet Kernel)[wikiwand.com/en/Dirichlet_kernel]. They seem to be a bit differently mathematically. Are they just reparametrization of the same function? Like tahn and sigmoid; sin and cosine, where one can be rewritten in terms of the other. $\endgroup$ Jul 16, 2019 at 15:12
  • $\begingroup$ @EduardoReis, I've added a followup. $\endgroup$ Jul 16, 2019 at 15:25

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.