资源简介
该代码是压缩感知重构算法基追踪(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
相关资源
- 穿墙成像的BP算法
- 2份BPSK调制解调仿真的MATLAB代码,其中
- LDPC仿真,matlab BP算法 LDPC编解码的m
- BPSK和QPSK调制解调原理及MATLAB程序
- 一个完整的BPSK仿真MATLAB代码,发射机
- 单载波为、BPSK、QPSK三种情况下锁相环
- 5份基于MATLAB的关于扩频+BPSK/QPSK仿真代
- 4份直接序列扩频+BPSK/QPSK的MATLAB仿真程
- 遗传算法优化BP神经网络程序
- GA优化BP权阈值的matlab程序
- BP神经网络预测的MATLAB实现
- MATLAB应用BP神经网络对英文字母的识别
- BP神经网络在遥感图像中的分类
- RS码编码所需关键步骤为自行编写实现
- 在MATLAB中用BP神经网络进行数据分类
- BP神经网络Matlab程序--绝对经典
- 基于人工神经网络BP算法的倒立摆控制
- bpa转matpower
- BPSK调制解调 科斯塔斯环载波同步 加
- BP神经网络和混沌神经网络
- matlab写的BP算法用于相机标定非工具箱
- 卷积编码和viterbi译码,调制方式为
- 平行束投影重建算法MATLAB程序——D
- lbp matlab程序中的getmapping文件
- MATLAB环境下用BP神经网络进行数据分类
- BP神经网络数字识别matlab2014a
- Marginalized (Rao-Blackwellized) Particle
- 多层bp神经网络代码附带数据集
- BP算法的MATLAB实现
- LDPC的matlab 仿真 BP算法 BPSK调制
评论
共有 条评论