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

回答 (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 ExchangeAcoustics, Noise and Vibration についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by