搬砖:PCM语音编码

https://blog.csdn.net/m0_37263637/article/details/78914566
PCM语音编码

主要过程是将语音等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。也就是说语音信号最终以脉冲形式编码。

有一定电子基础的都知道传感器采集音频信号是模拟量,而我们实际传输过程中使用的是数字量。而这就涉及到模拟转数字的过程,下面将进行介绍。
1 PCM编码原理

PCM 脉冲编码调制是Pulse Code Modulation的缩写。脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。

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

抽样是把模拟信号以其信号带宽2倍以上(来奎斯特采样定理)的频率提取样值(采样率),变为在时间轴上离散的抽样信号的过程。
采样率:每秒从连续信号中提取并组成离散信号的采样个数,用赫兹(Hz)来表示。
sample:
如音频信号采样率为8000hz。
可以理解上图采样对应图中 那段电压随时间变化的曲线 为1秒 那下面那个1 2 3 …10那就因该有1-8000个点,即将1秒均分为8000份,依次取出来那8000个点时间 对应的电压值。
1.2 量化

抽样信号虽然是时间轴上离散的信号,但仍然是模拟信号,其样值在一定的取值范围内,可有无限多个值。必须采用“四舍五入”的方法把样值分级“取整”,使一定取值范围内的样值由无限多个值变为有限个值。这一过程称为量化。

采样位数:指的是描述数字信号所使用的位数。
8位(8bit)代表2的8次方=256,16 位(16bit)则代表2的16次方=65536;

sample:
如音频传感器采集到的电压范围为0-3.3V,采样位数为8bit(位)
即我们把3.3V/ 2^8 = 0.0128 即为量化精度。
我们把3.3v分成0.0128为步进的Y轴,如图3中的1 2 …8就变成了0 0.0128 0.0256 …..3.3 V
比如某个采样点的电压值为1.652V(128*0.128 与 129*0.128之间) 我们对它四舍五入就为1.65V 对应 量化等级为128 。
1.3 编码

量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。简单高效的数据系统是二进制码系统,因此,应将十进制数字代码变换成二进制编码。根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长(采样位数)。这种把量化的抽样信号变换成给定字长的二进制码流的 过程称为编码。

sample:
接着上面的1.65V 对应 量化等级为128 。对应的2进制为10000000 。即该采样点编码后结果为10000000 。当然这是没有考虑正负值情况下的编码方式,而且编码方式种类非常多,需要具体问题具体分析。(PCM音频格式编码为A律13折线编码)
2 PCM音频编码

PCM信号未经过任何编码和压缩处理(无损压缩)。与模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的效果。
2.1 PCM编码

编码上采用了的是A律13折线编码。
具体可参考:http://blog.csdn.net/qingkongyeyue/article/details/52122486
2.2 声道:

    单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);
    双声道立体声声音文件,每次采样数据为一个16位(采样位数仍是8bit)的整数(int),高八位(左声道)和低八位(右声道)分别代表两个声道。

PCM的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需的最小字节数。
首先存储低有效字节,表示样本幅度的位放在i的高有效位上,剩下的位置为0,这样8位和16位的PCM波形样本的数据格式如下所示。
2.3 采样频率

人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求.

    8000hz 为电话采样。
    22050 的采样频率是常用的。
    44100已是CD音质, 超过48000的采样对人耳已经没有意义。

一般情况下,一帧PCM是由2048次采样组成的。
2.4 采样位数

每个采样数据记录的是振幅, 采样精度取决于储存空间(采样位数)的大小:

    1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级
    2 字节(也就是16bit) 可以细到 65536 个数, 这已是 CD 标准了;
    4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级, 实在是没必要了

如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍.
2.5 比特率

码率是指经过编码后的音频数据每秒钟需要用多少个比特来表示
2.6 有损和无损

对于我们最常说的“无损音频”来说,一般都是指传统CD格式中的16bit/44.1kHz采样率的文件格式,而知所以称为无损压缩,也是因为其包含了20Hz-22.05kHz这个完全覆盖人耳可闻范围的频响频率而得名。

参考文献:http://blog.csdn.net/ownWell/article/details/8114121
---------------------  
作者:Andy____Li  
来源:CSDN  
原文:https://blog.csdn.net/m0_37263637/article/details/78914566  
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值