平滑伪Wigner-Ville分布(SPWVD)时频分析仿真系统
项目介绍
本系统是一个基于MATLAB开发的非平稳信号时频分析工具,重点实现了平滑伪Wigner-Ville分布(SPWVD)算法。该分布通过在经典Wigner-Ville分布的基础上引入时间域和频率域的独立平滑窗,有效地抑制了多分量信号产生的交叉项(Cross-terms)干扰。系统能够清晰地刻画多个时变信号分量在时频平面上的演变轨迹,为雷达、语音、地震等领域的复杂信号处理提供了高分辨率的量化分析手段。
主要功能特性
- 多分量非平稳信号合成:内置多种典型非平稳信号生成模块,包括多个线性调频(Chirp)信号和具有特定时间范围限定的单频信号,支持添加高斯白噪声以模拟真实环境。
- 复解析信号预处理:利用希尔伯特(Hilbert)变换将输入的实值信号转换为解析信号,从根本上消除由负频率分量引起的交叉项叠加。
- 独立双窗平滑机制:支持独立调整频率向窗函数(h窗)和时间向窗函数(g窗)的参数,允许在频率分辨率和时间平滑效果(交叉项抑制程度)之间进行精准权衡。
- 高性能核心算法:基于向量化运算与快速傅里叶变换(FFT)的优化逻辑,通过计算局部加权瞬时自相关函数,实现高效的时频矩阵生成。
- 自动化多维度可视化:系统集成了时域波形图、SPWVD高分辨率时频云图、时频能量等高线图以及频率边缘分布图,提供全方位的信号特征展示。
- 计算精度评价:自动计算并输出时频聚集度指标(峰度系数),用于定量评估当前算法参数配置下的特征刻画能力。
系统逻辑与实现流程
系统按照标准的数字化信号处理流程运行:
- 参数初始化:设定采样率、观测时间及离散时间点。
- 建立信号模型:生成两个频率交错的线性调频分量,并叠加一个在特定时段出现的固定频率脉冲信号,最后注入随机噪声。
- 解析变换:对生成的实信号进行Hilbert变换,获取解析表示。
- 窗函数配置:构建Hamming窗口序列。频率向窗长(nh)决定了频率分辨率,时间向窗长(ng)决定了时间平滑的卷积范围。
- 核心循环运算:
- 遍历全时间点,对每个采样点执行局部观测。
- 在时间滑动窗口(g窗)内执行卷积平滑,计算加权后的瞬时自相关矩阵。
- 对延迟轴(tau轴)施加频率向窗口(h窗)约束。
- 执行FFT变换将自相关信号转换到频率域。
- 后处理与映射:对频率轴进行物理量纲映射,仅保留正频率部分(0至fs/2),并提取实时频能量密度。
- 绘图与度量:启动图形引擎生成可视化界面,并计算整体时频矩阵的统计特征。
核心算法与实现细节
- 瞬时自相关平滑:不同于传统的WVD直接对信号及其共轭进行乘法运算,系统在每个时延点 tau 上,利用时间窗口 g 对局部信号乘积进行加权求和。这一步骤等效于在时间方向上进行低通滤波,是消除分量间干涉条纹的关键。
- 边界处理逻辑:算法通过动态计算 tau_max 和卷积边缘索引,确保在信号序列的起始和结束阶段不会发生索引越界,保证了算法的鲁棒性。
- 采样率与分辨率:系统严格遵循奈奎斯特采样定律。由于使用了解析信号,频率轴的有效范围被限制在 fs 的一半,提高了频谱的利用率和显示的直观性。
- 指标量化:通过计算时频矩阵的峰度(Kurtosis),反映能量在时频平面上的集中程度。峰度值越高,代表时频分布的分辨率越高,交叉项抑制越彻底。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:信号处理工具箱(Signal Processing Toolbox),用于调用希尔伯特变换、窗函数生成及线性调频函数。
- 硬件要求:通用办公电脑即可满足实时计算需求,对于十万点以上的超大规模序列,建议配备8GB以上内存。
使用方法
- 运行主程序后,系统会自动在命令行窗口显示当前的计算进度及最终的聚集度系数。
- 自动弹出的仿真结果窗口将展示四部分内容,用户可以通过缩放时频云图观察不同信号分量在时间轴上的相位与频率变化。
- 若需针对特定信号调整,可修改窗函数参数 nh 和 ng。增大 ng 将增强交叉项抑制能力但会牺牲时间分辨率;增大 nh 则能提高频率方向的细节辨识度。