基于腦電的駕駛疲勞檢測系統設計與實(shí)現,包括原理圖、電路圖等
前 言
交通事故是當前世界各國所面臨的嚴重社會(huì )問(wèn)題之一,已被公認為當今世界危害人類(lèi)生命安全的第一大公害,每年因交通事故的原因至少使50萬(wàn)人死亡.歐美各國的交通事故統計分析表明,交通事故中80%~90%是人的因素造成的。根據美國國家公路交通安全署的統計,在美國的公路上,每年由于司機在駕駛過(guò)程中跌入睡眠狀態(tài)而導致大約10萬(wàn)起交通事故,約有1500起直接導致人員死亡,7.1萬(wàn)起導致人員傷害。在歐洲的情況也大致相同,如在德國境內的高速公路上25%導致人員傷亡的交通事故,都是由疲勞駕駛引起的。根據中國交通部的統計,我國48%的車(chē)禍由駕駛員疲勞駕駛引起,直接經(jīng)濟損失達數十萬(wàn)美元。有關(guān)汽車(chē)駕駛員的疲勞檢測問(wèn)題,隨著(zhù)高速公路的發(fā)展和車(chē)速的提高,目前已成為汽車(chē)安全研究的重要一環(huán)。
國外的許多國家都比較重視疲勞駕駛檢測的研究工作。尤以美國的研究發(fā)展較快,目前具有代表性的有:美國研制的打瞌睡駕駛員偵探系統,方向盤(pán)監視裝置,日本研制的DAS2000型路面警告系統,日本研制的電子“清醒帶”。對于國內,我國的疲勞駕駛檢測系統研究起步較晚,目前比較成型的系統很少。對于目前來(lái)說(shuō),不論國內國外,雖然研究的成果較多,但是還未見(jiàn)到一種方法是被大家所公認的。就現在而言,基于腦電波的疲勞駕駛檢測系統被國際上視作為未來(lái)該領(lǐng)域的發(fā)展趨勢。
腦電信號是一種微弱的生物信號,并且極易受到干擾?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/腦電">腦電的疲勞駕駛檢測系統的設計思想為:首先要通過(guò)腦電采集電路采集腦電信號,再對其進(jìn)行小波去噪處理,去掉腦電偽跡和高頻噪聲,最后通過(guò)處理分析腦電信號,從而給出駕駛人員的疲勞程度。系統的基本設計思想如下圖所示:
整個(gè)系統由模擬部分和數字部分組成。
模擬部分主要由信號放大電路,濾波電路,光電耦合電路以及AD6783模數轉換器構成。
數字部分主要由SPI接口控制器(ADC接口),時(shí)鐘管理器,小波去噪模塊和分析處理模塊共同組成。
第一章:模擬部分
前端信號采集電路完整實(shí)現了基于腦電的疲勞檢測系統,總體放大倍數為A=100×70×1.1×2=15400,腦電信號電壓為5μV—100μV,經(jīng)全部采集電路放大濾波后,信號電壓范圍為-1.54V~+1.54V ,經(jīng)電壓抬升后輸入AD信號范圍為0.71V~3.79V,外部采用12V直流供電,內部選用7805產(chǎn)生5V電壓。詳細情況如下:
一、腦電信號采集放大部分:
(1)前置放大電路:前置放大電路是整個(gè)腦電采集儀器設計的關(guān)鍵,它決定了整個(gè)放大電路的共模抑制比、輸入阻抗和噪聲水平。
腦電測量過(guò)程中的共模干擾特別大,腦電信號的放大一般采用差動(dòng)放大電路結構。前置放大電路對集成運算放大器的要求有:高輸入阻抗;高共模抑制比;低噪聲、低漂移;低輸入失調電壓;足夠大的放大倍數及低功耗。本課題中采用AD公司的高性能儀用放大器AD620來(lái)實(shí)現前置放大。此運放有較高的技術(shù)參數,非常適合用于生理信號放大及在電池供電條件下工作的醫療儀器的應用系統。本次電路設計中,放大倍數為100倍,增益反饋電阻選為499歐姆。AD620的放大倍數G由增益電阻決定,增益
:
其中為增益反饋電阻。
二級放大電路:因前置放大后的信號仍然處于比較低的電壓水平上,現采用AD620設計二級放大電路,以進(jìn)一步保證高共模抑制比、低噪聲、低漂移等電路性能,放大倍數選擇為70倍,增益反饋電阻取為715歐姆。
低通濾波電路:低通濾波采用二階巴特沃斯濾波器,采用OP07運放,截止頻率為100赫茲。
由電路,得到傳遞函數:
只有小于3時(shí),即分母中S的一次項系數大于零,電路才能穩定工作,而不產(chǎn)生自激振蕩。
截止頻率為:
(4)50赫茲陷波電路:如下圖,采用典型的二階有源帶阻濾波器。
這是一種典型的二階有源帶阻濾波器,其傳遞函數為:
,式中A是運放增益。
這個(gè)電路的特點(diǎn)是所用器件少,調試方便。如果陷波深度不夠,可采取級聯(lián)方式提高干擾抑制能力??偟膩?lái)說(shuō),50Hz工頻陷波電路在系統中起到一個(gè)很重要的作用。即使在工頻信號淹沒(méi)腦電信號的條件下,通過(guò)濾除5OHz的干擾信號,也可以得到比較理想的腦電信號。所以工頻陷波電路是生物電信號采集中不可缺少的環(huán)節。本電路通過(guò)50Hz陷波器的引入,成功的去除了50Hz工頻干擾。
高通濾波電路:人體中存在極化電位,這些電信號是直流信號,因此需要設計高通濾波器將這些直流濾除。采用一個(gè)簡(jiǎn)單的一階有源RC高通濾波電路,截止頻率為0.1Hz,增益為2。電路如下:
電壓抬升電路:腦電信號是雙極性型號,由于A(yíng)D轉換器對輸入信號的電壓要求為正,故在A(yíng)D轉換之前,通過(guò)電壓抬升電路,把信號的幅度調整為正,同時(shí)通過(guò)適當調整電壓值浮動(dòng)范圍,確保與之后的模數轉換電路匹配。電路中采用了可穩定地提供4.5V的基準電壓的電壓基準源MAX6107。電路如下:
在反向比例運算電路中,同向輸入端通過(guò)電阻接地,此為補償電阻,以保證集成運放輸入級差分放大電路的對稱(chēng)性,須滿(mǎn)足
。
由電路得:
。
差分比例電路中,在參數對稱(chēng)前提下,電路實(shí)現了對輸入差模信號的比例運算,最后得:
二、模數轉換部分:
AD轉換電路——光耦隔離電路
(1)AD轉換電路:采用16位采樣速率可調的A/D轉換芯片,不但保證了A/D轉換的精度,而且可以滿(mǎn)足并更改需要的A/D的轉換速率。
AD7683是AD公司生產(chǎn)的一種低功耗高精度16位高速串行A/D轉換器,它適用于儀器儀表、便攜式探測器及各種電池供電的應用場(chǎng)合。采用AD7683和MAX6107設計的A/D轉換電路圖如下:
(2)光耦隔離電路:在腦電采集電路與FPGA開(kāi)發(fā)板之間,采用光耦隔離電路做接口,把兩者隔離開(kāi),防止FPGA開(kāi)發(fā)板上的高頻數字信號對腦電采集電路的干擾。同時(shí),光耦隔離電路還有電壓轉換的作用,由于A(yíng)D轉換芯片的工作電壓為5V,其輸出的數字信號電壓也可達5V,而FPGA芯片的管腳電壓為3.3V。光耦隔離兩端采用不同的上拉電壓以實(shí)現兩者的匹配。
6N136是一個(gè)高速光耦芯片,其工作速度可達1Mbit/s,帶寬為2MHz。圖中,U14、U15和U16分別對DCLK、DOUT和CS進(jìn)行隔離,U17對電源控制信號POWER進(jìn)行隔離。
第二章:數字部分
- SPI控制模塊的實(shí)現
我們采用16位串行A/D轉換器AD7683,其工作時(shí)序如下圖所示:
DCLOCK為AD7683時(shí)鐘控制信號,由FPGA產(chǎn)生。CS為AD7683選通信號,低電平有效,由FPGA產(chǎn)生。一次A/D轉換至少需要22個(gè)時(shí)鐘周期,至多為24個(gè)時(shí)鐘周期。Dout為AD7683轉換輸出信號為串行總線(xiàn),與FPGA相接,為FPGA提供數據。
依據該時(shí)序要求,我們設計了SPI控制器。SPI控制器主要由有限狀態(tài)機實(shí)現。狀態(tài)機轉換邏輯,如下圖所示:
依據狀態(tài)機邏輯轉換圖,我們設計程序,經(jīng)過(guò)modelsim仿真得到如下圖:
此設計符合AD7683的時(shí)序邏輯。
- 時(shí)鐘管理器
依據腦電信號的特點(diǎn),我們的采樣平率為256Hz,我們采用33MHz的系統時(shí)鐘,對其進(jìn)行11分頻,得到3MHz在對其進(jìn)行相應的分頻后,分別得到6.144KHz(SPI控制器工作頻率), 4.608KHz(第一級小波工作頻率,FFT工作頻率), 2.304KHz(第二級小波工作頻率), 1.152KHz(第三級小波工作頻率), 576Hz(第四級小波工作頻率)。
時(shí)鐘管理器示意圖如下所示:
- 小波去噪模塊的實(shí)現
離散小波的基本原理
小波變換是一種信號的時(shí)間—尺度(時(shí)間—頻率)分析方法,它具有多分辨率分析(Multi-resolutionAnalysis)的特點(diǎn),而且在時(shí)頻兩域都具有表征信號局部特征的能力,是一種窗口大小固定不變,但其形狀可改變,時(shí)間窗和頻率窗都可以改變的時(shí)頻局部化分析方法。即在低頻部分具有較高的頻率分辨率和較低的時(shí)間分辨率,在高頻部分具有較高的時(shí)間分辨率和較低的頻率分辨率,很適合于探測正常信號中夾帶的瞬態(tài)反?,F象并展示其成分,所以被譽(yù)為分析信號的顯微鏡。
依據腦電信號自身特性,我們選擇DB4小波,圖為小波變換的示意圖:
離散小波變換的整體設計思想
采用四級小波分解,每一級的小波系數由FIFO進(jìn)行暫存,協(xié)同去噪模塊進(jìn)行讀取,去噪,以及去噪后的合成工作,整個(gè)離散小波變換采用流水結構,其中小波分解和小波合成兩個(gè)模塊可達到262MHz,小波去噪模塊可達到167MHz,整個(gè)離散小波模塊可以達到167MHz。
MALLAT算法
MALLAT算法是由法國科學(xué)家于1988年提出的一種離散小波變換(DWT)的快速算法。該算法的地位相當于快速福利葉變換在經(jīng)典傅里葉分析中的地位,已成為各種硬件實(shí)現的直接理論依據。MALLAT算法中的核心是濾波模塊,由濾波模塊實(shí)現小波的分解與合成,下圖給出MALLT算法的小波分解示意圖:
小波去噪模塊核心設計
補碼運算器
AD采樣輸出的為數據的原碼,我們需要將其變換為補碼。
對于正數而言,它的原碼等于它的補碼;對于負數而言,它的補碼是對其原碼除符號位之外進(jìn)行取反后加一處理。因此,補碼器的設計示意圖如下:
DA算法及其濾波器的實(shí)現
DA算法是distributed arithmetic算法的簡(jiǎn)稱(chēng)。中文譯為分布式算法。小波濾波器的實(shí)現采用分布式算法實(shí)現。分布式算法作為一項數字信號處理算法,廣泛應用于計算乘積和運算,與傳統的乘積和結構相比,DA算法具有并行處理的高效性特點(diǎn)。若采用分布式算法實(shí)現小波濾波器,則它在FPGA中的工作速度只與輸入數據的寬度B有關(guān),與濾波器的階數N無(wú)關(guān),階數只影響FPGA資源的使用量。
在高速環(huán)境下,往往使用DA算法封裝成一個(gè)乘法器代替DSP進(jìn)行使用,從而實(shí)現濾波器的設計工作,但是這樣過(guò)于耗費資源。我們通過(guò)分析卷積原理,優(yōu)化了濾波器實(shí)現結構,這樣不僅節省了大量的資源,而且在速度上也完全可以滿(mǎn)足實(shí)時(shí)高速要求。具體優(yōu)化為:
(1)使用串并轉換結構,從而達到復用乘法器的目的,可以指數倍的節省硬件資源。
基于這種結構的濾波器無(wú)論是多少階的濾波器都只使用一個(gè)DA乘法器。
(2)多位并行查找表結構,速度大大提高。
濾波器實(shí)現結構示意圖如下:
依據該濾波器結構,編寫(xiě)程序,經(jīng)過(guò)modelsim仿真得到如下圖:
下面給出MATLAB仿真
注意:此時(shí)的濾波器已經(jīng)實(shí)現了下兩點(diǎn)抽取,因此x_out顯示的為MATLAB中y輸出的偶數點(diǎn)。
經(jīng)MATLAB驗證,濾波器設計無(wú)誤。
下兩點(diǎn)采樣器
依據MALLAT算法,我們要對每一級輸出的數據進(jìn)行下兩點(diǎn)采樣處理,因此我們設計的下兩點(diǎn)采樣器示意圖如下:
異步FIFO(1024點(diǎn))
異步FIFO在整個(gè)系統中,擔當系統暫存的作用,因此要保證數據的丟失概率足夠的低,因而需要設計一個(gè)高可靠的,高速率的異步FIFO需要解決以下問(wèn)題:
(1)同步異步信號,使觸發(fā)器避免亞穩態(tài)的產(chǎn)生。我們采用了兩措施解決這一問(wèn)題:
a).對寫(xiě)地址/讀地址采用格雷碼。
b).采用觸發(fā)器來(lái)同步輸入信號。
(2)產(chǎn)生正確的滿(mǎn)/空標志信號。我們通過(guò)設置額外狀態(tài)位的辦法來(lái)準確判斷滿(mǎn)/空狀態(tài)。
判斷滿(mǎn)/空標志的公式:
Empty=(讀指針=寫(xiě)指針);
Full=(讀指針最高位/=寫(xiě)指針最高位)and (讀指針其它位=寫(xiě)指針其它位);
243點(diǎn)中值選取器
243點(diǎn)中值選取器的基本作用就是選取hi_d1小波系數中的中間值,之后對中間值進(jìn)行簡(jiǎn)單運算處理,從而得到小波去噪的門(mén)限值,以便進(jìn)行之后的小波去噪運算。
在計算機應用當中,中值算法已經(jīng)相當成熟,高效。但對于FPGA來(lái)講,還沒(méi)有發(fā)現一種既節省資源又可以執行效率高的中值算法。因此我們采取了諸多嘗試,首先我們嘗試著(zhù)修改計算機中的冒泡法以便可以移植到FPGA中應用,但是我們發(fā)現假如將冒泡法利用在FPGA上會(huì )出現以下情況:
(1)無(wú)法綜合或者很難綜合,極易產(chǎn)生錯誤
(2)嚴重耗費資源,延時(shí)不佳,若243點(diǎn)中值采用冒泡算法占用資源量是一般FPGA所吃不消的。
后來(lái)我們又嘗試過(guò)幾種算法,例如基于三點(diǎn)中值選取器的全流水結構的243點(diǎn)中值選取器,資源占用雖然有所改善,但是耗費資源依然嚴重,需要耗費10000多個(gè)以上LUT,一般的FPGA仍然很難吃消。
而后,我們通過(guò)分析基于三點(diǎn)中值選取器的結構的全流水結構,發(fā)現了3點(diǎn)中值選取器利用率過(guò)低,所以經(jīng)過(guò)重新設計我們采用了一種新的設計結構:一種基于復用9點(diǎn)中值選取器的全流水的243點(diǎn)中值選取器,該種結構較基于三點(diǎn)中值選取器的全流水結構可以節約94%的LUT資源,并且時(shí)鐘頻率仍然保持在175MHz以上。
其核心思想為:將大量數據進(jìn)行分段處理,做到少量多次,并且使用流水結構達到實(shí)時(shí)處理關(guān)鍵要求。
分析以上結構,如果我們將第三級的3點(diǎn)中值選取器更換為9點(diǎn)中值選取器,那么它將可以實(shí)現729點(diǎn)的中值選取功能,而若使用基于三點(diǎn)中值選取器的全流水結構來(lái)實(shí)現729點(diǎn)中值選取的功能那么其資源耗費可想而知。如下圖所示為兩者資源耗費的關(guān)系圖例:
3點(diǎn)中值選取器
3點(diǎn)中值選取器的基本功能是完成對于三個(gè)輸入數據完成尋找其中值的功能,設計流程圖如下圖所示:
9點(diǎn)中值選取器
9點(diǎn)中值選取器的構造是基于3點(diǎn)中值選取器的全流水結構,其結構示意圖如下圖所示:
根據結構示意圖,編寫(xiě)程序,經(jīng)modelsim仿真,得到如下圖:
我輸入的數據1-486,則算出的中值為122和365,這與邏輯分析相同,設計正確無(wú)誤。
去噪分析器
去噪分析器的基本功能是完成hi_d4與去噪門(mén)限的比較,如果hi_d4大于去噪門(mén)限就認為是噪聲,則此點(diǎn)被置零,如果hi_d4小于去噪門(mén)限則保持不變輸出。設計流程圖如下圖所示:
小波分解模塊的實(shí)現
依據MALLAT算法,小波分解模塊主要是實(shí)現對于腦電信號的各個(gè)頻譜分量的分解工作,而MALLAT算法實(shí)現的關(guān)鍵在于小波濾波器。下圖為小波分解模塊的結構示意圖:
數據經(jīng)補碼器流入小波分解高通濾波器(HI_D)和小波分解低通濾波器(LO_D)濾波后經(jīng)下兩點(diǎn)采樣后完成一級小波分解運算,小波的高通系數被寄存在FIFO當中等待合成運算。小波的低通系數繼續流入下一級小波分解模塊,對信號進(jìn)一步分解。
以上是通用的小波分解算法,其優(yōu)點(diǎn)是適用于各種信號的分解,但是我們通過(guò)分析本次課題設計的目的可知:腦電信號的頻率范圍是從1Hz~250Hz,而我們所關(guān)心的只有10~13Hz和18~22Hz的頻帶信息,即我們只關(guān)心腦電信號50Hz以下的頻帶信息,其余的頻帶信息在本次課題設計中是無(wú)用的,因此我們依據小波分解的概念,提出了更為節省資源的小波分解模塊的實(shí)現方法;下圖為應用于腦電疲勞檢測的小波分解模塊的結構示意圖:
該種結構節約了兩個(gè)小波高通濾波器(HI_D)和兩個(gè)1024點(diǎn)的FIFO,節約資源不可忽視。
小波合成模塊的實(shí)現
小波合成模塊主要是為了實(shí)現在小波去噪之后的各級小波系數的合成工作。根據MALLAT算法,小波合成的實(shí)現依然要依靠小波合成高通濾波器(HI_R)和小波合成低通濾波器(LO_R)。下圖為小波合成模塊的結構示意圖:
以上是通用的小波合成算法,其優(yōu)點(diǎn)是適用于各種信號的合成,但是我們通過(guò)分析本次課題設計的目的可知:腦電信號的頻率范圍是從1Hz~250Hz,而我們所關(guān)心的只有10~13Hz和18~22Hz的頻帶信息,即我們只關(guān)心腦電信號50Hz以下的頻帶信息,其余的頻帶信息在本次課題設計中是無(wú)用的,因此我們依據小波合成的概念,提出了更為節省資源的小波合成模塊的實(shí)現方法;下圖為應用于腦電疲勞檢測的小波合成模塊的結構示意圖:
以上節約了兩個(gè)FIFO,節約資源不可忽視。
- 分析處理模塊的實(shí)現
腦電信號與疲勞檢測的基本理論
腦電信號與人體疲勞的關(guān)系
近年來(lái)學(xué)者對腦電的研究表明,18~22 Hz及更高頻率的腦電主要是大腦思維活動(dòng)活躍的體現,所以當駕駛員處于疲勞狀態(tài)時(shí),大腦的思維活動(dòng)會(huì )降低,從而β波及高頻腦電會(huì )減少,而腦電的α波會(huì )增多;當從疲勞轉為瞌睡或睡眠狀態(tài)時(shí),占主導的腦電頻率會(huì )逐步降低為2~4Hz的δ波。
經(jīng)過(guò)學(xué)者的分析,如果使用10~13 Hz和18~22 Hz兩個(gè)頻帶的平均功率譜比值作為疲勞駕駛腦電的一個(gè)指標是可行的。
設信號在頻帶h的平均功率譜密度為
式中:
疲勞狀態(tài)下,無(wú)論駕駛員處于何種動(dòng)作狀態(tài)下,R值都比精力充沛時(shí)R值要高。
處理分析模塊的整體結構及其功能
分析處理模塊主要完成對信號的分析處理工作,從而最終給出腦電的駕駛疲勞系數。其結構示意圖如下圖所示:
經(jīng)小波去噪模塊后的數據,逐個(gè)進(jìn)入FIFO進(jìn)行寄存,同時(shí)讀時(shí)能計數器自動(dòng)加1,當FIFO中寄存了256個(gè)數據時(shí),此時(shí)讀時(shí)能寄存器計數值也為256,此時(shí)發(fā)出讀時(shí)能信號給FIFO同時(shí)發(fā)出開(kāi)始信號給FFT,數據將以CLK_fft的時(shí)鐘節拍下從FIFO中讀出進(jìn)入FFT模塊,FFT開(kāi)始進(jìn)行快速傅里葉計算,之后將結果進(jìn)行數據輸出,同時(shí)帶有地址信息,選擇乘法器選擇地址信息為10-13,18-22點(diǎn)的數據進(jìn)行乘法運算之后進(jìn)行加法運算并分別輸出為10-13Hz的實(shí)數加和結果(RE_13),10-13Hz的虛數加和結果(IM_13),18-22Hz的實(shí)數加和結果(RE_18)和18-22Hz的虛數加和結果。將RE_13和IM_13做加和運算作為除法器的被除數,將RE_18和IM_18做加和運算作為除法器的除數,最后完成兩者的除法運算,給出疲勞系數(即除法器的商和余數)。
FFT core的調用
我們調用的為256點(diǎn)的FFT的CORE,采用流水結構,輸入輸出位寬為17位,使用縮放因子,設置截位處理為項下截取,順序輸出,選擇使用BLOCK RAM,未進(jìn)行任何特殊優(yōu)化。
FFT主要完成的功能就是對信號進(jìn)行時(shí)頻域變換,從而可以對其進(jìn)行頻譜能量的相關(guān)計算。在本次課題設計當中我們主要關(guān)心的為10-13Hz 和18-22Hz的腦電頻譜成分,對應到FFT上約為10-13點(diǎn)和18-22點(diǎn)的X(K)。
選擇乘法器
選擇乘法器的基本工作就是根據地址信息,選擇性的選取數據進(jìn)行乘法運算,該乘法運算調用了DSP48E模塊,并將乘法結果輸出到加法器當中進(jìn)行累加運算。從而得到實(shí)部乘積和虛部乘積。其結構示意圖如下所示:
加法器
加法器的基本功能就是完成加法運算。
除法器
對于所有的FPGA綜合軟件都可以綜合“+,-,*”三種算術(shù)運算,但是不能綜合除法運算,即使在計算機中所有的除法運算也是通過(guò)乘法運算間接完成的,因此在FPGA當中設計除法器是一個(gè)難點(diǎn)。
常用的除法算法主要有兩種,一種為線(xiàn)性收斂,另一種為二次收斂方案。
我們采用線(xiàn)性熟練的除法算法,即restoring(還原)除法,首先調整分母并加載分子到余數寄存器中,然后從余數中減去調整的分母并將結果存在余數寄存器中,如果新的余數為正,我們就將商加1,否則商不變并且還需要通過(guò)加上分母來(lái)還原從前的余數值。我們采用狀態(tài)機對其進(jìn)行實(shí)現。
疲勞判決的預警裝置
依據文獻所給出的如下數據:
數據表明:疲勞狀態(tài)下,無(wú)論是處于靜坐、平穩駕駛還是換擋操作下,腦電α和β波的R值(3·00~4·00)都比精力充沛時(shí)的R值(1·00~1·50)要高,說(shuō)明腦電α和β波的R值能較好地反映出疲勞時(shí)的腦電特性.而腦電α波和δ波在疲勞狀態(tài)下的R值(0·40~1·30)與精力充沛狀態(tài)下的R值(0·10~0·70)相比,就相差較小,有交叉區間,不能明確區分兩種狀態(tài).這是因為δ波頻率為2~4Hz,容易受到身體移動(dòng)等干擾的影響.因此,用腦電α和β波頻帶的平均功率譜密度比值R作為疲勞的腦電特征量是比較合適的.
依據以上數據與結論,我們設計了一種簡(jiǎn)單的預警裝置。
第三章:開(kāi)發(fā)總結及其擴展方向
一.開(kāi)發(fā)總結
(1)系統分為模擬采集和數字處理兩個(gè)部分:
模擬采集部分主要完成了對于腦電信號的提取放大和去噪的基本任務(wù)并通過(guò)串行轉換器AD7683將AD轉換后的腦電信號傳送給FPGA當中。
數字處理部分主要完成了對于腦電信號的小波分解,去噪,合成的基本步驟從而實(shí)現了小波去噪功能,得到較為純凈的腦電信號,之后對腦電信號進(jìn)行分析處理,主要完成了FFT運算,得到10-13Hz,18-22Hz的頻帶信息,并對其進(jìn)行功率運算,最后利用除法器取其比值從而得到基于腦電的疲勞駕駛系數,做出了預警處理,提高了駕駛人員的駕駛安全系數。
(2) 系統的最高頻率為167MHz左右,總資源使用率為10256個(gè)slice(占總資源數的14%),4個(gè)block ram(占總資源數的2%),16個(gè)DSP48ES(占總資源數的21%),小波分解與合成的速率在262MHz左右。系統工作速率的主要瓶頸在于243點(diǎn)中值選取器,代碼及算法優(yōu)化后,可望進(jìn)一步提高小波去噪的整體工作頻率。
(3)對于基于腦電信號的疲勞檢測我們現在仍然處于探索階段,因此還不能完確把握24個(gè)電極疲勞系數的融合方法,從而給出一個(gè)更為精確,科學(xué)的駕駛疲勞系數,但以初步完成了對于駕駛疲勞的測定,對今后的設計有很大的參考價(jià)值。
(4)如果繼續優(yōu)化代碼和系統結構將系統使用資源降到最低,那么我們可以使用FPGA的低端產(chǎn)品進(jìn)行開(kāi)發(fā),從而大大降低了開(kāi)發(fā)成本。
(5)本系統通過(guò)有線(xiàn)形式對腦電進(jìn)行采集,這對于一個(gè)駕駛中的人來(lái)講是極其不方便的,因此對于腦電采集我們可以采取無(wú)線(xiàn)方式。
二.創(chuàng )新點(diǎn)總結
(1)DA濾波器的結構改進(jìn),硬件資源成指數倍的節約。主要對一下兩方面做出了改進(jìn)優(yōu)化:
a).使用串并轉換結構,從而達到復用乘法器的目的,可以指數倍的節省硬件資源。
基于這種結構的濾波器無(wú)論是多少階的濾波器都只使用一個(gè)DA乘法器。
b). 多位并行查找表結構,速度大大提高。
(2)243點(diǎn)的中值選取器的創(chuàng )新結構(基于復用9點(diǎn)中值選取器的全流水結構),硬件資源節省都在90%以上,而且效率保持在很高的一個(gè)水平,約為167MHz。該結構的優(yōu)勢相對于3點(diǎn)中值選取器的全流水結構的優(yōu)勢在于其點(diǎn)數越多所能節約的硬件資源會(huì )越多,經(jīng)理論計算甚至可以節約資源達到98%左右。
(3)依據腦電信號的自身特點(diǎn),我們提出了小波分解與合成的更為節省資源的結構,使得將腦電信號的小波去噪模塊移植到低端FPGA上成為可能。在本次課程設計當中,我們只需要10-13Hz和18-22Hz的頻帶信息,因此在小波分解時(shí)可以舍去其高頻信號的濾波,而直接判定其為零,這樣可以大大節約硬件資源。
(4)首次在FPGA實(shí)現了基于腦電的駕駛疲勞檢測的整個(gè)系統。對于今后FPGA在腦電信號的應用與開(kāi)發(fā)領(lǐng)域起到了一定的參考作用。
三.擴展方向
(1)本次開(kāi)發(fā)所設計的小波去噪模塊是具有通用性的,不僅可以用于腦電信號的去噪,還可以應用在心電信號,肌電信號,地震信號,雷達信號,通信信號及其他各種相關(guān)類(lèi)似信號的去噪工作上。
(2)單對腦電信號而言經(jīng)過(guò)小波去噪后,可以應用于腦機接口技術(shù)的開(kāi)發(fā),大腦病變信號的醫療檢測,以及腦電信號在假肢上的應用等。
評論