壓縮感知重構演算法之子空間追蹤 SP

2021-07-02 04:43:22 字數 2928 閱讀 7231

題目:壓縮感知重構演算法之子空間追蹤(sp)

如果掌握了壓縮取樣匹配追蹤(cosamp)後,再去學習子空間追蹤(subspace pursuit)是一件非常簡單的事情,因為它們幾乎是完全一樣的。

sp的提出時間比cosamp提出時間略晚,首個**版本是參考文獻[1],後來更新了兩次,最後在ieee transactions on information theory發表[2]。從演算法角度來講,sp與cosamp差別非常小,這一點作者也意識到了,在文獻[1]首頁的左下角就有注釋:

在文獻[2]第2頁提到了sp與cosamp的具體不同:

從上面可以知道,sp與cosamp主要區別在於「ineach iteration, in the sp algorithm, only k new candidates are added, while thecosamp algorithm adds 2k vectors.」,即sp每次選擇k個原子,而cosamp則選擇2k個原子;這樣帶來的好處是「this makes the sp algorithm computationally moreefficient,」。

以下是文獻[2]中的給出的sp演算法流程:

這個演算法流程的初始化(initialization)其實就是類似於cosamp的第1次迭代,注意第(1)步中選擇了k個原子:「k indices corresponding to the largest magnitude entries」,在cosamp裡這裡要選擇2k個最大的原子,後面的其它流程都一樣。這裡第(5)步增加了乙個停止迭代的條件:當殘差經過迭代後卻變大了的時候就停止迭代。

不只是sp作者認識到了自己的演算法與cosamp的高度相似性,cosamp的作者也同樣關注到了sp演算法,在文獻[3]中就提到:

文獻[3]是cosamp原始提出文獻的第2個版本,文獻[3]的早期版本[4]是沒有提及sp演算法的。

鑑於sp與cosamp如此相似,這裡不就再單獨給出sp的步驟了,參考《壓縮感知重構演算法之壓縮取樣匹配追蹤(cosamp)》,只需將第(2)步中的2k改為k即可。

引用文獻[5]的3.5節中的幾句話:「貪婪類演算法雖然複雜度低執行速度快,但其重構精度卻不如bp類演算法,為了尋求複雜度和精度更好地折中,sp演算法應運而生」,「sp演算法與cosamp演算法一樣其基本思想也是借用回溯的思想,在每步迭代過程中重新估計所有候選者的可信賴性」,「sp演算法與cosamp演算法有著類似的性質與優缺點」。

子空間追蹤**可實現如下(cs_sp.m),通過對比可以知道該程式與cosamp的**基本完全一致。本**未考慮文獻[2]中的給出的sp演算法流程的第(5)步。**可參見參考文獻[6]中的demo_cs_sp.m。

function [ theta ] = cs_sp( y,a,k )

%cs_sp summary of this function goes here

%version: 1.0 written by jbb0523 @2015-05-01

% detailed explanation goes here

% y = phi * x

% x = psi * theta

% y = phi*psi * theta

% 令 a = phi*psi, 則y=a*theta

% k is the sparsity level

% 現在已知y和a,求theta

% reference:dai w,milenkovic o.subspace pursuit for compressive sensing

% signal reconstruction[j].ieee transactions on information theory,

% 2009,55(5):2230-2249.

[y_rows,y_columns] = size(y);

if y_rows

執行結果如下:

可以發現在m較小時sp略好於cosamp,當m變大時二者重構效能幾乎一樣。

[1]dai w,milenkovic o. subspace pursuitfor compressive sensing: closing the gap between performance and complexity.

[2]dai w,milenkovic o.subspacepursuit for compressive sensing signal reconstruction[j].ieeetransactions on information theory,2009,55(5):2230-2249.

[3]d. needell, j.a. tropp.cosamp: iterative signal recoveryfrom incomplete and inaccurate samples.

[4]d. needell, j.a. tropp.cosamp: iterative signal recoveryfrom incomplete and inaccurate samples.

[5]楊真真,楊震,孫林慧.訊號壓縮重構的正交匹配追蹤類演算法綜述[j]. 訊號處理,2013,29(4):486-496.

[6]li zeng. cs_reconstruction.

壓縮感知重構演算法之SP演算法python實現

壓縮感知重構演算法之omp演算法python實現 壓縮感知重構演算法之cosamp演算法python實現 壓縮感知重構演算法之sp演算法python實現 壓縮感知重構演算法之iht演算法python實現 壓縮感知重構演算法之ols演算法python實現 壓縮感知重構演算法之irls演算法python...

壓縮感知演算法 壓縮感知演算法之正交匹配跟蹤

1壓縮感知理論基礎 壓縮感知 cs 技術處理訊號的過程一般分為以下三個步驟 訊號的稀疏表示。cs要求訊號具有稀疏性,若原始訊號是稀疏的,則可直接用於後續操作 若原始訊號具有稀疏性但不是稀疏的,則利用稀疏基將其稀疏化 觀測矩陣 也稱測量矩陣 觀測矩陣用於對原始訊號進行壓縮取樣 重構方法。重構是指從少量...

壓縮感知重構訊號(matlab原始碼)

function cs clc clear k 8 稀疏度 n 256 訊號長度 m 64 測量數 f1 50 訊號頻率1 f2 100 訊號頻率2 f3 200 訊號頻率3 f4 400 訊號頻率4 fs 800 取樣頻率 ts 1 fs 取樣間隔 ts 1 n 取樣序列 x 0.2 sin 2 ...