資源簡介
不錯的學習資料,對剛接觸壓縮感知的人來說是很好的選擇
代碼片段和文件信息
%%原理:目標是從y=Phi*x中重建稀疏的x,MP與OMP都是通過確定Phi的哪一列參與測量向量y
%中來確定x的支撐,運用貪婪模式去確定每一列。在每次迭代中,選擇phi中與y的剩余部分最相關的列
%然后從y中抽取該列對y的貢獻再對其冗余迭代。
%1-D信號壓縮感知重建算法MP?
%測量數M>=K*log(N/K)K是稀疏度,N是信號長度
%輸入:感知矩陣(測量矩陣)Phi測量向量y稀疏度K
%輸出:x的k稀疏度的逼近signal_reconstruct誤差向量r_n
%原來的程序沒有考慮到觀測矩陣的列向量相當于一個原子的時候,把殘差值投影到原子上面的
%時候,原子是單位向量才能用內積大小來比較投影系數大小,所以觀測矩陣要歸一化,
%這個算法才是有效的。
clc;clear
%%??1.?時域測試信號生成
%產生長度為N=256的稀疏信號,其稀疏度K=23。且這23個非零值隨機分布于信號256個位置
%觀測向量y的長度M=80,即采樣率M/N=0.3
N=256;
K=23;
M=80;
x?=?zeros(N1);
q?=?randperm(N);
x(q(1:K))?=randn(K1);????%原始信號
%%?2.?測量矩陣?及觀測值獲得
%?Phi=DFTmatx(MN);?%測量矩陣?%??感知矩陣(高斯分布白噪聲)M*N
%?matrixNorm?=?Phi.‘*Phi;
%?matrixNorm?=?sqrt(diag(matrixNorm)).‘;
%?Phi?=?Phi./repmat(matrixNorm?[M1]);
Phi?=?sqrt(1/M)?*?randn(MN);
for?i?=?1:N
????Phi(:i)?=?Phi(:i)?/?norm(Phi(:i));
end
y=Phi*x?;????
- 上一篇:哈夫曼matlab編解碼
- 下一篇:進化策略算法公交車調度MATLAB
評論
共有 條評論