MIC相关基础知识

article/2025/9/29 16:48:01

一、mic及声音的指标:
(1)声音的分贝(dB)
分贝 Decibel
分贝(dB)是一个对数单位(logarithmic unit), 它和很多常见的单位如“米”,“秒”或者“千克”等物理单位是不同的,它并不能直接用来描述一个物理量的大小或者多少,它表示的是两个相同单位物理量的比值。分贝经常用来描述声音,如超过50dB的噪声就会影响人的睡眠和休息,但分贝不仅仅用来描述声音,它还被用来描述电子学等其他领域的物理量,如描述信号强度的衰减 、信噪比等等。
前面提到分贝表示的是两个物理量的比值,作为分母的那个量通常是一个标准的基准值(standard reference value),分贝描述的就是作为分子的物理量相对于这个基准值的大小,分贝的计算公式如下:
在这里插入图片描述

dB=10×log10(valuevalueref)
其中,valueref是基准值。在使用分贝表示物理量基准值是非常重要的,基准值用分贝表示的话是0dB。

描述声音的分贝
分贝可以描述很多的物理量,本文主要介绍分贝来描述声音的信号的强弱。
用来描述声音强度的物理量有很多:声压,功率,产生声音信号的电压等,使用不同的物理量来表示声音的强度,其得到的分贝也是不同的。

dB(dBSPL)
声音本质上来说是一种波,通过空气传播,传到人耳朵里引发鼓膜的振动。所以,声音的大小,实际就是对这种振动强度的反映。而由于空气的振动会引起大气压强的变换,可以使用压强变化的程度来描述声音的大小,这就是“声压(SPL,Sound Pressure Levels)”概念,其单位是Pa。例如:1米外步枪射击的声音大约是7000Pa;10米外开过汽车大约是0.2Pa。
使用声压作为测量量的分贝就是dBSPL,通常用来表示声音大小的dB多说指的就是dBSPL。声压和声音大小的关系,可以使用如下公式表示

I=P2ρ

其中,I是声音的强度;P是声压;ρ是空气阻力,通常在室温下,空气阻力大约是400。
分贝的计算还需要一个选择一个特定的声压值作为“标准值”(0分贝),该值是固定的。有了这个基准值后代入上面的公式:

I(dB)=10×log10(P2P2ref)=20×log10PPref

其中,P是声压测量值;Pref是标准值(0dBSPL)。这里选择的声压标准值为2×10−5Pa,20μPa,是人耳在1KHz这个频率下能听到的最小的声音,大致相当于3米外一只蚊子在飞的声音。将标准值代入上式:

I(dBSPL)=20×log10(P2×10−5)

dBm,dBu,dBV
前面根据声音的振动,在传播的过程引起大气压强的变化,使用声压作为测量量来计算声音的分贝值。除了自然产生的声音外,现在大多数的声音都是使用电信号作为存储和传播的载体的,例如电视广播,各种音频文件等。dBm,dBu,dBV是使用和电信号相关的物理量作为被测物理量,计算其产生声音的分贝值。
dBm是使用产生声音信号的功率作为被测物理量,选择1毫瓦(1mW)作为基准值,计算分贝值。计算公式:

dBm=10×log10(P1×10−3))$$。

在物理,功率P可以有电压V和电阻R计算得到
P = \frac{V^2}{R}

由上面的公式可以得到∗∗dBu∗∗,使用电压作为测量量,计算声音的分贝值。在十九世纪三十年代,音频设备的输入电阻都是600欧姆,也就上面公式中的R=600欧姆。在dBm中,使用1mW作为基准值,那么在R=600欧姆时就可以得到此时的电压为∗∗0.775V∗∗。所以,∗∗dBu∗∗是以电压作为测量量,计算声音的分贝值,选择的基准电压为0.775V。计算公式:
dBu = 20 \times \log_{10}(\frac{V}{0.775}),V是被测电压

