?一、項目開發(fā)的意義:
目前采用的非接觸液體檢測設備,經(jīng)常出現(xiàn)虛警的情況,極易引起乘客與安檢人員的爭執(zhí),影響機場及公共場所的安全秩序。特別是漏報概率不可忽視,造成很大的安全隱患。因此現(xiàn)在液體非接觸安檢設備難以滿足實用化的要求。
造成液體非接觸安檢設備無法實用化的原因是多樣的。這其中裝有液體的容器(多為瓶狀容器)對于液體非接觸檢測的影響是巨大的,不容忽視的。實驗表明,一個瓶體的材質(zhì)與厚度對于液體非接觸檢測的虛警概率與漏報概率存在較大影響。因此如何精確對瓶體的材質(zhì)進行分類與測厚成為了目前較為關注的焦點問題。
超聲波是頻率在20KHz以上的聲波,超聲波的波長比一般聲波短,具有較好的方向性,且能穿透透明和不透明的物質(zhì),被廣泛用于金屬探傷、距離測量、厚度測量,并在海洋探查與開發(fā)、無損檢測與評價、醫(yī)學診斷等領域發(fā)揮著不可取代的作用。超聲檢測技術(UT)是五大常規(guī)檢測技術中使用最多的一種。超聲波瓶體材質(zhì)分類與測厚是超聲檢測的一種。它有成本低、使用方便、速度快、對人體無害以及便于現(xiàn)場使用等特點。也因此它是一種發(fā)展較快的一種無損測厚技術。超聲波瓶體材質(zhì)分類與測厚是一種非接觸檢測技術,不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護、不污染、高可靠、長壽命等特點。
除此之外,超聲波對瓶體的相關檢測,還廣泛應用于環(huán)境監(jiān)測和食品安全等多個領域當中。
發(fā)展綜述:
目前,國內(nèi)超聲波測厚技術發(fā)展的比較快,20世紀60年代末期,已有國產(chǎn)的電子管式渦流測厚儀應市。隨著新型工業(yè)材料的開發(fā),微電子技術應用和標準化事業(yè)進程,尤以近十年來,測厚技術得到迅猛發(fā)展,測厚儀在電路設計,新型傳感器應用,測頭的多制式與通用性,量值顯示與數(shù)據(jù)打印,測控功能擴展及智能化諸方面,都不斷取得突破與創(chuàng)新。這些技術的發(fā)展促使著超聲波測厚儀器的不斷成熟,它憑借其小型輕便、操作簡單、對被測物表面光潔度要求不高、測量范圍大等特點用于航海、航天、汽車制造等行業(yè),帶來了巨大的經(jīng)濟效益和社會效益,已在世界各主要工業(yè)國家得到重視和應用。
但是,最新的API.5C標準要求對壁厚進行快速,連續(xù)測量,很久以來,眾多國內(nèi)外研究機構和企業(yè)有關人員一直致力于此研究,但結果并不理想,同時超聲波對于材質(zhì)的分類技術仍然處于研究階段,其具體實際應用還未見報道。
項目開發(fā)內(nèi)容:
課題項目主要圍繞如何對瓶體材料進行分類和以及如何測量瓶體厚度開展研究工作。超聲波發(fā)射探頭和超聲波接收探頭是該項目的主要傳感器,完成對超聲波的發(fā)送以及對回波的檢測工作;之后對相關信號進行A/D轉換,低通去噪處理;將經(jīng)過去噪后的信號首先應用信號的自相關理論,從而精確提取出收發(fā)信號的延時情況;與此同時,我們還要通過FFT得到回波信號的頻譜情況以及通過幅度提取模塊獲得收發(fā)信號的衰減信息;我們對得到回波頻譜信息,收發(fā)信號延時情況,收發(fā)信號衰減情況進行統(tǒng)一的邏輯綜合分析,得出人工神經(jīng)網(wǎng)絡的四點輸入信息;利用得到的四點輸入信息,我們采用人工神經(jīng)網(wǎng)絡算法,并通過離線學習構建出一個能夠對瓶體材料進行分類的方法;最后我們可以完成一種可自動識別瓶體材質(zhì)的瓶體測厚功能。
項目創(chuàng)新點:采用大量高效算法,設計了一種精度高,速度快的測厚系統(tǒng),同時利用人工神經(jīng)網(wǎng)絡,訓練出一種可以自動識別瓶體材質(zhì)(塑料,玻璃,陶瓷)的系統(tǒng)。
項目基本要求:
可測材料塑料、玻璃、陶瓷
探頭頻率5Mhz
測量精度1%*厚度值0.05mm
使用環(huán)境-10~60(攝氏度)
二.項目擬定初步方案介紹
1.項目開發(fā)整體方案框圖介紹
1.1 超聲波發(fā)射與接收電路,如圖1所示:
發(fā)射電路
發(fā)射電路產(chǎn)生能激發(fā)超聲波超聲波傳感器的高壓(300伏以上)尖峰脈沖信號。脈沖發(fā)生器的輸入信號由FPGA產(chǎn)生。本方案采用的是非諧振式發(fā)射電路,如圖3所示:
圖3 發(fā)射電路
非諧振式發(fā)射電路的工作原理是:當閘流管(或可控硅)導通時,電容C放電,產(chǎn)生一短脈沖,激勵探頭中的壓電陶瓷鏡片使其發(fā)射超聲脈沖。在設計中,需要考慮脈沖信號的厚度,即一次連續(xù)發(fā)射脈沖的數(shù)量,對測量儀的精度有著重要影響。厚度越大,發(fā)射功率越大,發(fā)射波的拖尾信號越大,相應的測量盲區(qū)越大。反之測量盲區(qū)越小。但是發(fā)射功率小時,回波信號不明顯,同樣影響檢測結果。
接收電路
超聲波探頭接收到的回波信號幅值非常小,背景噪聲較為嚴重時,可能出現(xiàn)號的幅度幾乎與噪聲的幅度相當,甚至淹沒在噪聲中的情形。如果不采取有效的信號提取技術去抑制干擾的影響,測量就無法進行。要保證測量的成功,就必須合適的手段來增強信號和消除噪聲的影響。該接收電路由放大電路(三級),檢波電路,比較電路等組成,如圖4所示:
圖4 接收放大電路
在單探頭測后時,發(fā)射接收探頭集成在一起,很高的發(fā)射電壓直接加到接收電路的輸入端,為了保證運放的正常工作,并且,較高電壓使鏡片產(chǎn)生穿透力更強的超聲信號。在運放前端加兩個二極管D1,D2組成鉗位電路,使傳感器激發(fā)時的瞬變信號經(jīng)過D1,D2的組成的鉗位電路被限制在±0.7V,是輸入到預案算放大器的高壓信號得到鉗位,對于微小信號,因為a點電位與b點電位間差值很小,開關二極管被截止微信號直接輸入到運算放大器中,使運算放大器的輸入被限幅,起到保護運放的作用。
1.2 瓶體材質(zhì)分類與瓶厚檢測部分,如圖2所示:
信號去噪功能塊,它主要用于收發(fā)信號的去噪處理。主要包括兩個64階低通濾波器模塊,其實現(xiàn)我們采用改進的DA算法。
譜分析功能塊,它主要用于完成對于接收探頭信號的傅里葉譜分析。主要包括FFT模塊,其實現(xiàn)方式我們調(diào)用FFT IP Core。
延時測定功能塊,它主要利用信號的自相關去測定收發(fā)信號的延時情況。引用自相關算法較利用MCU提取延時信息相比,具有提取延時準確的特點。主要包括卷積模塊,門限比較模塊。
衰減測定功能塊,它主要測定了收發(fā)信號的幅度衰減狀況。主要包括幅度提取模塊,定時信息控制模塊,除法器模塊。
瓶體分類功能塊,它的應用目的是通過離線式學習,建立一種可以分辨三種瓶體材質(zhì)(陶瓷,玻璃,塑料)的分類系統(tǒng)。主要包括人工神經(jīng)網(wǎng)絡模塊,判決電路模塊。
瓶體厚度計算功能塊,它需要紅外溫度傳感器的溫度值和瓶體材質(zhì)分類的結果作為先驗條件,然后利用厚度計算的相關公式計算出瓶體的厚度。主要包括厚度計算模塊。
系統(tǒng)主控功能塊,它完成整個系統(tǒng)對于外設的時序控制工作。主要包括2個A/D控制,紅外溫度傳感器控制,LCD控制,超聲波主控邏輯控制。
2.重點模塊實現(xiàn)算法介紹
2.1 位串分布處理算法(DA算法)簡介
DA算法是distributed arithmetic算法的簡稱。中文譯為分布式算法。小波濾波器的實現(xiàn)采用分布式算法實現(xiàn)。分布式算法作為一項數(shù)字信號處理算法,廣泛應用于計算乘積和運算,與傳統(tǒng)的乘積和結構相比,DA算法具有并行處理的高效性特點。若采用分布式算法實現(xiàn)小波濾波器,則它在FPGA中的工作速度只與輸入數(shù)據(jù)的寬度B有關,與濾波器的階數(shù)N無關,階數(shù)只影響FPGA資源的使用量。
位串分布的分布式算法是先從最低位開始的,將所有輸入數(shù)據(jù)的最低位組合在一起當作查表的地址,對查找表進行尋址,得到了一個查表后的結果,然后將查表結果與右移一位的寄存器值進行相加或相減運算,將運算的結果放到寄存器當中,然后輸入數(shù)據(jù)的所有次低位開始對查找表尋址得到另一個查表后的結果,所得到的結果與右移一位的寄存器的結果即上一個存儲在寄存器的結果相加,如此重復進行下去,直到將所有的位數(shù)都進行完運算。特別注意,對于有符號數(shù),在最高位進行查表運算后得到的值應該與右移一位的寄存器的結果相減,并且負數(shù)是用補碼的形式表達的。
位串分布乘法器的基本結構,如圖5所示::
圖5 串分布的濾波器結構
本項目中DA算法主要應用于:人工神經(jīng)網(wǎng)絡和FRI數(shù)字濾波器的乘法器設計。
(1)改進后的分布式處理算法實現(xiàn)FIR數(shù)字濾波器的簡介
首先,我們研究一下串行分布式算法的可行性,要實現(xiàn)一個18位的64階的FIR高階分布式濾波器,占用資源的大小與數(shù)字濾波器的階數(shù)K有關。當K=64時,F(xiàn)IR數(shù)字濾波器至少需要用264個單元來儲存數(shù)值,并且在建立查找表時,需要建立264個數(shù)供查找時使用。這些數(shù)的規(guī)模是相當大的,若直接在FPGA芯片上實現(xiàn)一方面FPGA的存儲器資源無法滿足,另一方面要建立264個數(shù)的查找表,工作量是很大的。當位寬為18時,全串行分布式算法的FIR濾波器計算一個濾波結果時需要進行18次得移位相加,這樣運算速度會較慢,無法滿足實時性的要求。即使引入流水線技術,全串行分布式算法的FIR數(shù)字濾波器的運算速度也不是很高,查找表的資源占用量依然巨大。雖然現(xiàn)在FPGA的性能都已經(jīng)大幅提高,但是采用全串行的分布式算法實現(xiàn)的18位64階FIR數(shù)字濾波器依然無法滿足資源和運算速度的要求。
在這種情況下,我們對分布式處理算法的兩個方面進行了改進:
將整個FIR數(shù)字濾波器分成幾個FIR子濾波器的級聯(lián)的形式,這樣每一個子濾波器的查找表的資源占用量會減少,同時建立查找表所需要的工作量也會減少很多。其結構如圖6所示:
圖6 高階濾波器分解為低階濾波器的示意圖
FIR數(shù)字濾波器的輸入數(shù)據(jù)位寬決定了移位相加運算的次數(shù),為了提高FIR數(shù)字濾波器的運算速度,可以將輸入數(shù)據(jù)的位寬分成m段的L比特的位寬,將這m段分解后的數(shù)同時進行查表運算,這樣可以提高數(shù)據(jù)的運算速度。其結構如圖7所示:
圖7 數(shù)據(jù)位分段FIR濾波器的示意圖
若同時對DA算法的這兩個方面進行改進,我們就提出了改進的DA算法,與此同時,我們提出了一種基于改進DA算法的64階低通濾波器的實現(xiàn)方案。
本項目中改進的DA算法主要應用于:64階低通濾波器的設計,其結構如圖8所示:
圖8 基于改進DA算法的128階低通濾波器的實現(xiàn)
(2)人工神經(jīng)網(wǎng)絡算法簡介
人工神經(jīng)網(wǎng)絡(Artificial Neural Networks,ANN)是在現(xiàn)代神經(jīng)生物學研究基礎上提出的模擬生物過程以反映人腦某些特性的計算結構。它不是人腦神經(jīng)系統(tǒng)的真實描寫,而只是它的某種抽象、簡化和模擬。神經(jīng)元及其突觸是神經(jīng)網(wǎng)絡的基本器件。因此,模擬生物神經(jīng)網(wǎng)絡應首先模擬生物神經(jīng)元。在人工神經(jīng)網(wǎng)絡中,神經(jīng)元常被稱為“處理單元”。有時從網(wǎng)絡的觀點出發(fā)常把它稱為“節(jié)點”。人工神經(jīng)元是對生物神經(jīng)元的一種形式化描述,它對生物神經(jīng)元的信息處理過程進行抽象,并用數(shù)學語言予以描述;對生物神經(jīng)元的結構和功能進行模擬,并用模型予以表達。
為了模擬生物神經(jīng)元,一個簡化的人工神經(jīng)元,如圖9所示。該神經(jīng)元是一個多輸入單輸出的非線性元件。
圖9 簡化的神經(jīng)元模型
人工神經(jīng)元模型可以看成是由三個基本要素組成:
一組連接權(對應于生物神經(jīng)元的突觸),連接強度由各連接上的權值表示,權值為正表示激勵,為負值表示抑制。
一個求和單元,用于求取各輸入信息的加權和(線性組合)。
一個非線性激活函數(shù),起非線性映射作用并限制神經(jīng)元輸出幅度在一定的范圍之內(nèi)。此外還有一個閾值。閾值也被看作是一個輸入分量,也就是閾值也是一個權值。在網(wǎng)絡的設計中,偏差起著重要的作用,它使得激活函數(shù)的圖形可以左右移動而增加了解決問題的可能性。
通常所說的人工神經(jīng)網(wǎng)絡結構,主要指它的連接方式。從拓撲結構上考慮,神經(jīng)網(wǎng)絡屬于以神經(jīng)元為節(jié)點,以節(jié)點間的連接為邊的一種圖。從連接方式來看,主要有兩種,即前饋型神經(jīng)網(wǎng)絡和反饋型網(wǎng)絡。一個神經(jīng)網(wǎng)絡的拓撲結構確定后,為了使它具有某種智能特性,必須有相應的學習方法與之配合。權值如何設置是區(qū)分不同人工神經(jīng)網(wǎng)絡學習算法的重要特征。一般可以把人工神經(jīng)網(wǎng)絡的學習分為兩種類型,即監(jiān)督學習(有教師學習)和無監(jiān)督學習(無教師學習)。
本次項目的人工神經(jīng)網(wǎng)絡,設計為兩級人工神經(jīng)網(wǎng)絡,其中一級內(nèi)部神經(jīng)網(wǎng)絡的結構,如圖10所示;二級人工神經(jīng)網(wǎng)絡的結構框圖,如圖11所示:
圖10 神經(jīng)網(wǎng)絡內(nèi)部示意圖
圖11 二級人工神經(jīng)網(wǎng)絡的結構框圖
我們依據(jù)人工神經(jīng)網(wǎng)絡的基本特點,采用乘法器封裝的形式進行基本實現(xiàn),其實現(xiàn)方法,如圖12所示:
圖12 乘法器的封裝
那么一級神經(jīng)網(wǎng)絡的FPGA實現(xiàn),如圖13所示:
圖13 一級人工神經(jīng)網(wǎng)絡的FPGA實現(xiàn)
CORDIC計算特殊函數(shù)算法簡介
如果利用FPGA實現(xiàn)某種數(shù)字信號處理算法,并且算法使用了一個非普通的(超越)代數(shù)函數(shù),我們可以利用泰勒級數(shù)來近似這個函數(shù)。
這樣問題就簡化成一系列的乘法和加法運算了。一種可供考慮的更為有效的方法就是基于坐標旋轉數(shù)字式計算機(Coordinate Rotation Digital Computer,CORDIC)的算法。CORDIC算法是建立在眾多應用基礎之上的,如適應性濾波器,F(xiàn)FT,DCT,神經(jīng)網(wǎng)絡。
正式定義的CORDIC算法,如下式所示:
實現(xiàn)CORDIC結構可采用兩種基本結構:較為簡潔的狀態(tài)機和高速全流水處理器。
2.3 Restoring(還原)算法簡介
Restoring算法是一種線性收斂的除法算法。它的主要思想是首先調(diào)整分母并加載分子到余數(shù)寄存器中,然后從余數(shù)中減去調(diào)整的分母并將結果存在余數(shù)寄存器中,如果新的余數(shù)為正,我們就將商加1,否則商不變并且還需要通過加上分母來還原從前的余數(shù)值。我們可以采用狀態(tài)機的設計結構來實現(xiàn)該種除法算法思想。
本項目中Restoring算法主要應用于:幅度衰減模塊中除法器的設計。
2.4 分段函數(shù)算法簡介
分段函數(shù)是對于自變量不同的取值范圍,有著不同的對應法則的函數(shù)。對于分段函數(shù)的實現(xiàn)具有資源消耗少,處理速度快的特點。例如,一種包含二階非線性函數(shù)的分段函數(shù),如下式所示:
對于二階非線性函數(shù)的實現(xiàn),如圖15 所示:
圖15 二階非線性函數(shù)的實現(xiàn)
本項目中分段函數(shù)主要應用于:人工神經(jīng)網(wǎng)絡中的激活函數(shù)的
f(n)的設計。
3. 項目設計細化模塊方案
項目設計細化模塊的框圖,如圖16所示:
本次項目的設計難點:
(1)準確測定延時信息的自相關模塊的設計,因為自相關信息會對收發(fā)信號的幅度提取有著很大的影響。
(2)高效的64階濾波器的設計,旨在設計一種既節(jié)省硬件資源又能高效實時輸出的一種低通濾波器。
(3)可準確分類的人工神經(jīng)網(wǎng)絡的設計,需要大量的離散學習和確定一種準確的拓撲結構。
圖16 項目設計細化模塊框圖
評論
查看更多