引言:醫(yī)療電子設(shè)備市場競爭激烈,快速構(gòu)建原型系統(tǒng)是縮短開發(fā)時(shí)間的關(guān)鍵。
21 世紀(jì)是生命和健康的世紀(jì),生命科學(xué)的飛速進(jìn)步不斷推動(dòng)著人類對(duì)自身健康和疾病的認(rèn)識(shí),如何開發(fā)創(chuàng)新型的醫(yī)療電子設(shè)備也成為了研究的熱點(diǎn)之一,其研究內(nèi)容涉及眾多工程學(xué)研究領(lǐng)域,如電子學(xué)、計(jì)算機(jī)、信息處理、光學(xué)、精密機(jī)械學(xué)等。隨著醫(yī)學(xué)的發(fā)展、治療手段的多樣化和相關(guān)工程領(lǐng)域技術(shù)的不斷進(jìn)步,醫(yī)療電子設(shè)備正變得日益復(fù)雜化,事實(shí)上很多大型醫(yī)療電子設(shè)備都由多個(gè)子系統(tǒng)組成,需要集成多種傳感器、機(jī)械部件、電子元件比如FPGA 或者微處理器等,還會(huì)涉及到多種專業(yè)總線和協(xié)議,其研發(fā)周期也是相當(dāng)長,可能需要2-3 年甚至更長的時(shí)間。于是,如何縮短整個(gè)醫(yī)療電子設(shè)備系統(tǒng)的開發(fā)時(shí)間、提高創(chuàng)新程度成為了占領(lǐng)市場的要素。
從另外一個(gè)角度看,對(duì)于大學(xué)、研究所或者公司的研發(fā)機(jī)構(gòu)來說,他們必須著眼于未來的、有一定前瞻性和創(chuàng)新性的設(shè)備研發(fā),因此這部分研發(fā)人員需要關(guān)注的是,如何快速地對(duì)一些算法或理論上的研究成果進(jìn)行驗(yàn)證、并進(jìn)一步搭建出實(shí)際的系統(tǒng)直至產(chǎn)品化,從而將自己的科研項(xiàng)目或?qū)@a(chǎn)業(yè)化,獲取更多支持以進(jìn)入良性循環(huán)。
對(duì)于一些小型公司來說,如何從激烈的市場競爭中站穩(wěn)腳跟并脫穎而出是非常困難的事情。他們的核心技術(shù)人員也許是生物醫(yī)學(xué)領(lǐng)域的專家,掌握了一定的專利或研究成果,但如何在團(tuán)隊(duì)人員非常有限的情況下,快速的將專利或研究成果轉(zhuǎn)化成產(chǎn)品、并保證產(chǎn)品的可靠性和穩(wěn)定性是很大的難點(diǎn)。
綜上所述,對(duì)于醫(yī)療電子設(shè)備的開發(fā)人員來說,系統(tǒng)本身在電子、機(jī)械、傳感器等方面的復(fù)雜性以及市場競爭的需求,使得如何快速地對(duì)研究成果進(jìn)行原型驗(yàn)證并產(chǎn)品化成為領(lǐng)先于市場的關(guān)鍵。
通過統(tǒng)一的平臺(tái)快速構(gòu)建原型系統(tǒng)
系統(tǒng)開發(fā)一般可以分為三個(gè)階段:設(shè)計(jì),原型驗(yàn)證、以及發(fā)布。設(shè)計(jì)主要是對(duì)產(chǎn)品本身以及其中牽涉到的算法、概念進(jìn)行設(shè)計(jì),原型驗(yàn)證是對(duì)設(shè)計(jì)的可行性進(jìn)行驗(yàn)證或評(píng)估,發(fā)布是產(chǎn)品的最終實(shí)現(xiàn)。設(shè)計(jì)階段的主要任務(wù)是由開發(fā)團(tuán)隊(duì)中生物醫(yī)學(xué)、信號(hào)處理、圖像處理方面的專家或研發(fā)人員使用文本數(shù)學(xué)工具來進(jìn)行算法設(shè)計(jì)或系統(tǒng)設(shè)計(jì),這一階段的成果是指特定的、達(dá)到一定目的的算法。原型階段的主要任務(wù)是在一定的硬件平臺(tái)上實(shí)現(xiàn)設(shè)計(jì)算法并進(jìn)行驗(yàn)證和評(píng)估,從而進(jìn)一步調(diào)整算法,這部分任務(wù)通常由具有電子工程背景的嵌入式系統(tǒng)開發(fā)人員,在VxWorks、QNX、Linux 等嵌入式操作系統(tǒng)上加以完成,他們所使用的軟件工具是和硬件平臺(tái)直接相關(guān)的,比如CCS, VHDL, VDSP++等。
一般情況下這兩個(gè)階段的開發(fā)人員和開發(fā)平臺(tái)都是不同的,因此原型階段的開發(fā)者必須無縫的將設(shè)計(jì)階段的成果加以吸納和轉(zhuǎn)換,比如將原先的文本數(shù)學(xué)算法在嵌入式環(huán)境下用C 重寫一遍,或者根據(jù)硬件平臺(tái)的選擇將浮點(diǎn)算法改寫成定點(diǎn)算法。如果系統(tǒng)需求需要修正或者算法設(shè)計(jì)有些錯(cuò)誤,就會(huì)導(dǎo)致原型階段的大量修正工作甚至返工。 因此,整個(gè)系統(tǒng)開發(fā)是一個(gè)循環(huán)遞進(jìn)的過程。
為了減少這兩個(gè)階段之間循環(huán)往復(fù)的次數(shù),很多開發(fā)團(tuán)隊(duì)都采取了兩邊互相靠攏的方法,要求前端的算法設(shè)計(jì)人員對(duì)硬件和底層編程有一定了解,而后端的嵌入式系統(tǒng)開發(fā)人員也需要有一定的生物醫(yī)學(xué)背景。這種方法一定程度上能夠讓兩個(gè)階段之間更好地進(jìn)行溝通,但是對(duì)開發(fā)人員的要求較高,而且缺少系統(tǒng)性,隨著醫(yī)療電子系統(tǒng)的日益復(fù)雜化,不能從根本上解決問題。
一種更為釜底抽薪的解決方案是將這兩個(gè)階段的工作移植到統(tǒng)一開發(fā)平臺(tái)之中,即在一個(gè)開發(fā)平臺(tái)下集成算法和硬件:一方面,在算法設(shè)計(jì)階段引入硬件I/O 進(jìn)行前期的驗(yàn)證,可以在更早階段發(fā)現(xiàn)并修正潛在的錯(cuò)誤;另一方面,由于使用同樣的開發(fā)環(huán)境,算法設(shè)計(jì)的代碼可以在原型驗(yàn)證的過程中被重用,從而簡化編程的復(fù)雜性,降低了對(duì)算法設(shè)計(jì)人員和嵌入式開發(fā)人員在系統(tǒng)設(shè)計(jì)流程中各個(gè)步驟的要求。從根本上加快循環(huán)遞進(jìn)的過程,從而縮短系統(tǒng)的開發(fā)時(shí)間。
使用圖形化系統(tǒng)設(shè)計(jì)平臺(tái)——LabVIEW 快速搭建醫(yī)療電子設(shè)備的原型
自1986 年誕生以來,LabVIEW 圖形化開發(fā)平臺(tái)一直致力于簡化編程的復(fù)雜性,在所有涉及到數(shù)據(jù)采集和控制的領(lǐng)域里,LabVIEW 圖形化編程方式都已經(jīng)成為標(biāo)準(zhǔn)的開發(fā)工具。對(duì)于醫(yī)療電子設(shè)備的開發(fā)團(tuán)隊(duì)來說,LabVIEW 提供了將硬件I/O 引入算法設(shè)計(jì)的快捷方式,并通過代碼重用和商業(yè)化、可發(fā)布的嵌入式原型平臺(tái),簡化構(gòu)建原型系統(tǒng)的復(fù)雜性。
交互式的算法設(shè)計(jì),并支持已有算法的代碼重用
在過去的幾年里,LabVIEW 已經(jīng)擴(kuò)展性地納入了多種算法設(shè)計(jì)方式,從而更好地滿足了研發(fā)設(shè)計(jì)人員的需求。除了強(qiáng)大的圖形化編程方式以外, LabVIEW 現(xiàn)還包括了基于文本的數(shù)學(xué)編程工具連續(xù)時(shí)間仿真、狀態(tài)圖和圖形化數(shù)據(jù)流模式,用以代表各類算法。 LabVIEW 還納入了交互式工具,用于數(shù)字濾波器、控制模型、數(shù)字信號(hào)處理算法的開發(fā),令醫(yī)療電子相關(guān)的算法設(shè)計(jì)更為簡易。
以信號(hào)處理為例,信號(hào)處理是很多醫(yī)療電子系統(tǒng)中非常關(guān)鍵的部分,比如心電圖、腦電圖和其他生物信號(hào)與醫(yī)學(xué)影像,都需要通過信號(hào)處理,提取出信號(hào)中的特征值,以得到進(jìn)一步的分析結(jié)果。通過 LabVIEW 和相關(guān)的工具包,比如高級(jí)信號(hào)處理工具包和濾波器設(shè)計(jì)工具包,設(shè)計(jì)人員可以通過調(diào)用現(xiàn)成的函數(shù) ,快速完成例如移除基線漂移、噪聲消除、QRS 檢測、胎心信號(hào)提取等應(yīng)用。通過交互式的快速VI,只要在菜單中對(duì)參數(shù)進(jìn)行設(shè)置即可完成Kaiser 窗FIR 高通濾波器的設(shè)計(jì),從而移除基線漂移。為了進(jìn)一步處理,設(shè)計(jì)人員也可以調(diào)用高級(jí)信號(hào)處理工具包中的小波降躁函數(shù)來濾除寬帶噪聲。
對(duì)于例如胎心信號(hào)提取等較為復(fù)雜的處理,開發(fā)人員也可以通過LabVIEW 中的ICA(獨(dú)立分量分析)算法來加以研究應(yīng)用。如圖1 所示,上半部分是采集到的母體和胎心的混合信號(hào),下半部分是經(jīng)過ICA 處理后分離得到的胎心信號(hào)。
圖1 胎心信號(hào)的提取
與此同時(shí),開發(fā)人員也可以通過LabVIEW 內(nèi)置的文本數(shù)學(xué)工具重用已有的算法,例如使用Mathscript 節(jié)點(diǎn)調(diào)用MATLAB 中開發(fā)的.m 文件,并通過LabVIEW 的交互式環(huán)境對(duì)算法進(jìn)行驗(yàn)證調(diào)試,從而與各種先進(jìn)的數(shù)學(xué)和設(shè)計(jì)軟件集成使用。
將硬件I/O 引入算法設(shè)計(jì), 在早期發(fā)現(xiàn)并修正潛在的問題
正如前文所提,如果系統(tǒng)需求需要修正或者算法設(shè)計(jì)存在錯(cuò)誤,就會(huì)導(dǎo)致原型階段的大量修正工作甚至返工。因此一種解決方案就是更早地將真實(shí)世界的信號(hào)和硬件引入到設(shè)計(jì)流程之中,從而在早期就發(fā)現(xiàn)并修正潛在的問題。