∗∗dBV∗∗又是咋回事呢。在上上个实际音频设备的输入阻抗都是600欧姆,是固定不变的。但是到了现代,就有了更高阻抗的设备,例如1000欧姆,这样再选择0.775作为电压的基准值,显然是不合理的。所以,就有了一个新基准值1V。本质上dBu和dBV是没有区别的,都是选择电压作为被测单位,只是选择的基准值不同罢了。∗∗dBV∗∗仍然是以电压作为被测量,计算声音的分贝值,选择1V作为基准值。计算公式:
dBV = 20 \times \log_{10}(\frac{V}{1})

dBFS

前面的几个被测量都是模拟量,在数字时代更多的音频分贝表示是dBFS。dBFS的全称为Decibels Full Scale,全分贝刻度,是数值音频分贝值的表示方法。和前面几个不一样的时,dBFS的基准并不是最小的或者是中间的某一个值,是最大的那个值!也就是说0dBFS是数字设备能达到的最大值,除了最大值外都是负值。
以数字音频的sample为16位无符号为例,16位的无符号的最大值为65536,因此dBFS的计算公式:
dBFS = 20 \times \log_{10}(\frac{sample}{65536})

这样,最小的dBFS = 20 × log ⁡ 10 1 65536 = − 96 d B F S 20 \times \log_{10}{\frac{1}{65536}} = -96dBFS 20×log10655361=96dBFS。也就是说16位无符号音频的动态范围为0 ~ -96dBFS。

dBFS 和 dBu之间的转换

dBu是度量模拟信号的,而dBFS是度量数字信号的,并且dBFS不会用于度量模拟信号,所以没有在dBu和dBFS之间没有统一的转换公式,依赖于具体的数字设备。在dBu和dBFS转换时,需要规定一个峰值电压,该电压下产生的音频信号经过AD转换后得到的sample为0dBFS。例如,+18dBu对应于0dBFS,在该条件下 求 xdBu对应于ydBFS,那么就有 y = x − 18 y = x - 18 y=x18

总结

本文主要介绍和声音相关的分贝概念,分贝不同于其他的物理单位,表示的是相同物理量的比值,其具体的值依赖于选择的被测量。

  • dBSPL,通常所说的dB,使用声压作为被测量,选择 20 μ P a 20\mu Pa 20μPa作为基准值。
  • dBm,使用功率作为被测量,选择1mW作为基准值。
  • dBu,使用电压作为被测量,选择0.775V作为基准值。
  • dBV,和dBu一样,使用电压作为被测量,选择1V作为基准值。
  • dBFS,和上面的量都不相同,上面的量都是测量模拟值的,dBFS是测量数字音频的,其选择的基准值为sample的最大值为0dBFS,其他的值都为负值。

dBFS和模拟量之间的转换,例如dBu,需要规定一个基础的对应关系。例如+18dBu 对应于0dBFS,则ydBFS = x - 18。

介绍几个数字麦克风的常用指标:
1、最大声压级 Acoustic Overload Point ,AOP
2、灵敏度 Sensitivity
3、本底噪声 Noise floor
4、信噪比 Signal to Noise Ratio,SNR
5、动态范围 Dynamic Range

一、最大声压级 Acoustic Overload Point ,AOP
麦克风在总谐波失真小于10%时所能承受的最大声压级,又叫声过载点。常见的数字麦克风最大声压级为120dB SPL,低灵敏度的可以达到130dB SPL。

二、灵敏度 Sensitivity
数字麦克风灵敏度定义为:在94 dB 的声压级(SPL)下,用1 kHz 正弦波进行测量,麦克风在该输入激励下的数字输出信号幅度,即是灵敏度。由于数字麦克风最大输出信号幅度一般归一化为1(满幅值为1,即0dB),因此其输出信号幅度在归一化后仅具备相对值的意义,其单位记为 dBFS(dB Full Scale),代表相对于数字满量程的分贝数。
例如,某数字麦克风在94 dB SPL激励下,输出的信号幅值为-26dBFS,那么该麦克风灵敏度即为 -26dBFS。同时不难理解,当麦克风输出幅值为满幅值0dBFS时,其输入的激励信号应比原输入激励信号(94dB SPL)高26dB,即94dB+26dB=120dB SPL,这正是该麦克风的最大声压级,为120dB SPL。
因此,数字麦克风灵敏度和最大声压级存在直接关系,即94(dB SPL)-Sensitivity(dBFS)=AOP(dB SPL)。

