80,472
社区成员




public double countDb (short[] data)
{
float BASE=32768f;
float maxAmplitude = 0;
for (int i = 0; i < data.length; i++)
{
maxAmplitude += data[i] * data[i];
}
maxAmplitude=(float)Math.sqrt(maxAmplitude/data.length);
float ratio=maxAmplitude / BASE;
float db =0;
if(ratio>0)
{
db = (float) (20 * Math.log10(ratio))+100;
}
return db;
}