●应用与设计
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-
|
|