I have been wondering about a problem and need some help. Let's say I have a 1-d time signal (discrete), I also have the knowledge that the signal consists of repeated Gaussians with known fixed standard deviation and for starters let's say of known a fixed amplitude. So the signal consists of series of similar Gaussians and then obviously there is the random noise. Is there any way to use that knowledge in frequency filtering to get rid of the noise?
You can try performing a matched filtering with the gaussian of interest. See the below python code for an example. It is not exactly a work in the Foruer domain, (but can be seen as such) and remove thes noise just leaves the Gaussians. You need to adapt the sigma of your gaussians (i just did some rough trial-and-error here)
signal = np.loadtxt("C:/local/mmatthe/work/sheet1.csv") t = np.arange(-signal.shape/2, signal.shape/2) t2 = np.arange(-20, 20) sigma2 = 10 gauss = lambda t: 1/np.sqrt(2*np.pi)*np.exp(-(t)**2/(2*sigma2)) gauss_samples = gauss(t2) gauss_samples /= np.sqrt(sum(gauss_samples**2)) plt.figure(figsize=(10, 5)) plt.subplot(1,2,1) plt.plot(t, signal) plt.plot(t, gauss(t)) plt.subplot(1,2,2) plt.plot(np.convolve(gauss_samples, signal));