三、本底噪声 Noise floor
数字麦克风的固有噪声,即无输入激励时的输出信号大小。
例如,某常见的麦克风本底噪声30dB SPL ,最大声压级为120dB SPL,那么换算为数字麦克风归一化的本底噪声级为 30dB-120dB=-90dBFS

四、信噪比 Signal to Noise Ratio,SNR
数字麦克风在输入激励为94 dB SPL下的输出信号幅值与输入激励切断时的输出信号幅值(本底噪声)之比。
例如,某数字麦克风本底噪声级为30dB SPL,那么其信噪比为 94dB-30dB=64dB。
也可以归一化的dBFS单位来计算,结果一致:以该麦克风最大声压级120dB SPL为例,分别计算其归一化灵敏度为94dB-120dB=-26dBFS,和归一化底噪为30dB-120dB=-90dBFS,得最终信噪比为-26dBFS-(-90dBFS)=64dB。

五、动态范围 Dynamic Range
是指麦克风输出最小信号和最大信号之差。足够大的动态范围能够最大程度保留原始音质而不发生失真。
例如,某数字麦克风最大声压级为120dB SPL,本底噪声为25dB SPL,那么该数字麦克风最佳的动态范围至少应当大于120dB-25dB=95dB。如果采样量化精度使用16bit,那么对应的最大动态范围约为20*log10(2^15)=90dB 小于95dB,意味着无法发挥该麦克风的最佳录音性能,原因在于量化精度不够而引入的量化噪声高于麦克风本底噪声,降低了麦克风信噪比。
为什么说降低了信噪比,回顾信噪比的定义,可计算该麦克风的信噪比得SNR=94dB-本底噪声25dB=69dB。而按照16位量化精度,其动态范围只有90dB,那么最小可描述的归一化本底噪声级别为-90dBFS,对应本底噪声压级=最大声压级(120dB SPL)+归一化本底噪声级别(-90dB)=30dB SPL > 实际本底噪声 25 dB SPL。

综上,在选用数字麦克风时,应当认真分析研究麦克风的各项性能指标,合理选取符合应用场景需求的产品并正确配置相关参数,发挥最优录音性能。

二、mic数据及其传输:

模拟mic和数字mic:
大多数情况下,模拟mic是驻极体的,数字mic是mems;数字mic相对于模拟mic,内部集成了ADC,所以输出的为数字信号。

I2S速度快,专门用于传音乐。

从MCU往Codec传音乐数据,一般使用I2S。包含主时钟、左右声道时钟、正反两根数据线。

如下图的I2S接口的时序,最典型的特征是LRCLK,用于区分左右声道的时钟。

音频接口设计详解!智能硬件设计,I2S、PDM、TDM选什么接口?
 I2S接口的时序
I2S接口的时序

PCM/TDM,主要用来传语音

这里讲的PCM不是PCM编码,而是PCM接口。和I2S差不多,也是4根线,通常用于AP处理器和通信MODEM之间传输语音数据(就是双向打电话的数据)。

AP处理器和蓝牙之间也是通过PCM来传输语音数据,打电话的蓝牙数据走的是PCM,放音乐的蓝牙数据走的是串口(不是PCM)。

I2S只能传2个声道的数据,PCM可以传多达16路数据,采用时分复用的方式,就是TDM。像现在最流行的语音智能音箱的7麦克风矩阵,一般都是用TDM来传的数据,同时可以传输7路麦克风输入和3路以上的音频反馈信号。

如下图是某智能音箱,7个麦克风通过5个ADC,接入一组TDM接口上,传输给AP处理器。

音频接口设计详解!智能硬件设计,I2S、PDM、TDM选什么接口?

在这里插入图片描述

