压缩感知信号处理与正交匹配追踪重构平台
项目介绍
本平台是一个专注于压缩感知(Compressive Sensing, CS)理论研究与算法演示的仿真系统。系统完整实现了信号从时域采集、稀疏表示、低维观测到高维重构的全过程,旨在探讨如何通过远低于奈奎斯特采样率的测量值实现原始信号的高精度还原。平台以正交匹配追踪(OMP)作为核心恢复算法,并配备了详尽的性能指标评估模块。
功能特性
- 合成信号生成:模拟实际物理信号,构造包含多个频率特征的非稀疏连续时间信号。
- 稀疏基构建:手动实现离散余弦变换(DCT)矩阵,将信号从时域投影至稀疏频域。
- 随机观测矩阵:生成并归一化高斯随机测量矩阵,确保其满足等距同构性质(RIP)。
- 正交匹配追踪(OMP)重构:通过迭代投影、原子筛选、最小二乘法求解等步骤逐步逼近原始信号。
- 性能定量评估:自动计算均方误差(MSE)、均方根误差(RMSE)及峰值信噪比(PSNR)。
- 相变特性分析:通过迭代测试不同观测数量(M)下的重构成功率,直观反映压缩比对重构质量的影响。
- 多维度可视化:提供波形对比图、稀疏系数对比图、残差收敛曲线及性能分析趋势图。
实现逻辑分析
系统内部逻辑严格遵循压缩感知的三大要素(信号稀疏性、观测矩阵不相关性、非线性重构算法),具体实现流程如下:
1. 参数初始化与信号构造
系统预设原始信号维度为512点,压缩后的维度为160点。通过叠加50Hz、120Hz和280Hz的正弦及余弦波,构造一个在时域完全占据空间的信号。
2. 稀疏空间映射
利用嵌套循环构造 $N times N$ 的离散余弦变换(DCT)基矩阵。将时域信号通过基矩阵转变为稀疏系数,此时信号在频域仅有少量的显著非零值,满足压缩感知的前提条件。
3. 测量矩阵归一化处理
生成 $M times N$ 的高斯随机矩阵作为观测矩阵。为了增强重构的稳定性,代码对观测矩阵的每一列进行了二范数归一化,确保投影后的能量保持。
4. 迭代重构过程
OMP算法逐次迭代寻找最佳原子:
- 匹配:计算残差与感知矩阵(观测矩阵与稀疏基的乘积)各列的内积。
- 识别:选取内积绝对值最大的列索引作为当前最相关的基原子。
- 求解:利用伪逆(pinv)执行最小二乘法,在已选原子子空间上最小化误差,更新稀疏系数。
- 更新:从观测向量中减去已拟合部分,更新残差进入下一次迭代,直至达到预设稀疏度。
5. 统计实验验证
系统包含一个独立的循环测试模块。通过在20到200的观测值范围内进行多次随机试验,计算信号恢复成功(相对误差小于0.01)的概率,从而得出观测维数与重构稳定性之间的关系曲线。
关键算法细节
- 观测矩阵: 采用
randn 函数生成,并通过 sqrt(sum(Phi.^2, 1)) 进行列标准化,这有助于满足有限等距性质。 - 最小二乘求解: 核心公式采用
pinv(A_sub) * y,在迭代搜索中确保重构系数在正交空间内是最优的。 - 评价指标:
-
MSE:衡量重构值与真实值之间的二次平均误差。
-
PSNR:通过信号最大值与均方误差的比值,以对数刻度评估恢复保真度。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 硬件配置:无需特定硬件加速,标准桌面计算机即可。
- 依赖库:代码完全基于标准线性代数运算实现。
使用方法
- 打开 MATLAB 软件环境。
- 将系统相关的所有代码文件放置于同一工作路径。
- 在命令行窗口直接运行主程序脚本。
- 程序将自动进行信号处理过程,并在命令行输出评估指标。
- 系统会自动弹出两个图形窗口:
-
窗口一:展示时域波形、稀疏域系数分布、重构对比图以及算法迭代收敛过程。
-
窗口二:展示重构成功率随观测维度M变化的性能曲线。