配色: 字号:
基于ADPCM算法的汽车智能语音报警系统的设计
2012-04-21 | 阅:  转:  |  分享 
  
●应用与设计

1

前言

为了防止汽车发生交通事故,当汽车智能检测

装置探测到前方有危险时,必须向驾驶员发出警告

信息。语音报警向驾驶员明确提示危险,以便驾驶

员能及时准确地采取措施。因此,本文提出数字语

音处理技术

[1]

,先将各种状况的报警信息进行数字

化采集、存储,遇到危险时,将判断危险类型并自动

选择播放存储的报警信息。由于语音信息量大,直

接存储需占用庞大的存储空间,为此,本文采用

FPGA实现ADPCM(AdaptiveDifferentialPulseCode

Modulation,自适应差分脉冲编码调制)编解码器设

计,对语音信息进行压缩存储,从而使存储信息量

增大了一倍。

2

系统结构及原理

本系统设计是以单片机和FPGA为核心。单片

机控制系统的工作状态、启动录放音并对录放音时

间进行计时、显示。FPGA对采集到的数据进行压

缩、存储、解压。单片机与FPGA协调工作,提高了系

统的工作效率和稳定性。系统结构如图1所示。

首先,将所希望采集的各种报警声音经前向通

道(话筒、差分放大器、滤波器、加法器)再由A/D转

换器转换为数字信号并送入FPGA进行ADPCM压

缩编码处理,然后存储到静态存储器SRAM中。遇

到危险时,单片机对危险进行判断,控制FPGA将相

应的语音数据从SRAM中取出并进行解码,然后送

基于

ADPCM

算法的汽车智能

语音报警系统的设计

马智远,黄金凤,张帆,张承学

(武汉大学电气工程学院,湖北武汉430072)

摘要:介绍了一种采用FPGA硬件实现ADPCM算法的方法,并基于此算法对预先采集的各种报警

语音进行压缩编码并存储。在遇到危险时,由单片机做出危险判断,并自动选择播放相应的报警语

音以提示驾驶员及时采取措施。

关键词:单片机;FPGA;ADPCM;编码器;解码器;SRAM

中图分类号:TP392文献标识码:A文章编号:1006-6977(2007)10-0025-04

Designofvehicleintelligentvoicealarmsystem

basedonADPCMalgorithm

MAZhi-yuan,HUANGJin-feng,ZHANGFan,ZHANGCheng-xue

(SchoolofElectricalEngineering,WuhanUniversity,Wuhan430072,China)

Abstract:AmethodtorealizethisADPCMalgorithmusingFPGAisintroducedinthepaper.Basedon

thismethod,thesystemcompressesandcodesthepreviouslyacquisitionedalarmvoicesandstoresthem.

Indangeroussituation,MCUcanjudgethekindofthedangerandchooseacorrespondingvoicetoplay.

Keywords:MCU;FPGA;ADPCM;encoder;decoder;SRAM

图1系统整体框图

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

-25-

《国外电子元器件》2007年第10期2007年10月

至8位的D/A转换器,转换为模拟信号,再经后向

通道(滤波器、校正电路、功率放大器、扬声器)复现

报警声音。

3

系统主要硬件设计

3.1前置放大器

采用驻极体话筒采集语音信号,转换其信号幅

值为毫伏级的电信号

[3]

,系统前级对其处理时,要尽

可能提高放大器输入端的信噪比,保证放大电路具

有精确、稳定的增益。为此,本文设计了如图2所示

的检测放大电路。该电路前级采用电压跟随器,利

用输入电阻为无穷大而输出趋于零的特性,提供高

输入电阻,实现阻抗变换与隔离;后级采用差动放

大器,获得较高的共模抑制比,增强电路抗干扰性。

电压跟随器由性能优良的

低噪声音频放大器NE5532构

成,工作电压为12V,工作带宽为

10MHz,特别适用于语音信息处

理。差动放大器采用AD620实

现。AD620内部实际上是一个差

分放大器,其失调电压电流小,

共模抑制比高,因此处理微弱信

号时,也就是放大和消除噪声方

