Audio 传输接口及数据编码(一)PCM PDM TDM.md


PCM是什么?

PCM 百度百科

对PCM的理解可分为三个方向:

方法:PCM :(Pulse-code modulation)脉冲编码调制,是将模拟信号进行抽样、量化和编码转化为数字信号的一种方法;

接口:一种硬件接口协议,可以传输单声道,双声道立体声和多声道,i2s接口这这种接口的一个子集;

格式:一种数据格式,在软件中音频数据是以PCM格式进行通信传输,它是数字音频的raw data.;也是一种文件格式,模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windows的Convert工具可以把PCM音频格式的文件转换成Microsoft的WAV格式的文件。

PCM编码

PCM过程

声音是一种机械波,在运算处理过程中,需要被数字化,最常见的就是通过脉冲编码调制;下图是声音信号在处理过程中的流程;

其中量化模拟信号的过程如下:

Image

蓝色代表模拟音频信号,红色的点代表采样得到的量化数值。

采样频率:即取样频率,指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实。通常人耳能听到频率范围大约在20Hz~20kHz之间的声音,为了保证声音不失真,采样频率应在40kHz以上;根据奈奎斯特理论,采样频率只要不低于音频信号最高频率的两倍,就可以无损失地还原原始的声音。

常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz(CD)、48kHz、96kHz、192kHz等。

采样位数:即采样值或取样值。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。

声道数:很好理解,有单声道和立体声之分,单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声的pcm可以使两个喇叭都发声(一般左右声道有分工) ,更能感受到空间效果。

采样时间/音频帧:音频跟视频很不一样,视频每一帧就是一张图像,而从上面的正玄波可以看出,音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的,我们可以计算一下一帧音频帧的大小:假设某音频信号是采样率为8kHz、双通道、位宽为16bit,20ms一帧,则一帧音频数据的大小为:int size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte

存储量=(采样频率采样位数声道)*时间/8(单位:字节数)

波形声音的码率 = 取样频率 × 量化位数 × 声道数

PCM采样实例

以采样位数为4位为例,量化的波形如下:

image-20210726161952297

采样点: t1 t2 t3 t4 t5 t6 t7 ... t16 t17 t18 t19 t20

幅值: 0011 0101 0111 1001 1011 1101 1110 ... 0110 0110 0101 0011 0000

PCM接口信号

PCM的硬件接口有:PCM-clock、PCM-sync、PCM-in、PCM-out

接口时序波形如下:

PCM只有一个起始信号,左声道数据紧跟右声道,PCM可以传输多通道数据,8channel,16channel等; 用TDM的方式实现;

与I2S接口对比

I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。

I2S格式的信号无论有多少位数据,,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个BCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错。

TDM

Time Division Multiplexing 时分复用,PCM可以传多达16路数据,采用时分复用的方式;

TDM将不同的信号相互交织在不同的时间段内,沿着同一个信道传输;在接收端再用某种方法,将各个时间段内的信号提取出来还原成原始信号的通信技术。这种技术可以在同一个信道上传输多路信号

像现在最流行的语音智能音箱的7麦克风矩阵,一般都是用TDM来传的数据,同时可以传输7路麦克风输入和3路以上的音频反馈信号

TDM不像I2S有统一的标准,不同的IC厂商在应用TDM时可能略有差异,这些差异表现在时钟的极性、声道配置的触发条件和对闲置声道的处理等。

特点:比I2S节省管脚数量,支持多路传输,最多支持16路=16通道

PDM

Pulse Density Modulation 脉冲分时复用 是一种用数字信号表示模拟信号的调制方法

PDM则使用远高于PCM采样率的时钟采样调制模拟分量,只有1位输出,要么为0,要么为1。

因此通过PDM方式表示的数字音频也被称为Oversampled 1-bit Audio。相比PDM一连串的0和1,PCM的量化结果更为直观简单。

PDM方式作为模数转换的接收端,需要用到抽取滤波器(Decimation Filter),将密密麻麻的0和1代表的密度分量转换为幅值分量,而PCM方式得到的已经是幅值分量了。

PDM方式的逻辑相对复杂,但只需要两根线,时钟和数据。

PCM使用等间隔采样方法,将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度),因此PCM方式每次采样的结果都是N bit字长的数据。

基于PDM的架构不同于I2S和TDM之处在于,抽取滤波器(Decimation Filter)不在发送设备,而在接收设备内部。源端输出是原始的高采样率(oversample)调制数据,如Sigma-Delta调制器的输出,而不是像I2S中那样的抽取数据。基于PDM接口的应用降低了发送设备的复杂性,由于作为接收设备的CODEC内部集成抽取滤波器,因此系统整体复杂度大大降低。对于数字麦克风而言,通过使用面向CODEC或处理器制造的更精细硅工艺,而非传统麦克风使用的工艺,可以实现更高效率的抽取滤波器。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM