仿真電子舌系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),軟硬件協(xié)同
電子舌系統(tǒng),在意義上藉由特殊的化學(xué)感測(cè)器上的感測(cè)薄膜,類(lèi)似於人體的舌頭能夠感覺(jué)到酸、甜、苦、辣、及美味。而在連結(jié)到電子舌感測(cè)器需要前端讀出電路、再藉由數(shù)位類(lèi)比轉(zhuǎn)換器以及後端的數(shù)位訊號(hào)處理器來(lái)分辨是哪種溶液。這就像是我們的舌頭送出味覺(jué)給我們的大腦做處理。因此在應(yīng)用上電子舌系統(tǒng)係已取代人類(lèi)味覺(jué),可以在短時(shí)間內(nèi)分辨液相溶液中特定成分及其含量,可進(jìn)行多項(xiàng)物種的檢測(cè)或生理參數(shù)之監(jiān)測(cè),多數(shù)的電子舌系統(tǒng)都以電化學(xué)式生物感測(cè)器為前端元件研發(fā)而成,因此要如何有效地利用感測(cè)結(jié)果,有效地經(jīng)由演算法辨別來(lái)辨識(shí)其存在於溶液的物種,是一個(gè)相當(dāng)具有研究的議題。
本文引用地址:http://www.ex-cimer.com/article/201612/326259.htm研究動(dòng)機(jī)與目的
近年來(lái),智慧型陣列感測(cè)器已受到各領(lǐng)域的注目關(guān)切。不同於傳統(tǒng)感測(cè)器設(shè)計(jì),目標(biāo)在於要能夠設(shè)計(jì)單一且高感測(cè)度智慧型感測(cè)器陣列並且結(jié)合後端處理來(lái)達(dá)到類(lèi)似於人體的感官系統(tǒng)。
離子敏感型場(chǎng)效電晶體(Ion-Sensitive Field-Effect Transistor, ISFET)係經(jīng)常用於電子舌系統(tǒng)下的電化學(xué)感測(cè)器。ISFET可用來(lái)感測(cè)在具單一離子的化學(xué)溶液,來(lái)加以分析其單一離子的活性濃度。但通常在化學(xué)溶液中,通常具有兩種或是以上更多種離子,像飲用水中最常可以在寶特瓶上所列出的有鈉、鉀、鈣…。因離子敏感型場(chǎng)效電晶體經(jīng)由讀出電路讀出量測(cè)的訊號(hào)與濃度線性相關(guān),因此可利用此結(jié)果應(yīng)用在線性回歸理論,像是任何的監(jiān)督式學(xué)習(xí)理論。然而,監(jiān)督式學(xué)習(xí)通常需要許多的校正點(diǎn),而ISFET不僅僅對(duì)單離子具感測(cè)度,對(duì)於在一混合離子濃度溶液中,許多的干擾離子也會(huì)使得ISFET讀出的響應(yīng)為非線性函數(shù)。除此之外,還有一些暫時(shí)的不穩(wěn)定ISFET特性會(huì)照成在使用上額外的校正程序,因此必須先了解ISFET的動(dòng)態(tài)行為。
在ISFET的狀況下,智慧型陣列式方法可處理允許高精準(zhǔn)多重成分分析,因ISFET反應(yīng)是由單一特定離子活性及其他離子(如干擾離子),因此在盲源分離(Blind Source Separation)的過(guò)程中,可以藉由實(shí)際的實(shí)驗(yàn)來(lái)得到與主要離子及其他離子的行為模型,來(lái)應(yīng)用在盲源分離技術(shù)下,又稱為ISFETSS (ISFET Source Separation)。盲源分離理論是一個(gè)利用陣列式處理方式將混合訊號(hào)作分離,並且找到其原始訊號(hào)之新穎無(wú)監(jiān)督式學(xué)習(xí)理論,因此此研究目的是要將ISFET利用讀出電路讀取到之訊號(hào)經(jīng)由如此處理的方式找到其反應(yīng)之來(lái)源訊號(hào),並且將其想法硬體化實(shí)現(xiàn)。
研究方法及流程
本設(shè)計(jì)使用Spartan 3A DSP 1800A進(jìn)行FPGA驗(yàn)證,由於在硬體設(shè)計(jì)方面,必須撰寫(xiě)VHDL/Verilog、熟悉Xilinx的工具、FPGA內(nèi)部的架構(gòu),為了減少設(shè)計(jì)的時(shí)間,本文採(cǎi)用System Generator建置整個(gè)系統(tǒng)的架構(gòu),並且使用Matlab軟體驗(yàn)算其結(jié)果是否正確,驗(yàn)證完成後,即可採(cǎi)用Hardware Co-simulation中Ethernet Point-to-Point的方法,將資料透過(guò)網(wǎng)路線與PC和FPGA進(jìn)行資料的傳輸及驗(yàn)證。
ISFET簡(jiǎn)介
ISFET的運(yùn)作係將感測(cè)膜浸入待測(cè)溶液中,由於感測(cè)膜與半導(dǎo)體表面僅隔一層極薄的介電層,因此感測(cè)膜與溶液間的介面勢(shì)將影響半導(dǎo)體表面,使表面反轉(zhuǎn)層中的載子電荷密度發(fā)生變化,進(jìn)而改變ISFET元件的通道電流。感測(cè)膜與溶液間的介面勢(shì)又與溶液中的離子濃度有關(guān),故可利用ISFET在不同氫離子濃度的溶液形成不同之介面勢(shì),造成通道電流的不同以檢測(cè)溶液中的氫離子濃度,此即為氫離子感測(cè)場(chǎng)效電晶體的基本工作原理。
ISFET元件的感測(cè)膜與待測(cè)溶液接觸時(shí),將在待測(cè)溶液/絕緣層介面處形成電雙層,而有介面勢(shì),介面勢(shì)大小與感測(cè)膜材料的特性及待測(cè)溶液中氫離子濃度有關(guān)。而為降低外界干擾因素並且提高量測(cè)的電位,故在ISFET量測(cè)時(shí)加入?yún)⒖茧姌O以穩(wěn)定電位,所以其間會(huì)增加一參考電極與溶液間的電位勢(shì)和感測(cè)膜與溶液間的介面勢(shì)。
ISFET之不理想效應(yīng)
ISFET在實(shí)際的應(yīng)用上存在著許多非理想效應(yīng),例如光源、雜訊、遲滯、時(shí)漂、溫度、基底、流速效應(yīng)以及生命週期等非理想效應(yīng)。上述之非理想效應(yīng)均會(huì)影響酸鹼度計(jì)對(duì)pH值量測(cè)的準(zhǔn)確性及效能,因此在實(shí)驗(yàn)過(guò)程中必須要考量以上之效應(yīng),來(lái)使得實(shí)驗(yàn)結(jié)果符合預(yù)期。
離子選擇係數(shù)
離子選擇係數(shù)是離子選擇電極之重要參數(shù),因一般離子感測(cè)器於溶液中電位反應(yīng)並不易做到僅針對(duì)一特定離子而不受其他相同帶電性離子影響,故要判斷其他離子之干擾是否造成其誤差還在範(fàn)圍之內(nèi),固使用選擇係數(shù)K(Selectivity coefficient)作為指標(biāo),依據(jù)國(guó)際單位純應(yīng)用化學(xué)協(xié)會(huì)(International Union of Pure and Applied Chemistry, IUPAC)在1994年所發(fā)表之電壓式電化學(xué)感測(cè)器準(zhǔn)則[6],電壓式電化學(xué)感測(cè)器於離子干擾實(shí)驗(yàn)中,Nikolsky-Eisenman 提出一適合之方程式。主要因電極干擾參數(shù)不變,且於已知干擾離子濃度之溶液中求得受測(cè)離子濃度實(shí)際值。公式敘述如下:
其中E0為常數(shù)、ZA為離子電荷、ZB為干擾離子電荷、aA為主要受測(cè)離子活性、aB為干擾離子活性、為主要受測(cè)離子(A)對(duì)干擾離子(B)之選擇係數(shù)。值越大代表主要離子抗干擾之程度越佳,代表在一具高濃度之干擾離子溶液下還可測(cè)得其主要離子之濃度。而在之量測(cè)方法分為兩大類(lèi):混合溶液法(Mixed Solution Methods, MSM)以及分離溶液法(Separate Solution Methods, SSM);而最廣泛地使用是混合溶液法中的干擾離子固定法(Fixed Interference Method, FIM),這種方法最早發(fā)表於1975年的IUPAC協(xié)會(huì)。而在之後又發(fā)展了許多近似的理論,而本文在實(shí)驗(yàn)中主要使用為干擾離子固定法(Fixed Interference Method, FIM)、主要離子固定法(Fixed Primary ion Method, FPM)兩種方法。
干擾離子固定法
干擾離子固定法(Fixed Interference Method, FIM)此實(shí)驗(yàn)方法為固定背景溶液當(dāng)中之干擾離子濃度,並添加與干擾離子相同帶電性之主要離子,使溶液當(dāng)中之主要離子濃度改變,但干擾離子之濃度並不改變。其選擇係數(shù)K值之計(jì)算方式如下:
為主離子對(duì)干擾離子之選擇係數(shù)、ZA為主離子之價(jià)數(shù)、ZB為干擾離子之價(jià)數(shù)。選擇係數(shù)是指可測(cè)得的極限的主離子濃度大小。
獨(dú)立成份分析簡(jiǎn)介
獨(dú)立成份分析(Independent Component Analysis, ICA)是近幾年發(fā)展出來(lái)的新方法所希望得到的表徵被稱為成份,顧名思義,目的是要讓成份之間的統(tǒng)計(jì)相依性(Statistical dependence)降到最小,也就是使成份彼此之間互為獨(dú)立。因此獨(dú)立成份分析就是要找到統(tǒng)計(jì)上獨(dú)立及非高斯的成份。在目前應(yīng)用領(lǐng)域上有影像處理、聲音訊號(hào)處理、電信及金融分析上。
獨(dú)立成份分析起初是在一個(gè)雞尾酒派對(duì)上開(kāi)始被探討的,一個(gè)雞尾酒派對(duì)上有著樂(lè)團(tuán)的表演聲(S1)以及人們的喧鬧聲(S2),而放在不同位置的兩個(gè)麥克風(fēng)(x1, x2)是以怎樣的比例去收音得到的,假設(shè)不考慮任何回音及噪音影響,以下列方程式表示:
X1(t) = a11×S1(t)+a12×S2(t)
X2(t) = a21×S1(t)+a22×S2(t)
因此利用矩陣的方式可以得到一個(gè)矩陣A,相關(guān)的表示式為àX=AS、S=(S1,S2…Sn)T為潛在的變數(shù)(獨(dú)立的成份),A是一個(gè)混合矩陣(Mixing matrix)。就廣義的定義來(lái)說(shuō)ICA就是要找到一個(gè)線性轉(zhuǎn)換如式子:àu=WX。u為獨(dú)立成份S的估計(jì)值,W則是一個(gè)去相關(guān)矩陣(Unmixing matrix),目的是要使得各成份間u=(u1, u2, u3…un)T盡可能的互相獨(dú)立,也就是若將某種量測(cè)獨(dú)立的函數(shù)F(u1, u2, u3…un)最大化時(shí),此時(shí)W=A-1,因此ICA估測(cè)出來(lái)的u=(u1, u2, u3…un)T就等於原來(lái)的潛在變數(shù)S=(S1,S2…Sn)T??梢韵聢D來(lái)表示:
圖2-3 盲源分離架構(gòu)示意圖
但為了有效的簡(jiǎn)化問(wèn)題,通常會(huì)先進(jìn)行前置的演算法處理,良好的前置處理能夠使得盲源分離的問(wèn)題變的較容易解決,亦能有助於之後將相關(guān)的訊號(hào)轉(zhuǎn)變成非相關(guān)的訊號(hào)。以下就先以ICA的前置處理來(lái)做討論:
預(yù)處理動(dòng)作
資料置中(Centering):
假使獨(dú)立訊號(hào)源和我們所收集到混合訊號(hào)的平均值不為零,那麼在演算法的推導(dǎo)過(guò)程會(huì)變的比較複雜,會(huì)增加許多的運(yùn)算量,所以在這種情況下我們可以將所收集到的訊號(hào)減去它們的平均值,使其平均值為零、如下所示:
此外,經(jīng)過(guò)資料置中處理後的混合訊號(hào)X,矩陣A依然不會(huì)改變;雖然只有對(duì)接收到的訊號(hào)作資料置中的運(yùn)算,但事實(shí)上也對(duì)訊號(hào)源做了資料置中的運(yùn)算:
白化(Whitening):
在作獨(dú)立成分分析前如果能透過(guò)前置運(yùn)算處理的方式將取得的訊號(hào)轉(zhuǎn)變?yōu)榉窍嚓P(guān),那麼則可以讓運(yùn)算的訊號(hào)能夠更為接近相互獨(dú)立;至於白化則是介於非相關(guān)與相互獨(dú)立之間的另一種關(guān)係,除了訊號(hào)為非相關(guān),而且變異數(shù)的值為”1”,假使Z為white (平均值為0的隨機(jī)向量),那麼它的變異矩陣的數(shù)值為單位矩陣。
資料白化的目的主要是去找到一個(gè)白化矩陣V用來(lái)將混合訊號(hào)做轉(zhuǎn)換:
Z=V×X
而一般常使用的方法就主要成分分析即是對(duì)混合訊號(hào)變異矩陣作特徵值分解(Eigenvalue Decomposition)
上式的矩陣E是Eigenvector所組成的正交矩陣;而矩陣D則是其相對(duì)應(yīng)的特徵值所形成的對(duì)角線矩陣,矩陣V可改寫(xiě)為
V = ED-1/2ET
其中
如上式所示代入變異矩陣判斷是否為單位矩陣,並檢查經(jīng)由白化矩陣運(yùn)算後的矩陣Z是否已變?yōu)榘谆?/p>
資料白化的運(yùn)算,可當(dāng)作是將混合矩陣A作線性轉(zhuǎn)換,因此可改寫(xiě)為
其中A可視為經(jīng)過(guò)轉(zhuǎn)換後的混合矩陣;此外當(dāng)訊號(hào)經(jīng)過(guò)白化後,其變異矩陣以上式代換後可得:
又E{Si2}=I
因此又可以知道訊號(hào)源的平均值等於”0”,而且變異數(shù)等於”1”;此外訊號(hào)源之間又相互獨(dú)立關(guān)係,所以E[SST] = I 那麼
由以上推導(dǎo)可知經(jīng)過(guò)白化運(yùn)算後的混合矩陣為一個(gè)正交矩陣,這代表只要找到相互正交的向量,及可以找到其簡(jiǎn)化矩陣,方便簡(jiǎn)化整個(gè)演算法。
獨(dú)立成份分析之假設(shè)與限制
對(duì)獨(dú)立成份分析(ICA)研究的最初因素是先前所提到的雞尾酒派對(duì)的問(wèn)題,作為真實(shí)混合過(guò)程是非常粗略的近似的假設(shè),ICA模型是可以接受的,也是盲處理的起點(diǎn)。實(shí)際上,在不同情況下的信號(hào)分離問(wèn)題上,ICA有著不同的形式。以雞尾酒派對(duì)中信號(hào)分離為例,由於聲波傳播速度較慢,到達(dá)各麥克風(fēng)的時(shí)間不同,而在室內(nèi)其實(shí)也會(huì)存在著回波,所建立的模型又不大一樣,而室內(nèi)隨著走來(lái)走去的人們,也會(huì)照成其聲波的不一樣以及變化。但在考慮其它效應(yīng)之前,必須還是得先討論基本的ICA模型。
基本的ICA模型是一個(gè)生成模型(generative model),它描述所觀測(cè)的數(shù)據(jù)是如何由一個(gè)混合過(guò)程所產(chǎn)生。假設(shè)有n個(gè)統(tǒng)計(jì)上相互獨(dú)立的隨機(jī)向量s1,s2,…sn,其線性組合生成n個(gè)隨機(jī)變量x1,x2,…,xn
i=1,2,…,n
式中aij, i, j=1,2,…,n是實(shí)數(shù)。為了方便起見(jiàn),使用向量-矩陣記號(hào)來(lái)表示。令x=[x1,x2,…,xn]T,s=[s1,s2,…sn]T和A是元素為aij的矩陣。對(duì)瞬時(shí)混合模型,為了簡(jiǎn)化寫(xiě)法混合模型可寫(xiě)成:
X=AS
為了保證ICA模型是可解的,必須作出一些假定和限制。
第一項(xiàng)假設(shè)是統(tǒng)計(jì)上的獨(dú)立性。對(duì)於可估計(jì)的模型來(lái)講,這項(xiàng)假設(shè)是為最為重要的,也是ICA方法可用於許多不同應(yīng)用領(lǐng)域的主要原因。而在統(tǒng)計(jì)上的獨(dú)立性定義是以機(jī)率密度來(lái)定義,即聯(lián)合機(jī)率密度應(yīng)可分解為邊緣密度的乘積
第二項(xiàng)假設(shè)是非高斯分佈。如果所觀測(cè)變量具有高斯分佈,其高階累積量為零,因此就無(wú)法根據(jù)高階信息估計(jì)ICA模型?;蛘哒f(shuō),由於混合矩陣A是正交的,A-1=AT,它不改變機(jī)率密度函數(shù),原來(lái)的分佈和混合的分佈相同,無(wú)法從混合信號(hào)推得混合矩陣。從圖形上來(lái)看,高斯變量的密度是旋轉(zhuǎn)對(duì)稱的,不包含A的列方向上的任何信息,因此無(wú)法估計(jì)A。
第三項(xiàng)假設(shè)了未知混合矩陣中獨(dú)立成份數(shù)等於觀測(cè)混合訊號(hào)數(shù),以簡(jiǎn)化估計(jì)。需要說(shuō)明的是,當(dāng)獨(dú)立成份數(shù)小於觀測(cè)混合訊號(hào)數(shù)時(shí),可利用主成份分析(PCA)降低數(shù)據(jù)的維度,使得與觀測(cè)訊號(hào)相同。
在滿足以上三項(xiàng)假設(shè)的情況下,通過(guò)計(jì)算矩陣A的逆矩陣W,就可以解出獨(dú)立成份
s = Wx
主成分分析系統(tǒng)架構(gòu)圖
下圖為整個(gè)主成分分析系統(tǒng)之區(qū)塊圖(Fig.1)。
Fig. 1主成分分析系統(tǒng)之區(qū)塊圖
下圖區(qū)塊為系統(tǒng)中,其中一個(gè)置中功能區(qū)塊(Fig.2)及內(nèi)部詳細(xì)圖(Fig.3)。
因此必須要將得到兩兩訊號(hào)之訊號(hào)平均值,再次的置中後,再兩兩相乘得到四組變異數(shù)(covariance)之結(jié)果。
covariance from matlab | covariance from system generator | |
cov11 | 0.9895 | 0.983 |
cov12 | -0.3158 | -0.3217 |
cov21 | -0.3158 | -0.3217 |
cov22 | 2.8289 | 2.832 |
在特徵值的部分,已將特徵值D有效地求出
再經(jīng)由特徵值有效地求出特徵向量Q之值,因特徵向量非唯一解,而Matlab求唯一解的方法為利用正交矩陣QQT=I的概念去求出特徵向量之唯一解。但在實(shí)際計(jì)算上僅需計(jì)算相對(duì)比例解即可計(jì)算出特徵向量,並不會(huì)影響實(shí)際應(yīng)用之解。
因此再藉由特徵向量Q有效地求出白化矩陣V
因此將白化矩陣V乘上原始訊號(hào)X後,可得到取特徵值後之訊號(hào)Z,為了要證明經(jīng)白化矩陣之訊號(hào)為白化後之矩陣,因此必須要證明Z*ZT=I
下圖為目前所建構(gòu)之白化系統(tǒng)System generator 之全圖。
接著以散佈圖概念去說(shuō)明:
左圖為原始訊號(hào)之結(jié)果,相較於右圖較為分散也就是說(shuō)原始兩個(gè)訊號(hào)相關(guān)性較低,也無(wú)明顯之特徵去表示此訊號(hào)。而右圖為左圖取白化後得到之訊號(hào),具較大的相關(guān)性。
由於系統(tǒng)架構(gòu)過(guò)於龐大,F(xiàn)PGA無(wú)法一次將完整的系統(tǒng)進(jìn)行硬體部分的驗(yàn)證,因此將此系統(tǒng)分區(qū)塊驗(yàn)證並且得到與原本相同之結(jié)果。
評(píng)論