基于MATLAB的压缩感知与稀疏信号恢复技术实现
压缩感知的 MATLAB 实现挺适合刚入门的朋友玩一玩。两路正弦信号叠加当测试源,频率、幅度都能随便调。采样率设置得比较聪明,不用太高就能跑出结果,算是兼顾效率和演示效果。
核心是把时域信号丢到频域,用稀疏基矩阵搞稀疏表达,比如inv(fft(eye(N,N)))
,逻辑简单还挺直观。观测矩阵用的是高斯随机矩阵,参考了 Candes 和 Donoho 的理论,避免手动验证 RIP 那套复杂操作。
实际用的时候,传感矩阵Θ=ΦΨ
关键,压缩过程就靠它了。你要是喜欢折腾变换方式,换成小波或者 DCT 也行,只要能压出稀疏效果就可以。频谱图通过FFT
和FFTShift
画出来,两个频点也确实挺清楚。
对 OMP、BOMP、采样设计这些感兴趣的,可以顺带看看下面几个资源,代码多、解释直白,适合动手党。,这套代码还蛮适合做入门教学或者写论文前的验证脚本。
下载地址
用户评论