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

2021-10-12 17:10:45 字數 2211 閱讀 4074

1壓縮感知理論基礎

壓縮感知(cs)技術處理訊號的過程一般分為以下三個步驟:①訊號的稀疏表示。cs要求訊號具有稀疏性,若原始訊號是稀疏的,則可直接用於後續操作;若原始訊號具有稀疏性但不是稀疏的,則利用稀疏基將其稀疏化;②觀測矩陣(也稱測量矩陣)。觀測矩陣用於對原始訊號進行壓縮取樣;③重構方法。重構是指從少量資訊中恢復出大量資料,cs具有多種重構方法。圖1是cs數學框架示意圖。

2 omp演算法原理

正交匹配跟蹤(omp)演算法是一種貪婪演算法,其基本思想是在迭代過程中,每一次從感知矩陣a選擇與殘差餘量最匹配的乙個原子(即與殘差最相關的列),來構建稀疏訊號,並計算出新的殘差餘量。由於每次只選擇乙個原子,因此被選擇的原子與殘差餘量幾乎正交,為保證不重複選擇此原子,需從感知矩陣中刪除這一列,然後再繼續挑選與訊號殘差最匹配的一列,迴圈迭代,直至殘差低於迭代停止條件。omp方法的具體流程圖如表1所示:

3 omp演算法**

function [ theta ] = cs_omp(y,a,t ) 

%   detailed explanation goes here 

%   y = phi * x 

%   x = psi * theta 

%   y = phi*psi * theta 

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

%   現在已知y和a,求theta 

[y_rows,y_columns] = size(y);  %矩陣y的大小為y_rows,y_columns

if y_rows

y = y';         %y shouldbe a column vector 

end 

[m,n] = size(a);       %感測矩陣a為m*n矩陣  

theta = zeros(n,1);    %用來儲存恢復的theta(一行n列向量,全0)  

at = zeros(m,t);       %用來迭代過程中儲存a被選擇的列 

pos_theta = zeros(1,t); %用來迭代過程中儲存a被選擇的列序號  

r_n = y;                %初始化殘差(residual)為y

for ii=1:t             %迭代t次,t為輸入引數 

product = a'*r_n;  %感測矩陣a各列與殘差的內積 

[val,pos] = max(abs(product)); %找到最大內積絕對值,即與殘差最相關的列

at(:,ii) = a(:,pos);      %儲存這一列  

pos_theta(ii) = pos;      %儲存這一列的序號 

a(:,pos) = zeros(m,1);    %清零a的這一列,其實此行可以不要,因為它與殘差正交 

%y=at(:,1:ii)*theta,以下求theta的最小二乘解(least square)  

theta_ls =(at(:,1:ii)'*at(:,1:ii))^(-1)*at(:,1:ii)'*y;%最小二乘解 

%at(:,1:ii)*theta_ls是y在at(:,1:ii)列空間上的正交投影 

r_n = y - at(:,1:ii)*theta_ls;%更新殘差          

end  

theta(pos_theta)=theta_ls;%恢復出的theta 

end 

4 實驗結果

實驗結果表明,omp演算法可以對稀疏訊號進行恢復並能達到較高的恢復精度。

王帥,重慶大學無線通訊技術實驗室碩士研究生,主研方向為智慧型訊號與資訊處理。

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

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

壓縮感知簡介

nyquist取樣定理 夏農取樣定理 指出,取樣速率達到訊號頻寬的兩倍以上時,才能由取樣訊號精確重建原始訊號。可見,頻寬是nyquist 取樣定理對取樣的本質要求。然而隨著人們對資訊需求量的增加,攜帶資訊的訊號頻寬越來越寬,以此為基礎的訊號處理框架要求的取樣速率和處理速度也越來越高。解決這些壓力常見...

壓縮感知介紹

說明 本文是根據壓縮感知討論群裡面 180291507感興趣的同學可以加下,裡面大牛很多,大家加入到那個群裡面去,你會從裡面的大神那裡學習到不少東西的。的大牛ammy講解整理的 最初的壓縮感知是由candes donoho他們提出來的問題 最初壓縮感知那幾篇文章裡的模型 y x 模型一 都是從純數學...