伍飛云,楊坤德,童峰
(1. 西北工業(yè)大學(xué)航海學(xué)院,陜西 西安 710072;2. 西北工業(yè)大學(xué)海洋聲學(xué)信息感知工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710072;3. 廈門大學(xué)水聲通信與海洋信息技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361005)
水下無線傳感網(wǎng)絡(luò)涉及諸多領(lǐng)域,如水下數(shù)據(jù)監(jiān)測、污染控制、氣象預(yù)報(bào)等[1-3]。水下單載波水聲數(shù)據(jù)的遙測則為水下無線傳感網(wǎng)絡(luò)的一個(gè)分支和具體應(yīng)用,如水下自主航行器的控制、艦船噪聲監(jiān)測以及水聲通信等。由于觀測和記錄的數(shù)據(jù)時(shí)間長、容量大,加上無線通信帶寬有限,且與衛(wèi)星通信成本高,無線傳感器所攜帶的能量有限等問題,在設(shè)計(jì)水下單載波水聲數(shù)據(jù)的遙測系統(tǒng)時(shí),不得不考慮數(shù)據(jù)壓縮問題,而數(shù)據(jù)壓縮越大,恢復(fù)精度必將受到影響,如何提高算法的恢復(fù)精度是本文研究的重點(diǎn)內(nèi)容。
傳統(tǒng)的數(shù)據(jù)壓縮方法諸如小波壓縮[4],能耗大且恢復(fù)精度有限。與小波壓縮方法不同,壓縮感知(CS, compressed sensing)采用稀疏二進(jìn)制傳感矩陣[5],以降低能耗與成本。但 CS算法僅適用于能稀疏表達(dá)的信號(hào)[6-7],因此,對(duì)于處理時(shí)域非稀疏的水聲信號(hào),則需考慮將水聲信號(hào)進(jìn)行稀疏化表達(dá)。結(jié)合單載波水聲信號(hào)的頻域稀疏特性,本文考慮在離散余弦變換(DCT, discrete cosine transform)域?qū)嚎s的信號(hào)進(jìn)行估計(jì),并最終恢復(fù)出觀測的單載波信號(hào)。
基于 DCT框架,壓縮感知的核心目標(biāo)是直接求最小l0范數(shù),然而該問題不可直接獲取[6-7],通常的辦法是采用最小l1范數(shù)進(jìn)行代替,典型的算法包括基于最小l1范數(shù)的拉格朗日算法[8]和硬閾值迭代(IHT, iterative hard threshold)算法[9]。前者獲得的稀疏解精度有限,而后者不能保證所求解為稀疏解[10],改進(jìn)的思路是在所求解中加入稀疏度的限制使其稀疏化。但這些方法不足以改善稀疏解的估計(jì)精度。貪婪算法作為廣泛采用的稀疏求解算法,具體包括匹配追蹤(MP, matching pursuit)算法[11]和正交匹配追蹤(OMP, orthogonal matching pursuit)算法[12]。然而這些算法是局部搜索最優(yōu),所獲得的解不是全局最優(yōu)。
本文將部分范數(shù)約束(PNC, partial-norm- constraint)引入優(yōu)化目標(biāo)中,以取代直接對(duì)l1范數(shù)進(jìn)行最小化策略。事實(shí)上,PNC首次應(yīng)用在有限長單位沖激響應(yīng)濾波器[13],隨后在范數(shù)自適應(yīng)算法[14]和自適應(yīng)零吸引因子算法設(shè)計(jì)中得以應(yīng)用[15],進(jìn)一步地,PNC結(jié)合壓縮感知框架構(gòu)建了稀疏恢復(fù)算法[16]。然而,以上算法主要是在實(shí)數(shù)域中進(jìn)行討論和設(shè)計(jì)。本文將PNC與拉格朗日乘子法結(jié)合,推導(dǎo)出DCT域的稀疏恢復(fù)算法。本文的創(chuàng)新點(diǎn)如下。
1) 結(jié)合壓縮感知框架對(duì)單載波水聲數(shù)據(jù)進(jìn)行壓縮和恢復(fù)研究,在該框架下,數(shù)據(jù)的大量壓縮將有助于提高遙測系統(tǒng)的電池使用時(shí)間,降低網(wǎng)絡(luò)傳輸數(shù)據(jù)的負(fù)載。
2) 將部分范數(shù)約束添加到測量關(guān)系式中,并通過拉格朗日算子法得到解析式,從而導(dǎo)出基于部分范數(shù)約束下的稀疏求解策略。該算法的性能將在后續(xù)部分范數(shù)與傳統(tǒng)算法進(jìn)行對(duì)比和分析。
對(duì)本文采用的數(shù)學(xué)符號(hào)做統(tǒng)一說明:上角標(biāo)T表示向量或矩陣的轉(zhuǎn)置,上角標(biāo)H表示共軛轉(zhuǎn)置,I表示單位矩陣,||θ||0表示向量的非零元素的個(gè)數(shù),||θ||1表示向量各元素的絕對(duì)值之和,||θ||表示向量的歐氏長度,E(di)表示第i列列向量 di的平均值。
其中,Φ表示MN×的測量矩陣,且MN<<,Φ隨機(jī)選取M列線性無關(guān)的向量,壓縮向量y和v維數(shù)都為1M×,由于MN<<,即y的維度遠(yuǎn)小于原始數(shù)據(jù)x的維度,因此,y的存儲(chǔ)和傳輸比x的要求更低,在終端,基于合理選擇的Φ,CS算法可從壓縮信號(hào)y中重構(gòu)[17],且不需要任何先驗(yàn)知識(shí)。本文選取隨機(jī)二進(jìn)制矩陣作為測量矩陣。
實(shí)際應(yīng)用中,x雖然在時(shí)域表達(dá)不稀疏,但在變換域中可由一組正交基iψ表示為
其中,θ =< x,ψi> 是 N × 1 的向量,且 Ψ =[ψ1,…,ψN]為N×N的字典矩陣。本文采用DCT矩陣作為字典矩 陣 。 ψi( i = 1,… ,N )的 構(gòu) 成 如 下 : 設(shè) di=用 Matlab語言表示 變化 步長為 1, ci= di? E (di) ,0<i < N ,則。128128×維的Ψ如圖1所示。
若向量θ中有κ個(gè)非零元素,則稱θ為κ稀疏,若將噪聲影響融合到待壓縮的信號(hào)中,則模型(1)變?yōu)?/p>
其中, A = ΦΨ ,且 κ ≤M < N 。
圖1 128128×維的Ψ
經(jīng)測量矩陣Φ, 1N×的信號(hào)x壓縮為 1M×的信號(hào)y,由于測量矩陣是超完備的,即存在無數(shù)多個(gè)解,設(shè)計(jì)的目標(biāo)是找出其中最稀疏的解。因此,優(yōu)化目標(biāo)為
其中,0||||θ為θ的非零元素個(gè)數(shù),設(shè)該問題的解為θ~,則重構(gòu)信號(hào)x~可由以下獲得
一旦模型建立,余下的目標(biāo)是為設(shè)計(jì)優(yōu)化算法求解稀疏解,優(yōu)化目標(biāo)(4)是一個(gè)NP難問題,因此可轉(zhuǎn)化為
解決目標(biāo)(6)的一個(gè)常用方法是IHT算法[9],其核心為
其中,閾值函數(shù) Hs( pi)定義為
其中, λs(p)為設(shè)置的閾值,具體設(shè)置辦法為:將向量 θl+ μ AH( y ? Aθl)中絕對(duì)值由大到小進(jìn)行排序,選取排在第s個(gè)元素的絕對(duì)值作為閾值,即將接近零的元素值設(shè)置為零。該方法的設(shè)計(jì)因不需要求解逆矩陣,算法結(jié)構(gòu)簡單,運(yùn)行速度快,但精度有限,且算法性能依賴于參數(shù)閾值 λs(p)和步長μ的選取。此外,還需要保證A是正則化的。換一種思路,嘗試采用拉格朗日乘子法求解如下問題
分別求偏導(dǎo)并置零,有
記
其中
其中,diag表示將向量進(jìn)行對(duì)角化。交替代換,最終可得到解析解為
無論是IHT算法還是基于l1范數(shù)的拉格朗日算法,其核心都是圍繞最小化l1范數(shù)展開的,因此,獲得的精度有限,本文嘗試采用 PNC范數(shù)約束,構(gòu)建目標(biāo)函數(shù)為
其中,PNC范數(shù) || θ||PNC定義詳見文獻(xiàn)[11,14](文獻(xiàn)中將其稱為非均勻范數(shù)NNC,此處為了避免混淆2種算法,故本文算法名稱采用 PNC)。分別求偏導(dǎo)并置零為
記
其中,G如式(11)所述,而F為
其中,σ為PNC算法的閾值,交替代換,可得
從而有
因此有
最終可得到解析解為
從式(22)可以看出,該算法表達(dá)式具有固定點(diǎn)算法的特征,因此具有和固定點(diǎn)算法相同的收斂性。值得注意的是,本文所提算法和作者之前的工作[13]有以下3點(diǎn)不同之處。
1) 之前的工作是將非均勻范數(shù)加在經(jīng)典最小均方誤差(LMS)的代價(jià)函數(shù)中,從而得到比經(jīng)典LMS多一項(xiàng)計(jì)算式的迭代表達(dá)式;本文工作則是將部分范數(shù)約束作為一個(gè)閾值處理器融入求解的解析式中。
2) 在算法的實(shí)際處理中,之前的工作導(dǎo)出的迭代式可引入重構(gòu)過程;而本文工作則引入了一個(gè)微小常量以避開病態(tài)運(yùn)算。
3) 之前的工作是向量之間的運(yùn)算,可實(shí)現(xiàn)在線模式進(jìn)行處理;而本文工作方式是逐塊進(jìn)行,是矩陣的運(yùn)算形式,本文工作算法收斂對(duì)數(shù)據(jù)長度的要求低,且兩者的收斂策略也不同,前者是最陡梯度法,而本文采用的是拉格朗日算子法。
為了評(píng)估算法的性能,采用恢復(fù)信噪比(RSNR,recovery signal to noise ratio)對(duì)各算法的恢復(fù)精度進(jìn)行評(píng)估。,其中,θ~是θ的重構(gòu)。因優(yōu)化算法的本質(zhì)是恢復(fù)稀疏信號(hào),仿真實(shí)驗(yàn)中設(shè)置 =40M , =100N ,矩陣A元素服從高斯分布,再進(jìn)行正則化處理。稀疏度(即非零元素的個(gè)數(shù))設(shè)置為=10κ,稀疏信號(hào)中的非零抽頭隨機(jī)分布,測量信號(hào)y的信噪比設(shè)置為,本次仿真實(shí)驗(yàn)中SNR=30 dB,
采用PNC、IHT、L1、MP、OMP算法對(duì)稀疏信號(hào)進(jìn)行估計(jì),得到的估計(jì)圖與原始圖對(duì)比情況如圖 2所示,采用PNC、IHT、L1、MP、OMP算法恢復(fù)結(jié)果計(jì)算得到的RSNR分別為28.84 dB、20.72 dB、25.46 dB、22.23 dB和25.25 dB。仿真實(shí)驗(yàn)中,IHT算法參數(shù)設(shè)置為μ=0.95、κ=10,L1和PNC算法的迭代次數(shù)設(shè)置為40次,MP、OMP算法迭代次數(shù)為 40次,PNC算法中, σ = 0 .1||A?y||,其中,A?= AT( A AT)?1為A的偽逆矩陣。以上參數(shù)都是以RSNR最大化設(shè)置的??梢钥闯?,IHT算法雖然結(jié)構(gòu)簡單,復(fù)雜度不高,但精度最低,OMP、L1算法雖比MP、IHT算法精度有所提升,但PNC算法的精度最高,這是因?yàn)槠洳捎昧?PNC范數(shù)約束而不是僅采用l1范數(shù)進(jìn)行約束構(gòu)建代價(jià)函數(shù),而貪婪算法是局部最優(yōu)策略。此外,IHT算法必須要求A矩陣正則化才適用,這一要求限制了其廣泛應(yīng)用,而L1和PNC算法沒有此項(xiàng)限制。
圖2 原始稀疏信號(hào)與5種算法恢復(fù)結(jié)果對(duì)比
本次實(shí)驗(yàn)數(shù)據(jù)取自2017年的東海實(shí)驗(yàn),聲源放置在水下30 m,水聽器放置在水下20 m,收發(fā)距離約為10 km,水深約為100 m。選擇一段16 s的單載頻接收信號(hào)如圖 3所示,中心頻率 fc=1kHz,采樣率 fs= 3 0kHz。實(shí)驗(yàn)中選取的單載波信號(hào)具有典型意義,如該類型信號(hào)常用作模擬艦船噪聲檢測。從圖3(a)可以看出,單載波信號(hào)淹沒在噪聲中,時(shí)域信號(hào)無任何稀疏特征,因此先將信號(hào)轉(zhuǎn)為 DCT域。實(shí)驗(yàn)中,數(shù)據(jù)被劃分為若干個(gè)相同長度的塊,每塊長度為 N = 100,再對(duì)這些數(shù)據(jù)進(jìn)行壓縮,壓縮至M = 40,然后根據(jù)給定的 A = ΦΨ和壓縮信號(hào)y,采用不同優(yōu)化算法進(jìn)行稀疏信號(hào)估計(jì),再由這些估計(jì)結(jié)果和Ψ得到恢復(fù)信號(hào)。各算法參數(shù)設(shè)置如前,為了展現(xiàn)不同算法對(duì)信號(hào)的恢復(fù)性能細(xì)節(jié),取2 000個(gè)采樣點(diǎn)進(jìn)行對(duì)比,如圖4所示。其中,PNC、IHT、L1、MP、OMP算法對(duì)應(yīng)的平均RSNR值分別為24.51 dB、14.25 dB、22.08 dB、18.52 dB、21.89 dB??梢钥闯?,PNC算法比IHT、L1、MP、OMP算法所獲得的精度分別高出10.26 dB、2.43 dB、5.99 dB、2.62 dB,這是因?yàn)镻NC算法范數(shù)約束比l1范數(shù)約束更具適配性,更好地逼近l0范數(shù)的性能。而匹配追蹤算法是局部最優(yōu)策略,求解精度有限。
圖3 海試數(shù)據(jù)單載波信號(hào)
圖4 海試數(shù)據(jù)單載波原始信號(hào)和各算法恢復(fù)結(jié)果對(duì)比
為提高單載波水聲數(shù)據(jù)壓縮與重構(gòu)的估計(jì)性能,本文提出將時(shí)域非稀疏的水聲信號(hào)轉(zhuǎn)為 DCT域信號(hào)進(jìn)行稀疏值估計(jì)。在分析討論IHT和L1算法的基礎(chǔ)上,引入PNC范數(shù)約束并提出了PNC算法,與IHT和L1算法不同,本文算法通過部分范數(shù)約束項(xiàng),根據(jù)抽頭系數(shù)的大小而給予不同的約束,從而提高了其對(duì)不同稀疏度的適應(yīng)性。仿真和海試實(shí)驗(yàn)中對(duì)比了PNC、IHT、L1、MP、OMP算法的處理結(jié)果,驗(yàn)證了本文算法的優(yōu)越性。