音频采集的相关基础知识

news2025/2/2 15:26:35

本文引注:

https://zhuanlan.zhihu.com/p/652629744

1.麦克风的种类

(1)模拟麦克风

ECM麦克风:驻极体电容麦克风(ECM),典型的汽车ECM麦克风是一种将ECM单元与小型放大器电路整合在单个外壳中的装置。放大器提供一个模拟信号,其电压电平允许信号通过数米长的电线进行传输,这也是典型汽车应用的要求。若不放大,原始ECM信号对于如此长的电线来说太低,由于电线上的电磁干扰,信噪比(SNR)会降低过多。即使放大信号,也需要屏蔽线缆——通常是双线电缆,通过一个偏置电压(8V)为麦克风装置供电。

ECM的少数优点之一是其内置声学指向性,通常将其调整为超心型极性图(MEMS麦克风也可以做成指向的,但通常需要更复杂的声学设计)。通常可以实现10 dB或更多的后向衰减,"后向"是指朝向挡风玻璃的方向,从其中只会产生噪声(即没有期望的信号,例如讲话者的语音)。

在期望信号的进入方向上具有更高灵敏度非常有利于提高SNR。然而,定向ECM单元会引入不必要的副作用,例如高通特性——灵敏度在较低频率时会降低。这种高通响应的3 dB截止频率通常在300 Hz至350 Hz范围内。在HF技术的早期,这种高通特性是一个优势,因为发动机噪声主要以较低频率存在,发动机声音本身会经过麦克风衰减。然而,自从宽带或HD通话出现以来,这种高通特性开始成为一个问题。在宽带通话中,有效带宽从300 Hz到3400 Hz增加为100 Hz至7000 Hz。麦克风的自身高通滤波特性使得有必要在后处理单元中放大100 Hz至300 Hz的信号,而如果麦克风本身能提供更好的音频带宽,则不需要放大此范围内的信号。

ECM技术的另一个缺点是不同器件的灵敏度和频率响应差异很大。ECM的制造公差相对较大,这对于单个麦克风应用可能不是问题。但是,如果在间距较小的麦克风阵列应用中部署多个麦克风信号,则麦克风之间的严格匹配对于实现优质阵列性能至关重要。在这种情况下,ECM难以使用。此外,从物理尺寸角度看,传统ECM单元一般不适合于小型麦克风阵列。

麦克风阵列具有广泛的适用性,包括在车内,因为与传统ECM相比,阵列能提供类似(常常更优越)的定向性能。关于声音冲击方向的空间信息,可以使用阵列中分组的两个或更多个合适的麦克风来从麦克风信号中提取。这类算法常被称为波束成型(BF)。

"波束成型"一词源自与相控阵天线技术的类比,利用简单的纯线性滤波器和求和算法可以将天线阵列发射的无线电"波束"聚焦在某个方向上。虽然麦克风阵列中没有这样的波束,但波束成型这一术语在麦克风信号处理领域也很常见,相比于简单的线性波束成型处理,它涵盖了更广泛的线性和非线性算法,支持实现更高的性能和更大的灵活性。

除了波束成型处理之外,原始麦克风信号几乎总是需要后处理,因为每个HF麦克风都会同时捕获期望的语音信号和环境(若座舱)中的干扰。风噪、路噪和发动机噪声会降低SNR,通过扬声器播放的信号——通常称为扬声器回波——也是不需要的信号源。为了减少这种干扰并改善语音质量,需要采用复杂的数字信号处理技术,常常称之为回声消除和降噪(AEC/NR)。

AEC从麦克风中消除扬声器声音,否则它会作为在线路另一端讲话的人声的回声传输。NR则在降低恒常存在的行驶噪声的同时提高所传输信号的SNR。虽然国际电信联盟(ITU)发布了详细规范(例如ITU-T P.1100和P.1110)来定义HF系统的许多性能细节,但在行驶车辆中通话时,如果AEC/NR处理达不到标准,人们对通信质量的主观印象可能不会满意。与前面提到的BF算法一起,AEC/NR/BF的组合赋能广泛的新型应用,所有这些应用都与某种程度的数字音频信号处理相关。为了支持这些应用,需要新一代消除了传统ECM缺点的麦克风技术。

