欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

压缩感知模型及稀疏信号的生成

程序员文章站 2022-07-12 12:02:39
...

压缩感知最经典的模型就是一个非线性逆问题:

y = A x

其中y为观测值,A为观测矩阵,x为稀疏矢量。A的维度为M*N,M<N,y为M行列向量,x为N行列向量,所谓的逆问题是指,y和A为已知量,x为未知量,当A为方阵且满秩的时候,A逆乘x,但是A在这里并非方阵,由x到y的变化是不可逆的。

以下matlab代码用于生成上述模型:

N = 1024;
M = 512;
K = 10;
x = zeros(N,1);
T = 5*randn(K,1);
index_k = randperm(N);
x(index_k(1:K)) = T;

A = rand(M,N);
A = sqrt(1/M)*A;
A = orth(A')';
y = A*x;

上述代码中,A矩阵为512*1024,它将一个1024行的向量x变为了512行的y向量,“压缩”即体现于此。

其中的几个函数:

1.randn()用于生成标准正态分布的随机数

2.randperm(N)将1~N的数字随机打散。

3.K为稀疏度,稀疏度指的是非零值的个数

4.orth()函数用于正交化

相关标签: 压缩感知