Sound Pressure level returning -inf
1 回表示 (過去 30 日間)
古いコメントを表示
Hello Community;
when I use the function [Lt,Leq,Lpeak,Lmax] = SPL(recording_vector) it returns vectors containing (partially or completely) -inf values. Surprisingly when I re-Run the same line I get usual numeric values. how is this possible? how to avoid it?
Thanks
2 件のコメント
Chunru
2022 年 9 月 2 日
Can you show your data (a portion) or your code?
It is likely due to the signal amplitude to be 0 so log of it becomes -inf.
採用された回答
Jimmy Lapierre
2022 年 9 月 7 日
Leq, Lpeak and Lmax are only computed every TimeInterval, so they correspond to the SPL of zero for the first 0.125 seconds. And as chunru said, that corresponds to -Inf. When you call spl a second time, you are already pass the first 0.125 seconds of pure silence.
To avoid it, either discard the fist 0.125 seconds, or set a minimum value you prefer.
For example set any value below -100 dB (including -Inf) to -100:
Leq(Leq<-100)=-100;
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Measurements and Spatial Audio についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!