PCM简介

PCM脉冲编码调制是Pulse Code Modulation的缩写。未经压缩的音频数据裸流。

模拟信号数字化必须经过三个过程,即抽样、量化和编码。

一、抽样(Sampling)

抽样是把模拟信号以其信号带宽2倍以上的频率提取样值,变为在时间轴上离散的抽样信号的过程。

二、量化(quantizing)

抽样信号虽然是时间轴上离散的信号,但仍然是模拟信号,其样值在一定的取值范围内,可有无限多个值。

显然,对无限个样值一一给出数字码组来对应是不可能的。为了实现以数字码表示样值,必须采用“四舍五入”的方法把样值分级“取整”,

使一定取值范围内的样值由无限多个值变为有限个值。这一过程称为量化。

量化后的抽样信号与量化前的抽样信号相比较,当然有所失真,且不再是模拟信号。

这种量化失真在接收端还原模拟信号时表现为噪声,并称为量化噪声。量化噪声的大小取决于把样值分级“取整”的方式,分的级数越多,

即量化级差或间隔越小,量化噪声也越小。

三、编码(coding)

量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。

简单高效的数据系统是二进制码系统,因此,应将十进制数字代码变换成二进制编码,根据十进制数字代码的总个数,

可以确定所需二进制编码的位数,即字长(采样位数)这种把量化的抽样信号变换成给定字长的二进制码流的 过程称为编码。

声道:

声道分为单声道(mono)立体声(双声道stereo)

PCM的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需的最小字节数。

首先存储低有效字节,表示样本幅度的位放在i的高有效位上,剩下的位置为0,这样8位和16位的PCM波形样本的数据格式如下所示。
扩展little endian、big endian(储存方式可能是LE、BE)
Little-endian:将低序字节存储在起始地址(低位编址)
Big-endian:将高序字节存储在起始地址(高位编址)
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为:
时长 * 采样率 * 采样位数 * 声道数 / 8 = 文件大小。
posted @ 2020-05-18 11:48  zebra_彬  阅读(1674)  评论(0编辑  收藏  举报