# Gaussian wavelet generation of a given frequency

How can I generate a Gaussian wavelet (time domain) with a given central frequency.

I mean, if I take the Fourier Transform then its spectrum should be around that given central frequency. For example the peak of spectrum is 20Hz and its side lobes becomes nearly zero around 20±10 .

I carried out a few coding exercise but the fourier transform of the gaussian wavelet was always centered around 0 Hz regardless of shape of gaussian spectrum.

Code and explanation are here Link

The modulation property of the Fourier Transform states that given a continuous time domain function $x(t)$ with Fourier transform $X(f)$, the function $h(t) = e^{j 2\pi f_0 t} x(t)$ has the Fourier transform $X(f-f_0)$ (i.e. shifted by $f_0$ in the frequency domain):
\begin{align} e^{j 2\pi f_0 t} x(t) \overset{\mathcal F}\Longleftrightarrow X(f-f_0) \end{align}
Similarly for a discrete time signal $x[n]$ with period $N$ and Discrete Fourier Transform $X_k$ (under an $N$-point DFT), the equivalent relation is:
\begin{align} e^{j 2\pi \frac{m}{N} n} x[n] \overset{\mbox{DFT}_N}\Longleftrightarrow X_{k-m} \end{align}
As you might have noticed, these expressions multiply you original time-domain signal by a complex term, which gives you a complex valued time-domain signal. If you want a real valued time-domain signal, you would actually need to construct a combination of a signal frequency shifted by $m$ with another one frequency shifted by $-m$. This can be carried out in the time-domain by multiplying the signal by $\cos(2\pi\frac{m}{N} n)$.