模拟麦克风的接口,通常为模拟信号输入,如下图所示:
在这里插入图片描述
对于模拟麦克风来说,它输出的是模拟音频信号,但是在进入ADC之前,需要有MIC BIAS(偏置电压),这样才能将模拟麦克风的输出信号接入系统中。同时,由于ECM麦克风的输出信号较小,因此需要有一个前置放大器,才能顺利地接入ADC。通常情况下,选择合适的ADC,可以提供MIC BIAS和PreAMP,即可顺利地接入ECM麦克风。

(2)数字麦克风

MEMS麦克风:微机电系统(MEMS)技术迅速成为麦克风的新行业标准,因为相比传统ECM,它提供了许多优势。首先,MEMS使得声音传感器比现有ECM单元要小得多。此外,将MEMS传感器与模数转换器(ADC)集成在单个IC中所得到的数字麦克风,能够提供可立即进行AEC/NR/BF(波束成型,用于麦克风阵列)处理的信号。

模拟接口MEMS麦克风也存在,但其具有与模拟ECM相同的许多缺点,而且若使用传统双线模拟接口工作,甚至需要比ECM更复杂的放大器电路。只有采用全数字接口技术,才能显著减轻模拟线路固有的干扰和SNR问题。此外,从生产角度看,MEMS也占优。因为MEMS麦克风的生产规格偏差比ECM单元要小得多,这对于BF算法很重要。最后,MEMS IC麦克风的制造工艺大大简化,因为可以采用自动化安装技术,整体生产成本得以降低。从应用角度看,更小的尺寸是最大的优势,并且由于声音入口非常小,MEMS麦克风阵列实际上可以做成不可见的。

传感器的入口和声音通道要求在设计和生产质量方面特别小心。如果声学密封不牢,来自内部结构的噪声可能到达传感器,两个传感器之间的泄漏可能降低BF算法的性能。与可以设计和制造成全向或定向的典型ECM单元不同,MEMS麦克风元件几乎总是制造成全向式(即声音接收没有内在方向性)。因此,MEMS麦克风是忠实于相位的全向声压传感器,为高级BF算法提供理想的信号,衰减方向和波束宽度可以由用户通过软件进行配置。

对于数字麦克风来说,它输出的信号就是数字信号,因此无需在数据通路上再集成ADC,也避免了模拟音频通道线,直接在PCB板上采用数字音频接口即可。如下图所示:
在这里插入图片描述

2.数字音频接口

一般来说,在PCB板内部芯片之间使用的音频信号传输接口,有I2S,TDM,PCM,PDM等;在PCB板间长距离,需要使用电缆传输的,有AVB,A2B,SPDIF等总线。

(1) I2S

I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。

I2S是简单的总线协议,它用于成对设备之间的音频数据传输。一个为master,另一个为slave。主从设备的区别在于谁主动发起数据传输,能提供时钟信号的即为master。数据可以从master发送到slave,也可以从slave发送到master。

