基于傅立叶级数与多种滤波技术的数字信号分析与处理系统
项目介绍
本系统是一个综合性的数字信号处理(DSP)仿真平台,旨在演示从连续信号生成、离散采样分析到数字滤波器设计及应用的全过程。系统通过数学建模模拟真实世界的信号环境,重点展示了奈奎斯特采样定理的应用、频谱混叠现象、以及IIR和FIR两种主流数字滤波器的设计与滤波效果对比。该系统适用于教学演示、算法验证以及信号处理流程的理解。
功能特性
- 多谐波信号合成:支持利用傅立叶级数原理,通过自定义频率、振幅和相位参数合成复杂的连续时间信号。
- 采样定理验证与混叠分析:系统提供对比实验,展示在满足与不满足奈奎斯特采样频率(Fs > 2fc)的情况下,信号在时域和频域的不同表现,直观呈现频率混叠现象。
- 双路径滤波器设计:
*
IIR滤波器:涵盖巴特沃思(Butterworth)低通和切比雪夫I型(Chebyshev Type I)带通滤波器,支持自动阶数估算。
*
FIR滤波器:提供基于窗函数法的滤波器设计,包含Hamming窗低通和Blackman窗高通滤波器。
- 全过程频谱分析:利用快速傅立叶变换(FFT)对原始信号、混叠信号及滤波后的信号进行频谱解析。
- 可视化评估界面:同步输出时域波形图与频域幅频响应图,支持滤波前后的信号对比,直观评估降噪与成分提取效果。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 工具箱依赖:Signal Processing Toolbox(信号处理工具箱)。
详细功能实现逻辑
系统运行流程严格遵循以下六个阶段:
1. 连续信号生成
系统设定了三个频率分量(50Hz, 150Hz, 300Hz),分别对应不同的振幅和相位初值。采用极高采样频率(步长0.0001s)构建模拟连续信号的参考序列。通过傅立叶级数的叠加原理,计算并合成时间跨度为0.1秒的原始复合信号。
2. 离散采样模拟
系统针对合成信号执行两种采样策略:
- 过采样/临界采样:设定采样率为1200Hz(大于信号最高频率300Hz的两倍),用于获取无失真的离散序列。
- 欠采样:设定采样率为400Hz(低于奈奎斯特频率600Hz),故意引发频率混叠现象。
3. 频谱分析
系统应用FFT算法将时域序列转换至频域。通过对FFT结果进行幅值归一化处理(除以序列长度)并提取单边频谱,解析出信号在不同采样条件下的实际频率构成。这一步清晰地揭示了采样率不足导致的高频分量向低频搬移的现象。
4. IIR滤波器构建
系统通过给定性能指标(通带截止频率、阻带截止频率、衰减增益)实现设计:
- 巴特沃思低通:利用有效阶数选择函数计算最小阶数,生成具有最平坦幅频特性的低通滤波器,用于保留50Hz分量。
- 切比雪夫带通:利用等波纹特性设计带通滤波器,目标指向150Hz中心频率的信号提取。
5. FIR滤波器构建
系统采用窗函数法设计线性相位滤波器:
- Hamming窗低通:设定固定阶数,生成通带平滑的低通响应。
- Blackman窗高通:利用Blackman窗较高的旁瓣抑制能力,设计截止频率为200Hz的高通滤波器,用于提取300Hz高频信号。
6. 信号处理应用与评估
将设计好的滤波器应用于1200Hz采样序列。系统执行时域滤波运算,计算滤波后信号的频谱分布,并将滤波后的时域波形、频谱与原始信号进行重叠对比分析,从而验证滤波器在特定频率成分提取方面的有效性。
关键算法与算法细节
- FFT幅值校正:在计算频谱时,通过对FFT输出进行长度归一化并乘以2(除直流分量外),确保频域图中的幅值与信号合成阶段设定的振幅参数保持一致。
- 巴特沃思阶数估算(buttord):根据给定的通带波纹Rp和阻带衰减Rs,动态计算达到预定性能所需的最低滤波器阶数,以优化计算效率。
- 窗函数卷积(fir1):在FIR设计中,通过特定窗函数(Hamming/Blackman)对理想低通/高通脉冲响应进行加窗截断,有效抑制吉布斯现象导致的阻带波动。
- 归一化频率处理:在调用所有滤波器设计函数时,频率参数均根据当前采样率进行归一化映射(fc / (Fs/2)),确保滤波器特性在不同采样频率下都能得到正确部署。
- 时域滤波(filter):采用标准差分方程的形式,将滤波器系数作用于离散时间序列,实现信号的实时/后处理转换。