基于MATLAB的多制式模拟调制解调仿真系统
项目介绍
本项目实现了一套完整的模拟通信系统仿真平台,旨在通过软件定义的数学模型,对幅度调制(AM、DSB-SC、SSB)和角度调制(FM、PM)进行全流程的模拟。系统不仅实现了从基带信号生成、载波调制、信道传输到接收解调的完整链路,还重点模拟了加性高斯白噪声(AWGN)对信号传输的影响,并通过详细的时域和频域分析,验证了各调制解调算法的有效性。
功能特性
- 多制式调制支持:涵盖了通信原理中五种核心的模拟调制方式:标准调幅(AM)、抑制载波双边带(DSB-SC)、单边带调制(SSB-USB)、频率调制(FM)及相位调制(PM)。
- 全链路仿真:实现了信号源产生、调制器、AWGN噪声信道、解调器及滤波器的完整通信链路。
- 高精度数学模型:采用希尔伯特变换(Hilbert Transform)处理解析信号,用于包络提取和单边带生成;采用零相位滤波技术避免时延误差。
- 可视化分析:针对每种调制方式,自动生成包含时域波形对比、频谱分析、已调信号噪声观察及解调误差曲线的综合图表。
- 信道噪声模拟:支持自定义信噪比(SNR),模拟真实环境下的信号劣化情况。
系统要求
- 软件环境:MATLAB R2016a 及以上版本(需包含 Signal Processing Toolbox 以支持
hilbert、butter、filtfilt 等函数)。 - 硬件要求:标准PC即可,无特殊配置要求。
使用方法
- 确保MATLAB当前路径包含本项目的脚本文件。
- 直接运行主程序脚本。
- 程序将依次执行 AM、DSB-SC、SSB、FM、PM 的仿真流程。
- 运行结束后,系统会弹出5个独立的图形窗口,分别展示对应调制方式的详细仿真结果。
- 在命令窗口(Command Window)中可查看当前的仿真进度提示。
仿真流程与技术实现细节
本项目的主程序脚本严格按照以下逻辑构建,实现了模块化的仿真流程:
1. 系统参数初始化与信号源构建
- 参数配置:设定采样率(20kHz)、仿真时长(2s)、载波频率(1000Hz)和基带信号频率(50Hz)。信噪比默认设定为 15dB。
- 信号生成:
*
基带消息信号:构建标准的单频余弦波作为信源。
*
载波信号:同时生成同相(Cos)和正交(Sin)载波,以支持正交调制和相干解调。
2. 标准幅度调制 (AM)
- 调制原理:实现
(1 + ka * m(t)) * cos(wc*t) 模型,其中调幅指数设置为 0.8,确保不过调幅。 - 解调算法:采用包络检波法。不使用传统的二极管模型,而是通过希尔伯特变换计算已调信号的解析信号模值(即包络),再减去直流分量恢复基带信号。
3. 抑制载波双边带调制 (DSB-SC)
- 调制原理:直接将基带信号与载波相乘,抑制了载波分量,节省发射功率。
- 解调算法:采用相干解调法(同步检波)。接收端将信号再次乘以同频同相的载波,通过低通滤波器滤除倍频分量。为了恢复原始幅度,程序对结果进行了系数为2的幅度补偿。
4. 单边带调制 (SSB - 上边带)
- 调制原理:采用相移法实现。利用希尔伯特变换生成基带信号的共轭(虚部),通过
m(t)cos(wc*t) - m^(t)sin(wc*t) 产生上边带(USB)信号,有效节省一半带宽。 - 解调算法:同样采用相干解调。解调后经过低通滤波,并进行了系数为4的幅度补偿,以抵消调制和解调过程中分散的能量损失。
5. 频率调制 (FM)
- 调制原理:通过对基带信号进行积分(
cumsum)得到相位变化量,结合调频灵敏度生成已调信号。 - 解调算法:采用瞬时频率提取法。
1. 对含噪信号进行希尔伯特变换构造解析信号。
2. 提取瞬时相位并进行解卷绕(unwrap)处理。
3. 对相位进行微分(差分)并归一化,得到瞬时频率。
4. 去除载波频率偏移并除以调频灵敏度,最后经低通滤波去噪。
6. 相位调制 (PM)
- 调制原理:直接将基带信号映射为载波的相位偏移。
- 解调算法:采用瞬时相位提取法。
1. 利用希尔伯特变换提取解析信号的瞬时相位。
2. 移除由载波频率引起的线性相位增长项(
2*pi*fc*t)。
3. 去除直流漂移并归一化,最后通过低通滤波器恢复信号。
关键算法与辅助模块
加性高斯白噪声 (AWGN) 通道
程序包含一个专门的噪声添加模块,它首先计算输入信号的平均功率,然后根据设定的信噪比(SNR_dB)反推噪声功率和标准差,最后生成对应强度的高斯随机噪声叠加到信号上。
零相位低通滤波器
为解决滤波器带来的相位延迟问题,解调环节通过巴特沃斯(Butterworth)低通滤波器设计,并配合
filtfilt 函数实现零相位滤波。截止频率设定为基带频率的数倍(防止边缘衰减),同时远低于载波频率。
频谱分析 (FFT)
内置频谱分析模块,能够将时域信号转换为单边幅度谱。为了准确显示真实的物理频率幅度,算法中包含了对FFT结果的归一化处理及双边谱到单边谱的能量折算(除了直流分量外其余频率幅度乘2)。
结果可视化
可视化模块为每种制式生成包含5个子图的综合界面:
- 时域对比:原始基带信号 vs 解调恢复信号(验证还原度)。
- 频域对比:基带频谱 vs 恢复信号频谱。
- 已调信号时域:展示经过信道传输后叠加了噪声的波形。
- 已调信号频域:展示频谱搬移后的载波和边带特性。
- 误差分析:计算并绘制均方误差(MSE),直观展示解调精度。