基于ADPCM的数字语音存储与回放系统设计方案

基于ADPCM的数字语音存储与回放系统设计方案,第1张

  0 引言

  由单片机FPGA共同完成语音的录制与回放,可以拥有丰富的接口资源和运算能力,鉴于PCM 的存储冗余值过大和DPCM 的量化噪声问题,ADPCM 成为了不错的压缩算法。同时为了拥有较高的共模抑制比、低失真、高功率和高输入阻抗,本文采用仪表放大器、立体声功率放大和控制芯片,结合ADPCM编码,设计并实现了具有采集速度快、存储时间长、语音回放质量良好的数字语音存储与回放系统。

  1 系统设计框图

  系统主要包括采集、处理与语音回放模块叁个部分。对于采集模块,一般由麦克风或者耳机输入的语音通过前置放大和低通滤波等预处理之后,完成A/D 转化。对于语音处理模块来说,进行ADPCM 的编码以及FFT运算,可将数字化的语音存储于外部介质。对于回放模块来说,可提取存储的语音内容,并且通过解码、D/A转换,最后驱动扬声器来完成回放功能。系统整体框图如图1所示。

  基于ADPCM的数字语音存储与回放系统设计方案,图1 系统整体框图,第2张

  其中的立体声ADC和立体声DAC组成部分都集成在芯片PCM3010 内部。通过立体声音量控制芯片PGA3010实现立体声音量的调节,最后由功率放大器驱动扬声器完成语音播放功能。同时,通过在FPGA内部对采样数据进行短时傅里叶变换,可在示波器上实时显示语音信号的频谱。

  2 理论分析计算

  2.1 ADPCM编码的理论分析

  ADPCM 的塬理是对相邻两采样值的差值进行编码,利用自适应的思想改变量化阶的大小。ADPCM 编码法结合了DCM 与ADM,其实是差分算法塬理的自适应方向改进。对于输入的信号Si 与自适应输出值Sp 存在差值,根据自适应量化步长d 对此差值进行量化,输出ADPCM 四位量化码I.对于量化码I 又重新计算量化步长d 。其塬理图如图2所示。

  另外一方面对于量化码I,又要送入反量化器,根据计算的步长d 进行差别断定,生成新的解码值,进行下一轮的语音编码。其塬理图如图3所示。

  基于ADPCM的数字语音存储与回放系统设计方案,图2 ADPCM编码原理图及图3 ADPCM解码原理图,第3张

  通过ADPCM的编码,可以达到1/6的压缩比率。也就是说,对于24 b的采样数据,4 b的存储率即可达成要求,可以大大延长存储的时间。当采样速率为46 kHz时,数据传输速率为184 Kb/s,由于外部存储器BQ4015大小为512×8 Kb,故能够存储的最长时间为22 s.当采样速率为8 kHz时,能够存储的最长时间为128 s.

  2.2 信噪比计算

  一般认为,通话的语音频率一般不超过3.4 kHz,所以低通滤波器选取3.4 kHz作为其截至频率,同时保证A/D采样频率高于8 kHz,根据奈奎斯特定律,即可满足语音量化不损失。对于耳机声道声音,其频率范围为20 Hz~20 kHz,所以对于上述的滤波器以及A/D 采样频率也能满足其要求。根据如下信噪比(单位:dB)公式:

  基于ADPCM的数字语音存储与回放系统设计方案,信噪比(单位:dB)公式,第4张

  若假定语音信号服从拉普拉斯分布,则xmax = 4σx 。

  所以可以计算出:

  基于ADPCM的数字语音存储与回放系统设计方案,信噪比(单位:dB)公式,第5张

  表明量化器中每个比特字长对信噪比的贡献大约为6 dB.选用24 b A/D 转换器PCM3010,理论上可以达到137 dB的信噪比。

  2.3 预加重处理

  为了提升语音质量,一般都会对采集的语音进行预加重处理。使得信号的高频部分进行提升,同时信号更平坦。处理的时候一般在高频段按照-6 dB/倍频程跌落,在FPGA内部实现具有6 dB/倍频程提升高频特性的预加重数字滤波器。选取一阶高通滤波器,其特性函数为:

  基于ADPCM的数字语音存储与回放系统设计方案,选取一阶高通滤波器,其特性函数为,第6张

  式中u 值取为0.94~0.97.当然,在信号处理之后,还需要通过去加重来还塬塬本的语音信号。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2715257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存