How to calculate the RMS for every 441000 values of an acoustic signal of length 13,230,000 using MATLAB?

4 vues (au cours des 30 derniers jours)
Hello, I have 5 minutes recorded acoustic signal with 13,230,000 data points and I would like to know the root mean square (RMS) of every 441000 values (equivalent to 10 sec). Please, do I need a loop for this? Or is there some easier way to solve this?
Thanks in advance!
Kwaku

Réponses (1)

Ameer Hamza
Ameer Hamza le 13 Oct 2020
Modifié(e) : Ameer Hamza le 13 Oct 2020
sig; % 13230000x1 signal
sig_part = reshape(sig, 441000, []); % partitioned signal, each column is a partition
rms_sig = rms(sig_part) % if you have signal processing toolbox
If you don't have the signal processing toobox, then replace the last line with
rms_sig = sqrt(mean(sig_part.^2))

Catégories

En savoir plus sur Audio Processing Algorithm Design 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!

Translated by