资源简介
压缩感知稀疏贝叶斯算法,包含SBL,TSBL和TMSBL算法。亲自测试能够使用
代码片段和文件信息
% Goal: Compare T-MSBL T-SBL MSBL MFOCUSS
% In this demo you will see T-MSBL and T-SBL outperform other two
% algorithms. Particularly please note that T-MSBL and T-SBL
% adaptively learn the regularization parameter lambda while MSBL
% freezes lambda to the true noise variance (which is a near
% optimal value). When T-MSBL and T-SBL freeze their lambda to the
% optimal values their performance can be further better.
%
% This demo also shows the lambda learning rule of MSBL is very
% poor. It should not be used in low SNR cases.
%
% Author: Zhilin Zhang (z4zhang@ucsd.edu)
% Date: May 20 2011
% Version: 1.1
clear all;
% Experiment Assignment
run_TMSBL = 1; % Run T-MSBL
run_TSBL = 1; % Run T-SBL
run_MSBL = 1; % Run MSBL
run_FOCUSS= 1; % Run M-FOCUSS
iterNum = 50; % Trial number (i.e. number of repeating the experiment)
% For statistical result iterNum should not less than 50
% Problem dimension
N = 30; % Row number of the dictionary matrix
M = N * 5; % Column number of the dictionary matrix
L = 3; % Number of measurement vectors
K = 7; % Number of nonzero rows (i.e. source number) in the solution matrix
beta = ones(K1)*0.9; % Temporal correlation of each nonzero row in the solution matrix.
% In biomedical applications such as EEG MRIetc such temporal
% correlation could be higher than 0.95
%====================================================================
SNR = 10; % Note: When you change the SNR you may need to accordingly change
% the input arguments for each algorithm
%====================================================================
for it = 1 : iterNum
fprintf(‘\n\nTrial #%d:\n‘it);
% Generate dictionary matrix with columns draw uniformly from the surface of a unit hypersphere
Phi = randn(NM);
Phi = Phi./(ones(N1)*sqrt(sum(Phi.^2)));
% Generate the K nonzero rows each row being an AR(1) process. All the AR(1)
% processes have different AR coefficients which are randomly chosen from [0.71)
nonzeroW(:1) = randn(K1);
for i = 2 : L*100
nonzeroW(:i) = beta .* nonzeroW(:i-1) + sqrt(1-beta.^2).*(ones(K1).*randn(K1));
end
nonzeroW = nonzeroW(:end-L+1:end); % Ensure the AR processes are stable
% Normalize each row
nonzeroW = nonzeroW./( sqrt(sum(nonzeroW.^22)) * ones(1L) );
% Rescale each row such that the squared row-norm distributes in [1scalefactor]
scalefactor = 3;
mag = rand(1K); mag = mag - min(mag);
mag = m
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-11-13 00:28 TMSBL_code\
文件 7923 2011-11-12 21:20 TMSBL_code\demo.m
文件 3458 2011-11-12 21:20 TMSBL_code\demo_fig3.m
文件 2421 2011-11-12 21:20 TMSBL_code\demo_fig6_SNR10.m
文件 3360 2011-11-12 21:20 TMSBL_code\demo_fig8.m
文件 5657 2011-11-12 21:20 TMSBL_code\demo_identicalVector.m
文件 7551 2011-11-12 21:20 TMSBL_code\demo_time_varying.m
文件 95186 2011-11-13 00:27 TMSBL_code\Master the Usage of TMSBL in 3 Minutes.docx
文件 298066 2011-11-13 00:28 TMSBL_code\Master the Usage of TMSBL in 3 Minutes.pdf
文件 101863 2011-11-12 21:20 TMSBL_code\Master the Usage of TSBL in 1 Minute.pdf
文件 5758 2011-11-12 21:20 TMSBL_code\MFOCUSS.m
文件 6214 2011-11-12 21:20 TMSBL_code\MSBL.m
文件 1912 2011-11-12 21:20 TMSBL_code\perfSupp.m
文件 1687 2011-11-12 21:20 TMSBL_code\ReadMe.txt
文件 18245 2011-11-13 00:20 TMSBL_code\TMSBL.m
文件 13981 2011-11-12 21:20 TMSBL_code\TSBL.m
- 上一篇:Windows系统时间同步(NTP)工具
- 下一篇:win下Thread安装包
评论
共有 条评论