在I2S协议中有3个主要信号:
1.串行时钟SCLK,也叫位时钟(Bit CLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2. 帧时钟LRCK,也称左右声道选择信号Word Select(WS),用于切换左右声道的数据。LRCK为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。LRCK的频率等于采样频率。
3.串行数据SDATA,音频数据 SD。

SD是串行数据,在I2S中以二进制补码的形式在数据线上传输。在WS变化后的第一个SCK脉冲,先传输最高位(MSB, Most Significant Bit)。

SD数据线可以为1根或者多根。当只有1根时,可单向传输双声道,称为SDOUT;如果是2根,可双向传输,每根信号线传输双声道,分别为SDIN和SDOUT。也可以增加到4根SD信号线,此时可以双向传输4通道音频。

2S数据的计算:
例如:设声音的采样频率为44.1 kHz,即声道选择信号(帧时钟)WS的频率必须也为44.1 kHz;左/右2个声道的量化深度均为16 bit,则I2S的SCK的频率为:44.1 kHz×16×2=1.4112 MHz。

如果需要传输20 bit、24 bit或32 bit的左右声道的数据,可以提高SCK的频率,由上式可以计算出需要的SCK的频率。

(2)PCM

PCM(Pulse Code Modulation)脉冲编码调制是数字通信的编码方式之一。在PCM 过程中,将输入的模拟信号进行采样、量化和编码,用二进制进行编码的数来代表模拟信号的幅度 ;接收端再将这些编码还原为原来的模拟信号。即数字音频的 A/D 转换包括三个过程 :采样,量化,编码。

1.采样
采样是把模拟信号以其信号带宽2倍以上的频率提取样值,变为在时间轴上离散的抽样信号的过程。例如,话音信号带宽被限制在0.3~3.4kHz内,用 8kHz的抽样频率(fs),就可获得能取代原来连续话音信号的抽样信号。对一个正弦信号进行抽样获得的抽样信号是一个脉冲幅度调制(PAM)信号,对抽样信号进行检波和平滑滤波,即可还原出原来的模拟信号。

2.量化
抽样信号虽然是时间轴上离散的信号,但仍然是模拟信号,其样值在一定的取值范围内,可有无限多个值。显然,对无限个样值一一给出数字码组来对应是不可能的。为了实现以数字码表示样值,必须采用“四舍五入”的方法把样值分级“取整”,使一定取值范围内的样值由无限多个值变为有限个值。这一过程称为量化。

量化后的抽样信号与量化前的抽样信号相比较,当然有所失真,且不再是模拟信号。这种量化失真在接收端还原模拟信号时表现为噪声,并称为量化噪声。量化噪声的大小取决于把样值分级“取整”的方式,分的级数越多,即量化级差或间隔越小,量化噪声也越小。

3.编码
量化后的抽样信号在一定的取值范围内仅有有限个可取的样值,且信号正、负幅度分布的对称性使正、负样值的个数相等,正、负向的量化级对称分布。若将有限个 量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“+”、“-”号为前缀,来 区分样值的正、负,则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。简单高效的数据系统是二进制码系统,因此,应将十进制数字代码变换成二进制编码。根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长。这种把量化的抽样信号变换成给定字长的二进制码流的过程称为编码。
在这里插入图片描述
在I2S接口上传输的数字音频信号,也正是PCM类型的编码。

PCM接口与I2S相似,电路信号包括:
1.PCM_CLK 数据时钟信号
2.PCM_SYNC 帧同步时钟信号
3.PCM_IN 接收数据信号
4.PCM_OUT 发送数据信号
在这里插入图片描述

(3)TDM

TDM (Time Division Multiplexing) ,是指通过时分复用的方式,在一个物理通道上传输多路PCM音频数据的方式。一般来说,I2S接口只能传输双声道,而TDM可以传输16路甚至32路数据。

TDM的物理数据通道与PCM或I2S一样,也是采用4根信号线用于数据传输,只是在采样率,数据位宽,以及通道数上具有不同的参数。

音频TDM通过使用BLCK作为位时钟信号来确定数据传输的时钟速率和时序。Frame Sync信号用于标识音频帧的开始和结束,确保正确地组合和解析音频数据。Data IN和Data OUT信号引脚用于输入和输出音频数据,实现多路音频信号的合并和传输。

BLCK(Bit Clock):BLCK引脚是音频TDM中的时钟信号引脚。在每个BLCK时钟周期内,只能传输一个数据位。BLCK信号的频率决定了数据传输的速率,每个数据位在一个时钟周期内进行传输。发送端在每个时间槽中依次填充数据位,并在每个BLCK时钟周期根据BLCK信号的边沿将数据位传输出去。接收端根据BLCK信号的时钟边沿来采样和解析数据位,以还原音频信号。
Frame Sync(帧同步):Frame Sync引脚用于标识数据帧的开始和结束。在音频TDM中,多个slot被组合成一个完整的音频帧。Frame Sync信号的状态变化指示一个新的音频帧的开始。接收端根据Frame Sync信号来识别和解析每个slot的数据,并将其组合成原始的音频信号。
SD IN引脚:SD IN引脚是用于输入音频数据的引脚。
SD OUT引脚:SD OUT引脚是用于输出音频数据的引脚。

在这里插入图片描述
在I2S中,通过WS引脚来区分左右声道,每个样本由左右声道交替传输。而在TDM中,通过Frame Sync信号来标识音频帧的开始和结束,一个音频帧可以包含多个slot。在TDM传输时,需要配置slot的个数,采样频率,采样数据的位宽,即可得出TDM的系统时钟速率,或者说可传输的数据带宽。

例如,Frame Sync的频率等于音频的采样率(例如44.1 kHz,48 kHz等)。Frame每次传输包括所有声道的数据。PCM采样音频数据量化深度一般在16,24,or 32bit。那么对于16个声道,每个声道32bit音频数据,采样率48kHz的系统,TDM的BCLK系统时钟速率为:16 × 32 × 48kHz = 24.576 MHz。

(4)PDM

PDM(Pulse Density Modulation)是一种用数字信号表示模拟信号的调制方法。同为将模拟量转换为数字量的方法,PCM使用等间隔采样方法,将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度),因此PCM方式每次采样的结果都是N bit字长的数据。PDM则使用远高于PCM采样率的时钟采样调制模拟分量,只有1位输出,要么为0,要么为1。因此通过PDM方式表示的数字音频也被称为Oversampled 1-bit Audio。相比PDM一连串的0和1,PCM的量化结果更为直观简单。