某智能音箱TDM接口(局部)

PDM,只有2根线,传音乐,编码方式和I2S不同。

很多数字麦克风使用的PDM接口,有数据和时钟两根线。PDM接口和I2S最大的区别是编码方式不同。

音频接口设计详解!智能硬件设计,I2S、PDM、TDM选什么接口?

在这里插入图片描述

                      PDM和I2S接口的数字麦克风

http://chatgpt.dhexx.cn/article/6nlXbTUQ.shtml

相关文章

MIC - 最大信息系数

MIC 文章目录 MIC前言MIC介绍MIC库Python实例MIC缺陷参考文章 前言 皮尔逊相关系数即我们通常说的(线性)相关系数,是用来反映两个变量线性相关程度的统计量,变化范围为-1到1。 系数的值为1意味着X和Y可以很好的由直线方程来进行描述,所有的…

MIC:最大信息系数

目录 1. 概念 1.1 MIC 1.2 互信息 2. MIC的优点 3. 算法原理 3.1 MIC公式原理 3.2 MIC计算步骤 (1)计算最大互信息值 (2)对最大的互信息值进行归一化 (3)选择不同尺度下互信息的最大值作为MIC值…

MIC 的指标解读

MIC 的指标解读 1.Sensitivity 灵敏度 麦克风是支持以声压信号为输入,最后转换为电信号的传感器。sensitivity是microphone 能够capture的最小声压信号,声压信号的单位为dBSPL.sensitivity 是ratio ,是模拟输出电压或者数字输出值对于输入的…

MIC一般参数指标

SNR>68dB&#xff0c; 灵敏度>-34dB&#xff0c;频响范围&#xff1a;/-3dB &#xff08;300Hz-3kHz&#xff09;&#xff1b;失真度&#xff1a;<3% 麦克风的灵敏度高好还是低&#xff0c;要根据你使用的条件来选择。如果声源离麦克风较远&#xff0c;需用灵敏度高的…

Maximal Information Coefficient (MIC)最大互信息系数

MIC 我在论文使用MIC来衡量两个基因之间的关联程度&#xff0c;线性或非线性关系&#xff0c;相较于Mutual Information&#xff08;MI&#xff09;互信息而言有更高的准确度巴拉巴拉的&#xff0c;按作者的话说总之比其他的方式好。 原文参照&#xff1a; Detecting Novel A…

R+树

考虑R树的性能&#xff0c;其中覆盖(coverage)和重叠(overlap)两个概念很重要&#xff0c;因为R树查询是根据给定区域与当前MBR是否有交叉来判断, 因此覆盖和重叠都应当尽量小 覆盖小即MBR要小&#xff0c;最好刚好包围其中的数据点 (对于叶节点)或子MBR (对于非叶节点) 重叠…

R树及其应用场景

地理围栏&#xff08;Geo-fencing&#xff09;是LBS的一种应用&#xff0c;就是用一个虚拟的栅栏围出一个虚拟地理边界&#xff0c;当手机进入、离开某个特定地理区域&#xff0c;或在该区域内活动时&#xff0c;手机可以接收自动通知和警告。如下图所示&#xff0c;假设地图上…

R树与空间索引

B树或者B树可以非常好的处理一维空间存储的问题。B树是一棵平衡树&#xff0c;它是把一维直线分为若干段线段&#xff0c;当我们查找满足某个要求的点的时候&#xff0c;只要去查找它所属的线段即可。依我看来&#xff0c;这种思想其实就是先找一个大的空间&#xff0c;再逐步缩…

R语言学习(三)——决策树分类

分类 分类&#xff08;Classification&#xff09;任务就是通过学习获得一个目标函数&#xff08;Target Function&#xff09;f, 将每个属性集x映射到一个预先定义好的类标号y。 分类任务的输入数据是记录的集合&#xff0c;每条记录也称为实例或者样例。用元组(X,y)表示&am…

空间数据索引RTree(R树)完全解析及Java实现

