一種基于聲信號(hào)的車(chē)輛碰撞檢測(cè)裝置
0 引言
交通事故傷害已日益成為威脅人類(lèi)生命安全的一種世界性公害。及時(shí)發(fā)現(xiàn)交通事故的發(fā)生并報(bào)警,可有效地減少交通事故的傷亡率。
現(xiàn)階段,減少交通事故傷害主要通過(guò)使用交通事故檢測(cè)裝置來(lái)實(shí)現(xiàn),主要分為基于磁頻信號(hào)、基于波譜信號(hào)和基于視頻信號(hào)的車(chē)輛檢測(cè)裝置。各種檢測(cè)裝置采用包括攝像頭、超聲波或微波等來(lái)檢測(cè)交通事件,主要是處理宏觀的交通流信息,這種間接的檢測(cè)技術(shù)存在識(shí)別率不高、延遲時(shí)間長(zhǎng)的缺點(diǎn),使得交通事故發(fā)生后難以得到及時(shí)有效的救助。
由于交通事故發(fā)生時(shí)會(huì)產(chǎn)生很大的碰撞聲,而碰撞聲和其它聲音的頻譜不一樣,通過(guò)采集并分析車(chē)輛周?chē)穆曅盘?hào)來(lái)檢測(cè)車(chē)輛事故,可以實(shí)時(shí)獲得事故現(xiàn)場(chǎng)信息并報(bào)警,因此在即時(shí)性上比交通流分析方法好,而且在事故的識(shí)別成功率上也可相對(duì)提高。Yunlong Zhang提出了利用小波變換分析車(chē)輛聲音的方法來(lái)檢測(cè)車(chē)輛事故,得到了很好的識(shí)別效果。吉林大學(xué)的陳強(qiáng)等人利用該方法分析車(chē)輛噪聲并分類(lèi),可以區(qū)分出各類(lèi)不同車(chē)輛的碰撞信息。但以上算法的設(shè)計(jì)都是基于計(jì)算機(jī)的數(shù)據(jù)分析,沒(méi)有在該理論的基礎(chǔ)上設(shè)計(jì)出實(shí)際的硬件裝置,而且在算法的
準(zhǔn)確性上也有待進(jìn)一步改進(jìn)。因此設(shè)計(jì)一種實(shí)時(shí)性強(qiáng)、準(zhǔn)確性高的車(chē)輛碰撞聲檢測(cè)硬件裝置具有很高的實(shí)用價(jià)值。
本文采用小波分析和模式識(shí)別方法分析車(chē)輛噪聲信號(hào),設(shè)計(jì)了一種基于DSP的車(chē)輛碰撞聲檢測(cè)裝置,該裝置能有效檢測(cè)車(chē)輛碰撞事件,實(shí)現(xiàn)交通事故的自動(dòng)識(shí)別。相對(duì)于已有交通事故檢測(cè)裝置具有識(shí)別率高、實(shí)時(shí)性強(qiáng)的優(yōu)點(diǎn),而且價(jià)格較低。
1 硬件設(shè)計(jì)
我們?cè)O(shè)計(jì)的碰撞檢測(cè)裝置的原理框圖如圖1所示,首先采用聲音傳感器采集各種聲音信號(hào),傳感器輸出的電信號(hào)經(jīng)放大電路放大后,傳入聲音采集芯片的模擬信號(hào)輸入端。聲音采集芯片將模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換后,送到DSP模塊做進(jìn)一步處理。DSP模塊實(shí)時(shí)地處理所采集到的聲音信息,判斷是否有車(chē)輛碰撞事故發(fā)生。存儲(chǔ)器模塊和DSP模塊相連,用于儲(chǔ)存需要處理的數(shù)據(jù)和固化的代碼數(shù)據(jù),并為DSP模塊運(yùn)算時(shí)提供臨時(shí)存儲(chǔ)空間。報(bào)警模塊和通訊模塊與外部救援中心相通訊,一旦DSP模塊檢測(cè)到車(chē)輛發(fā)生碰撞事故,報(bào)警模塊就向外發(fā)送報(bào)警信息。下面分別介紹主要模塊功能。
1.1 聲音采集模塊
聲音采集模塊使用電容式聲音傳感器,采樣頻率為30Hz~18kHz,由于車(chē)輛噪聲信號(hào)的頻率一般不會(huì)超過(guò)10kHz,所以該聲音傳感器可很好的實(shí)現(xiàn)采樣。聲音傳感器將采集到的模擬信號(hào)送入放大電路放大后傳送到聲音采集芯片。
聲音采集芯片采用TLV320AIC23B(簡(jiǎn)稱(chēng)AIC23),它是TI公司的一款高性能立體聲音頻編解碼器芯片,具有48kHz帶寬,可以滿(mǎn)足包括噪聲信號(hào)在內(nèi)的聲音信號(hào)的采集要求。AIC23對(duì)采集到的模擬信號(hào)進(jìn)行雙聲道立體聲A/D轉(zhuǎn)換,可以在8kHz-96kHz的采樣率下提供16bit、20bit、24bit和32bit的采樣數(shù)據(jù)。本系統(tǒng)將外部聲信號(hào)以32kHz采樣頻率采集,每秒采集32000個(gè)聲音數(shù)據(jù),并將采集數(shù)據(jù)的長(zhǎng)度設(shè)為16bit,這樣A/D轉(zhuǎn)換之后模擬信號(hào)變成了16位的數(shù)字信號(hào)。模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)之后,AIC23將數(shù)據(jù)傳輸給DSP模塊,供DSP模塊作下一步處理。
本系統(tǒng)將AIC23的MODE引腳設(shè)置為O,控制接口設(shè)置為I2C的工作方式,AIC23與DSP模塊的數(shù)據(jù)傳輸接口使用的是DSP模式。這樣DSP模塊就可以控制AIC23協(xié)同工作,并接收AIC23采集到的數(shù)據(jù)。
1.2 DSP模塊
DSP模塊是整個(gè)系統(tǒng)的核心,完成音頻信號(hào)的采集、控制、存儲(chǔ)、處理以及與外界通訊等功能。選用的是TI公司生產(chǎn)的DSP芯片TMS320V-C5509(簡(jiǎn)稱(chēng)VC5509),它是一款性?xún)r(jià)比極高的16位定點(diǎn)DSP,具有多個(gè)高性能運(yùn)算單元,系統(tǒng)時(shí)鐘為144MHz,指令運(yùn)算速度高達(dá)1OOMMACS,而且提供豐富的片上擴(kuò)展接口。
VC5509有兩個(gè)多通道緩沖串行口(McBSP),McBSP具有與標(biāo)準(zhǔn)串行接口相同的基本功能,并在標(biāo)準(zhǔn)串行接口的基礎(chǔ)之上對(duì)功能進(jìn)行了擴(kuò)展。本系統(tǒng)使用的語(yǔ)音采集芯片AIC23就通過(guò)McBSP和DSP相連接,其連接示意圖如圖2所示。其中CLKX為發(fā)送時(shí)鐘,CLKR為接收時(shí)鐘,它們都和AIC23的系統(tǒng)時(shí)鐘BCLK相連。FSX和FSR實(shí)現(xiàn)發(fā)送和接收的幀同步,對(duì)應(yīng)AIC23的LRCIN和LRCOUT引腳。數(shù)據(jù)發(fā)送引腳DX和數(shù)據(jù)接收引腳DR分別與AIC23的DIN和DOUT相連,完成串行數(shù)據(jù)發(fā)送和接收操作。
VC5509還包含6個(gè)可編程的DMA通路,DMA控制器可以無(wú)需CPU介入而在內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器和芯片上外設(shè)之間傳輸數(shù)據(jù),當(dāng)操作完成之后,DMA控制器可向CPU發(fā)出中斷請(qǐng)求信號(hào)。該系統(tǒng)使用了一個(gè)DMA通道0,從數(shù)據(jù)采集模塊讀入數(shù)據(jù)并寫(xiě)入外部存儲(chǔ)器的特定位置。當(dāng)數(shù)據(jù)采集滿(mǎn)了之后,DMA控制器將產(chǎn)生中斷,控制DSP執(zhí)行數(shù)據(jù)處理程序。DMA的使用減少了系統(tǒng)中斷次數(shù),明顯提高了系統(tǒng)的運(yùn)行速度。
對(duì)于聲音采集模塊采集到的聲音數(shù)據(jù),由DSP模塊運(yùn)行檢測(cè)軟件對(duì)其進(jìn)行分析,并判斷外部是否發(fā)生了碰撞。DSP模塊還引出一個(gè)IO口與報(bào)警和通訊模塊相通訊,報(bào)警和通訊模塊接收此引腳的信號(hào)來(lái)判斷是否發(fā)生碰撞以決定是否報(bào)警。
1.3 存儲(chǔ)器模塊
VC5509支持統(tǒng)一的編址空間,片上內(nèi)存的總?cè)萘繛?20kB,包括128k×16bit的RAM和32k×16bit的ROM,并可以根據(jù)用戶(hù)的需要擴(kuò)展到最大為8M×16bit的片外內(nèi)存空間。本系統(tǒng)選用的是HY57V64芯片,是一個(gè)有4個(gè)1M×16bit邏輯陣列的SDRAM芯片。該芯片接收并存儲(chǔ)DSP模塊傳輸過(guò)來(lái)的聲信號(hào)數(shù)據(jù),當(dāng)DSP模塊需要處理數(shù)據(jù)時(shí)也會(huì)從該芯片的特定位置讀出相應(yīng)的數(shù)據(jù)。
1.4 報(bào)警模塊
報(bào)警模塊配有GPS和GSM模塊,獲取位置和速度信息并與服務(wù)器進(jìn)行通訊。DSP模塊從報(bào)警模塊的GPS模塊獲得車(chē)輛的速度和加速度信息并加入聲信號(hào)信息進(jìn)行輔助計(jì)算。報(bào)警模塊從DSP模塊獲得實(shí)時(shí)的車(chē)輛碰撞信息,一旦檢測(cè)到碰撞信號(hào),報(bào)警模塊即向服務(wù)器報(bào)警。
2 軟件和算法設(shè)計(jì)
我們?cè)O(shè)計(jì)的系統(tǒng)軟件是一個(gè)運(yùn)行于DSP之上的程序,控制系統(tǒng)各模塊工作,并完成算法計(jì)算。使用TI公司的CCS集成開(kāi)發(fā)環(huán)境,用C語(yǔ)言和匯編語(yǔ)言進(jìn)行編程。
該軟件首先進(jìn)行初始化,對(duì)VC5509和AIC23的運(yùn)行參數(shù)進(jìn)行配置。對(duì)VC5509芯片的鎖相環(huán)配置時(shí),將系統(tǒng)時(shí)鐘設(shè)置為144kHz。對(duì)McBSP進(jìn)行配置時(shí),打開(kāi)VC5509的McBSP0并啟動(dòng)其進(jìn)行輸入輸出操作。配置DMA0通道,使其工作于兼容模式并在中斷時(shí)停止數(shù)據(jù)的傳輸。配置AIC23的工作模式為DSP模式并使用IIC方式傳輸數(shù)據(jù)。啟動(dòng)AIC23對(duì)聲信號(hào)進(jìn)行32k采樣速率的采樣。
初始化結(jié)束后進(jìn)行采樣檢測(cè),經(jīng)過(guò)采樣檢測(cè),一旦發(fā)現(xiàn)采集到的信號(hào)滿(mǎn)足分幀條件,即采集到的聲信號(hào)長(zhǎng)度足夠1秒時(shí),就執(zhí)行自動(dòng)聲檢測(cè)算法。
自動(dòng)聲檢測(cè)算法讀出數(shù)據(jù)并進(jìn)行判斷,如果檢測(cè)到的是非碰撞事件,則繼續(xù)執(zhí)行采樣檢測(cè)以等待處理下一秒數(shù)據(jù),這時(shí)軟件在執(zhí)行空循環(huán);當(dāng)自動(dòng)聲檢測(cè)算法檢測(cè)到的是碰撞事件,就向通訊模塊傳遞信息,在GPS模塊確認(rèn)速度和位置信息之后就通過(guò)報(bào)警模塊報(bào)警。此軟件的流程如圖3所示。
軟件流程圖中自動(dòng)聲檢測(cè)算法的設(shè)計(jì)是核心部分,下面做重點(diǎn)介紹。由于不同聲波信號(hào)的幅頻特性和相頻特性不同,不同聲波信號(hào)在各個(gè)頻率段的幅值也存在一定的差異。因此,可利用各個(gè)頻率成分的能量變化來(lái)實(shí)現(xiàn)目標(biāo)識(shí)別。
自動(dòng)聲檢測(cè)算法包括聲音信號(hào)采集和分幀、特征提取、特征降維、特征分類(lèi)四部分,其具體實(shí)現(xiàn)步驟如下:
(1)采集和分幀。將采集到的信號(hào)按每2s分為一幀,幀與幀之間有1s的交疊。對(duì)32k采樣率的芯片來(lái)說(shuō),即每一次只對(duì)2s的片段65536個(gè)點(diǎn)進(jìn)行處理,在訓(xùn)練階段兩個(gè)片段之間有1/2重復(fù)。這樣得到一組數(shù)據(jù)Datai(1≤i≤65535)。
(2)特征提取。對(duì)每一幀信號(hào)數(shù)據(jù)Datai(1≤i≤65535)實(shí)施DWT變換以得到頻域信息,然后根據(jù)得到的頻域信息統(tǒng)計(jì)能量的分布,以此作為識(shí)別交通事故的特征。本算法采用DB1小波,對(duì)每一幀信號(hào),先進(jìn)行一層分解,然后高頻系數(shù)進(jìn)行兩層完整的分解,低頻系數(shù)進(jìn)行10層單向分解得到18組數(shù)據(jù)。計(jì)算得到特征分量F=[E1,E2…E18],En的計(jì)算公式如下:,其中N為Cn的長(zhǎng)度。
(3)特征降維。對(duì)特征提取后的信號(hào)量實(shí)現(xiàn)降維。在提取出的特征分量F的基礎(chǔ)上,本算法采用基于主成分分析(PCA)的異常點(diǎn)檢測(cè)算法檢測(cè)交通事故碰撞聲。原特征F變換后得到公式為,其中H為PCA方法得到的投影矩陣。
(4)特征分類(lèi)。收集正常運(yùn)行和交通事故時(shí)的車(chē)輛周?chē)曇粜盘?hào)樣本,并訓(xùn)練構(gòu)造分類(lèi)器,實(shí)現(xiàn)對(duì)行駛過(guò)程中的聲音分類(lèi)。分類(lèi)器擬輸出兩類(lèi)分類(lèi)結(jié)果:一類(lèi)為正常運(yùn)行聲音,另一類(lèi)為重大交通事故的碰撞聲音。判別條件為:
其中為訓(xùn)練樣本集的特征分量投影。n表示允許偏出給定區(qū)間Ii的最大個(gè)數(shù),當(dāng)n大于某個(gè)閾值時(shí)即為碰撞,反之則不為碰撞。
3 實(shí)驗(yàn)結(jié)果及分析
系統(tǒng)實(shí)驗(yàn)所采用的實(shí)驗(yàn)樣本總數(shù)為200個(gè),分為碰撞樣本和非碰撞樣本兩類(lèi),每類(lèi)都為100個(gè)樣本。碰撞樣本采集于車(chē)輛廠商的碰撞試驗(yàn),非碰撞樣本采集于日常常見(jiàn)各類(lèi)聲音信號(hào)。其中碰撞樣本的長(zhǎng)度為10s,包含完整的車(chē)輛碰撞過(guò)程的聲音,并混有剎車(chē)等常見(jiàn)噪聲。非碰撞樣本的長(zhǎng)度為20s,分為自然環(huán)境類(lèi)、音樂(lè)類(lèi)和語(yǔ)音類(lèi)等幾種聲音。在碰撞樣本中,20個(gè)作為算法的訓(xùn)練樣本,剩下的80個(gè)用于檢測(cè)算法的效果。一般普通聲音的頻譜如圖4 a)所示,而典型的碰撞聲樣本的頻譜如圖4 b)所示。
我們的碰撞聲檢測(cè)儀在一個(gè)模擬的環(huán)境下進(jìn)行測(cè)試,盡可能地還原真實(shí)場(chǎng)景。使用低失真功放裝置反復(fù)對(duì)真實(shí)場(chǎng)景中采集到的碰撞信號(hào)進(jìn)行實(shí)驗(yàn)。并和文獻(xiàn)中的實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比。其中整體成功率是對(duì)判斷對(duì)的樣本總數(shù)和實(shí)驗(yàn)樣本總數(shù)的比值。實(shí)驗(yàn)結(jié)果示于表1。
由實(shí)驗(yàn)結(jié)果可以看出,無(wú)論對(duì)碰撞樣本還是非碰撞樣本,實(shí)驗(yàn)結(jié)果都非常準(zhǔn)確,這說(shuō)明本算法在設(shè)計(jì)上較為合理,在較小的干擾下可以達(dá)到碰撞聲分類(lèi)的目的,和文獻(xiàn)提到的結(jié)果相比,無(wú)論是碰撞樣本還是非碰撞樣本,準(zhǔn)確度都有所提升。
4 結(jié)束語(yǔ)
利用TMS3205509芯片做信號(hào)處理以及TLV320AIC23B做采集芯片的車(chē)輛碰撞報(bào)警裝置,體積小、成本低。此裝置使用分幀的方式對(duì)聲信號(hào)進(jìn)行模式識(shí)別計(jì)算,以實(shí)現(xiàn)車(chē)輛碰撞的及時(shí)報(bào)警。實(shí)驗(yàn)結(jié)果表明,此系統(tǒng)可靠性高、延時(shí)較短、可及時(shí)發(fā)出報(bào)警信號(hào)。此系統(tǒng)的應(yīng)用可提高機(jī)動(dòng)車(chē)輛駕乘人員的安全系數(shù),從而降低駕乘人員的車(chē)禍傷亡率,具有良好的應(yīng)用前景。