一、实验目的 学习G711音频的格式和G711A音频编码的原理,并实现将PCM格式编码为BIT格式。 二、实验原理G711G711是国际电信联盟订定出来的一套语音压缩标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个 64Kbps 未压缩通道传输语音讯号。起压缩率为1:2,即把16位数据压缩成8位。G711是主流的波形声音编解码器。 PCM是对模拟的连续信号进行抽样,G711则是对PCM数据进行再一次的抽样。G711主要是对16bit的PCM进行抽样,取到PCM的高位数据,去掉低位的数据,并且只保留8位。这样压缩的比率就达到了2:1,是有损压缩。 G711 标准下主要有两种压缩算法。一种是µ-law algorithm (又称often u-law, ulaw, mu-law),主要运用于北美和日本;另一种是A-law algorithm,主要运用于欧洲和世界其他地区。其中,后者是特别设计用来方便计算机处理的。这两种算法都使用一个采样率为8kHz的输入来创建64Kbps的数字输出。G711采用一种称为分组丢失隐藏(PLC)的技术来减少丢包带来的实际影响。有效的信号带宽在静默期间通过语音活动检测(VAD)这一过程被减小。 G711编码的声音清晰度好,语音自然度高,但压缩效率低,数据量大,常在32Kbps以上。常用于电话语音(推荐使用64Kbps)。 G711Aa-law也叫G711A,输入的是13位(其实是S16的高13位),使用在欧洲和其他地区,这种格式是经过特别设计的,便于数字设备进行快速运算。 运算过程如下: 取符号位并取反得到s; 获取强度位eee; 获取高位样本位wxyz; 组合为seeewxyz,将seeewxyz逢偶数为取补数,编码完毕,即最终经过编码以后就变成了:s(取反)+3位强度位+4位样本位总共8位数据。 示例运算输入pcm数据为3210,二进制对应为(0000 1100 1000 1010) 二进制变换下排列组合方式(0 0001 1001 0001010) (1)获取符号位最高位为0,取反,s=1 (2)获取强度位0001,查表,编码制应该是eee=100 (3)获取高位样本wxyz=1001 (4)组合为11001001,逢偶数位取反为10011100 编码完毕。 程序流程设计程序流程设计中首先要打开/创建输入和输出的文件,接着进行G711编码并将编码后的数据保存到bit文件,最后关闭文件即可。 三、操作现象实验设备本实验所需硬件为实验板,仿真器和电源。 硬件连接(1)连接仿真器和电脑的USB接口。 (2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。 软件操作导入工程,选择Demo文件夹下的对应工程 编译工程,生成可执行文件 将CCS连接实验箱并加载程序 点击运行程序 运行程序后,console窗口打印提升信息。 编码过程大约需要 6 分钟。编码结束后,会打印出提示信息。 此时可看到debug目录下由speech.pcm文件编码生成的speech.bit文件,对比编码前后文件大小,可发现BIT格式较PCM格式少了一半,可减少存储空间。 实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。 实验结果最后可通过专门的工具播放PCM 文件和 BIT 格式文件, 打开软件,点击“文件->导入->原始数据”。 先导入工程目录下的 speech.bit 文件,点击绿色剪头播放音频数据。 再导入工程目录下的 speech.pcm 文件,点击绿色剪头播放音频数据。 对比后可发现 PCM 文件与 BIT 文件播放内容一致
|