面具有优异性能,其增益G=1+(49.4kΩ/R

g

)(R

g

为接

在1、8引脚之间的电阻)。调节电位器R1,使放大的

信号幅值介于-2.5V和2.5V之间,便于A/D转换

器采样量化。

3.2带通滤波器

语音信号经放大传输后容易拾取噪声,因此在

数据采集之前,需要通过带通滤波器滤除掉带外杂

波。人的语音频率范围为300Hz~3.4kHz,故滤波器

的通带范围应为300Hz~3.4kHz。如此宽的频带,必

须采用低通部分与高通部分相级联的方式实现。

高通滤波器设计指标:通带截止频率f

p

=300

Hz,通带允许最大衰减α

p

≤3dB;为消除工频干扰,

确定阻带截止频率f

s

=50Hz,阻带允许最小衰减

a

s

≥40dB。选用两级二阶Butterworth高通滤波器相

级联构成,仿真结果如图3所示

[2]



低通滤波器的设计指标为:通带截止频率f

p

=

3400Hz,通带允许最大衰减α

p

≤3dB;为抑制采

样混叠失真,确定阻带截止频率f

s

=4000Hz,阻带

允许最小衰减a

s

≥40dB。由于椭圆滤波器可以获得

较其他滤波器窄的过渡带宽,故适用该系统设计。

利用滤波器辅助设计软件FilterWizPro获得五阶

椭圆低通滤波器电路如图4、仿真结果如图5所示。

级联高通和低通滤波器,即可得到300Hz~

3.4kHz带通滤波器,实验表明,该滤波器效果良

好,达到设计指标。后向通道的带通滤波器的设计

与此相同。

4

系统软件的设计

4.1FPGA部分

选用Altera公司的Cyclone系列的EP1C6Q-

240C8实现ADPCM编码器和解码器。该器件含有

图2检测放大电路

图3300Hz高通滤波器幅频特性

图4五阶椭圆低通滤波器

-26-

120000典型门资源、5980个逻辑单元、6个RAM

模块、92160BitRAM或ROM、2个数字PLL、185

个可编程I/O口,最高工作时钟可达300MHz以

上,并通过JTAG接口实现在系统配置。

ADPCM是一种利用样本间的高度相关性和量

化阶自适应压缩数据的波形编码技术。ADPCM综

合了APCM的自适应特性和DPCM的差分特性。

它的核心思想是利用自适应改变量化阶的大小,即

就是使用小的量化阶编码小的差值,使用大的量化

阶来编码大的差值;使用过去的样本值估算下一个

输入样本的预测值,实际样本值和预测值之间的差

值总是最小。ADPCM编解码器的输入信号是G.

711PCM代码,若采样频率为8kHz,每个代码为8

位,则它的数据率为64Kb/s,而ADPCM的输出代

码是“自适应量化器”的输出,该输出是4位的差分

信号,它的采样频率仍是8kHz,数据率为32Kb/s,

这样就获得了2∶1的数据压缩

[4]



编码过程:计算8位的二进制补码的当前采样

值S

c

和上一预测采样值S

p

之间的差值d,该差值经

量化编码输出4位ADPCM代码I。在算法中,定义

一个结构变量存储预测采样值S

p

和量化步长q,并

制定了两个表:一个表为索引调整表,其输入为差

值量化编码I,用于更新步长索引;另一个表为步长

调整表,其输入为步长索引,输出为步长q。编码时,

首先用上一个采样点的步长索引查步长调整表求

出步长q,然后根据下式来确定4位ADPCM编码

值I:

再将编码值I作为索引调整表的输入,查表输

出索引调整,并和结构变量中原步长索引相加,产

生新的步长索引,在下一个采样值的编码中使用。

编码器输出I后,还需要重复进行与解码完全一样

的计算过程,求出新的预测采样值S

p



解码过程:首先通过步长索引查步长调整表得

到量化步长,差值量化编码I经逆量化得到语音差

值d,这是求I的逆过程;然后与前次预测值S

p

一起

重建当前语音信号S

c

;最后利用S

p

=S

c

,更新预测值

S

p

,用I更新量化步长索引

