I don't know whether this is the right place to post this, but I suppose it is.
I know that frequency multiplication = circular convolution in time space for discrete signals (vectors).
I also know that "the convolution theorem yields the desired linear convolution result only if $x(n)$ and $h(n)$ are padded with zeros prior to the DFT such that their respective lengths are $N_x+N_h-1$, essentially zeroing out all circular artifacts."
and everything works with vectors.. but my goal is circular convolution with matrices as in this paper:
Victor Podlozhnyuk (nVidia) - FFT Based 2D Convolution
If you watch the first two figures (figure 1 and 2) you'll see that the kernel is padded in a weird way I've never seen before, what's this?