Gaussian Filter
Afficher commentaires plus anciens
Hi,
i'm searching for a Gaussian Filter to filter an 1d trace (125 Hz, x-axis:time, y-axis:signal) with a cutoff=4 Hz. Is there a function in matlab?
Thanks for your efforts!
Réponses (7)
Rick Rosson
le 29 Juin 2011
1 vote
In the Signal Processing Toolbox, please try either filterbuilder or guassfir.
HTH.
David Young
le 30 Juin 2011
1 vote
A Gaussian filter does not have a sharp frequency cutoff - the attenuation changes gradually over the whole range of frequencies - so you can't specify one. This follows from the fact that the Fourier transform of a Gaussian is itself a Gaussian.
What you usually specify is the frequency at which you require a certain attenuation. This is inversely proportional to the "width" of the Gaussian in the temporal domain. (It's not really a width - again it's the time at which the curve drops to a certain fraction of its maximum.)
You can find the detailed formulae and a proper description of all this (better than will fit into a MATLAB Answers answer) in signal processing textbooks. There's a starting point on the web at the Wikipedia article.
Rick Rosson
le 30 Juin 2011
Please review the function reference page in the MATLAB documentation:
doc gaussfir
This page provides information on how to specify the 3 dB points.
HTH.
Michele Bertoni
le 27 Juin 2018
1 vote
Hi to all, I'm a bit confused.... First of all, I can't understand why should I apply low-pass gaussian filter to digital (1-D such audio or else) signal.... I've always seen IIR Butterworth or similar, maybe is it a zero-phase?
Taking a look to Wikipedia gaussian filter page I can understand gaussian on both time and frequency domain have same shape, ok. St=sigma (in time domain) Sf=sigma (in frequency domain)
St*Sf=1/(2*pi) ok, clear.
It's also said Sf is equivalent to cut-off frequency, in this case: Fs = sampling frequency fc = cut-off frequency St = sigma (in time domain) in number of samples fc=Fs/(2*pi*St)
But in this case fc equals to -6dB, while it's used correction factor c for different cut-off value.
Ok, let's take fcarl example: Fs = 125Hz fc = 4Hz I get St = 5, so I need to take gaussian kernel from -5 to 5 (11 values), is this right? But about coefficient values? Thanks,
fcarl
le 30 Juin 2011
0 votes
fcarl
le 30 Juin 2011
0 votes
Catégories
En savoir plus sur Digital Filter Design dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!