如下图所示,PDM的采样输出为:
在这里插入图片描述
PCM方式的逻辑更加简单,但需要用到数据时钟,采样时钟和数据信号三根信号线;PDM方式的逻辑相对复杂,但它只需要两根信号线,即时钟和数据。在数字麦克风领域,应用最广的就是PDM接口,其次为I2S接口。

通过PDM接口方式,传输双声道数据只要用到两根信号线。如下图所示,两个PDM接口的发送设备与同一个接收设备的连接情况,比如Source 1/2分别作为左右声道的麦克风,通过这种方式可以将采集到的双声道数据传送到接收设备。主设备(此例中作为接收设备)为两个从设备提供时钟,分别在时钟的上升沿和下降沿触发选择Source 1/2作为数据输入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1238302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊买家号注册用手机好还是邮箱好

在亚马逊上注册买家号可以用邮箱也可以用手机号,但是具体哪种好,我们可以根据以下因素来进行选择: 1、手机号 短信验证:亚马逊可以通过短信向你发送验证码,以确保你的身份。使用手机号可能更方便接收这些验证码。 安…

sizeof和strlen的区别

目录 一、 sizeof 二、 strlen 三、 sizeof 和 strlen的对比 一、 sizeof 在学习操作符的时候,我们学习了 sizeof , sizeof 计算变量所占内存内存空间大小的,单位是字节,如果操作数是类型的话,计算的是使⽤类型创…

linux CentOS7.6安装jenkins(小白版本)

前言 本人是一个前端开发者,由于有时候需要发版自己的东西,所以想搞一个Jenkins玩玩,看了网上好多教程,但是都不是针对小白的,比如linux怎么输入,怎么结束,自己也是搞了好久踩了好多坑 所以记录…

电商领域的三大沉疴难题?实在智能RPA来帮你药到病除!

在电商市场规模迅速扩大的当下,厂家们为了保持自身的竞争力,纷纷走上了数智化转型的道路,明白学会使用自动化利器才是制胜之道。 如今从产业的生产线到运营商、物流运输、商品售前、商品售后,实在RPA在电商平台的应用已经十分广泛…

el-input限制输入整数等分析

文章目录 前言1、在 Vue 中,可以使用以下几种方式来限制 el-input 只能输入整数1.1 设置input 的 type为number1.2 使用inputmode1.3 使用自定义指令1.4 使用计算属性1.5 使用 onafterpaste ,onkeyup1.6 el-input-number 的precision属性 总结 前言 input 限制输入…

[点云分割] 欧式距离分割

效果&#xff1a; 代码&#xff1a; #include <iostream> #include <chrono>#include <pcl/ModelCoefficients.h> // 模型系数的定义 #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> // 各种点云数据类型 #include <pcl/sample_c…

云南旅游攻略思维导图

马上就要2024年春节了&#xff0c;相信小伙伴们都蠢蠢欲动了&#xff0c;春节去哪里玩&#xff1f;今天小P来给大家分享云南旅游攻略了&#xff0c;希望可以对大家有所帮助。 为什么要来云南呢&#xff1f;因为云南的绝大多数地方&#xff0c;一年四季总是那样温暖&#xff1b;…

redis的主从复制,哨兵模式

1.主从复制 主从复制&#xff1a;主从复制是redis实现高可用的基础&#xff0c;哨兵模式和集群都是在主从复制的基础之上实现高可用 主从复制实现数据的多机备份&#xff0c;以及读写分离&#xff08;主服务器负责写&#xff0c;从服务器只能读&#xff09; 缺陷&#xff1a…