[5]



设计完成后,对ADPCM编解码器进行仿真,仿

真结果如图6所示。AD_DataBus为编码前输入信

号,采用Testbench产生。在编码使能信号P1_7为

“0”时,开始编码,P1_7跳变到“1”时,编码被屏蔽。

此时解码使能信号P1_4为“0”,开始解码,P1_4跳

变到“1”时,解码被屏蔽。可以看出编码前输入信号

AD_DataBus和解码器输出DA_DataBus基本符合

要求。由于ADPCM算法本身是有损压缩,可以确定

本部分的设计是正确可靠的。

4.2单片机部分

单片机是整个系统的控制中心,负责检测危险

并判断其类型以选择播放相应的报警信息。其工作

流程如图7所示。本文给出了采用3个按键代表3

种危险的发生,供单片机检测。

选择常用的51系列单片机AT89C52,用C51

图53.4kHz椭圆低通滤波器幅频特性

图6编码器、编码器仿真结果

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

-27-

《国外电子元器件》2007年第10期2007年10月

(上接第24页)

begin

if(cunt3!=0)

begin

cunt3=cunt3-1;

data_out=data_initial[SIZE];

data_initial=(data_initial<<1);

end

else

data_out=0;

end

end

4

结束语

本文介绍了利用锁相频率合成器ADF4360-4

为WLAN混频电路中设计本振信号源的应用实例,

给出了设计的关键参数及设计方法,以及器件的控

制流程及程序代码。最后测得相噪、杂散等指标均

基本达到了ADF4360-4要求标准。其中,相位噪声

为-85dBc/Hz@1kHz,杂散优于-70dBc。利用

ADF4360-4设计的频率合成器可精简倍频装置,简

化电路结构、降低功耗和设备成本,可广泛应用于

射频电路系统(如无线局域网)以及通信系统中。

参考文献:

[1]AnalogDevices.PLLFrequencySynthesizerADF43

60-4DataSheet[DB/OL].http://www.analog.com/

uploadedFY/Data_sheets/ADF4360_4.pdf,2004.

[2]黄智伟.无线发射与接收电路设计[M].北京:北京

航空航天大学出版社,2004.

[3]陆振雨,朱江,张尔扬.基于ADF4106的锁相环

频率合成器设计与实现[J].电子工程师,2003,(1):

44-46.

[4]李丹,刘宏立.锁相频率合成芯片ADF4360-1及

其在2.4G射频发射机中的应用[J].仪器仪表应用,

2006,13(4):96-98.

[5]曾兴雯,刘乃安.高频电子线路[M].北京:高等教育

出版社,2004.

作者简介:赵浩平,男,陕西宝鸡人,硕士研究生,主

要研究方向:无线通信,无线局域网。

收稿日期:2007-07-13

咨询编号:071006

语言编程可完成程序设计,实验效果理想。

5

结束语

本系统设计是单片机与FPGA配合使用,充分

发挥各自的优点,获得理想效果,具有很强的实用

性,同时还证明了采用可编程逻辑器件实现语音数

字压缩处理的高效性。实验证明,本系统可以很好

地再现录入的报警语音,具有较高的保真度。驾驶

员可以根据自己的喜好随意改变报警声音。危急情

况下,本系统会自动发出明确的报警提示,大大提

高了驾驶的安全性。

参考文献:

[1]姚天任.数字语音处理[M].武汉:华中理工大学出

版社,1993.

[2]谢自美.电子线路设计、实验、测试(第二版)[M].

武汉:华中理工大学出版社,2003.

[3]赵洪.驻极体话筒的结构、原理与正确使用[J].

电子制作,2003(11):58-59.

[4]高峰,徐朝炯,李平.ADPCM语音编解码电路设

计及FPGA实现[J].今日电子,2006(8):74-76.

[5]陈明义,刘华,刘力.基于FPGA的ADPCM语音

编解码器设计实现[J].电子科技,2007(1):44-47.

收稿日期:2007-06-23

咨询编号:071007

图7单片机控制流程

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-28-

献花(0)
+1
(本文系明的图书馆1...首藏)