微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于声信号的车辆碰撞检测装置研究与设计

一种基于声信号的车辆碰撞检测装置研究与设计

时间:07-07 来源:互联网 点击:

对于声音采集模块采集到的声音数据,由DSP模块运行检测软件对其进行分析,并判断外部是否发生了碰撞。DSP模块还引出一个IO口与报警和通讯模块相通讯,报警和通讯模块接收此引脚的信号来判断是否发生碰撞以决定是否报警。

  1.3 存储器模块

  VC5509支持统一的编址空间,片上内存的总容量为320kB,包括128k×16bit的RAM和32k×16bit的ROM,并可以根据用户的需要扩展到最大为8M×16bit的片外内存空间。本系统选用的是HY57V64芯片,是一个有4个1M×16bit逻辑阵列的SDRAM芯片。该芯片接收并存储DSP模块传输过来的声信号数据,当DSP模块需要处理数据时也会从该芯片的特定位置读出相应的数据。

  1.4 报警模块

  报警模块配有GPS和GSM模块,获取位置和速度信息并与服务器进行通讯。DSP模块从报警模块的GPS模块获得车辆的速度和加速度信息并加入声信号信息进行辅助计算。报警模块从DSP模块获得实时的车辆碰撞信息,一旦检测到碰撞信号,报警模块即向服务器报警。

2 软件和算法设计

  我们设计的系统软件是一个运行于DSP之上的程序,控制系统各模块工作,并完成算法计算。使用TI公司的CCS集成开发环境,用C语言和汇编语言进行编程。

  该软件首先进行初始化,对VC5509和AIC23的运行参数进行配置。对VC5509芯片的锁相环配置时,将系统时钟设置为144kHz。对McBSP进行配置时,打开VC5509的McBSP0并启动其进行输入输出操作。配置DMA0通道,使其工作于兼容模式并在中断时停止数据的传输。配置AIC23的工作模式为DSP模式并使用IIC方式传输数据。启动AIC23对声信号进行32k采样速率的采样。

  初始化结束后进行采样检测,经过采样检测,一旦发现采集到的信号满足分帧条件,即采集到的声信号长度足够1秒时,就执行自动声检测算法。

自动声检测算法读出数据并进行判断,如果检测到的是非碰撞事件,则继续执行采样检测以等待处理下一秒数据,这时软件在执行空循环;当自动声检测算法检测到的是碰撞事件,就向通讯模块传递信息,在GPS模块确认速度和位置信息之后就通过报警模块报警。此软件的流程如图3所示。


  软件流程图中自动声检测算法的设计是核心部分,下面做重点介绍。由于不同声波信号的幅频特性和相频特性不同,不同声波信号在各个频率段的幅值也存在一定的差异。因此,可利用各个频率成分的能量变化来实现目标识别。

  自动声检测算法包括声音信号采集和分帧、特征提取、特征降维、特征分类四部分,其具体实现步骤如下:

  (1)采集和分帧。将采集到的信号按每2s分为一帧,帧与帧之间有1s的交叠。对32k采样率的芯片来说,即每一次只对2s的片段65536个点进行处理,在训练阶段两个片段之间有1/2重复。这样得到一组数据Datai(1≤i≤65535)。

  (2)特征提取。对每一帧信号数据Datai(1≤i≤65535)实施DWT变换以得到频域信息,然后根据得到的频域信息统计能量的分布,以此作为识别交通事故的特征。本算法采用DB1小波,对每一帧信号,先进行一层分解,然后高频系数进行两层完整的分解,低频系数进行10层单向分解得到18组数据。计算得到特征分量F=[E1,E2…E18],En的计算公式如下:,其中N为Cn的长度。

  (3)特征降维。对特征提取后的信号量实现降维。在提取出的特征分量F的基础上,本算法采用基于主成分分析(PCA)的异常点检测算法检测交通事故碰撞声。原特征F变换后得到公式为,其中H为PCA方法得到的投影矩阵。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top