本發明涉及一種脈搏波信號提取處理系統,尤其涉及一種基于鎖相放大器的PPG脈搏波信號提取處理系統。
背景技術:
在科學研究及生產活動當中,人類不可避免的會遇到各種微弱信號的處理問題,例如在地震波形測量、衛星信號接收、激光信號測量、紅外和人體生理指標測量等領域,通常要放大、還原毫伏量級甚至更小的微弱信號。
在這樣的背景之下,一個被稱為“微弱信號檢測”的新興學科逐漸走入人們的視野,微弱信號檢測是處理微信號的關鍵技術。所謂的微弱信號一般有兩層含義,第一層含義是其本身的絕對值非常小,以電壓為例,通常其絕對值不會高于毫伏的量級。第二層含義是被檢測的信號相對值也非常小,一般地這樣微弱的信號會淹沒在外界的噪聲當中,很難直接分辨其信號的大小。面對這樣的信號,常見的檢測方法包括小波變換、取樣積分、平均處理法和信號的頻譜窄帶化技術、非線性隨機系統協同隨機共振法、多重匹配的濾波技術等方法。
任何獲取微弱信號的技術都是有其它代價或前提的,一般地基于頻譜、濾波等技術是需要有已知信號的頻譜特征為前提的,如果微弱信號落入某個窄帶的內,則可以通過頻譜、濾波的技術獲得微弱信號的信息。傳統的微弱信號檢測一般均采用這個思路,首先使用極高增益的放大器,在放大的過程中及放大之后對信號進行濾波。或者對信號采用頻譜分析,挑出自己需要的信號。但是對人體PPG脈搏波這種微弱信號的提取,所述PPG脈搏波即光電容積脈搏波,目前對人體PPG脈搏波這種微弱信號的提取技術比較復雜、成本高、效率低以及信噪比低。
技術實現要素:
本發明所要解決的技術問題是需要提供一種剛好能夠實現人體的PPG脈搏波信號的提取,且結構簡單的基于鎖相放大器的PPG脈搏波信號提取處理系統,已達到降低系統成本,提高對人體PPG脈搏波這種微弱信號的提取效率并提高其信噪比的目的。
對此,本發明提供一種基于鎖相放大器的PPG脈搏波信號提取處理系統,包括:光敏二極管放大濾波電路、AD采樣電路、人體脈搏波信號處理分析模塊、顯示模塊、鎖相放大處理模塊、鎖相環倍頻電路、DA波形產生電路和發光二極管驅動電路,所述光敏二極管放大濾波電路通過AD采樣電路連接至所述鎖相放大處理模塊,所述鎖相環倍頻電路與所述鎖相放大處理模塊相連接,所述鎖相放大處理模塊通過DA波形產生電路連接至所述發光二極管驅動電路,所述鎖相放大處理模塊和顯示模塊分別與所述人體脈搏波信號處理分析模塊相連接;其中,所述鎖相放大處理模塊和鎖相環倍頻電路提取PPG脈搏波信號后,發送至所述人體脈搏波信號處理分析模塊實現分析和處理。
本發明的進一步改進在于,所述鎖相放大處理模塊輸送100KHz的方波信號至所述鎖相環倍頻電路,所述鎖相環倍頻電路反饋36MHz的方波信號至所述鎖相放大處理模塊。
本發明的進一步改進在于,所述DA波形產生電路發送頻率為100KHz的正弦調制信號至所述發光二極管驅動電路。
本發明的進一步改進在于,所述鎖相放大處理模塊發送頻率為36MHz的正弦波信號至所述DA波形產生電路。
本發明的進一步改進在于,光敏二極管放大濾波電路包括依次級聯的雙級高增益放大器和帶阻濾波器,所述雙級高增益放大器連接至光敏二極管。
本發明的進一步改進在于,所述AD采樣電路的采樣頻率為100KHz,并將采樣后的信號方至所述鎖相放大處理模塊。
本發明的進一步改進在于,所述鎖相放大處理模塊用于對PPG脈搏波信號進行提取、放大和處理,所述鎖相放大處理模塊包括模擬PPG脈搏波發生器、調制器、自然數數值產生器、模擬噪聲模塊、鎖相放大計算模塊和滑動濾波模塊,所述自然數數值產生器用于產生離散的自然數數值n,并通過自然數數值n驅動所述鎖相放大處理模塊工作;所述模擬PPG脈搏波發生器根據采集的原始PPG脈搏波的波形向量文件,并通過自然數數值n的增長實時地移動所述波形向量文件,輸出當前PPG脈搏波的強度數值至所述調制器;所述調制器對PPG脈搏波的強度數值進行調制,經過了調制后的PPG脈搏波的強度數值發送至所述模擬噪聲模塊中增加隨機噪聲,然后發送至所述鎖相放大計算模塊;所述鎖相放大計算模塊對接收到的信號進行鎖相放大的數值計算,以實現去除噪音和放大處理,并通過所述滑動濾波模塊實現數據調整。
本發明的進一步改進在于,所述波形向量文件存儲的數據是序列函數,其序列函數的總長度為脈搏波的波形向量總長度;根據自然數數值n的增長并通過線性擬合把序列函數的定義域轉換到實數域上,進而得到連續的模擬PPG脈搏波發生器。
本發明的進一步改進在于,還包括參考信號輸入模塊,所述參考信號輸入模塊輸出參考信號以對PPG脈搏波傳感器的發光二極管實現調制,使得所述發光二極管發出的光為高頻正弦波。
本發明的進一步改進在于,所述鎖相放大處理模塊用于對PPG脈搏波信號進行提取、放大和處理包括以下步驟:
步驟S1,初始化自然數數值n;
步驟S2,輸入r和d的數值,并輸入對隨機噪聲大小進行控制的變量數值,r為參考信號的周期與AD采樣電路的采樣周期之間的比例,d為PPG脈搏波的周期與AD采樣電路的采樣周期之間的比例;
步驟S3,判斷自然數數值n是否達到最大值,若是則結束,若否則跳轉至步驟S4;
步驟S4,自然數數值n實現自加運算,然后通過所述模擬PPG脈搏波發生器計算出當前自然數數值n對應的PPG脈搏波的強度數值,并對PPG脈搏波的強度數值進行調制、增加隨機噪聲以及鎖相放大計算;重復步驟S4直到自然數數值n能夠被r整除,則完成一個調制周期的提取、放大和處理,輸出數值后結束。
與現有技術相比,本發明的有益效果在于:通過對人體PPG脈搏波這種微弱信號進行了調制等處理,使得人體PPG脈搏波這種微弱信號剛好能夠被基于FPGA實現的鎖相放大處理模塊進行提取、放大和處理,進而提供了一個完整且有效的PPG脈搏波信號提取系統,本發明結構簡單且設計合理,有效控制了系統成本,并具有非常好的信噪比,能高效地提取人體的PPG脈搏波這種微弱信號。
附圖說明
圖1是本發明一種實施例的系統結構示意圖;
圖2是本發明一種實施例的提取端基本原理示意圖;
圖3是本發明一種實施例的發光二極管的特性曲線示意圖;
圖4是本發明一種實施例的發光二極管的驅動電路原理圖;
圖5是本發明一種實施例的雙級高增益放大器的電路原理圖;
圖6是本發明一種實施例的帶阻濾波器的電路原理圖;
圖7是本發明一種實施例的鎖相放大器的系統原理示意圖;
圖8是本發明一種實施例的相近頻率的相關性檢測運算仿真示意圖;
圖9是本發明一種實施例的鎖相放大器的算法示意圖;
圖10是本發明一種實施例的鎖相放大器的系統示意圖;
圖11是本發明一種實施例的數字鎖相放大器提取PPG脈搏波的仿真工作流程圖。
具體實施方式
下面結合附圖,對本發明的較優的實施例作進一步的詳細說明。
如圖1所示,本例提供一種基于鎖相放大器的PPG脈搏波信號提取處理系統,包括:光敏二極管放大濾波電路、AD采樣電路、人體脈搏波信號處理分析模塊、顯示模塊、鎖相放大處理模塊、鎖相環倍頻電路、DA波形產生電路和發光二極管驅動電路,所述光敏二極管放大濾波電路通過AD采樣電路連接至所述鎖相放大處理模塊,所述鎖相環倍頻電路與所述鎖相放大處理模塊相連接,所述鎖相放大處理模塊通過DA波形產生電路連接至所述發光二極管驅動電路,所述鎖相放大處理模塊和顯示模塊分別與所述人體脈搏波信號處理分析模塊相連接;其中,所述鎖相放大處理模塊和鎖相環倍頻電路提取PPG脈搏波信號后,發送至所述人體脈搏波信號處理分析模塊實現分析和處理。
值得一提的是,本例的核心在于通過鎖相放大處理模塊和人體脈搏波信號處理分析模塊及其他外圍電路或模塊的配合,實現了基于鎖相放大器對人體PPG脈搏波這種微弱信號的提取,其中,所述鎖相放大處理模塊優選通過Altera EP3C25F256C8FPGA芯片實現,所述人體脈搏波信號處理分析模塊優選通過ARM cortex內核的STM32嵌入式處理器實現。FPGA芯片主要負責所述鎖相放大處理模塊中鎖相放大器及相關組件的控制,實現PPG脈搏波的信號提取、放大和處理等。STM32嵌入式處理器主要負責人體脈搏波信號的后期分析和計算等處理,所述后期分析和計算等處理其實就是對人體光電容積脈搏波頻譜特征的提取,所述人體光電容積脈搏波頻譜特征的提取可以采用抽樣插值和查表的方法,當然這個如何提取其頻譜特征不是本例的重點,這種后期分析和計算等處理用于將處理結果直接顯示在顯示模塊所述顯示模塊優選為STM32系統的液晶屏;將處理結果顯示至外圍的計算機等數據處理裝置中,比如通過串口通信協議將脈搏數據傳輸給計算機進行展示和處理。
本例所述鎖相放大處理模塊輸送100KHz的方波信號至所述鎖相環倍頻電路,所述鎖相環倍頻電路反饋36MHz的方波信號至所述鎖相放大處理模塊;所述DA波形產生電路發送頻率為100KHz的正弦調制信號至所述發光二極管驅動電路,為了產生這么一個正弦調制信號的,所述鎖相放大處理模塊發送頻率為36MHz的正弦波信號至所述DA波形產生電路,采用的是類似DDS的方法。
本例由于光敏二極管接收到的PPG脈搏波傳感器的發光二極管的信號是比較復雜的,是被100KHz正弦信號調制后的PPG脈搏波信號,因此,本例所述光敏二極管放大濾波電路包括依次級聯的雙級高增益放大器和50Hz的帶阻濾波器,所述雙級高增益放大器連接至光敏二極管;所述AD采樣電路的采樣頻率為100KHz,并將采樣后的信號方至所述鎖相放大處理模塊。
值得一提的是,本例上述這些參數和波形的選擇是具有非常重要的意義的,并不是隨意選擇或是通過有限實驗得到的,其選擇和結果是設計之初所沒有想到的;本例將利用下面的詳細描述和算法來說明這一點。本例所述鎖相放大處理模塊進行相關性運算得到脈搏波的幅值,所述鎖相放大處理模塊按照1KHz采樣率的速度向人體脈搏波信號處理分析模塊輸送脈搏波數據,人體脈搏波信號處理分析模塊進行運算整理分析,并傳輸到上位機或通過顯示模塊實現顯示。
區別于現有其他的脈搏波信號提取技術,本例基于鎖相放大器的PPG脈搏波信號提取具有很鮮明的特點,本例用一個發光二極管發出660nm的激光或940nm的激光,或者二者兼而有之;另外使用一個光敏二極管來檢測信號,為了更好的檢測精度,使用透射式的檢測模式,這種透射式的精度更高且噪聲更小,其基本原理如圖2所示。
采用透射式的PPG脈搏波的檢測端裝置是通過發光二極管照射手指,在手指甲的一面進行采樣;整個脈搏波傳感器應該盡量避光,減少干擾。對于發光二極管,其電壓電流滿足圖3中的特性曲線。
由圖3可知,當給定的驅動電壓在較小范圍內變化時,發光二極管的電流將在較大范圍內變化,這種變化會引發二極管的燒毀,且導致探測到的信號出現較大幅度的波動,即使二極管的驅動電壓嚴格保持在確定的數值,發光二極管也會因為溫度的變化導致公式中UT的變化而導致實際電流的劇烈變化。因此,對發光二極管必須采用恒流的驅動方式。對于一般的電路,只需要采用一個普通NPN三極管9013就可以實現良好的驅動,如圖4所示。
由于接收到PPG脈搏波的信號極其微弱,且受到各種外界噪聲的干擾,尤其是市電50Hz信號的干擾,因此,光敏二極管接收到的信號是比較復雜的,需要設計雙級高增益放大器這種兩極的高增益和低噪聲的放大器模塊,并進行有效的濾波。其中,需要雙級高增益放大器對微弱的PPG脈搏波信號進行放大,其電路原理圖如圖5所示。
與一般的接收電路不同,本例提出的PPG脈搏波信號提取處理系統是基于鎖相放大器進行噪聲去除和信號還原的,所以并不需要專門的低通濾波器,高頻噪聲和無關噪聲可以通過鎖相放大器去除,就能夠很好地還原信號,對于低頻信號,需要專門設計一個50Hz的帶阻濾波器去掉市電的噪聲信號影響,其電路圖如圖6所示。
鎖相放大(Lock-in Amplifier)(LIA)技術是逐漸興起的一種新技術,鎖相放大技術又稱為鎖定放大技術。其獲取微弱信號的前提并不是因為已知微弱信號的頻帶,而已通過付出高額的時間代價和處理運算代價來實現微弱信號檢測。其具有其它信號處理技術不可比擬的優勢,其具有極高信噪比,其抗干擾的能力很強,測量的精度很高,目前廣泛用于信號檢測等諸多小信號處理領域。鎖相放大器的處理方法是令被測量的微弱小信號成為一個準靜態的信號,用高頻信號調制探測信息,然后經過若干個檢測周期對測量信號進行采樣,根據自相關性的數學原理對其進行運算和處理,最終得到準靜態的測量信號。
值得一提的是,鎖相放大器雖然性能極為強調,處理效果極好,但在使用上也有一定的限制,根據上面的基本論述,鎖相放大器的應用需要滿足一定的條件:(1)必須可以調制被測量的微弱信號。例如人體光電容積(PPG)脈搏波,可以對發射探測光的LED進行調制,這樣被透射(反射)的檢測信號也是被調制的。對比而言例如利用人體震動而產生電信號的檢測方式,就很難進行調制,不適用于鎖相放大器進行處理。(2)被檢測信號必須變化較慢,是準靜態的。由于鎖相放大器是用更高頻的信號去調制被檢測信號,被檢測信號的每一個“采樣點”都需要被調制,以一個人體的脈搏波信號為例,其頻譜一般可以擴展到基頻的15倍,而根據采用定理就至少一個周期采用30個點,但是工程上,我們一般要采樣300個點,而要使得鎖相放大器能夠正常工作,一般需要30個周期的數據進行微弱信號的處理,這樣一般鎖相放大器需要調制的信號大約為原信號的1萬倍頻率,如果使用數字所想放大器,通常一個調制周期內需要采樣幾百個數據點,按照本文的設計,我們取樣360個點,這樣鎖相放大器的工作頻率大約是原始信號的360萬倍。目前,速度最快的FPGA的運行速度大約不會超過100MHz,通常是40Mhz,這樣使用鎖相放大器大約可以處理周期為0.1s的信號,而人體的PPG脈搏波剛好在這個范圍之內,這是本例實現基于鎖相放大器對人體PPG脈搏波這種微弱信號進行提取的非常重要的一個點!
也就是說,本例所述鎖相放大處理模塊包括鎖相放大器,所述鎖相放大器作為一種較為貴重的電子設備,其內部結構比較復雜,如圖7所示,主要包括信號輸入處理電路輸入、輸入放大濾波電路、相敏檢波(PSD)電路、濾波器電路、A/D電路、DPS處理器及D/A電路燈。為了設計整個鎖相放大器電路的算法,需要先討論相關性檢測的原理,包括:自相關檢測和互相關檢測的原理。首先設一個有用的信號為一個正弦波信號,該正弦波信號的表達式為:令隨機的噪聲為:Nosie(t)=N(t);對上面兩個公式進行求和,可以得到輸入總信號為:定義正弦波信號和隨機噪聲這兩個信號的相關性檢測函數為:其中,a(t)和b(t)分別代表需要做相關性檢測的任意兩個時域信號;定義檢測用的參考正弦波信號表達式為則通過相關性函數的檢測就能夠得到A、B的信息,而去除不相關噪聲的影響,下面以正弦波信號Y(t)和輸入總信號I(t)為例,討論其互相關檢測函數的數值:
事實上,整個檢測系統中核心的目的是檢測A的數值,也就是正弦波信號S(t)的幅值,B是參考信號的幅值,是一個已知的數值,通過后面的計算,可以得到AB乘積的表達式,進而計算出A的數值。
由前面的論述可知,噪聲對時間的積分可以為0,所以通過相關性檢測后信號只剩余和AB有關的部分。同理,如果是不同頻率信號做相關性檢測也會發現其相關性很弱,圖8給出了兩個頻率相近信號的相關性檢測函數運算的結果和趨勢。
在實際的鎖相放大器中,我們也運用了相關性運算的原理,首先需要對被檢測的準靜態直流信號進行調制,設a sin(w0t+φ0)是調制完畢的信號,而其中a就是需要檢測的信號。設整個鎖相放大器的其中輸入信號是s(t),根據傅立葉變換原理,該輸入信號可以由a sib(w0t+φ0)和Σbn sin(wnt+φn)兩部分構成,其中a sin(w0t+φ0)是需要放大的有效信號,而Σbn sin(wnt+φn)是無關的噪聲信號,該算法的原理的如圖9所示;bn是其它各個頻率分量信號的幅值,所述其它指的是除了要檢測的信號頻率以外的頻率。
另外,需要給信號處理器一個和a sin(w0t+φ0)頻率一樣的標準正弦波作為參考,設該信號的波函數為r(t)=a′sin(w0t+φ′0),利用乘法器,實現兩個信號的乘法運算可以得到如下信號:
其中輸入信號是s(t),根據傅立葉變換原理,該輸入信號可以由a sin(w0t+φ0)和Σbn sin(wnt+φn)兩部分構成,其中a sin(w0t+φ0)是需要放大的有效信號,而∑bn sin(wnt+φn)是無關的噪聲信號。另外,需要給信號處理器一個和a sin(w0t+φ0)頻率一樣的標準正弦波作為參考,設該信號的波函數為r(t)=a′sin(w0t+φ′0),利用乘法器,實現兩個信號的乘法運算可以得到如下復合信號:
顯然m(t)是一個復合信號,其中的直流成分是如果使用一個低頻濾波器可以完全濾掉其交流成分,則可以得到直流分量,進而得到a sin(w0t+φ0)信號的幅度值a。
如前文所述,數字的鎖相放大器能夠從算法理論上能夠實現對微弱小信號的放大和提取工作。但是整個分析都基于一個最基本的假設,就是所測量的信號是“準靜態”的,也就是說前面的全部討論都認為測量的光電信號在不調制的時候一直是處于不變的狀態,等待鎖相放大器系統去進行“調制”、“測量”。但事實上鎖相放大器面對的信號是一個會改變的信號,也就是說隨著調制的進行,測量值本身也會較為緩慢地發生變化,當兩個因素結合在一起的時候,系統變得更加復雜,需要建立模型進行仿真,以確保最終的系統設計是正確的。
根據前面的分析,設信號的強度為E,時域函數為V,則鎖相放大器的基本原理可以用如下的數學表達式描述:其中,Vin是待檢測信號,Vref是檢測用的參考信號,Ei是構成待檢測信號的各個頻率分量的信號幅值,fi就是各個頻率分量的頻率值,是相位,E0是檢測用的參考信號的幅值,f0就是檢測用的參考信號頻率值。
通過前面的分析及數學表達式可知,鎖相放大器接收到了一個由調制過的真實檢測信號和一大堆由于噪聲等引入的各種頻率的信號。根據前面的數學模型分析,在系統中設定一個基礎的正弦波作為參考信號,利用參考信號對PPG脈搏波的發光二極管進行調制使之發出的光為一個高頻的正弦波。該正弦波信號通過人體血管和組織之后,會出現衰減及相位的改變,本設計的關鍵要點就是檢測出接收信號的振幅是多大。根據前面的分析可以知道,用接收到的信號與參考信號做相關性檢測,就可以留下參考信號和檢測信號的幅值,而其他不相關信號就會被剔除。
上述分析只是理論分析,在實際中還有兩個問題要解決:(1)由于相位偏差的存在,如果近用參考信號去做相關性檢測,當相位差為的時候,相關性檢測運算的結果為0。所以需要一對正交的參考信號來做相關性檢測。(2)由于理論上的算法是考慮積分時間趨于無窮,但是實際上積分時間是有限的,而且積分效果還要受到“準靜態”近似的影響,最終需要確認到底積分多久是合適的。
在鎖相放大的研究領域,除了可以使用正弦波調制信號以外,還可以使用方波調制信號,可以證明使用方波調制信號與正弦波具有相同的理論效果,但方波調制在實際電路中實現起來會有一定困難,因為任何電路的響應都不可能是理想方波,在本章節中,為了便于仿真算法的實現,使用方波調制進行建模,設被檢測的微弱小信號振幅為EWEAK,其調制算法的數學模型如下面的表達式所示:其中,被檢測的微弱小信號振幅為EWEAK,Vin是待檢測信號,Vref是檢測用的參考信號,n是自然數序列(就是n∈N),V是一個定值(檢測用的參考信號中的已知量),f0就是檢測用的參考信號頻率值。
設脈搏波傳感器的光電二極管接收到的透射(反射)的光線強度為Ti,顯然Ti是一個關于時間的函數,這個函數繪制出的圖形就是人體的PPG脈搏波,此函數的時間軸是由于人體心跳脈搏活動自然形成的,在仿真算法中,我們預設一個脈搏波的波形數據向量,這個波形向量是個一維向量,可以認為波形向量以一定的速度發出波形數據,我們定義向量發出數據的長度為s,可以定義Ti=Ti(s)。我們也可以建模為發出數據的速度為v,則有s=vt,這個t可以認為是絕對時間,這樣可以建模為Ti=Ti(vt)。根據前面的模型,定義脈搏波傳感器的光電二極管接收到的透射信號實現調制后為調制信號Timo,其數學模型可以用表示,其中,N代表自然數集合,向量發出數據的長度為s,發出數據的速度為v,t就是絕對時間,t0是整個系統運轉的初始時間,n是自然數序列(即n∈N),f0就是檢測用的參考信號頻率值。
結合及就可以聯立得到整個使用鎖相放大的PPG脈搏波信號提取系統的數學模型。仿真系統中首先動作的是波形數據向量,隨著仿真時間的推移,波形向量部分發出波形信號,我們認為光電二極管首先可以接收到PPG脈搏波信號Ti,經過的參考信號f0調制后得到調制信號Timo。但是實際光電二極管及其放大電路在處理調制信號Timo的過程中會引入大量的噪聲信號,而且噪聲信號足以淹沒調制信號Timo。我們設噪聲信號的表達式為Noise(t)。我們設最終經過鎖相放大器處理后的PPG脈搏波強度信號為Tic,如果算法正確,PPG脈搏波強度信號Tic應該近似等于PPG脈搏波的信號Ti。結合上述討論,可以得到PPG脈搏波強度信號Tic的最終表達式為其中K就是需要仿真的每個采樣點完成的調制周期個數;其中,被檢測的微弱小信號振幅為EWEAK,Vin是待檢測信號,Vref是檢測用的參考信號,n是自然數序列。
為上述表達式做離散化處理,便于仿真算法實現。設定仿真系統的參數如下,假定絕對時間的仿真最高頻率是鎖相放大器AD的采樣頻率,為fmax,周期為Tmin,,并定義采樣發生的次數為n。定義一個PPG脈搏波的周期為Tmin的d倍,設為T1,脈搏波數據向量總的長度定義為L。定義參考信號的周期為Tmin的r倍,首先離散化絕對時間t,離散化絕對時間t=nTmin。我們令鎖相放大器的滑動濾波深度為1,可得到最終數學模型表達式
整個所述PPG脈搏波信號提取處理方法所在仿真算法系統結構如圖10所示,其內部由六個模塊構成。n產生器主要是產生離散的自然數數值n,并利用n驅動整個系統工作。模擬PPG脈搏波發生器的主要作用是根據外部讀入的原始PPG脈搏波波形形向量文件,利用n的增長不斷地移動波形向量文件,送出此時的PPG脈搏波的強度數值。
調制器根據外部的r值設定,在n的驅動下,對PPG脈搏波的強度數值進行調制。經過了調制的PPG脈搏波強度數據被送入模擬噪聲模塊增加隨機噪聲。噪聲的強度和大小被外部程序控制。
鎖相放大計算模塊按照前面的數學公式
進行鎖相放大的數值計算,去除噪音,得到良好的弱信號放大結果。由于通常鎖相放大器的結果仍然需要一個滑動濾波的調整,才能便于后面的電路或者計算機使用,所以增加一個滑動濾波模塊進行處理。
模擬PPG脈搏波形發生器模塊的主要作用是根據已經存儲好的波形文件的波形,連續不斷地發出PPG脈搏波的強度數據。按照前面的推論,波形文件存儲的數據是一個關于序列的函數,也就是Ti(s),其中s是自然數。而序列總長度為前文所述的波形向量總長度L。通過線性擬合的方式,把函數定義域轉換到實數域上,可以設計出連續PPG脈搏波形發生器。
調制器模塊受到外部變量r的控制,r決定仿真過程中這個函數的跳變周期,這個模塊通過給輸出的數值增加一個正負號來進行調制。模擬噪聲模塊被外部的噪聲控制變量影響,通過增加實驗測得的噪聲數值范圍,利用高階隨機函數給系統增加白噪聲,直接把白噪聲數值增加到調制信號上面。
鎖相放大計算模塊是一個核心計算模塊,它的輸出是一個變量,這個變量只有在n能整除r的時候才能改變數值,也就是在完成了一個調制周期的采樣計算后才能改變數值。計算的方法套用
數字鎖相放大器提取PPG脈搏波的仿真軟件流程圖如圖11所示,程序首先初始化n的數值,然后根據仿真需要或者上級函數的需要輸入r和d的數值,以及對噪聲大小控制的變量數值。然后判定n的數值是否到達了根據r和d計算的仿真結束條件。如果n小于計算出的最大值,n進行自加運算,然后送給函數計算出此n值對應的PPG脈搏波的強度數值,然后對這個PPG脈搏波的強度數值進行調制運算,調制運算的結果送入噪聲函數增加噪聲。
把經過調制并且含有噪聲的PPG脈搏波的強度數值送入鎖相放大器計算模塊進行計算,如果計算,計算是一個累加計算,在n能被r整除的前提下,可以完成一次運算,并且輸出數值到存儲文件。完成了上述計算和輸出之后,重新判定n然后判定n的數值是否到達了根據r和d計算的仿真結束條件。如果n等于或者大于計算出的最大值,程序結束退出。
本例從基于鎖相放大器提取PPG脈搏波信號提取處理方法的實際研究所遇到的問題出發,為了解決目前數字鎖相放大器提取PPG脈搏波參數調整和系統優化評估等需求,通過對PPG脈搏波產生進行數學建模,到對系統中的鎖相放大器進行數學建模,以及整體系統的數學建模,設計出了一套行之有效的基于鎖相放大器提取PPG脈搏波信號提取處理方法,通過設計軟件流程圖并最終完成了該算法的軟件設計,仿真效果理想為后文的參數選擇提供了有效的依據,避免盲目實驗摸索,大大提升研究的效率。
也就是說,本例所述鎖相放大處理模塊用于對PPG脈搏波信號進行提取、放大和處理,所述鎖相放大處理模塊包括模擬PPG脈搏波發生器、調制器、自然數數值產生器、模擬噪聲模塊、鎖相放大計算模塊和滑動濾波模塊,所述自然數數值產生器用于產生離散的自然數數值n,并通過自然數數值n驅動所述鎖相放大處理模塊工作;所述模擬PPG脈搏波發生器根據采集的原始PPG脈搏波的波形向量文件,并通過自然數數值n的增長實時地移動所述波形向量文件,輸出當前PPG脈搏波的強度數值至所述調制器;所述調制器對PPG脈搏波的強度數值進行調制,經過了調制后的PPG脈搏波的強度數值發送至所述模擬噪聲模塊中增加隨機噪聲,然后發送至所述鎖相放大計算模塊;所述鎖相放大計算模塊對接收到的信號進行鎖相放大的數值計算,以實現去除噪音和放大處理,并通過所述滑動濾波模塊實現數據調整。
本例所述波形向量文件存儲的數據是序列函數,其序列函數的總長度為脈搏波的波形向量總長度;根據自然數數值n的增長并通過線性擬合把序列函數的定義域轉換到實數域上,進而得到連續的模擬PPG脈搏波發生器。本例還包括參考信號輸入模塊,所述參考信號輸入模塊輸出參考信號以對PPG脈搏波傳感器的發光二極管實現調制,使得所述發光二極管發出的光為高頻正弦波。
如圖11所示,本例所述鎖相放大處理模塊用于對PPG脈搏波信號進行提取、放大和處理包括以下步驟:
步驟S1,初始化自然數數值n;
步驟S2,輸入r和d的數值,并輸入對隨機噪聲大小進行控制的變量數值,r為參考信號的周期與AD采樣電路的采樣周期之間的比例,d為PPG脈搏波的周期與AD采樣電路的采樣周期之間的比例;
步驟S3,判斷自然數數值n是否達到最大值,若是則結束,若否則跳轉至步驟S4;
步驟S4,自然數數值n實現自加運算,然后通過所述模擬PPG脈搏波發生器計算出當前自然數數值n對應的PPG脈搏波的強度數值,并對PPG脈搏波的強度數值進行調制、增加隨機噪聲以及鎖相放大計算;重復步驟S4直到自然數數值n能夠被r整除,則完成一個調制周期的提取、放大和處理,輸出數值后結束。
本例通過對人體PPG脈搏波這種微弱信號進行了調制等處理,使得人體PPG脈搏波這種微弱信號剛好能夠被基于FPGA實現的鎖相放大處理模塊進行提取、放大和處理,進而提供了一個完整且有效的PPG脈搏波信號提取系統,本發明結構簡單,有效控制了系統成本,并具有非常好的信噪比,能高效地提取人體的PPG脈搏波這種微弱信號。
以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬技術領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發明的保護范圍。