# Aliasing due to the Convolution of Gaussian Functions

For two discrete-time sequences $f[n]$ and $g[n]$, their linear convolution $(f*g)[n]$ is also given by $$f*g = \mathcal{F}^{-1}(\mathcal{F}(f) \cdot \mathcal{F}(g)),$$ where $\mathcal{F}$ and $\mathcal{F}^{-1}$ denote the DTFT (discrete time Fourier transform) and IDTFT (inverse discrete-time Fourier transform) respectively.

Let us consider two Gaussian sequences $f[k]$ and $g[k]$ in the momentum space and we want to convolve them using the formula above.

import numpy as np
import matplotlib.pyplot as plt

L = 17.5
N = 48
dx = L/N
dk = 2*np.pi/L
x = np.arange(N)*dx - L/2
k = 2*np.pi * np.fft.fftfreq(N, dx)

alpha = 1
beta = 1

def f(k):
return np.sqrt(np.pi/alpha) * np.exp(-k**2/(4*alpha))

def g(k):
return np.sqrt(np.pi/beta) * np.exp(-k**2/(4*beta))

fs = np.array([f(k_) for k_ in k])
gs = np.array([g(k_) for k_ in k])

fftconvfg = np.fft.ifft(fs * gs)

plt.plot(ks, np.fft.fftshift(fftconvfg))


I get the following plot.

Question

How can I demonstrate that my plotting is (or, is not) subject to the aliasing artifacts? And if there are aliasing artifacts, how can I get rid of it?

• Are you dealing with the discrete-time signals or continuous time? Why do you use $f(x)$ ? and then $f[k]$... Please clarify. – Fat32 Aug 24 '17 at 20:22
• I'm dealing with discrete-time signals. I wanted to put the convolution theorem the way I learnt in a math course. My bad! – rainman Aug 24 '17 at 20:25
• ok... I will edit the question then. – Fat32 Aug 24 '17 at 20:26