本文是在https://www.cnblogs.com/cmi-sh-love/p/kong-jian-shud-ju-suo-yinRTree-wan-quan-jie-xi-jiJa.html?share_tokene5b096d7-6dbf-4839-9992-b29913335ba9基础上进行修改和补充的。 第一部分 空间数据的背景介绍 空间数据的建模 基于实体的模型&#xff08;基于对象…

最小生成树:kruskal算法的R语言实现

以如下图为例 library(hash)#需要用到hash包 Nodes<-c("A","B","C","D","E","F","G") #创建存放顶点的向量 edges<- data.frame(startcharacter(),endcharacter(),lengthnumeric(),stringsAsFa…

【转】R树

R树在数据库等领域做出的功绩是非常显著的。它很好的解决了在高维空间搜索等问题。举个R树在现实领域中能够解决的例子吧&#xff1a;查找20英里以内所有的餐厅。如果没有R树你会怎么解决&#xff1f;一般情况下我们会把餐厅的坐标(x,y)分为两个字段存放在数据库中&#xff0c;…

R语言实现决策树

R语言实现决策树 提示&#xff1a;本文使用R语言实现决策树&#xff0c;并对决策树结构图进行美化 文章目录 R语言实现决策树数据介绍一、相关R包的下载二、实现过程1.数据读取2.训练集与验证集划分3.构建决策树并绘制图形4.测试模型 总结 数据介绍 group就是分类结果&#x…

决策树与R语言(RPART)

关于决策树理论方面的介绍&#xff0c;李航的《统计机器学习》第五章有很好的讲解。 传统的ID3和C4.5一般用于分类问题&#xff0c;其中ID3使用信息增益进行特征选择&#xff0c;即递归的选择分类能力最强的特征对数据进行分割&#xff0c;C4.5唯一不同的是使用信息增益比进行…

经典查找算法 --- R树

R树&#xff1a;处理空间存储问题 -->是引用别人的文章 相信经过上面第一节的介绍&#xff0c;你已经对B树或者B树有所了解。这种树可以非常好的处理一维空间存储的问题。B树是一棵平衡树&#xff0c;它是把一维直线分为若干段线段&#xff0c;当我们查找满足某个要求的点的…

R语言︱决策树族——随机森林算法

每每以为攀得众山小&#xff0c;可、每每又切实来到起点&#xff0c;大牛们&#xff0c;缓缓脚步来俺笔记葩分享一下吧&#xff0c;please~ ——————————————————————————— 笔者寄语&#xff1a;有一篇《有监督学习选择深度学习还是随机森林或支持向…

R语言:画树图

原始数据长这样&#xff1a; “iyear”表示年份&#xff1b;“nkill”表示死亡人数&#xff1b;“region”表示地区&#xff1b;“总计”表示某年份死亡总人数&#xff1b;nkii里的缺失数据自动按“0”运算。 数据存储在名为“ljs”的csv格式里。 应提前下载好treemap包&#…

图解R树的内部结构及操作

本文是在https://blog.csdn.net/baimafujinji/article/details/89810217基础上增加了自己的理解和解释形成的。 R树的基本情况 R树&#xff08;R-tree&#xff09;是一种将&#xff22;树&#xff08;B树和B树统称B树&#xff09;扩展到多维情况下得到的数据结构&#xff0c;…

R树

先搞明白R树搜索、插入、删除过程。 R树是平衡树&#xff0c;可以理解为B树在N维空间上的扩展。 R树一定要满足一下要求&#xff1a; 1&#xff0e;根节点若非叶子节点&#xff0c;则至少有两个子节点&#xff1b; 2&#xff0e;每个非根叶节点和非叶节点包含的实体个数均介…

R tree

R树在数据库等领域做出的功绩是非常显著的。它很好的解决了在高维空间搜索等问题。举个R树在现实领域中能够解决的例子吧&#xff1a;查找20英里以内所有的餐厅。如果没有R树你会怎么解决&#xff1f;一般情况下我们会把餐厅的坐标(x,y)分为两个字段存放在数据库中&#xff0c;…