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