一種基于聲信號的車輛碰撞檢測裝置
1.2 DSP模塊
DSP模塊是整個系統的核心,完成音頻信號的采集、控制、存儲、處理以及與外界通訊等功能。選用的是TI公司生產的DSP芯片TMS320V-C5509(簡稱VC5509),它是一款性價比極高的16位定點DSP,具有多個高性能運算單元,系統時鐘為144MHz,指令運算速度高達1OOMMACS,而且提供豐富的片上擴展接口。
VC5509有兩個多通道緩沖串行口(McBSP),McBSP具有與標準串行接口相同的基本功能,并在標準串行接口的基礎之上對功能進行了擴展。本系統使用的語音采集芯片AIC23就通過McBSP和DSP相連接,其連接示意圖如圖2所示。其中CLKX為發送時鐘,CLKR為接收時鐘,它們都和AIC23的系統時鐘BCLK相連。FSX和FSR實現發送和接收的幀同步,對應AIC23的LRCIN和LRCOUT引腳。數據發送引腳DX和數據接收引腳DR分別與AIC23的DIN和DOUT相連,完成串行數據發送和接收操作。本文引用地址:http://www.104case.com/article/197595.htm
VC5509還包含6個可編程的DMA通路,DMA控制器可以無需CPU介入而在內部存儲器、外部存儲器和芯片上外設之間傳輸數據,當操作完成之后,DMA控制器可向CPU發出中斷請求信號。該系統使用了一個DMA通道0,從數據采集模塊讀入數據并寫入外部存儲器的特定位置。當數據采集滿了之后,DMA控制器將產生中斷,控制DSP執行數據處理程序。DMA的使用減少了系統中斷次數,明顯提高了系統的運行速度。
對于聲音采集模塊采集到的聲音數據,由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)。
評論