压缩感知看的一知半解,其中的测量矩阵中涉及到的数学知识一直没有跟上,这篇讲讲如何判断一个测量矩阵是否能够用于压缩感知中吧。众所周知的是受限等距性质(RIP),一般来说只要测量矩阵满足RIP,就能使用一定的重构算法把它恢复出来。然而在实际应用中,测量矩阵的RIP性质很难通过仿真或者实验的方法直接验证,因此只能通过其他相关的性质来验证。
在文献【1】中提出多模波导能够直接作为CS的测量矩阵,并给出了三个验证实验。笔者暂时没有多模波导的硬件条件,因此使用这三个思路验证了高斯随机矩阵。结果跟其实验结果大致吻合。
一:重构概率
第一个验证实验是给出已知的稀疏信号,然后通过测量矩阵MM后测算恢复概率。当K个位置频率,脉冲位置或者Haar 系数都被恢复且幅值恢复到1/10000,则此信号被认为恢复。这个倒是个很好理解的实验,直接比较了恢复的信号和已知的稀疏信号之间的相似性,如果两者偏差较小不就证明了这个测量矩阵是可用的嘛。
论文中的算法和博主在压缩感知重构算法之正交匹配追踪(OMP)的算法应该是差不多的,借鉴了大部分,代码如下:
这是OMP算法:
function [ hat_s ] = CS_OMP( y,phi,K,N )
T=phi;
r_s=y;
for time=1:K %重构算法迭代K次,恢复稀疏度为K的稀疏信号
product=abs(T'*r_s); %得到256个内积值
[vol,index]=max(product); %找到最大内积值为vol,位置为索引index
A(:,time)=T(:,index); %从T中提取出最大的内积值存储在A矩阵中
s_recovery=(A'*A)^(-1)*A'*y; %求最小二乘解类似于一种逼近s的过程
r_s=y-A*s_recovery; %更新残差
index_arr