2. 重庆文化职业艺术学院 基础教育部, 重庆 400067
2. Department of Basic Education, Chongqing Vocational College of Culture and Arts, Chongqing 400067, China
随着公路交通和车辆管理的迅速发展,掌握道路上不同类型车辆的数量、类型、行车状况等对于交通管理十分重要。实现交通信息检测的智能化、信息化、高效化是实现交通智能管理的重要前提。基于声信号分析的交通信息检测技术具有成本低、信息冗余小、受外界干扰小等优点[1-2]。车辆经过减速带时与其在路面正常行驶时的声信号波形明显不同,对这种声信号而言,其包络曲线比原始信号能更好地反映其变化特征[3-4],此种声音信号的分析对于交通流参数识别有着非常重要的意义。
信号的包络提取是指通过一定的信号处理技术发现其波形边缘的技术[4]。由于信号包络包含某些时域上的特征参数,这些参数在不同程度上可反映出信号的某些性质和特征,其特征参数的提取对交通检测领域中车辆数量、速度、类型等自动判断至关重要。因此采用合理的包络提取方法提取信号包络十分关键。
常见的信号包络提取方法有Hilbert变换法和小波变换方法,Hilbert变换法是一种将时域实信号变为时域解析信号的方法。变换所得的解析信号的实部是实信号本身,虚部是实信号的Hilbert变换,而解析信号的幅值便是实信号的包络[5-8]。小波变换方法首先通过高通滤波器滤除低频噪声,进而对信号进行半波整流,最后对预处理后的信号进行层次分解,选取某层重构的近似系数作为原信号的包络曲线[8-10]。Hilbert变换是在全频段上对信号进行变换,对整个频段的噪声没有抑制作用,同时存在泄漏误差。对于在野外采集的声信号,用此方法提取的信号包络不够光滑、毛刺多,难以真正体现信号的性质和特征。基于小波变换的信号包络提取对信号比较弱、噪声比较强、频率比较低的信号效果比较显著,通常用于生物医学和故障诊断领域[4, 11]。
本文针对信噪比低、采样频率高、频率分量多的交通领域声信号,根据其特点提出基于变换步长的声信号包络提取算法,该方法通过设置不同步长遍历信号,以每个步长内的最大值点绘制曲线并与原信号波形对比,以轮廓清晰度和特征点提取误差值为判断依据来实现声信号包络的有效提取,为实现交通检测领域中车辆数量、速度、类型的自动判断奠定基础。
1 算法的提出 1.1 应用背景基于声信号分析的交通信息检测技术,可大大提高交通信息检测的效果,进而实现交通信息检测的智能化、信息化和高效化。对车辆数量、速度、类型的自动判断是交通检测的重要内容,通过对车辆声音进行分析是有望实现上述检测的手段。车辆经过减速带时与车辆在路面正常行驶时产生的声信号波形明显不同,在路面正常行驶时声信号幅值在一定范围内变化,不会有明显峰值,波形如图 1(a);但车辆经过减速带时,由于车轮与减速带的相互作用,人耳听起来会有“噔”的声音,在信号形式上的直观表现即为幅度明显变化,如图 1(b)波形。
由图 1可以看出,包络曲线比原始信号更好地反映这种信号的特征,该包络曲线包含某些特征参数,而这些参数在不同程度上可反映出信号的性质和特征,在交通信息化领域中交通参数识别方向有一定的应用前景,因此对这种声信号包络提取的研究很有必要。
本文针对这种交通领域声信号,通过对放大后的降噪信号进行观察与分析,并根据其特点提出基于变换步长的车辆压线声信号包络提取算法,以实现信号包络的有效提取,进而提取这种信号的特征参数,以用于进一步的车辆识别、车速检测、车流量统计,为实现交通检测领域中车辆数量、速度、类型的自动判断奠定基础。
1.2 算法描述基于变换步长的声信号包络提取算法思路:对声波形信号先以最大步长遍历信号:每步长时间内取i个点,采用如图 2算法找到该时间内的最大值并记录对应时间值,保存在对应的幅值数组和时间数组中;分别以该幅值数组数据和该时间数组数据为相应的竖坐标和横坐标绘制曲线。将此曲线与原信号波形对比,观察是包络情况是否理想的包络,若不是则改变步长,重复上述操作,直至找到理想包络曲线,并对其进行光滑处理。所提算法流程如图 2所示,算法步骤如下:
1) 将采样频率为Fs、信号长度为Ts的声音文件导入到Matlab中,得到信号y:其幅值数据放在a[1, n]内,时间数据放在t[1, n]内(n=Ts/Fs)。
2) 以Δtmax为初始步长,遍历信号y:
① 每个步长时间内取i个点,幅值数据放在ak[1, i]内,时间数据放在tk[1, i]内;
② 找到ak[1, i]内最大值,并记录对应的时间数据,将其分别存储幅值数组Y[1, m]、时间数组t[1, m]中;
③ 遍历信号。
3) 以Y[1, m]内数据为竖坐标,以t[1, m]内数据为横坐标,绘制出包络信号图形ye。
4) 与原信号波形对比,观察ye图形是否是信号y的理想包络,若不是则变换其步长继续执行操作2);若已是理想包络则执行5)。
5) 并对ye进行光滑处理,即为其包络曲线,结束。
1.3 步长取值依据道路上两条减速带部署示意图,如图 3所示。图 3中:L为两减速带间隔距离,l为减速带自身宽度。
假定车速为v,轴距为s。第一排车轮通过减速带1的时间t1,第二排车轮经过减速带1的时间为t2,第一排车辆经过减速带1和减速带2的时间为t3,则其表达式分别为式(1)、(2)、(3):
${{t}_{1}}=l/v$ | (1) |
${{t}_{2}}=s/v$ | (2) |
${{t}_{3}}=L/v$ | (3) |
1) 若采集同排车轮通过减速带时的双波峰点,则变换步长法最大步长表示如下:
$\Delta {{t}_{\max }}=\left\lfloor {{t}_{1}}/2 \right\rfloor =\left\lfloor l/(2v) \right\rfloor $ | (4) |
2) 若采集同排车轮通过减速带时的单波峰点,又分以下两种情况:
① L≥s时,变换步长法最大步长表示如下:
$\Delta {{t}_{\max }}=\left\lfloor {{t}_{2}}/2 \right\rfloor =\left\lfloor s/(2v) \right\rfloor $ | (5) |
② L < s时,变换步长法最大步长表示如下:
$\Delta {{t}_{\max }}=\left\lfloor {{t}_{3}}/2 \right\rfloor =\left\lfloor L/(2v) \right\rfloor $ | (6) |
3) 最小变换步长Δtmin的取值情况,若信号采样频率为Fs,则相邻采样点时间间隔即为1/Fs。则最小变换步长表示如下:
$\Delta {{t}_{\min }}=\left\lfloor n/Fs \right\rfloor ;\begin{matrix} {} & n=1,2,3\cdots \\ \end{matrix}$ | (7) |
式中n的取值情况受选取信号长度的限制,通过多次实验可得出经验值,一般取10左右。n值过小提取出的包络和原信号差别不大,此时包络没有太大价值。
2 算法验证 2.1 实验设计以在减速带间隔L=25 m、l=0.3 m、s=2.48 m、采样频率Fs=48000 Hz、信号长度为Ts=2 s的声音文件为例,按照上述算法的流程进行验证分析。采集车轮通过减速带时的单波峰值时间点,属于情况①,由路段情况知车速范围在40~100 km/h,故最大变换步长Δtmin范围为:
$\begin{matrix} 45\text{ms}=\left\lceil \frac{2.48}{2\times {100}/{3.6}\;} \right\rceil \text{ms}<\Delta {{t}_{\max }}< \\ \left\lfloor \frac{2.48}{2\times {40}/{2.6}\;} \right\rfloor \text{ms}=112\text{ms} \\ \end{matrix}$ |
原始信号y如图 4所示。
算法验证步骤如下:
1) 以Δt=80 ms为初始步长,遍历信号y:
① 每Δt时间内取3840个点,幅值数据放在ak[1, i]内、时间数据放在tk[1, i]内;
② 找到ak[1, i]内最大值,并记录对应的时间数据,将其分别存储幅值数组Y[1, 25]、时间数组t[1, 25]中。
2) 以Y[1, 25]内数据为竖坐标,以t[1, 25]内数据为横坐标,绘制出波形如图 5(a)。
3) 与原信号波形对比,图 5(a)波形不是信号y的理想包络。
4) 变换步长Δt=40 ms遍历信号y:
① 每Δt时间内取1920个点,幅值数据放在ak[1, i],时间数据放在tk[1, i]内;
② 找到ak[1, i]内最大值,并记录对应的时间数据,将其分别存储幅值数组Y[1, 50]、时间数组t[1, 50]中。
5) 以Y[1, 50]内数据为竖坐标,以t[1, 50]内数据为横坐标,绘制出波形如图5(b)。
6) 变换步长Δt=20 ms遍历信号y:
① 每Δt时间内取960个点,幅值数据放在ak[1, i]内,时间数据放在tk[1, i]内;
② 找到ak[1, i]内最大值,并记录对应的时间数据,将其分别存储幅值数组Y[1, 100]、时间数组t[1, 100]中。
7) 以Y[1, 100]内数据为竖坐标,以t[1, 100]内数据为横坐标,绘制出波形如图 5(c)。
8) 变换步长Δt=10 ms遍历信号y:
① 每Δt时间内取480个点,幅值数据放在ak[1, i]内,时间数据放在tk[1, i]内;
② 找到ak[1, i]内最大值,并记录对应的时间数据,将其分别存储幅值数组Y[1, 200]、时间数组t[1, 200]中。
9) 以Y[1, 200]内数据为竖坐标,以t[1, 200]内数据为横坐标,绘制出波形如图 5(d)。
2.2 结果分析从声信号文件进行算法验证的结果图 3~5可得出以下几点结论:
1) 通过不同步长对原信号进行遍历采样,可得到相应步长下的包络曲线。
2) 步长选取的影响:
①Δt < 10 ms时,Δt越小,提取的包络信号毛刺越多,如图 6所示,其中:图 6(a)为Δt=8 ms时包络曲线,图 6(b)为Δt=2 ms时包络曲线。
② 10 ms≤Δt≤20 ms时,随着Δt的增大,包络曲线轮廓清晰、毛刺减少,特征明显,判断该步长范围为理想步长范围。
由结论② 确定了理想步长范围,在该范围内提取的包络曲线图如图 7所示,其中:图 7(a)为Δt=20 ms时包络曲线,图 7(b)为Δt=16 ms时包络曲线,图 7(c)为Δt=10 ms时包络曲线。
③Δt>20 ms以后,随着Δt的增大,包络曲线峰值点变模糊,特征点丢失,如图 5中(a)、(b)所示。
3) 能提取适当步长下的峰值特征。由结论② 知10 ms≤Δt≤20 ms时,包络曲线特征明显。故在10 ms、16 ms、20 ms步长下提取峰值特征点,如表 1所示。
大量实践证明,误差的存在具有必然性和普遍性。对测量过程中始终存在着的误差进行研究是充分认识减小或消除误差的基础。误差通常用绝对误差或相对误差表示。
1) 绝对误差。
某量值的测量值和真实值之差,表示形式如下:
$\Delta =X-L$ | (8) |
式中:Δ为绝对误差;X为测量值;L为真实值。
真实值是指观测量本身所具有的大小,它是一个理想的概念,一般是不知道的。但某些特定情况下,真实值又是可知的。
2) 相对误差。
相对误差是绝对误差与真实值之比。考虑到测量值与真实值接近,故也可近似用绝对误差与被测量值或多次测量的平均值的比值作为相对误差,表现形式如下:
$σ=(X-L)/L≈(X-L)/X$ | (9) |
其中σ为相对误差。
相对误差是无名数,通常以百分数(%)来表示。一般来说,相对误差可比较不同结果的可靠性,更能反映结果的可信程度。方差刻画了变量对于其数学期望的离散程度,因此本文采用相对误差、平均误差和误差方差进行分析,其中平均误差δ定义为:
$\overline{\delta }=\frac{1}{n}\sum\limits_{i=1}^{n}{\left| {{\sigma }_{i}} \right|}$ | (10) |
其中:δ为平均误差;σi为相对误差;n为相对误差个数。
误差方差D定义为:
$D=\frac{1}{n}{{\sum\limits_{i=1}^{n}{\left( {{\sigma }_{i}}-\overline{\delta } \right)}}^{2}}$ | (11) |
基于以上原理对本组实验数据进行分析。
由于真实值是一个理想的概念,一般是不知道的。但某些特定情况下,真实值又是可知的,即特定条件下的观测值作为真实值。本实验所用信号,在限定条件下提取的信号真实值如表 2所示。
由表 1和表 2并结合式(9) ~(11) 进行误差分析,其结果如表 3。由表 3得出以下两点结论:
1) 有效步长内,其相对误差范围为0.01%~2.36%,平均误差范围为0.33%~1.24%,误差方差范围为0.52%~3.64%。
2) 三种步长下,Δt=10.00 ms时,其平均误差和误差方差最小。此时提取的包络曲线符合原信号的变化规律和特征,提取的峰值点误差较小,该步长下的曲线可作为原信号包络曲线。
3 算法对比 3.1 实验结果对比对上述声信号以相同采样点数,分别使用小波变换和Hilbert变换方法进行包络提取,其效果如图 8所示,其中:图 8(a)为变换步长法提取的包络曲线,图 8(b)为小波变换法提取的包络曲线,图 8(c)为Hilbert变换法提取的包络曲线。
1) 该信号随着重采样频率的变化,小波变换得到的包络毛刺少,轮廓清晰优于Hilbert变换提取的信号包络。
2) 重采样频率越小,包络曲线轮廓清晰,特征点丢失严重。
3) 三种方法在相同重采样频率100 Hz下,确定的包络曲线其峰值点时间提取值如表 4所示。
对已获得的特征点按式(9) ~(11),并结合表 2和表 4进行相对误差、平均误差、误差方差的计算,结果如表 5所示。
1) 在相同重采样频率下,由于小波变换和Hilbert变换法得到的包络曲线,特征点丢失严重。
2) 三种方法中,变换步长法相对误差变化范围最小;Hilbert次之;而小波变换法明显有一个数值变化较大,由此推断可能有参数出现错误。
3) 基于变换步长的方法,其平均误差0.33%和误差方差0.52%均小于小波变换和Hilbert变换得到的特征点的平均误差和误差方差。
3.2 基本结论基于变换步长的车辆压线声信号包络提取算法,通过实验分析和对比,总体得出以下结论:
1) 本文算法能实现以轮廓清晰度和特征点提取误差值为判断依据的信号包络的提取。
2) 对于本文中使用的声信号,有效步长内,其相对误差范围为0.01%~2.36%,平均误差范围为0.33%~1.24%,误差方差范围为0.52%~3.64%。
3) 提出了步长的选取依据,并通过具体实验验证了该依据的合理性。
4 结语本文提出了一种基于变换步长的车辆压线声信号包络提取算法。实验结果表明,该算法能实现以轮廓清晰度和特征点提取误差值为判断依据的信号包络的提取;提出了步长的选取依据,并通过具体实验验证了该依据。利用该算法可实现目标信号的包络提取,进而实现提取特征参数,可为实现交通检测领域中车辆数量、速度、类型等的自动判断奠定基础。该包络提取算法中理想包络的提取过程主要依靠人工,如何实现其理想步长和包络的自动选取值得进一步研究。
[1] | 焦琴琴, 牛力瑶, 孙壮文. 基于车辆声音及震动信号相融合的车型识别[J]. 微型机与应用, 2015, 34(11): 79-82. (JIAO Q Q, NIU L Y, SUN Z W. Vehicle recognition based on fusion of acoustic and seismic signals[J]. Microcomputer & its Applications, 2015, 34(11): 79-82. DOI:10.3969/j.issn.1674-7720.2015.11.024) |
[2] | 靳舜. 基于声音和震动信号特征融合的车型识别研究[D]. 西安: 长安大学, 2014: 3-5. (JIN S. Vehicle identification research based on feature fusion of acoustic and seismic signals[D]. Xi'an:Chang'an University, 2014:3-5.) http://cdmd.cnki.com.cn/Article/CDMD-10710-1015017274.htm |
[3] | 李云焕. 基于声音识别的交通信息检测技术研究[D]. 西安: 长安大学, 2014: 11-14. (LI Y H. Research of traffic information detection technology based on voice recognition[D]. Xi'an:Chang'an University, 2014:11-14.) |
[4] | 周酥, 朱蒂, 吴效明, 等. 基于小波变换的心音包络提取算法及应用[J]. 中国组织工程研究与临床康复, 2011, 15(30): 5615-5619. (ZHOU S, ZHU D, WU X M, et al. Envelope extraction algorithm and phonocardiogram signal application based on wavelet transform[J]. Journal of Clinical Rehabilitative Tissue Engineering Research, 2011, 15(30): 5615-5619. DOI:10.3969/j.issn.1673-8225.2011.30.026) |
[5] | HUANG D. A wavelet-based algorithm for the hilbert transform[J]. Mechanical Systems & Signal Processing, 1996, 10(2): 125-134. |
[6] | 张绪省, 朱贻盛, 成晓雄, 等. 信号包络提取方法——从希尔伯特变换到小波变换[J]. 电子科学学刊, 1997, 19(1): 120-123. (ZHANG X S, ZHU Y S, CHENG X X, et al. The method of extracting signal envelope-from Hilbert transform to wavelet transform[J]. Journal of Electronics, 1997, 19(1): 120-123.) |
[7] | 王光荣. 基于Hilbert变换的信号包络提取方法研究[J]. 中国科技信息, 2012(1): 87-88. (WANG G R. The research of envelope demosulation analysis methods on noise and vibration[J]. China Science and Technology Information, 2012(1): 87-88.) |
[8] | 张盈盈, 潘宏侠, 郑茂远. 基于小波包和Hilbert包络分析的滚动轴承故障诊断方法[J]. 电子测试, 2010(6): 20-23. (ZHANG Y Y, PAN H X, ZHENG M Y. Rolling bearings fault diagnosis based on wavelet packet and Hilbert envelope analysis[J]. Electronic Test, 2010(6): 20-23.) |
[9] | 侯铁双. 基于复解析小波变换的信号包络检测[J]. 西安邮电大学学报, 2011, 16(3): 18-21. (HOU T S. Detection of signal envelope based on the complex analytical wavelet transform[J]. Journal of Xi'an University of Posts and Telecommunications, 2011, 16(3): 18-21.) |
[10] | 刘彬, 戴桂平, 林洪彬. 一种改进的基于小波变换的包络提取算法研究[J]. 仪器仪表学报, 2006, 27(1): 34-37. (LIU B, DAI G P, LIN H B. Study on an improved envelope extraction algorithm based on wavelet transform[J]. Chinese Journal of Scientific Instrument, 2006, 27(1): 34-37.) |
[11] | 蔡国娟. 基于包络分析的轴承故障诊断[J]. 石油化工设备技术, 2014, 35(2): 41-43. (CAI G J. Bearing fault diagnosis based on envelope analysis[J]. Petrochemical Equipment Technology, 2014, 35(2): 41-43.) |