java springboot测试类鉴定虚拟MVC运行值与预期值是否相同

好 上文java springboot在测试类中构建虚拟MVC环境并发送请求中 我们模拟的MVC环境 发送了一个请求 我们这次需要 对比 预期值和运行值是否一直 这里 我们要用一个 MockMvcResultMatchers 他提供了非常多的校验类型 例如 请求有没有成功 有没有包含请求头信息 等等 这里 我们做…

前端性能优化总结

这里写目录标题 页面性能测试工具测试指标 前端页面性能常见的问题前端页面性能优化常见策略及方案dns优化------预解析域名&#xff08;异步进行&#xff09;http请求优化减少请求次数同时多开持久连接 前面面试url从输入到确认搜索发生了什么js介绍new一个对象的过程&#xf…

智能配电房环境监控系统

智能配电房环境监控系统是一种用于实时监测和控制配电房环境的系统。依托电易云-智慧电力物联网&#xff0c;通过集成应用物联网技术&#xff0c;实现对配电房内环境的全天候状态监视和智能控制。以下是智能配电房环境监控系统的主要功能&#xff1a; 环境数据实时监测&#xf…

Autoware.universe部署06:使用DBC文件进行UDP的CAN通信代码编写

目录标题 一、安装DBC文件编辑工具VectorCANdb二、编写DBC文件2.1 CAN通信协议2.2 编写DBC文件2.2.1 根据CAN协议设置signals2.2.2 设置报文2.2.3 建立节点 三、根据DBC文件编写ROS2驱动程序四、实际通信调试 根据CAN协议编写DBC文件&#xff0c;通过DBC文件编写ROS2包进行UDP通…

Centos7使用rpm安装mysql 5.7.43

Centos7使用rpm安装mysql 5.7.43 1、下载rpm包 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar2、解压并安装 tar xf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar yum -y install mysql-*3、按需修改mysql配置 #注意&a…

【OpenCV实现图像:使用OpenCV进行物体轮廓排序】

文章目录 概要读取图像获取轮廓轮廓排序小结 概要 在图像处理中&#xff0c;经常需要进行与物体轮廓相关的操作&#xff0c;比如计算目标轮廓的周长、面积等。为了获取目标轮廓的信息&#xff0c;通常使用OpenCV的findContours函数。然而&#xff0c;一旦获得轮廓信息后&#…

WCS WMS WES关系

一、定义&#xff1a; 仓库控制系统 &#xff08;WCS&#xff09; 是一种软件应用程序。 WCS用于指导仓库和配送中心&#xff08;DC&#xff09; 内的实时活动。作为仓库/配送中心的“交通警察”&#xff0c;WCS 负责保持一切顺利运行&#xff0c;最大限度地提高物料搬运子系…

Android修行手册-溢出父布局的按钮实现点击

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

《算法通关村——幂运算问题解析》

《算法通关村——幂运算问题解析》 2 的幂 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 示例 1&#xff1…

纽扣电池上架TEMU、亚马逊美国站需要做什么认证?纽扣电池认证标准16CFR1700.15,16CFR1700.20

近日&#xff0c;Temu连发多条卖家弹窗内容均为商品质量事故违规处理通告。其中一条为卖家销售的车载吸尘器发生烧毁、冒烟等情况&#xff0c;产生用户人伤、财损等舆情。经查实是商家偷换关键部件锂电池&#xff0c;导致商品质量下降造成事故。TEMU对于问题车载吸尘器处理结果…

MATLAB实现灰色预测

久违了&#xff0c;前段时间由于学习压力大&#xff0c;就没怎么更新MATLAB相关的内容&#xff0c;今天实在学不进去了&#xff0c;换个内容更新一下~ 本贴介绍灰色预测模型&#xff0c;这也是数学建模竞赛常见算法中的一员&#xff0c;和许多预测模型一样——底层原理是根据已…

win10 eclipse安装教程

前言&#xff1a;安装eclipse之前必须安装JDK&#xff0c;JDK是编译环境&#xff0c;eclipse是集成开发平台。 一、JDK的安装 Java Development Kit 简称 JDK (一). 官方下载地址&#xff1a; Java Archive Downloads - Java SE 8u211 and later (oracle.com) 找到&#xf…