資源簡介
該代碼是壓縮感知重構算法基追蹤(BP),注釋很詳細,可以直接運行
代碼片段和文件信息
%一維信號BP重構算法
clc
clear?all;
close?all;
M?=?256;???%觀測信號長度
N?=?512;??%稀疏信號長度
K?=?30;???%稀疏度
%%?-----1.生成稀疏度為K的稀疏信號-----
tic?????????????????????????%計算程序運行的時間
x0?=?zeros(N1);
p?=?randperm(N);
x0(p(1:K)1)?=?rand(K1)-0.5;%把rand(K1)-0.5的K個值賦給x0,這K個值對應于p的前K個值所對應的位置
%z=awgn(x020‘measured‘);
%SNR0?=?20?*?log10(?norm(x0)/norm(z-x0)?);
%------??高斯感知矩陣Phi???-------------
%高斯隨機測量矩陣可成為普適的壓縮感知測量矩陣,當M>=4K,可高概率重建原始信號(RIP)
Phi?=?sqrt(1/M)?*?randn(MN);???????%生成均值為0,方差為1的隨機正態矩陣
for?i?=?1:N
????Phi(:i)?=?Phi(:i)?/?norm(Phi(:i));
end
%--------?測量向量?y??----------
y??=?zeros(M1);
y?=?Phi?*?x0;
%%??-----2.?含高斯白噪聲觀測?SNR=40dB?--------
ye2?=?mean(y.^2);
SNR?=?40;
sgmav?=?sqrt(?ye2*10^(-SNR/10)?);
noisev?=?sgmav*randn(M1);
y?=?y?+?noisev;
%%?------3.BP重構算法?----------------
?%x=argmin||x||1?s.t.?y=Φx?(1)
?%x=argminCx??s.t.?Ax=bx≥0??其中A=(Φ-Φ)
- 上一篇:兩階段單純形法的Matlab實現
- 下一篇:harris特征點提取,matlab
評論
共有 條評論