黃 翔, 潘天文, 魏朋博, 孫益洲, 虞致國, 顧曉峰
受電池壽命的影響,心臟狀態(tài)的長時間監(jiān)測往往受到設(shè)備功耗的限制。因此,降低系統(tǒng)功耗成為面向心電(electrocardiogram,ECG)信號的植入式醫(yī)療設(shè)備迫切需要解決的一個問題[1~3]。
將壓縮感知(compressed sensing,CS)理論應用于無線心電傳輸來降低系統(tǒng)功耗成為了近年來的研究熱點。理論優(yōu)勢在于對原始稀疏信號的重構(gòu)只需要很少的數(shù)據(jù)量,且其數(shù)據(jù)采集端的壓縮過程相對簡單,可以滿足低功耗的要求[4,5],而相對復雜的重構(gòu)過程可在手機或其他終端實現(xiàn)[6]。Mamaghanian H等人利用擴展頻譜隨機調(diào)制預積分器,實現(xiàn)了一種CS模擬信息轉(zhuǎn)換硬件電路,但其信號壓縮是在模擬端實現(xiàn)的,易受噪聲干擾[7]。Dixon A M等人研究了針對心電和肌電傳感器的系統(tǒng),采用閾值法和小窗滑動改善心電信號的時域稀疏度,可達到16倍的壓縮因子(compression factor,CF),但閾值法的引入破環(huán)了原始信號,導致恢復精度不夠理想[8]。Chen F等人提出了一種比較通用的CS系統(tǒng)架構(gòu)[3],具有結(jié)構(gòu)簡單、功耗低且恢復精度較高的特點,但并未針對心電信號進行功耗優(yōu)化。
本文在Chen F等人提出的結(jié)構(gòu)基礎(chǔ)上[3],針對ECG信號的周期性進行低功耗優(yōu)化。計算數(shù)據(jù)壓縮過程中運算產(chǎn)生的最大數(shù)據(jù),確定電路中累加器的位數(shù)即壓縮數(shù)據(jù)的位數(shù),避免使用冗余寄存器,以減少電路功耗、提高數(shù)據(jù)的CF,降低了發(fā)射模塊的功耗。采用貝葉斯學習算法[9]對壓縮數(shù)據(jù)進行重構(gòu)以驗證所設(shè)計電路的功能。
在CS理論中[10],用一個M×N維觀測矩陣Φ將待壓縮的N維心電信號f投影到一個低維的測量空間上,得到壓縮后的M維壓縮信號y(M?N)
y=Φf=ΦΨx=ACSx
(1)
式中Ψ為稀疏基;x為f在稀疏基下的稀疏表示,ACS=ΦΨ稱為CS矩陣。由于M?N,式(1)為一個欠定方程,解不具有唯一性??紤]到x是f的稀疏表示,可以通過求解凸優(yōu)化問題算出式(1)的最優(yōu)解x*,再利用f*=Ψx*重構(gòu)出原始的心電信號。
根據(jù)CS理論,一種基于CS的心電信號采集系統(tǒng)被廣泛采用,其系統(tǒng)框圖如圖1所示。
圖1 CS系統(tǒng)框架
該系統(tǒng)的前端主要有模/數(shù)轉(zhuǎn)換器(ADC)和CS模塊。ADC將模擬心電信號轉(zhuǎn)化為數(shù)字信號f,CS模塊用觀測矩陣Φ與f相乘得到包含原始信號信息的M維壓縮信號y,再將y經(jīng)過并串轉(zhuǎn)換由發(fā)射模塊發(fā)射到終端,在終端利用y重構(gòu)出心電信號。
CS模塊主要由CS采樣和并/串轉(zhuǎn)換2個子模塊組成,CS采樣模塊通過矩陣生成模塊和累加器完成矩陣乘法運算,以實現(xiàn)心電信號的壓縮功能,即
(2)
CS模塊的電路實現(xiàn)如圖2所示。其中,Φ1[n],Φ2[n],…,ΦM[n]分別為觀測矩陣Φ中第M行對應的行向量,例如,Φ1[n]=[Φ11,Φ12,…,Φ1N]。
圖2 CS模塊電路結(jié)構(gòu)示意
在硬件實現(xiàn)中,本文選擇隨機伯努利矩陣作為觀測矩陣Φ。在進行矩陣乘法運算時只需做加減運算,不用做復雜的乘法運算,降低了硬件的復雜性。M的大小需要預先設(shè)定,若M過大,占用過多的面積;過小,導致壓縮的數(shù)據(jù)所包含的信息量不足以準確重構(gòu)原始數(shù)據(jù)。N為一組待壓縮信號的個數(shù),可配置,通過改變N值改變壓縮比CF=(N×Bf)/(M×By),其中Bf和By分別為輸入的心電信號的位數(shù)和累加器的位數(shù)。Bf由ADC的位數(shù)確定,當ADC的位數(shù)大于8時其分辨率的提高并不會顯著影響信號的重構(gòu)質(zhì)量[11],考慮到低功耗的要求,Bf暫定為8。此外,采樣頻率的選擇也會影響電路性能。若頻率過大,對于一個周期的心電信號,采樣過多的數(shù)據(jù),造成功耗浪費;若采樣頻率;過小,則采樣數(shù)據(jù)過少,導致包含的信息量無法在壓縮之后重構(gòu)出原始信號。文獻[12]的實驗結(jié)果表明在20 kHz的采樣頻率下,當M=50,N=1 024時可以使傳輸?shù)臄?shù)據(jù)量和重構(gòu)的效果達到平衡。
根據(jù)M,N的值,確定矩陣生成模塊的設(shè)計,電路結(jié)構(gòu)如圖3所示,矩陣生成模塊由2組線性反饋移位寄存器組成,在每個時鐘周期并行產(chǎn)生50個偽隨機的0或1的數(shù)據(jù),且每1 024個時鐘循環(huán)一次。
圖3 矩陣生成模塊
上述電路結(jié)構(gòu)中需要50個累加器,累加器功耗占了CS采樣模塊總功耗的較大部分,因此主要對累加器的功耗進行分析。本文參考邏輯功效 (logical effort,LE)模型分析累加器模塊的功耗[13]。對該模型進行適當?shù)暮喕l(fā)現(xiàn)電路的動態(tài)功耗Pdyn可由每個節(jié)點的寄生電容值和開關(guān)頻率決定[11]
(3)
式中C為反相器參考電容值;fs為累加器輸入數(shù)據(jù)的頻率及開關(guān)頻率。LE模型并不能計算出電路的亞閾值電流,為了計算漏電功耗,引入電源電壓V下的反相器參考漏電流Ileak[11],則漏電功耗Pleak可表示為
(4)
由式(3)、式(4)可知,在M,N,V一定的情況下,要想減小系統(tǒng)的功耗應盡量使By即累加器的位數(shù)最小。但對于不同的信號源,By不確定。為了防止累加結(jié)果溢出,通常將By設(shè)置得足夠大(ADC輸出位數(shù)的2倍)[3]。然而,心電信號具有一定的周期性和峰值,因此,在有限的累加過程中(N次累加)可以確定壓縮過程中產(chǎn)生的最大數(shù)據(jù),從而確定By,避免不必要的功耗和資源浪費。
為確定CS采樣模塊所需要的最小累加器位數(shù),本文采用MIT-BIT心率不齊數(shù)據(jù)庫[14]中的心電數(shù)據(jù),計算壓縮過程中累加過程所產(chǎn)生的最大數(shù)據(jù)。
以第一組1 024個心電信號的壓縮過程為例說明,根據(jù)式(2):1)計算第1行累加過程中的最大值,即Φ11f1,Φ11f1+Φ12f2,Φ11f1+…+Φ1NfN這1 024個數(shù)的絕對值的最大值,用max_row表示;2)依次計算得到第2行到第50行的max_row;3)比較這50個max_row的值,得出第一組數(shù)組壓縮過程中產(chǎn)生的最大數(shù)據(jù)max。依次類推,計算第2,3,…,N組數(shù)據(jù)壓縮過程產(chǎn)生的最大值,最終比較得出整個心電信號壓縮過程產(chǎn)生的最大數(shù)據(jù),根據(jù)該數(shù)據(jù)確定累加器的位數(shù)。
由于數(shù)據(jù)庫中的采樣頻率為360 Hz,而電路設(shè)計的采樣頻率是20 kHz,因此,需要預先對心電數(shù)據(jù)進行插值處理,并轉(zhuǎn)換為8位二進制ADC數(shù)據(jù),以模擬20 kHz采樣的心電數(shù)據(jù)。取第一組1 024個心電數(shù)據(jù),計算矩陣乘法,并求出觀測矩陣每一行壓縮過程中產(chǎn)生的最大值max_row,該過程計算結(jié)果如圖4所示,橫軸表示觀測矩陣Φ的某一行,縱軸表示對應第x行累加過程中的最大值。
圖4 第一組心電信號壓縮產(chǎn)生的最大值
由圖4可知,50個max_row中最大的為2 524,因此,max=2 524,重復上述過程,取100組信號,求出每一組計算過程中的最大值max。該過程計算結(jié)果如圖5所示,橫軸表示所取組的序號,縱軸表示對應第x組數(shù)據(jù)壓縮過程產(chǎn)生的最大值max。
圖5 各組心電信號壓縮產(chǎn)生的最大數(shù)據(jù)
由圖5可知,這100組數(shù)據(jù)中的最大值為3 725,且圖中各組心電信號的max具有一定的周期性。雖然該最大值由限組數(shù)據(jù)統(tǒng)計得到,但由于心電信號的周期性,13位有符號二進制數(shù)最大可表示4 095可以滿足計算要求,且對心電信號的準確重構(gòu)亦驗證了這一結(jié)論。若不進行這一步優(yōu)化,對于8位心電數(shù)據(jù),為避免結(jié)果溢出會選用16位的累加器[3]。采用13位累加器代替16位累加器,減少了電路中的冗余設(shè)計,可降低電路的靜態(tài)和動態(tài)功耗。
采用SMIC的65 nm工藝庫,利用Synopsys的工具對設(shè)計進行綜合及功耗計算,為較準確評估功耗優(yōu)化效果,對電路加入I/O PAD單元。在時鐘頻率為20 kHz下優(yōu)化前后壓縮感知電路功耗對比如表1所示。
表1 電路優(yōu)化前后功耗對比
其中13 bit+門控表示插入門控時鐘的13位累加器構(gòu)成的CS電路,CS表示由CS采樣與并串轉(zhuǎn)換模塊組成的CS模塊,PAD表示電路的I/O PAD。用13位累加器代替16位累加器,電路的總功耗降低了23.93 %(由11.247 μW減少到8.556 μW),其中CS模塊的靜態(tài)功耗顯著減少了43.62 %。CS模塊的門數(shù)由原來的42 071減小到25 029,減小了40.51 %,這是功耗降低的主要原因。另外由于累加器位數(shù)的減小使得每個壓縮數(shù)據(jù)y的位數(shù)減小,降低了PAD的翻轉(zhuǎn)頻率,從而降低了PAD的動態(tài)功耗。為進一步使得電路功耗降低,在綜合時采用門控時鐘技術(shù),當部分單元進入空閑狀態(tài)時關(guān)斷相應的時鐘樹分支,既可以關(guān)閉相應單元,還可以消除時鐘網(wǎng)絡(luò)上冗余的電平翻轉(zhuǎn)。門控時鐘的加入使得電路功耗降低到了6.847 μW,較不加入門控時鐘功耗降低了19.97 %。2種優(yōu)化方法使得電路功耗降低了39.12 %。結(jié)果表明本文的優(yōu)化方法可以明顯降低系統(tǒng)的功耗,更好地適應了植入式設(shè)備的要求。
另外,隨著累加器位數(shù)的減小,最終數(shù)據(jù)的壓縮比由原來的10((1 024×8)/(50×16))提高到了12((1 024×8)/(50×13)),另一方面輸出數(shù)據(jù)位數(shù)的降低也使得無線發(fā)射模塊的功耗降低。
根據(jù)上述設(shè)計與優(yōu)化方法完成寄存器轉(zhuǎn)換級(register transfer level,RTL)設(shè)計,仿真波形如圖6所示。以圖2中計算y1為例說明(y1,y2,…,y50是并行產(chǎn)生的),xin為輸入的8位心電信號(時鐘上升沿采樣),q表示矩陣生成模塊產(chǎn)生的觀測矩陣Φ中的第一行對應的行向量Φ1[n](1執(zhí)行加法,0執(zhí)行減法),acc_out為每個時鐘上升沿根據(jù)xin和q,計算出的累加結(jié)果,當一組心電信號壓縮結(jié)束后,產(chǎn)生復位信號acc_rst(高有效),累加結(jié)果即y1由yout寄存輸出,同時acc_out重新對下一組心電信號進行累加計算。
圖6 壓縮感知電路仿真波形
為評估重構(gòu)信號的質(zhì)量,將壓縮信號通過貝葉斯學習算法進行重構(gòu)[9],原始信號與重構(gòu)信號如圖7所示。該算法與傳統(tǒng)的重構(gòu)算法相比更適用于高數(shù)據(jù)壓縮比和噪聲變化的心電信號。
圖7 原始信號與重構(gòu)信號
為具體評估所重構(gòu)的信號質(zhì)量,本文采用均方根百分比(percentage root-mean-squared difference,PRD)指標來量化生物信號的信息丟失[12]
(5)
式中x(n)為原始信號;x(n)為重構(gòu)信號。計算得出貝葉斯學習算法重構(gòu)信號的PRD=1.14 %,可以滿足臨床應用的要求[10]。
對一種心電信號CS電路進行了低功耗優(yōu)化設(shè)計。針對心電信號的周期性,通過減少電路模塊中的冗余寄存器數(shù)目降低功耗,并采用門控時鐘技術(shù),發(fā)現(xiàn)2種方法使電路的功耗降低了39.12 %。另外,由于減少了傳輸數(shù)據(jù)的位數(shù),一方面提高了信號的CF,另一方面發(fā)射模塊的功耗亦得到了顯著降低。利用貝葉斯學習算重構(gòu)信號的PRD=1.14 %,符合臨床應用對ECG信號的要求。
參考文獻:
[1] 陳偉偉,高潤霖,劉力生,等.《中國心血管病報告2015》摘要[J].中國循環(huán)雜志,2016,31(6):624-632.
[2] 江培海,黃啟俊,常 勝,等.基于SoC FPGA的心電信號檢測系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2016,35(2):74-77.
[3] Chen F,Chandrakasan A P,Stojanovic′ V.A signal-agnostic compressed sensing acquisition system for wireless and implantable sensors[C]∥Custom Integrated Circuits Conference,San Jose,2010:1-4.
[4] 韓思輝.基于FFS的壓縮感知算法研究[J].自動化技術(shù)與應用,2016,35(4):30-35.
[5] 趙 磊,俞阿龍,徐冬平,等.壓縮感知在傳感器節(jié)點信息采集中的應用[J].傳感器與微系統(tǒng),2016,35(8):141-143.
[6] 屈信超,張 躍.基于壓縮感知的實時心電信號壓縮算法[J].計算機工程與設(shè)計,2014,35(10):3450-3454.
[7] Mamaghanian H,Khaled N,Atienza D,et al.Design and exploration of low-power analog to information conversion based on compressed sensing[J].IEEE Journal on Emerging and Selected Topics in Circuits and Systems,2012,2(3):493-501.
[8] Dixon A M,Allstot E G,Gangopadhyay D,et al.Compressed sensing system considerations for ECG and EMG wireless biosensors[J].IEEE Transactions on Biomedical Circuits and Systems,2012,6(2):156-166.
[9] Zhang Z,Jung T,Makeig S,et al.Compressed sensing for energy-efficient wireless telemonitoring of noninvasive fetal ECG via block sparse Bayesian learning[J].IEEE Transactions on Biomedical Engineering,2014,60(2):300-309.
[10] 熊 煒,蘆 荻,刁文靜,等.基于壓縮感知的寬帶跳頻信號采集[J].無線電工程,2015,45(3):34-36.
[11] Chen F,Chandrakasan A P,Stojanovic V,et al.Design and analysis of a hardware-efficient compressed sensing architecture for data compression in wireless sensors[J].IEEE Journal of Solid-State Circuits,2012,47(3):744-756.
[10] Chen F,Lim F,Abari O,et al.Energy-aware design of compressed sensing systems for wireless sensors under performance and reliability constraints[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2013,60(3):650-661.
[11] Sutherland I,Sproull B,Harris D.Logical effort:Designing fast CMOS circuits[M].San Mateo,CA:Morgan Kaufmann Publishers Inc.1999.
[12] Parkale Y V,Nalbalwar S L.Application of compressed sensing(CS)for ECG signal compression:A review[C]∥Proceedings of the International Conference on Data Engineering and Communication Technology,Singapore,2017:53-65.