How to calculate the RMS for every 441000 values of an acoustic signal of length 13,230,000 using MATLAB?
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Ameer Hamza
2020-10-13
编辑:Ameer Hamza
2020-10-13
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))
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Acoustics, Noise and Vibration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!