平均、標準偏差を求めようとすると-infと返される
조회 수: 32 (최근 30일)
이전 댓글 표시
平素よりお世話になっております。
よろしくお願いいたします。
マイクで収録した音を、下記のコードで音圧に変換しました。
サンプリンぐ周波数192000Hzで、180秒間のデータになります。
この時、dBの平均と標準偏差を求めようと思ったのですが、mean関数を使用して、z=mean(dB);と入力しても-infと出てきます。
-infの意味は、matlabでは無限大という意味みたいですが、なぜ平均を求めようとして、-infと返されるのか意味がよくわかりません。
どうすれば、平均、標準偏差を計算できるかご指導いただけると幸いです。
data_e= abs(data)/sqrt(2);%電圧の実効値
v=data_e; %//アンプの出力電圧[V]
amp=100; %//アンプゲイン[倍]
m=4*10^(-3);% //マイク感度[V/Pa]
a= 20*10^(-6);% //基準音圧[μPa]
dB=20*log10(v/amp/m/a);% //音圧レベル[dB]
댓글 수: 4
stozaki
2020년 9월 24일
편집: stozaki
2020년 9월 24일
Wataru Tarumi様
配列dBの中に -Inf を幾つか含んでいるので、平均をとっても -Inf になってしまっているようです。
% 配列dBの値が-Infとなるインデックス取得
>> ret = find(dB == -inf)
ret =
115199
133978
290639
315151
318797
361094
.
.
.
34430673
34432999
34496378
>> dB(ret(1))
ans =
-Inf
dBを計算する過程に問題があるか、"data" の中に解析に不要な範囲が含まれているのではないでしょうか?
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Pulsed Waveforms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!