基于双树复小波变换(DTCWT)的多维信号处理与去噪系统
项目介绍
本项目是一个基于MATLAB开发的高级信号处理系统,核心采用双树复小波变换(Dual-Tree Complex Wavelet Transform)框架。该系统旨在克服传统离散小波变换(DWT)中存在的平移变异性和缺乏方向选择性等缺陷。通过构建平衡的平行滤波器组结构(Tree A 与 Tree B),系统能够生成复数小波系数,从而提供近似平移不变的特性,并在一维、二维及三维数据处理中实现高精度的信号分解、降噪与重构。
功能特性
- 多维处理能力:系统完整集成了一维信号、二维图像以及三维体数据的处理流程。
- 近似平移不变性:利用双树结构,相比传统DWT显著减少了信号重建时的伪影。
- 方向选择性:在二维处理中能够提取 ±15°, ±45°, ±75° 六个特定方向的子带特征,有效保留边缘信息。
- 高效去噪算法:集成了一维软阈值去噪与二维复数域幅度收缩算法,针对高斯白噪声有良好的抑制效果。
- 滤波器定制:内置 Farras 近似正交滤波器(用于第一层)和 Kingsbury Q-shift 滤波器(用于后续层),确保分解的正交性与线性相位描述。
使用方法
- 确保计算机已安装 MATLAB 运行环境。
- 在 MATLAB 命令窗口或编辑器中直接运行主程序脚本。
- 系统将自动执行一维、二维、三维的演示逻辑:
* 首先生成含噪的合成信号。
* 执行 DTCWT 分解与系数处理。
* 完成信号重构并计算性能指标(如 PSNR)。
- 运行结束后将自动弹出可视化窗口,展示原始含噪数据、去噪后的重构数据以及特定方向的能量分布图。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 硬件要求:建议 4GB 以上内存以支持三维体数据的矩阵运算。
- 依赖项:无需额外的第三方工具箱,所有核心逻辑及滤波器系数均已在代码中实现。
实现逻辑与算法说明
#### 1. 系统主控逻辑
主程序通过一个统一的入口控制三个维度的处理流程。设置全局参数包括 3 层分解深度(L=3)和噪声强度(sigma=25)。
- 一维部分:模拟双频正弦信号,通过双树分解后应用基于通用阈值公式的软阈值收缩,最后取两棵树的均值重构。
- 二维部分:处理棋盘格测试图。核心在于将实部和虚部系数结合,在复数域内通过计算模值并进行增益缩放来实现降噪。
- 三维部分:针对 64x64x64 的体数据进行简化的多维扩展演示,模拟空间特征的分解。
#### 2. 分解与重构核心
- 一维双树分解:输入信号分别进入树 A 和树 B。第一层使用 Farras 滤波器组,从第二层开始使用 Q-shift 滤波器。树 A 与树 B 的低频部分在每一层继续向下分解,高频部分作为小波系数存储。
- 一维双树重构:从最高层开始,逐层进行上采样和滤波合成。每棵树独立进行重构,最终将两棵树的结果求平均,以抵消混叠并获得平移不变特性。
- 二维方向性分解:模拟了产生 6 个方向子带的过程。通过将图像沿行、列分别进行双树处理,系统能生成具有特定方向敏感度的复数子带。
#### 3. 关键子函数功能分析
*
farras_filters:生成第一层所需的近正交滤波器组系数,为后续层提供半个样本的平移偏移基础。
*
qshift_filters:生成满足 Q-shift 条件的滤波器系数,确保树 A 和树 B 的群延迟差为 0.5 个样本。
*
afb1d_lp_hp (分析滤波器组):实现一维信号的循环扩展、卷积以及奇偶位置的下采样,分离出低频和高频分量。
*
sfb1d_lp_hp (合成滤波器组):实现信号的上采样填充与卷积滤波,完成分量的合并。
*
cyclic_extension:通过循环补全处理信号边界,减少重构时边缘的断裂感。
*
soft_threshold:实现标准软阈值逻辑,将绝对值低于阈值的系数置零,高于的部分进行幅度收缩,用于一维信号去噪。
#### 4. 评估可视化
- 系统通过可视化界面展示降噪前后的对比波形。
- 计算并输出峰值信噪比(PSNR),量化评估图像重构的质量。
- 特别展示了 45° 方向的系数能量图,证明了 DTCWT 在捕捉特定几何结构方向上的优势。