孫 帥,劉子龍,萬 偉
(上海理工大學 光電信息與計算機工程學院,上海 200082)
在利用生物雷達進行生命體征監測的過程中,外界環境干擾及待檢測目標自身的一些活動會影響監測結果的準確性。由于目前無法提前了解外界環境中各種復雜干擾信號的特性以及隨時間推移而產生的變化規律,因此在復雜的外界情況下,僅通過傳統固定系數的過濾系統已無法獲得理想的過濾效果[1]。
依據自適應原理可以對濾波參數進行調試,使自適應系統能夠完成對實變信號的濾除[2]。自適應算法在收斂速度、穩態失調、算法復雜度等方面各有不同。自適應算法的優點是在處理實變信號時仍可以保持較為理想的輸出信號,且能夠有效減少因系統本身計算產生的誤差;其不足之處在于穩定性以及收斂速度不夠理想。針對以上問題,本文提出了一種改進算法:基于正則化模型增加改進函數使遺忘因子增加可變性,并改進自相關矩陣逆矩陣方程[3],從而提高算法收斂速度、跟蹤能力以及穩定性。
20世紀60年代,為了解決旁瓣干擾的問題,研究人員提出了最初的最小均方算法(Least Mean Square,LMS)模型[4]。隨著研究的不斷深入,在LMS算法模型的基礎上又演變出遞推最小二乘算法(Recursive Least Square,RLS)[5]。
RLS算法的改進之處在于可在待測數據長度不斷變化的情況下求均方誤差,而且根據時間先后分別乘了加權因子[6]。因此,可得該算法的均方誤差為
(1)
式中,β(k,n)是加權因子,滿足0<β(k,n)<1。經過n次迭代,以前的數據可以忽略。當環境中雜波信號不穩定時,待測數據可能仍會遵從之前的特性。
通常情況下,遺忘因子為指數加權因子的形式,即
β(k,n)=αk-n,n=1,2,…,k
(2)
式中,α是一個接近1但小于1的數。均方誤差的表達式為
(3)
當ξ(k)為最小時,有以下關系
R(k)×w(k)=p(k)
(4)
式中,R(k)與p(k)定義如下式所示。
(5)
(6)
基于上述理論分析,能夠得出RLS算法通過對獲得信號自相關矩陣的逆矩陣進行特殊的處理,可以有效解決LMS算法缺點帶來的影響。與LMS算法相比,RLS算法在收斂速度和跟蹤能力上都有所提升[7]。但是,通常情況下RLS算法的遺忘因子是不變的,因此系統無法在跟蹤速度和穩定誤差兩方面同時達到最優。而且當參數估值約等于實際值時,卡爾曼增益向量無限趨于0,此時會導致系統喪失跟蹤能力[8]。
針對上述問題,本文提出了一種基于正則化模型的改進算法。該算法基于正則化模型增加改進函數使遺忘因子增加可變性,并且改進自相關矩陣逆矩陣方程[9],最終在收斂速度、跟蹤能力、穩定性等方面得到了較好的提升。
針對此模型,用x(n)表示信號,其中1 (7) TV(x)還可表示為TV(x)=‖Dx‖,其中D為N×(N+1)的矩陣。 (8) 不含雜波的原始信號表示為x(n),含有雜波的信號用y(n),即 y(n)=x(n)+ε(n) (9) 式中,ε(n)為高斯噪聲。 與其他降噪方式不同,依據總變分正則化模型的方式,可以通過增加相關限制條件將雜波信號降噪為原始信號,且能夠保證降噪效果存在且唯一,可以有效減少雜波的干擾[10]。根據已有的模型可以將雜波消除轉化成求解目標函數最小化的方式,其中目標函數定義為 (10) 式中,λ為正則化參數。可通過改變λ的大小來控制權重。 帶改進因子的RLS算法可以表示為 J(n)=∑λn-ie2(i) (11) 式中,i=1,2,…,n;λ為改進因子,并且滿足0<λ<1。 算法如下 e(n)=d(n)-xT(n)w(n-1) (12) (13) w(n)=w(n-1)+k(n)e(n) (14) (15) λ(n)=λmin+(1-λmin)2L(n) (16) L(n)=-round[μe2(n)] (17) 式中,x(n)表示n時刻的輸入信號矢量;w(n)表示n時刻的權矢量;d(n)為n時刻的期望輸出信號;e(n)為先驗誤差;k(n)為卡爾曼增益矢量;p(n)為n時刻的輸入信號自相關矩陣的逆矩陣;λ(n)表示n時刻的遺忘因子;round表示最接近μe2(n)的整數。 當誤差變小時,λ(n)就接近1,使參數的誤差減小;反之當誤差變大時,λ(n)就變小至最小值λmin,這樣可以加強系統跟蹤能力[11]。 由以上的算法基礎能夠推演出新的降噪算法,詳細過程如下:含有雜波的信號記為y(n),原始不含雜波的信號記為x(n)。根據以上算法可知,可以將求取最初的原始信號轉化為求目標函數最小值問題[12]。 (18) 式(18)中的目標函數J(x)可轉化為 (19) (20) 若要求得目標函數式(20)最小向量x,可以通過構造相應的輔助函數 (21) 求解式(21)的最小值問題轉換為 (22) 由于F(x,z)在x方向為凸的,在z方向是凹的,根據極值的特性,能夠調換最值的順序 (23) 對F(x,z)關于x求導可得 (24) 將上式代入式(22)中得 (25) 可以轉化為等價的求解最小化問題。 (26) 式(25)是一個具有不等式約束的條件極值,通過常規的方式不便于求解。本文通過最小化方法進行求解,令 (27) G(z,z(i))=F(z)+(z-z(i))T(αI-DDT)(z-z(i)) (28) 式中,z(0)為初始向量,取參數α不小于DDT最大特征值[13]。則(z-z(i))T(αi-DDT)(z-z(i))是一正定或半正定二次型,因此有: (1)對任意的z有G(z,z(i))>F(z); (2)在z(i)處,G(z(i),z(i))=F(z(i)),求G(z,z(i))的最小值,記為z(i+1)。 為了驗證RLS改進算法雜波濾除的效果,本文將對采集到的呼吸信號進行實驗驗證,采用高斯噪聲進行仿真驗證。圖1為采集到的正常人體呼吸信號波形圖,圖2是高斯噪聲,圖3為人體呼吸信號和高斯噪聲的疊加信號。 圖1 呼吸信號圖Figure 1. Respiration signal diagram 圖2 噪聲波形圖Figure 2. Noise waveforms 圖3 呼吸信號與高斯噪聲混迭信號Figure 3. Respiratory signal and Gaussian noise mixed signal 圖4 基于LMS算法的誤差曲線Figure 4. Error curve based on LMS algorithm 圖5 基于RLS算法的誤差曲線Figure 5. Error curve based on RLS algorithm 通過對比圖4和圖5能夠明顯看出,基于RLS算法的自適應過濾系統在信號迭代過程中形成的誤差小于基于LMS算法所形成的誤差。根據以上實驗的驗證可知,基于RLS算法的自適應過濾系統在信號濾除的過程中收斂速度較快,而且精度高、穩定性強,能夠有效地對雜波信號進行濾除,對于不穩定的信號仍能達到較為理想的效果[14]。而基于LMS算法的自適應過濾系統在信號濾除的過程中收斂速度則較為緩慢,計算精度不夠且穩定性差。 本文提出改進函數的方法:引入參數r改善函數形狀,s控制參數范圍。常數t和s控制函數的取值范圍,常數v與常數r控制改進函數收斂速度快慢。 圖6為常數v分別取12、16、20時,λ(n)與e(n)的關系曲線圖。圖7為常數r分別取2、20、200和2 000時,λ(n)與e(n)的關系曲線圖。λ(n)表示n時刻的遺忘因子,e(n)為先驗誤差。 圖6 v變化時λ(n)與e(n)的關系曲線圖Figure 6. The relationship between λ(n) and e(n) when v changes 綜合兩圖可知,常數v對收斂速度產生了關鍵影響[12],而r則對改進函數產生主要影響,對收斂速度也有相應的影響。若要獲得理想的收斂速度和跟蹤能力,需要增大v值,減小r值;若要獲得理想的穩態誤差,需減小v值,增大r值[15]。 圖7 r變化時λ(n)與e(n)的關系曲線圖Figure 7. The relationship between λ(n) and e(n) when r changes 常數t和s可以控制改進函數的取值范圍。當|e(n)|趨近于較大值,例如1時,λ(n)趨近于s;當|e(n)|為0時,λ(n)=s+t,即s<λ(n) 圖8 遺傳因子改進前后對比圖Figure 8. Comparison chart before and after genetic factor improvement 圖8中,改進的遺忘因子參數為v=20,t=0.1,s=0.6,r=200;基本改進遺忘因子參數選取μ=12;遺忘因子最小取值均為λmin=0.6。在初始階段或者系統發生突變的情況下,λ(n)迅速下降,從而獲得理想的收斂速度和跟蹤速度。在系統進入平穩狀態后,λ(n)保持不變,來調整穩態誤差較小的情況[16-17]。 LMS算法在穩定的環境中有著較好的收斂效果,算法的復雜度較低,能夠在有限精度的情況下實現理想的雜波濾除效果。在求均方誤差時,RLS算法待測數據的長度是實時變化的。本文提出的改進算法通過增加改進函數使改進因子增加可變性,并改進了自相關矩陣逆矩陣方程,有效地改善了算法的收斂速度、跟蹤能力和穩定性。本文實驗采用的是理想狀況下的輸入信號,然而在實際應用中,外界環境的干擾復雜多變。在輸入信號含有多種干擾的情況下,本文所提算法在收斂速度、跟蹤能力、穩定性方面的效果會有所降低。此外,本文所提算法的實時動態過濾效果欠佳。因此,在今后的研究中,將重點改進算法的動態過濾效果,以使該算法在實際工程中得到更加廣泛的應用。

2.2 算法改進


3 實驗與仿真



3.1 LMS與RLS對比實驗


3.2 RLS算法改進前后對比實驗



4 結束語