分贝的一种定义是,表示功率量之比的一种单位,等于功率强度之比的常用对数的10倍;
主要用于度量声音强度,常用dB表示;
其计算,摘录网上一段资料;
声音的分贝值可以通过以下公式计算:
dB = 10 log10(P / P0)
其中,P表示声音的功率(瓦特),P0表示参考声音的功率(通常为10^-12瓦特),log10表示以10为底的对数。
已知声音的功率为P,则可以按照以下步骤计算分贝值:
1. 将P除以参考声音功率P0,得到一个数值
2. 对这个数值取对数,以10为底
3. 将这个对数乘以10,得到分贝值
例如,如果声音的功率为1瓦特,参考声音功率为10^-12瓦特,则可以按照以下步骤计算分贝值:
1. 1 / 10^-12 = 1e+12
2. log10(1e+12) = 12
3. 12 * 10 = 120 dB
因此,这个声音的分贝值为120 dB;
下面MFC做一下;VC6新建一个对话框工程;
设计如下界面并为编辑框添加成员变量,
先定义参考功率,
#define ZEROPOWER 10E-12
并包含 <math.h>;
按钮单击代码;
void CDbDlg::OnButton1()
{// TODO: Add your control notification handler code hereUpdateData(TRUE);m_result = 10 * log10(m_wt / ZEROPOWER);//m_result = m_wt / ZEROPOWER;UpdateData(FALSE);
}
运行一下;计算一次,
再计算一次;
1瓦的时候他的是120dB,我算的为什么是110dB;我也不知道参考功率是否是10^-12瓦特;有时间再看;
摘录一点常见声音响度的分贝参考如下;
10 分贝:非常安静的房间,树叶被风略过的沙沙声
20 分贝:乡村的夜晚
30 分贝:安静的办公室内、钟表的滴答声
40~60 分贝:正常谈话,相距约一臂远的人声
50 分贝左右:洗衣机的工作声
70 分贝:3 米外吸尘器的工作声
80 分贝: 3 米外经过的车辆轰鸣声
110~130 分贝:夜总会、迪厅、酒吧、体育赛场
120 分贝:会让耳朵里疼痛的声音