基于DSP的汽车转速测量新方法及仪器研制曹广忠邱建ANewNoise-basedMethodforMeasuringtheRotarySpeedofaCar’sEngineandItsImplementationBasedonDSPCaoGuang-zhong,QiuJian摘要:传统的声级计主要由硬件滤波网络和计权网络构成,而汽车发动机的转速是基于测量机械量的汽车转速表给出。提出了通过非接触传声器测量汽车噪声从而计算汽车发动机转速的新方法;运用小波变换理论为基础的信号降噪处理技术,将有用信号从汽车排气管口噪声背景中提取出来,研究了提取汽车转速信息的信号处理算法;设计了一种基于DSP和单片机的双CPU硬件结构,开发了相应嵌入式软件,实现了噪声A计权声压级和汽车转速的分析和测量,验证了所提出的方法。研制出基于汽车排气管口噪声测量的汽车发动机转速测量新型仪器,该仪器转速测量范围308000RPM,测量误差±10转/分;噪声测量范围30130dB,分辨率0.1dB,准确度优于±0.5dB。关键词:汽车发动机转速,数字信号处理器(DSP),噪声测量,仪器作者单位:深圳大学通讯地址:《邮编》518060深圳大学工程技术学院自动化科学系电话:26534057E-mail:gzcao@szu.edu.cn0引言汽车工业的迅猛发展使汽车检测日益重要,汽车噪声及汽车发动机的转速测量是环境检测部门及汽车故障诊断研究的重要内容。噪声测量仪器在环境、设备的噪声检测和噪声控制中起着十分重要的作用,噪声的声级和频谱声压级测量是噪声测量中最基本的测量项目,也是其它噪声测量的基础。常规的噪声测量中普遍采用声级计,传统的声级计一般是利用硬件计权网络实现对噪声信号的计权,利用硬件的滤波网络实现噪声的倍频程分析等。自然可以采用传统的声级计测量汽车的噪声,但是与此同时却无法获取汽车的转速。获取汽车在不同转速下的噪声以及欲知在某噪声时的相应转速都是非常重要的。对汽车的研究与认识表明可通过测量汽车排气管出口处的噪声,考虑该噪声和汽车转速的内在关系,借助数字信号处理技术以获得相应转速,从而可实现汽车噪声和转速的同时测量,即本文提出的通过非接触传声器测量汽车噪声从而计算发动机转速的新方法。随着数字信号处理(DSP)技术的迅速发展,以及其特殊的适于实时信号处理的硬件结构,使得DSP芯片成为高性能仪器中处理信号的核心。本文采用浮点DSP芯片作为信号处理中心,而单片机作为人机交互功能的管理中心;开发相应算法与管理软件以验证所提出方法的正确性,从而开发出了基于汽车排气管口噪声测量的汽车发动机转速分析新型仪器。1噪声测量的基本理论1.1噪声声压级、计权和倍频程表示[1]在噪声测量中用声压级来表示噪声的强弱,噪声声压级按下式定义202lg10PPLp(1)式中:P0=2×10-5Pa为基准声压;P为有效声压。在环境监测和机电产品自动检测中,经常需要了解噪声的频谱结构。对于频率为12~20000Hz的可闻声,频率有1000多倍的变动率,用等带宽表示非常不便,通常采用倍频程表示。用1/3倍频程表示时,一共分为32个频段。对于相同强度的声压,人耳对于低频段噪声远不如高频段噪声敏感。为了反映人耳对于噪声响度的频率响应,在噪声评价中,普遍采用计权声级作为评价参数。其中,A计权声级能很好地反映人耳对噪声响度的频率响应,应用最为普遍,本文即采用A计权。各种计权的修正量可参考相应的标准。1.2基于FFT的噪声声压信号分解由于噪声计权声级对不同的频段有不同的计权修正量,因此,必须对声压信号进行分解。虽然噪声信号具有随机性,随机信号在理论上不满足傅里叶变换的条件。但是,对于噪声测量,通过测量系统得到的每一个有限长样本p(t),都是能量有限的确定性信号,满足傅里叶变换条件,可以进行傅里叶变换。考察一个有限长噪声声压信号样本p(t),设样本长度为T,其有限傅里叶变换可写为dtetpfPTftj02)()((2)当信号p(t)经过A/D采样后,形成离散数据序列p[nts],ts为采样间隔,样本的数据点数为N,则对式(2)归一化的离散形式为}1,...,1,0{,;][][10)2(NnkenpkPNnnkNj(3)根据离散傅里叶变换可知,p[n]经离散傅里叶变换后得到的离P[k]是一个长度为N的复数序列,其第k个数据可写成如下形式kkjbakP][(4)在满足采样定理的条件下,它可以表示p(t)中频率为k/T的简谐分量Pk(t)kkkTktPtP/2cos(5)式中,221kkkbaNP为Pk的幅值;kkkab/arctan为Pk的相位角。因此,p(t)可以写成简谐函数形式kNkkNkkTktPtPtp/2cos1010(6)由式(4)可知,对于一个特定地点的噪声p(t),可以分解成若干个不同频率的纯音源Pk(t)之和。1.3噪声声压级的合成在实际声场中,当有n个噪声源同时发出噪声时,设声场中某处第k个噪声源的声压为Pk,则可求出声场的合成声压级。根据声能叠加原理,并利用声强与声压的关系,有nkknPPPPP12222212(7)由式(7)知,多声源合成声压的能量与各纯音的能量成线性关系。考虑到式(1),多频噪声总声压级可表示为2012lg10PPLnk总(8)由此可见,只要能够测出或分解出噪声的每一个单纯音的声压Pk,就可按照式(7)和式(8)求得一定频段内的声压级和噪声总声压级。因此,只要可以从噪声声压信号p(t)中分解出Pk,就很容易实现各种计权分析和倍频程分析。2汽车转速测量新方法汽车废气气流从排气口喷出,由于排气过程的周期性而在喷出口形成一个流场作周期性变化的气流,于是废气喷出口便成为一个点声源。假定附近没有反射面,就会形成球对称的声场。喷出后经过时间t,该声场中离喷出口距离为r处的声压瞬时值可表述为tcrtVrStrp)/(4),(0(9)式中S喷出口的截面积;0分别为空气静态密度和声速;V气流流出速度。气流速度变化的频率就是发动机气缸爆发的频率Znf30(10)式中n转速;Z缸数;每个工作循环的行程数。由式(10)可知,如果一四冲程四缸的汽车发动机转速为2400r/min,则因其排气脉动而在排气口产生噪声的频率为80Hz,可见这个频率相当低,即使转速增加一倍,达4800r/min,频率也只有160Hz,这种噪声构成了排气噪声的低频部分,称为基频噪声。在排气噪声频谱中相当突出。因此,通过适当方法测量可获取该基频值。综上可以得出,如果已知汽车发动机的缸数Z、每个工作循环的行程数,再通过测量排气出口的噪声信号后,通过适当数字信号处理算法对该信号进行处理,获取发动机气缸爆发的频率f,即可根据(10)式计算出汽车发动机的转速。3仪器设计方案3.1仪器硬件结构设计为了实现小波变换降噪、FFT、A计权噪声总声压级和汽车转速的分析和计算,采用DSP芯片是目前最佳的硬件设计方案。随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到了迅速发展,已广泛应用于通讯、计算机、控制等领域,本设计所研究的正是基于DSP技术的新型测量仪器,系统设计的核心是DSP系统。硬件由以下几部分组成:模拟部分;A/D转换;DSP系统即主要是数字信号处理器(DSP)TMS320VC33[2];MCU系统即单片机AT89C51;闪速存储器FLASH;静态存储器(SRAM);液晶显示器(LCD);RS232电平转换芯片MAX3221;看门狗芯片MAX813;电源管理芯片等。所设计的总体硬件原理结构如图1所示[3],其工作原理是,通过传声器拾取声音信号,经前置放大、滤波等信号调理,进行A/D转换,再把数据输入给DSP,DSP对输入数据进行算法处理(包含小波变换、FFT、倒谱等运算、噪声分析、转速运算),最后得出定置噪声和转速值,输出到LCD上显示。其中LCD显示和按键处理等都由单片机进行控制。系统采用主从式硬件设计方式,即DSP作为从机,主要进行数据的处理和运算,选择ATMEL89C51单片机作为主机进行系统的控制,即控制数据的采集、显示、键盘输入等。单片机与DSP的通信采用扩展并行口方式。如果单片机要向DSP发送数据,则单片机先将数据放到锁存器(单片机的一个输出口,地址是1000H,记为A输出口),然后向DSP发送中断请求,DSP在响应单片机的中断请求时从该锁存器(DSP的一个输入口,地址是140000H,记为B输入口)读取数据,从而完成数据的传输;同样地,如果DSP要向单片机发送数据,则DSP先把发送数据放在另一锁存器(DSP的一个输出口,地址是15000H,记为C输出口),然后向单片机发送中断请求,单片机在响应DSP的中断请求时从该锁存器(单片机的一个输入口,地址是2000H,记为D输入口)读取数据。信号源于汽车发动机的噪音,频率都在2KHz以下,采样频率选择10KHZ,完全能够满足信号带宽要求。采样点数N=4096,每帧数据的采样时间为0.4096s。DSP选择TI公司的TMS320VC33-120浮点DSP,其运算速度为120MFLOPS,估算每帧数据的处理时间小于100ms,即约0.5s处理一帧数据,声级和转速显示刷新时间也为0.5s。3.2仪器软件设计[4-9]3.2.1软件的功能1)自检功能。测量仪在上电后,要检测硬件是否能正常工作。比如扩展RAM是否正常,AD转换是否准确等。2)测量噪声及发动机的转速。测量之前将发动机的冲程数和缸数等输入给测量仪,测量结果在LCD中显示出来。测量的工作方式有两种,一种是点测,另一种是连测。3)将测量数据及结果传给PC机。为了保存、打印测量结果,测量仪可以通过RS232串行口将测量数据及测量结果传到PC机。传送到PC机的数据有两种,一种是采样数据,另一种是对采样数据进行FFT转换得到的频谱数据。3.2.2设计前的考虑1)两个CPU的同步问题。该仪器采用了两个CPU,两个CPU需要密切配合好才能完成预定的功能。由于两个CPU采用不同的晶振,而且它们的速度相差很大,所以它们之间的通信程序要考虑两者的同步问题。同步问题的解决办法有两种,一种是中断,另一种是等待。本设计采用等待和中断相结合的方式,即在中断服务程序中采用等待来实现两机通信的同步。2)DSP算法的速度问题。为了提高DSP的运算速度,一方面要从计算方法入手,使算法最简练、快速。另一方面尽可能采用并行处理的方法,如运算的同时进行下一次运算数据的采样。3.2.3开发工具的选用本设计的单片机程序采用C51语言来编程。DSP部分的程序采用C和汇编语言进行交叉编程,之所以这样,是因为一方面可利用C语言提供的运算函数,简化算法程序的设计,另一方面可利用汇编传声器信号调理A/DTMS320VC33自动充电电源LCDFLASHSRAMATMEL89C51键盘外部通讯模拟控制DSP电源数字电源模拟电源图1总体硬件原理框图图2开发工具CCS主界面语言速度快、时序清楚、直接对硬件进行操作的优点,同时有很多运算,如FFT,只有用汇编语言进行编写才能体现出DSP的性能。DSP-TMS320VC33的编程和调试通过CCS(CodeComposerStudio)和JTAG测试仿真口进行。CCS是一个集成的开发平台,具有编辑、汇编、编译、软硬件仿真调试功能,是一个界面友好,功能较完善的开发工具,如图2所示。3.2.4程序设计所设计的DSP、主机(单片机)主程序流程分别如图3、4所示:开始Bootloader,初始化中断、A/D、D/A采集4096个数据接收主机命令?向主机传送频谱信号处理:小波降噪、加窗、标定、FFT、功率谱密度、声压谱NY求倒谱,获得基频、转速将结果通过传送给主机传送频谱数据?YN开始初始化LCD、串口中断、复位DSP命令DSP开始测量读键值,测量吗?令?通过串口向PC机传送频谱NY显示测量结果传送频谱?YN测量结束?其余程序流程略。所开发的软件在上述设计的硬件上成功运行,并达到