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

3 ビュー (過去 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

回答 (1 件)

Ameer Hamza
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 ExchangeMultirate Signal Processing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by