双正弦信号离散快速变换冒泡排序分析系统
项目介绍
本项目实现针对双正弦混合信号的离散快速变换(DFT)处理,并将变换后获得的频谱分量通过冒泡算法进行幅值排序。系统能够有效分离双频信号的频谱特征,并通过排序展示主要频率成分的能量分布。该系统适用于信号处理教学演示、频谱分析基础研究等场景。
功能特性
- 多频信号合成:支持生成包含两个不同频率和幅度的正弦波混合信号,可附加高斯白噪声
- 离散傅里叶变换:采用DFT算法将时域信号转换为频域表示
- 频谱分量排序:使用冒泡排序算法对频谱幅值进行降序排列
- 可视化分析:提供时域波形、频谱图和排序结果的多维度展示
- 参数可配置:支持自定义采样频率、信号长度、信噪比等关键参数
- 峰值检测:自动识别并标注频谱中的两个主要频率成分
使用方法
- 设置信号参数:包括采样频率fs、信号长度N、两个正弦波的频率f1/f2和幅度A1/A2
- 可选设置噪声参数:指定信噪比(SNR)添加高斯白噪声
- 运行分析系统:执行主程序开始信号处理流程
- 查看结果:系统将依次输出:
- 原始双正弦信号的时域波形图
- DFT变换后的双边幅度频谱图
- 冒泡排序后的频率分量幅值排序列表
- 频谱峰值检测结果(标注主要频率点的幅值和频率值)
系统要求
- MATLAB R2018b或更高版本
- 信号处理工具箱(用于基础信号生成和绘图功能)
- 至少4GB内存(建议8GB以上用于处理较长信号序列)
文件说明
主程序文件集成了完整的信号处理流程,实现了双正弦信号的生成、离散傅里叶变换计算、频谱分析、冒泡排序算法执行以及结果可视化功能。具体包含信号参数配置、时域波形绘制、频域变换处理、幅值排序分析和峰值检测标注等核心模块。