平均、標準偏差を求めようとすると-infと返される
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
平素よりお世話になっております。
よろしくお願いいたします。
マイクで収録した音を、下記のコードで音圧に変換しました。
サンプリンぐ周波数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 comentarios
stozaki
el 24 de Sept. de 2020
Editada: stozaki
el 24 de Sept. de 2020
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" の中に解析に不要な範囲が含まれているのではないでしょうか?
Respuestas (0)
Ver también
Categorías
Más información sobre オーディオとビデオ en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!