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