多维循环平稳信号分析系统 (Multidimensional Cyclostationary Signal Analysis System)
项目简介
本项目实现了一套基于MATLAB的二维及多维信号循环自相关函数(CAF)和循环谱密度函数(CSD)计算库。系统旨在打破传统一维循环平稳分析的局限,将其扩展至图像处理和阵列信号处理领域。通过扩展的周期图法和时域/频域平滑算法,本项目能够从含噪的二维调幅纹理信号中准确提取周期性统计特征。
该系统集成了信号模拟、特征扫描、核心参数估计及三维可视化展示于一体,所有功能均封装在单一脚本中,便于快速部署与验证。
主要功能特性
- 二维信号仿真生成:能够生成受二维调幅(AM)调制的纹理信号,并叠加高斯白噪声,模拟真实的复杂信号环境。
- 二维循环自相关(2D-CAF)计算:支持针对特定的目标循环频率向量,计算信号在时延域的循环自相关函数切片。
- 循环频率域扫描:通过分析瞬时功率谱,实现对未知的循环频率特征的盲扫描和检测,自动定位主要的循环频率峰值。
- 二维循环谱密度(2D-CSD)估计:基于频域平滑算法(对应FAM算法思想),计算指定循环频率下的谱相关密度,揭示信号在双频域($f_x, f_y$)的分布特性。
- 交互式全景可视化:提供包含时域波形、循环特征面、CAF表面图及CSD谱图的综合分析报告。
系统要求
- MATLAB R2016b 或更高版本
- Signal Processing Toolbox(推荐,用于基础信号处理函数)
- 内存要求:取决于设置的网格大小($N_x, N_y$),默认配置下标准PC即可运行。
使用方法
- 确保
main.m 文件位于MATLAB的当前路径或搜索路径中。 - 直接运行
main 函数:
* 系统将自动初始化参数。
* 生成包含载波和调制特征的仿真信号。
* 依次执行CAF计算、循环频率扫描和CSD估计。
* 最后弹出一个包含6个子图的综合分析窗口。
- 注意:严禁修改
main.m 文件名,以确保内部函数调用的完整性。
详细算法与实现逻辑
本项目的所有核心算法逻辑均在 main.m 中实现,以下是对关键模块的深度解析:
1. 二维信号模型 (generate_2d_am_signal)
实现了一个典型的二维调幅信号模型:
- 载波:二维平面波 $cos(2pi f_{cx} x + 2pi f_{cy} y)$。
- 调制信号:仅在X方向引入周期性调制 $(1 + mu cos(2pi f_{mx} x))$。
- 噪声:根据设定的信噪比(SNR)计算信号功率,叠加高斯白噪声。
此模型用于验证算法能否在噪声和载波干扰下准确提取 $f_{mx}$ 这一循环特征。
2. 二维循环自相关函数 (compute_2d_caf)
该模块计算特定循环频率 $vec{alpha} = [alpha_x, alpha_y]$ 下的时延切片。
1. 构造频移项 $e^{-j2pi(vec{alpha} cdot vec{n}) / F_s}$。
2. 对原始信号进行频移得到辅助信号 $u(n)$。
3. 利用
FFT-Based Correlation 方法计算 $R^alpha(tau) = text{IFFT}(text{FFT}(u) cdot text{conj}(text{FFT}(v)))$。
- 输出:经过
fftshift 处理的归一化相关矩阵,中心对应零时延。
3. 循环频率域扫描 (scan_cyclic_domain)
为了在未知环境中发现信号特征,实现了基于瞬时功率谱的盲扫描算法。
- 原理:循环平稳信号的瞬时功率 $|x(n)|^2$ 包含与循环频率对应的离散谱线。
- 实现:计算 $|x(n)|^2$ 的二维FFT,取其幅值谱。
- 处理:应用了Bartlett窗以抑制旁瓣,并去除了直流分量(零频率点),以便突出调制产生的循环频率峰值。
4. 二维循环谱密度估计 (compute_2d_csd_core)
这是系统的核心分析模块,采用了基于
频域平滑(Frequency Smoothing)的方法,是经典的一维FAM算法在二维空间的推广。
- 数学定义:$S_x^alpha(f) = E[X(f + alpha/2) X^*(f - alpha/2)]$
- 实现步骤:
1.
双边频移:将信号分别在频域移动 $+alpha/2$ 和 $-alpha/2$(通过时域乘以相应的复指数实现)。
2.
谱计算:分别计算两个频移信号的二维FFT,记为 $F_{pos}$ 和 $F_{neg}$。
3.
原始循环周期图:计算 $F_{pos} cdot F_{neg}^*$。
4.
平滑处理:使用 $3 times 3$ 的均值滤波器 (
conv2 与全1矩阵) 对周期图进行平滑,以获得稳定的谱密度估计。
5. 可视化模块 (visualize_results)
生成一个综合图表窗口,包含以下内容:
- 原始信号:含噪声的二维时域图。
- Alpha Profile (3D):循环频率扫描结果的三维网状图,用于观察峰值。
- 循环频率平面分布:Alpha Profile 的等高线图,辅助精确定位坐标。
- CAF 幅值图:目标循环频率下的自相关函数曲面,展示信号的时延相关性。
- CSD 幅值图 (3D):目标特征下的循环谱密度三维表面,展示信号能量在谱频率域的分布。
- CSD 顶视图:谱密度的二维平面投影,便于观察频谱形状。