本發(fā)明屬于信號處理領(lǐng)域,具體涉及一種適用于非稀疏信號的壓縮感知重構(gòu)方法,用于對可穿戴設備壓縮后的非稀疏信號進行快速且精確的重構(gòu)。
背景技術(shù):
隨著遠程醫(yī)療的逐步實用化,越來越多關(guān)于可穿戴的先進設備和技術(shù)都已經(jīng)投入到了醫(yī)療診斷當中,對可穿戴遠程健康監(jiān)護系統(tǒng)中生理信號采樣處理的理論技術(shù)主要有兩類:一類是傳統(tǒng)的基于信號帶寬的奈奎斯特采樣定理;另一類是要求信號具有稀疏性或者可壓縮性的新興的壓縮感知(compressedsensing,cs)理論。壓縮感知是2004年提出的一個全新的信號采樣理論。其思想是對稀疏信號進行全局觀測,然后通過適當?shù)闹貥?gòu)算法從觀測信號中重構(gòu)出源信號,由于可以對這種可壓縮的生理信號進行壓縮采樣和后期的快速重構(gòu),理論上能有效彌補穿戴設備處理信號能力弱的缺點。但目前大多數(shù)原有的經(jīng)典壓縮感知算法對可穿戴設備采樣的這種稀疏性差的生理信號的重構(gòu)效果和速度都是不是非常理想,這些經(jīng)典算法在重構(gòu)的速度上并不能與精確度相互匹配,精度較高的算法往往重構(gòu)的速度慢,速度快的算法在精度上達不到要求,并不能做到重構(gòu)速度和精度都能達到高標準,不太適用于可穿戴設備的生理信號重構(gòu)恢復。同時這些壓縮感知算法對于生理信號中接近于零的元素無法準確重構(gòu)恢復。事實上,這些無法準確重構(gòu)恢復的生理信號中的接近于零的元素往往是重要的診斷指標。如果沒有進行快速、精確地重構(gòu)出源生理信號就會對診斷造成巨大影響,因此急需一種快速的、精度高的壓縮感知重構(gòu)算法。
技術(shù)實現(xiàn)要素:
本發(fā)明的發(fā)明目的在于:針對現(xiàn)有的壓縮感知算法應用于可穿戴設備采樣的稀疏性差的生理信號重構(gòu)恢復時速度很慢等技術(shù)問題,提出了一種基于交替方向乘子法和塊稀疏貝葉斯學習的壓縮感知重構(gòu)方法。
本發(fā)明的一種面向可穿戴設備的快速壓縮感知重構(gòu)方法,包括以下步驟:
步驟1:構(gòu)造m*n維隨機稀疏二值觀測矩陣ф(m<n),該矩陣中每一行包含a個1,并且a小于n,其余位置都為0,非零元素的位置利用高斯分布隨機產(chǎn)生,其中n為待重構(gòu)的原始信號x(非稀疏信號)的長度;
步驟2:利用觀測矩陣ф對長度為n的原始信號x進行壓縮測量,得到長度為m的觀測向量y,即
y=φx(1)
步驟3:根據(jù)觀測矩陣ф和觀測向量y,通過基于交替方向乘子法的塊稀疏貝葉斯壓縮感知方法進行信號重構(gòu),獲得原始信號x的重構(gòu)信號
由于信號在傳輸過程中會產(chǎn)生噪聲,因此式(1)的實際情況應為:
y=φx+v(2)
其中v為產(chǎn)生的加性噪聲;
1)定義信號模型:將原始信號x按公式(3)所示劃分為若干個大小相同的子塊xi,其中d為塊長度,g為塊的總數(shù)(g*d=n);
假設每個子塊xi都服從一個如(4)所示的參數(shù)化的多維高斯分布,并且每個子塊之間是獨立同分布的,其中γi為一個非負的參數(shù),bi為一個正定矩陣,用來對xi的塊內(nèi)相關(guān)結(jié)構(gòu)進行建模。
p(xi;γi,bi)~n(0,γibi),i=1,…,g(4)
則x的先驗分布為:p(x;{γi,bi}i)~n(0,σ0)。其中
假設y=φx+v中的v是方差為λ的高斯白噪聲,即
p(v;λ)~n(0,λi)(5)
其中i表示單位矩陣。
則x的后驗估計為:
其中,
μx=σ0φt(λi+φσ0φt)-1y(7)
2)根據(jù)第二類最大似然估計來求解相關(guān)的參數(shù),即最小化代價函數(shù)
利用恒等式
其中g(shù)個γi構(gòu)成γ。
由此可得
其中
定義一個函數(shù)
h(γ)=log|λi+φσ0φt|(13)
則有
其中
將式(14)代入g(x)同時求解
將式(12)代入到式(11)中,則
另外,由式(14)可以得到:
其中,tr(·)表示矩陣的跡,φi表示觀測矩陣φ的子矩陣,即觀測矩陣φ按列均分為g個子矩陣φi,每個子矩陣φi包括d列,其中i=1,2,…,g。
在上述對原始信號x的分析基礎(chǔ)上可知,zi是γ的函數(shù),同時γi又是xi和zi的函數(shù),因此可以通過循環(huán)迭代的方法來進行求解,基于λ、zi、bi、
其中wi=2(zi)1/2,g個長度均為d的塊重構(gòu)向量
公式(18)中的λ、wi、bi、
其中,zi、
并通過下述處理對正定矩陣bi進行更新:
首先,根據(jù)下式獲取矩陣b:
然后,利用一階自回歸模型來對塊內(nèi)相關(guān)結(jié)構(gòu)進行建模,設置自回歸系數(shù)
式(22)中的d表示子塊長度。
最后,將重構(gòu)得到的矩陣b分別賦值給g個正定矩陣bi。
為了實現(xiàn)對公式(18)求解,定義矩陣h:
令
同時,式(24)又可以轉(zhuǎn)化為如下問題:
subjecttoui-bi=0,i=1,…,g
根據(jù)交替方向乘子法,通過子迭代方法求解參量ui,在每次子迭代時,先初始化
其中,h根據(jù)公式(23)得到,預設值ρ為小于1的正數(shù),max(p,q)表示p和q中的最大值,j表示當前子迭代過程中的迭代次數(shù),子迭代收斂的條件為兩次迭代結(jié)果之差小于或等于預設閾值。
最后,基于wi、bi、ui的當前值,則可以得到每個子塊xi的當前估計值,即當前迭代結(jié)果:
g個
本發(fā)明基于塊稀疏貝葉斯學習框架,通過正定矩陣b,利用拓普利茲矩陣對非稀疏信號的塊內(nèi)相關(guān)性進行一階自回歸建模,在信號不具備稀疏性的情況下,充分利用非稀疏信號的塊內(nèi)相關(guān)性,從而保證了信號的重構(gòu)精度;通過將迭代過程中重構(gòu)信號的求解轉(zhuǎn)化為有條件限制的凸優(yōu)化問題,并采用交替方向乘子法進行求解該凸優(yōu)化問題,通過子循環(huán)過程對主循環(huán)的迭代結(jié)果進行階躍式的調(diào)整,有效地減少了主循環(huán)的迭代次數(shù),從而使得主循環(huán)能夠更快地達到收斂,加快了算法的重構(gòu)速度。與現(xiàn)有塊稀疏貝葉斯學習類壓縮感知重構(gòu)算法相比,本發(fā)明在保證重構(gòu)精度的前提下可以達到更快的重構(gòu)速度。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合實施方式,對本發(fā)明作進一步地詳細描述。
本發(fā)明的快速重構(gòu)處理包括以下步驟:
步驟一:對心電信號進行劃分時間窗。
本實施例中,為了便于檢驗重構(gòu)信號能力,從信號數(shù)據(jù)庫中提取心電信號樣本。例如從心電數(shù)據(jù)庫mit-bihlong-termecgdatabase(采樣率為128hz)中提取信號樣本,由于重構(gòu)處理對于數(shù)字信號只能分段進行處理,因此首先需要對信號劃分時間窗。mit-bihlong-termecgdatabase中的一個信號樣本包含1000000個采樣點,將其均等劃分為長度為500個采樣點的時間窗,選取其中一個時間窗作為本實施例所要處理的原始信號x(原始心電信號),其中x的長度為n=500。
步驟二:構(gòu)造m*n維隨機稀疏二值觀測矩陣ф(m<n),該矩陣中的每一行包含a個1,其余位置均為零,1的位置利用隨機高斯分布函數(shù)隨機生成,在本實施例中,m=200,n=500,a=30。
步驟三:利用觀測矩陣ф對原始心電信號x進行壓縮測量,得到長度為m的觀測向量y,即y=фx。
步驟四:根據(jù)觀測矩陣ф和觀測向量y,利用基于交替方向乘子法和塊稀疏貝葉斯學習的壓縮感知重構(gòu)方法(簡稱bsbl-admm)對原始信號進行重構(gòu),得到原始心電信號的估計向量
1):輸入:觀測矩陣ф,觀測向量y,塊長d;
2):初始化:
并將φ按列均分為g個子矩陣φi,每個子矩陣φi包括d列;
3):計算γ;
4):計算噪聲方差λ:
5):計算矩陣
并將重構(gòu)后的矩陣b賦值分別均分給g個bi;
6):計算
7):計算矩陣h:
8):通過子迭代方法求解參量ui,其中i=1,2,…,g:
8-1:初始化長度為d的向量
8-2:根據(jù)公式
8-3:判斷是否滿足子迭代收斂條件,若是,則將當前迭代結(jié)果
其中,max(p,q)表示取p和q中的最大值。
9):計算
10):更新重構(gòu)信號
本實施例中,閾值ε的取值為:ε=1×10-5。
以上所述,僅為本發(fā)明的具體實施方式,本說明書中所公開的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換;所公開的所有特征、或所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以任何方式組合。