Combining and averaging multiple FFTs
61 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Butterflyfish
le 27 Oct 2015
Commenté : Star Strider
le 28 Oct 2015
I have multiple, real, audio signals which I am taking the FFTs. Although they don't come from the same recording, those signals represent the same thing (biologically). I was told that I could combine those ffts and average them together to get a good representation of the averaged signal. I am thinking of using the matlab function 'pwelch' for this purpose but I have lots of questions and I could not find answers by googling.
I have already averaged the ffts themselves with the matlab function 'pwelch' to decrease the noise. When combining them together, should I just use the output of a normal FFT rather than the output of pwelch (P)?
My signals are not exactly of the same length, which will make them not usable to combine in a matrix. Should I cut them all to the same length before averaging? Or is there a way round that?
How do I actually combine them? I was thinking something like this:
avg = (abs(P1) + abs(P2) + abs(P3)) / 3;
and then use the function pwelch like this:
[Pavg, Favg] = welch(avg,ones(SegmentLength,1),0,NFFTavg,fs,'power');
Any insights or help would be really appreciated. Thank you!
0 commentaires
Réponse acceptée
Star Strider
le 27 Oct 2015
Truncating the time-domain recordings to be the lengths of the shortest recording is preferable if they all have the same sampling frequency. If they have different sampling frequencies, you will have to resample them to the same sampling frequency, because otherwise the fft will have different frequency resolutions.
Using the ensemble average of the fft of biological signals is a common technique in biomedical engineering. See for example Demonstration of Fourier Transforms: Signal Avergaing. I would simply use the regular fft. Designing a digital filter to filter baseline drift and high-frequency noise before you do the fft is certainly an option, providing you use the same filter on all signals.
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Spectral Measurements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!