新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于ADPCM算法的汽车智能语音报警系统设计

基于ADPCM算法的汽车智能语音报警系统设计

作者:时间:2010-04-19来源:网络收藏

低通滤波器的设计指标为:通带截止频率fp=3 400 Hz,通带允许最大衰减αp≤3 dB;为抑制采样混叠失真,确定阻带截止频率fs=4 000 Hz,阻带允许最小衰减as≥40 dB。由于椭圆滤波器可以获得较其他滤波器窄的过渡带宽,故适用该系统设计。利用滤波器辅助设计软件Filter Wiz Pro获得五阶椭圆低通滤波器电路如图4、仿真结果如图5所示。

  

  级联高通和低通滤波器,即可得到300 Hz~3.4 kHz带通滤波器,实验表明,该滤波器效果良好,达到设计指标。后向通道的带通滤波器的设计与此相同。

4 系统软件的设计

  4.1 FPGA部分

  选用Altera公司的Cyclone系列的EPlC6Q-240C8实现编码器和解码器。该器件含有120 000典型门资源、5 980个逻辑单元、6个RAM模块、92 160 Bit RAM或ROM、2个数字PLL、185个可编程I/O口,最高工作时钟可达300 MHz以上,并通过JTAG接口实现在系统配置。

  是一种利用样本间的高度相关性和量化阶自适应压缩数据的波形编码技术。综合了APCM的自适应特性和DPCM的差分特性。它的核心思想是利用自适应改变量化阶的大小,即就是使用小的量化阶编码小的差值,使用大的量化阶来编码大的差值;使用过去的样本值估算下一个输入样本的预测值,实际样本值和预测值之间的差值总是最小。ADPCM的输入信号是G.711 PCM代码,若采样频率为8 kHz,每个代码为8位,则它的数据率为64 Kb/s,而ADPC M的输出代码是“自适应量化器”的输出,该输出是4位的差分信号,它的采样频率仍是8 kHz,数据率为32 Kb/s,这样就获得了2:1的数据压缩。

  编码过程:计算8位的二进制补码的当前采样值Sc和上一预测采样值Sp之间的差值d,该差值经量化编码输出4位ADPCM代码I。在算法中,定义一个结构变量存储预测采样值Sp和量化步长q,并制定了两个表:一个表为索引调整表,其输入为差值量化编码I,用于更新步长索引;另一个表为步长调整表,其输入为步长索引,输出为步长q。编码时,首先用上一个采样点的步长索引查步长调整表求出步长q,然后根据下式来确定4位ADPCM编码值I:

  

  再将编码值I作为索引调整表的输入,查表输出索引调整,并和结构变量中原步长索引相加,产生新的步长索引,在下一个采样值的编码中使用。编码器输出I后,还需要重复进行与解码完全一样的计算过程,求出新的预测采样值Sp。

  解码过程:首先通过步长索引查步长调整表得到量化步长,差值量化编码I经逆量化得到语音差值d,这是求I的逆过程;然后与前次预测值Sp。一起重建当前语音信号Sc;最后利用Sp=Sc,更新预测值Sp,用I更新量化步长索引。

 



评论


相关推荐

技术专区

关闭