一種基於fpga的脈搏波信號發生器及方法
2023-08-11 06:32:36 2
專利名稱:一種基於fpga的脈搏波信號發生器及方法
技術領域:
本發明屬於信號發生器技術領域,具體涉及一種基於FPGA的脈搏波信號發生器及方法。
背景技術:
如《基於C8051F020單片機的脈搏波信號發生器的設計》論文所述,李洋等人設計了一種脈搏波信號發生器,能夠發出代替人體實際脈搏波的信號,將其發送至各類脈搏波信號檢測儀器中,以求調試和檢查這類儀器的性能指標。但是該項設計中,信號發生器需要與上位機相連,由於需要存儲整個波形數據,所以大容量的Flash晶片才能達到要求。發生器只是單純地將上位機中的已存在的波形數據通過液晶屏和示波器顯示出來,添加一些功能模塊,這都是在已經獲得脈搏波數據的前提下,才能完成的。若沒有波形數據,信號發生器也達不到顯示波形的目的。又如專利號為200720103587.1的實用新型專利「數字式脈搏波信號發生器」中,使用單片機作為處理器,產生脈搏波,用作脈搏波儀器檢測設備,但是,該專利只能通過與PC機相連,通過USB數據線,將PC中的脈搏波數據下載到EPROM中,通過IXD和示波器顯示波形,也只是單純地做到顯示波形的作用,需要已知大量的脈搏波數據才能使設備達到其作用,這樣就局限了該數字式脈搏波信號發生器在檢測脈搏波儀器時發揮的作用。
此外,有一些信號發生器,只能輸出正弦波、方波等簡單信號,還有些脈搏波信號發生器,只有在電腦中存儲完整的脈搏波數據,才能顯示出最後的波形,顯然這給我們平時的使用帶來很多不便。
發明內容
針對現有技術存在的不足,本發明提供一種基於FPGA的脈搏波信號發生器及方法。本發明的技術方案是—種基於FPGA的脈搏波信號發生器,包括觸控螢幕、IXD顯不器、不波器、FPGA>電源、AD轉換裝置和DA轉換裝置;所述電源用於為IXD顯示器、觸控螢幕、AD轉換裝置和DA轉換裝置供電;所述AD轉換裝置用於將點擊觸控螢幕動作產生的電壓值轉換為坐標數字值並將該坐標數字值傳輸至FPGA ;所述DA轉換裝置用於將FPGA輸出的數字波形轉換為模擬波形並將該模擬波形傳輸至示波器;所述FPGA用於產生脈搏波信號並將其傳輸至IXD顯示器或示波器進行脈搏波波形顯示;所述DA轉換裝置輸入端連接FPGA,DA轉換裝置輸出端連接示波器,AD轉換裝置輸入端連接FPGA,AD轉換裝置輸出端連接觸控螢幕,IXD顯示器連接FPGA,電源連接IXD顯示器。所述FPGA設置有波形選擇模塊、特徵點選取模塊、波形擬合模塊、噪聲疊加及信噪比設定模塊、基線漂移模塊、觸控螢幕去抖動模塊和血管彈性腔仿真模塊;所述波形選擇模塊用於提供可選的輸出波形類型並選擇;所述特徵點選取模塊用於對波形選擇模塊選擇的波形進行特徵點選取;所述波形擬合模塊用於利用高斯-cosine函數將特徵點選取模塊選取的特徵點擬合成波形;所述血管彈性腔仿真模塊用於將人體主動脈模擬成兩個血管彈性腔並仿真出該血管彈性腔內血液流動狀態產生波形;所述噪聲疊加及信噪比設定模塊用於對波形擬合模塊擬合成的波形或血管彈性腔仿真模塊產生的波形疊加噪聲信號並設定信噪比·;所述基線漂移模塊用於對疊加噪聲並設定信噪比後的波形加入基線漂移;所述觸控螢幕去抖動模塊用於去除點擊觸控螢幕引起的抖動幹擾。採用所述的基於FPGA的脈搏波信號發生器的脈搏波信號發生方法,包括如下步驟步驟1:點擊觸控螢幕的四個邊界點,得到該四個邊界點的坐標值並保存,根據四個邊界點的坐標值、觸控螢幕長度和觸控螢幕寬度得到該任意一點坐標值,完成觸控螢幕坐標校正;步驟2 :選擇波形產生方式並去除由點擊觸控螢幕引起的觸控螢幕抖動,所述波形產生方式包括波形擬合和血管彈性仿真若選擇波形擬合,則執行步驟3,若選擇血管彈性仿真,則執行步驟6;步驟3 :選擇輸出波形類型並去除由點擊觸控螢幕引起的觸控螢幕抖動,所述輸出波形類型包括I型滑脈、II型滑脈、I型弦脈、II型弦脈和III型弦脈;步驟4:根據選擇的輸出波形類型,選取特徵點並去除由點擊觸控螢幕引起的觸控螢幕抖動;所述的在選擇的輸出波形上選取特徵點,是根據所選擇的波形,在每個周期中,選取幅值最大的點、斜率值最大的點、初始點、結束點、拐點和駐點作為特徵點。步驟5 :依次連接兩個相鄰的特徵點,利用高斯函數-cosine函數結合的方法,分段擬合波形,若干分段波形整合得到脈搏波波形,並去除由點擊觸控螢幕引起的觸控螢幕抖動,然後執行步驟7 ;步驟6 :採用彈性腔模型將人體主動脈模擬成兩個血管彈性腔,其中一個血管彈性腔表徵主動脈弓,另一個血管彈性腔表徵腹主動脈,通過兩個血管彈性腔仿真出該血管彈性腔內血液流動狀態形成波形,選取血管彈性腔參數並去除由點擊觸控螢幕引起的觸控螢幕抖動,血管彈性腔參數包括主動脈弓的血管彈性腔的集總順應性、腹主動脈的血管彈性腔的集總順應性、連接兩個血管彈性腔的血柱及外周阻力;步驟7 :在波形中疊加噪聲信號並設定信噪比,並去除由點擊觸控螢幕引起的觸控螢幕抖動;所述的噪聲信號包括50Hz工頻噪聲,高斯白噪聲和均勻分布的噪聲。步驟8 :對加入噪聲信號並設定信噪比後的波形設定基線漂移,得到噪聲和基線漂移的脈搏波波形;步驟9 :將脈搏波波形通過IXD顯示器或示波器顯示。所述去除由點擊觸控螢幕引起的觸控螢幕抖動,具體方法是點擊觸控螢幕一點並保存其坐標,再次點擊該點並保存其坐標,分別比較兩次點擊得到的點的橫坐標絕對值之差和縱坐標的絕對值之差,若橫坐標絕對值之差或縱坐標的絕對值之差大於5,則視為觸控螢幕存在幹擾,第二次點擊的坐標無效,若橫坐標絕對值之差或縱坐標的絕對值之差小於5,則視為觸控螢幕無幹擾,第二次點擊的坐標有效,此時將第二次點擊的有效坐標與第一次點擊所保存的坐標的橫縱坐標對應相加並取平均值,得到該點坐標結果。有益效果本發明採用兩種方式產生脈搏波波形,一種方式是通過高斯函數-Cosine函數結合的方式,分段擬合脈搏波得到最後的完整波形,省去了整個波形所浪費的存儲空間,實現了真正意義上的脈搏波發生裝置,具有專一性;另一種方式是採用彈性腔模型模擬血管情況,模擬出兩個血管彈性腔,通過參數的改變,可以產生低阻力、中阻力、高阻力、超高阻力四種情況下的脈搏波波形。兩種方式均能在信號數據未知的前提下,由用戶設定得到準確脈搏波波形輸出。本發明的脈搏波信號發生器採用FPGA作為信號處理器,相對於其它開發平臺(例如單片機),FPGA可進行並行數據處理,有更快的運行速度,可以連接更多的外圍設備,有利於系統功能的後續添加,從根本上解決了由於開發平臺的不足導致的系統功能的缺陷;而且克服了其他信號發生器的缺點——只能產生簡單的波形,需要完整的脈搏波數據,需要大容量的Flash存儲數據等。採用IXD顯示器,觸控螢幕和示波器組成的與用戶的交互界面,使操作更加簡單,用戶可以根據需要快速地完成相應操作,有很大的實用價值。通過實驗證明,本發明的基於FPGA的脈搏波信號發生方法所得到的脈搏波波形與實際波形的相對誤差小於3%, 與現有技術中的脈搏波發生器相比,大幅提高了擬合後波形的準確度,最大程度的降低了誤差對最後結果的影響。為最大程度的模擬實際脈搏波的波形,本方法添加不同類型噪聲,並設置信噪比,對波形加入基線漂移,讓最後得到的脈搏波更有實際的利用價值。
圖1為本發明具體實施方式
的基於FPGA的脈搏波信號發生器結構框圖;圖2為本發明具體實施方式
的基於FPGA的脈搏波信號發生方法流程圖;圖3為本發明具體實施方式
的五種類型的輸出波形圖;圖4為本發明具體實施方式
的彈性腔模型示意圖;圖5為本發明具體實施方式
的彈性腔模型等效電路圖;圖6為本發明具體實施方式
的低阻力類型的彈性腔模型輸出的脈搏波波形圖;圖7為本發明具體實施方式
的中阻力類型的彈性腔模型輸出的脈搏波波形圖;圖8為本發明具體實施方式
的高阻力類型的彈性腔模型輸出的脈搏波波形圖;圖9為本發明具體實施方式
的超高阻力類型的彈性腔模型輸出的脈搏波波形圖;圖10為本發明具體實施方式
的疊加50Hz工頻噪聲後的脈搏波波形圖;圖11為本發明具體實施方式
的疊加高斯白噪聲後的脈搏波波形圖12為本發明具體實施方式
的疊加均勻分布噪聲後的脈搏波波形圖;圖13為本發明具體實施方式
的加入基線漂移後的脈搏波波形圖;圖14為本發明具體實施方式
的I型滑脈通過IXD顯示器顯示的脈搏波波形圖;圖15為本發明具體實施方式
的I型滑脈通過示波器顯示的脈搏波波形圖;圖16為本發明具體實施方式
的II型滑脈通過示波器顯示的脈搏波波形圖;圖17為本發明具體實施方式
的I型弦脈通過示波器顯示的脈搏波波形圖;圖18為本發明具體實施方式
的II型弦脈通過示波器顯示的脈搏波波形圖;圖19為本發明具體實施方式
的III型弦脈通過示波器顯示的脈搏波波形圖;圖20為本發明具體實施方式
的觸控螢幕及其四個邊界點的示意圖;圖21為本發明具體實施方式
的FPGA的邏輯框圖;圖22為本發明具體實施方式
的FPGA中的LCD控制模塊的控制框圖;圖23為本發明具體實施方式
的ADS7843的工作電路圖;圖24為本發明具體實施方式
的DAC7513工作電路圖;圖25為本發明具體實施方式
的降壓晶片LM2940CT-5. O的電路圖;圖26為本發明具體實 施方式的降壓晶片LM1085IT-3. 3的電路圖。
具體實施例方式下面結合附圖對本發明的具體實施方式
做詳細說明。如圖1所示,基於FPGA的脈搏波信號發生器,包括觸控螢幕、IXD顯示器、示波器、FPGA,電源、AD轉換裝置和DA轉換裝置;電源用於為IXD顯示器、觸控螢幕、AD轉換裝置和DA轉換裝置供電;AD轉換裝置用於將點擊觸控螢幕動作產生的電壓值轉換為坐標數字值並將該坐標數字值傳輸至FPGA ;DA轉換裝置用於將FPGA輸出的數字波形轉換為模擬波形並將該模擬波形傳輸至示波器;FPGA用於產生脈搏波信號並將其傳輸至IXD顯示器或示波器進行脈搏波波形顯示;DA轉換裝置輸入端連接FPGA,DA轉換裝置輸出端連接示波器,AD轉換裝置輸入端連接FPGA,AD轉換裝置輸出端連接觸控螢幕,IXD顯示器連接FPGA,電源連接IXD顯示器。本實施方式中,採用Altera公司的型號為EP1CQ240C8N的FPGA作為實驗平臺,其邏輯框圖見圖21,該FPGA通過添加Flash模塊,提供了系統代碼運行的空間,同時,可以將代碼燒錄在Flash模塊中,節省了每次下載程序所浪費的時間;該FPGA的SDRAM模塊,用來存儲IXD顯示器要顯示的數據,SDRAM控制器集成在IXD IP核內。為了實現SDRAM模塊和IXD顯示器之間的異步讀寫功能,在SDRAM模塊的輸出埠和IXD顯示器的RGB輸入埠之間添加DCFIF0,達到預想效果。IXD顯示器選用夏普公司型號為LQ080V3DG01的IXD液晶屏。根據用戶手冊提供的LCD時序的描述,在FPGA中設計LCD控制模塊,其控制框圖見圖22。它能產生液晶屏顯示需要的時鐘信號。同時,添加鎖相環,將輸入時鐘信號分頻倍頻,分別提供給LCD顯示器和SDRAM模塊作為其工作信號。
本實施方式中,通過觸控螢幕點擊操作從硬體上輔助FPGA進行波形產生方式的選擇、輸出波形類型的選擇、在選擇的輸出波形上選取特徵點、利用高斯函數-cosine函數結合的方法分段擬合波形、採用彈性腔模型將人體主動脈模擬成兩個血管彈性腔並仿真出該血管彈性腔內血液流動狀態形成波形、將波形中疊加噪聲信號並設定信噪比。本實施方式採用型號為ADS7843的AD轉換裝置,作為觸控螢幕的控制器,ADS7843是一個12位的模數轉換器,其數字接口與FPGA的IO 口相連接,提供其工作時序信號,ADS7843的工作電路如圖23所示,ADS7843的14號引腳為輸入接口,與FPGA的237號引腳相連。ADS7843的12引腳為輸出接口,與FPGA的219號引腳相連。如果想獲取Y方向的坐標具體數值,可以將信號從X+引腳輸入,同時打開Y+和Y-引腳,得到X+的數字電壓值,最後,得到Y方向的坐標,同樣,X方向上的坐標可以用同樣的方法獲得。ADS7843提供了兩種電壓輸入模式,一種是單電壓參考輸入模式,另一種是差分模式。本實施方式中使用差分電壓輸入模式。本實施方式採用型號為DAC7513的數模轉換晶片作為DA轉換裝置,輸出最後的模擬波形。DAC7513是一個低電壓、12位、低功耗並且能夠與SPI 核兼容的高速轉換晶片,該晶片工作時鐘信號為IOkHZ,參考電壓輸入為3. 3v,其工作電路如圖24所示,DAC7513的6號引腳為輸入接口,與FPGA的85號引腳相連,I號引腳為輸出接口,直接連接示波器。本實施方式的基於FPGA的脈搏波信號發生器,需要的電源幅值為12V、5V和3. 3V,其中,12V和5V分別提供給IXD顯示器,提供背光電壓。3. 3V提供給ADS7843模數轉換晶片、DAC7513數模轉換晶片和觸控螢幕。12v電壓通過穩壓電源直接獲取;通過降壓晶片LM2940CT-5. O將12V電壓降到5V,提供給IXD顯示器。降壓晶片LM2940CT-5. O電路如圖25所示,其中,I號引腳為輸入電壓12V ;3號引腳為輸出電壓5V。通過降壓晶片LM1085IT-3. 3將5V電壓降到3. 3V,提供給ADS7843模數轉換晶片、DAC7513數模轉換晶片和觸 摸屏使用,降壓晶片LM1085IT-3. 3電路如圖26所示,其中,3號引腳為輸入電壓5V ;2號引腳為輸出電壓3. 3V。FPGA設置有波形選擇模塊、特徵點選取模塊、波形擬合模塊、噪聲疊加及信噪比設定模塊、基線漂移模塊、觸控螢幕去抖動模塊和血管彈性腔仿真模塊;波形選擇模塊用於提供可選的輸出波形類型並選擇;特徵點選取模塊用於對波形選擇模塊選擇的波形進行特徵點選取;波形擬合模塊用於利用高斯-cosine函數將特徵點選取模塊選取的特徵點擬合成波形;血管彈性腔仿真模塊用於將人體主動脈模擬成兩個血管彈性腔並仿真出該血管彈性腔內血液流動狀態產生波形;噪聲疊加及信噪比設定模塊用於對波形擬合模塊擬合成的波形或血管彈性腔仿真模塊產生的波形疊加噪聲信號並設定信噪比;基線漂移模塊用於對疊加噪聲並設定信噪比後的波形加入基線漂移;觸控螢幕去抖動模塊用於去除點擊觸控螢幕引起的抖動幹擾。本實施方式中,基於FPGA的脈搏波信號發生方法,如圖2所示,包括如下步驟步驟1:點擊觸控螢幕的四個邊界點,得到該四個邊界點的坐標值並保存,根據四個邊界點的坐標值、觸控螢幕長度和觸控螢幕寬度得到該任意一點坐標值,完成觸控螢幕坐標校正;如圖20所示,點擊四個邊界點A、B、C、D,得到四個點的坐標值A(Vax, Vay)、B (Vbx, Vby)、C (Vex, Vcy)、D (Vdx, Vdy)。點擊觸控螢幕上的任意一點,根據四個邊界點的坐標值、觸控螢幕長度和觸控螢幕寬度得到該任意一點(X,y)坐標值,公式如下
權利要求
1.一種基於FPGA的脈搏波信號發生器,包括觸控螢幕、IXD顯示器和示波器,其特徵在於還包括FPGA、電源、AD轉換裝置和DA轉換裝置; 所述電源用於為LCD顯示器、觸控螢幕、AD轉換裝置和DA轉換裝置供電; 所述AD轉換裝置用於將點擊觸控螢幕動作產生的電壓值轉換為坐標數字值並將該坐標數字值傳輸至FPGA ; 所述DA轉換裝置用於將FPGA輸出的數字波形轉換為模擬波形並將該模擬波形傳輸至示波器; 所述FPGA用於產生脈搏波信號並將其傳輸至IXD顯示器或示波器進行脈搏波波形顯示; 所述DA轉換裝置輸入端連接FPGA,DA轉換裝置輸出端連接示波器,AD轉換裝置輸入端連接FPGA,AD轉換裝置輸出端連接觸控螢幕,IXD顯示器連接FPGA,電源連接IXD顯示器。
2.根據權利要求1所述的基於FPGA的脈搏波信號發生器,其特徵在於所述FPGA設置有波形選擇模塊、特徵點選取模塊、波形擬合模塊、噪聲疊加及信噪比設定模塊、基線漂移模塊、觸控螢幕去抖動模塊和血管彈性腔仿真模塊; 所述波形選擇模塊用於提供可選的輸出波形類型並選擇; 所述特徵點選取模塊用於對波形選擇模塊選擇的波形進行特徵點選取; 所述波形擬合模塊用於利用高斯-cosine函數將特徵點選取模塊選取的特徵點擬合成波形; 所述血管彈性腔仿真模塊用於將人體主動脈模擬成兩個血管彈性腔並仿真出該血管彈性腔內血液流動狀態產生波形; 所述噪聲疊加及信噪比設定模塊用於對波形擬合模塊擬合成的波形或血管彈性腔仿真模塊產生的波形疊加噪聲信號並設定信噪比; 所述基線漂移模塊用於對疊加噪聲並設定信噪比後的波形加入基線漂移; 所述觸控螢幕去抖動模塊用於去除點擊觸控螢幕引起的抖動幹擾。
3.採用權利要求1所述的基於FPGA的脈搏波信號發生器的脈搏波信號發生方法,其特徵在於包括如下步驟 步驟1:點擊觸控螢幕的四個邊界點,得到該四個邊界點的坐標值並保存,根據四個邊界點的坐標值、觸控螢幕長度和觸控螢幕寬度得到該任意一點坐標值,完成觸控螢幕坐標校正; 步驟2:選擇波形產生方式並去除由點擊觸控螢幕引起的觸控螢幕抖動,所述波形產生方式包括波形擬合和血管彈性仿真若選擇波形擬合,則執行步驟3,若選擇血管彈性仿真,則執行步驟6 ; 步驟3:選擇輸出波形類型並去除由點擊觸控螢幕引起的觸控螢幕抖動,所述輸出波形類型包括I型滑脈、II型滑脈、I型弦脈、II型弦脈和III型弦脈; 步驟4:根據選擇的輸出波形類型,選取特徵點並去除由點擊觸控螢幕引起的觸控螢幕抖動; 步驟5 :依次連接兩個相鄰的特徵點,利用高斯函數-cosine函數結合的方法,分段擬合波形,若干分段波形整合得到脈搏波波形,並去除由點擊觸控螢幕引起的觸控螢幕抖動,然後執行步驟7 ; 步驟6 :採用彈性腔模型將人體主動脈模擬成兩個血管彈性腔,其中一個血管彈性腔表徵主動脈弓,另一個血管彈性腔表徵腹主動脈,通過兩個血管彈性腔仿真出該血管彈性腔內血液流動狀態形成波形,選取血管彈性腔參數並去除由點擊觸控螢幕引起的觸控螢幕抖動,血管彈性腔參數包括主動脈弓的血管彈性腔的集總順應性、腹主動脈的血管彈性腔的集總順應性、連接兩個血管彈性腔的血柱及外周阻力; 步驟7 :在波形中疊加噪聲信號並設定信噪比,並去除由點擊觸控螢幕引起的觸控螢幕抖動; 步驟8 :對加入噪聲信號並設定信噪比後的波形設定基線漂移,得到噪聲和基線漂移的脈搏波波形; 步驟9 :將脈搏波波形通過IXD顯示器或示波器顯示。
4.根據權利要求3所述的基於FPGA的脈搏波信號發生方法,其特徵在於步驟4中所述的在選擇的輸出波形上選取特徵點,是根據所選擇的波形,在每個周期中,選取幅值最大的點、斜率值最大的點、初始點、結束點、拐點和駐點作為特徵點。
5.根據權利要求3所述的基於FPGA的脈搏波信號發生方法,其特徵在於所述去除由點擊觸控螢幕引起的觸控螢幕抖動,具體方法是點擊觸控螢幕一點並保存其坐標,再次點擊該點並保存其坐標,分別比較兩次點擊得到的點的橫坐標絕對值之差和縱坐標的絕對值之差,若橫坐標絕對值之差或縱坐標的絕對值之差大於5,則視為觸控螢幕存在幹擾,第二次點擊的坐標無效,若橫坐標絕對值之差或縱坐標的絕對值之差小於5,則視為觸控螢幕無幹擾,第二次點擊的坐標有效,此時將第二次點擊的有效坐標與第一次點擊所保存的坐標的橫縱坐標對應相加並取平均值,得到該點坐標結果。
6.根據權利要求3所述的基於FPGA的脈搏波信號發生方法,其特徵在於步驟7所述的噪聲信號包括50Hz工頻噪聲,高斯白噪聲和均勻分布的噪聲。
全文摘要
一種基於FPGA的脈搏波信號發生器,包括LCD顯示器、示波器、FPGA、觸控螢幕、電源、AD轉換裝置和DA轉換裝置;DA轉換裝置輸入端連接FPGA,DA轉換裝置輸出端連接示波器,AD轉換裝置輸入端連接FPGA,AD轉換裝置輸出端連接觸控螢幕,LCD顯示器連接FPGA,電源連接LCD顯示器。本發明方法採用兩種方式產生脈搏波波形,一種方式是通過高斯函數-Cosine函數結合的方式,分段擬合脈搏波得到最後的完整波形,省去了整個波形所浪費的存儲空間,具有專一性;另一種方式是採用彈性腔模型模擬血管情況,模擬出兩個血管彈性腔,通過參數的改變,可以產生低阻力,中阻力,高阻力,超高阻力四種情況下的脈搏波波形。兩種方式均能在信號數據未知的前提下,由用戶設定得到準確脈搏波波形輸出。
文檔編號A61B5/02GK103054564SQ20131003420
公開日2013年4月24日 申請日期2013年1月29日 優先權日2013年1月29日
發明者徐禮勝, 王昊, 王璐, 宋丹, 陳珏麗, 伏全海 申請人:東北大學