基于MATLAB的DSB调制解调完整通信系统仿真
项目介绍
本项目实现了一个完整的双边带抑制载波(DSB-SC)通信系统仿真模型。系统涵盖了从基带信号产生、高频载波调制、加噪信道传输,到接收端的带通预处理、相干解调及低通滤波还原的全过程。通过该仿真,用户可以直观地观察信号在通信各个环节中的时域波形变化与频域频谱分布,并评估系统在加斯白噪声干扰下的抗噪声性能。
功能特性
- 复合基带信号生成:系统生成由多个频率分量叠加的复合正弦波信号,模拟真实通信中具有一定带宽的信息源。
- DSB-SC抑制载波调制:利用乘法器实现基带信号与高频正弦载波的频谱搬移,生成标准的双边带信号。
- 真实信道模拟:引入可自定义信噪比(SNR)的高斯白噪声(AWGN)信道,模拟信号在物理空间传输中的能量损耗与噪声干扰。
- 接收端双级滤波:设置了带通滤波器(BPF)用于滤除带外信号,以及低通滤波器(LPF)用于解调后的信号平滑与还原。
- 相干解调技术:通过本地同步载波相乘进行频谱回搬,精确模拟接收端的恢复逻辑。
- 多维度性能评估:自动计算基带原始信号与还原信号之间的均方误差(MSE),并提供完整的时、频域图谱对比。
使用方法
- 确保计算机安装有 MATLAB 运行环境及信号处理工具箱(Signal Processing Toolbox)。
- 打开程序文件,根据实验需求修改参数设置区域(如信噪比
snr、载波频率 fc 等)。 - 直接运行程序,系统将自动弹出仿真波形图窗口。
- 通过命令行窗口查看系统运行结果说明及均方误差(MSE)数值。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 硬件要求:具备基本图形处理能力的个人电脑。
- 必备工具箱:Signal Processing Toolbox。
详细实现逻辑
- 初始化与参数定义:
系统首先定义采样频率为 10000 Hz,时长为 0.2 秒。设定基带信号频率为 50 Hz,载波频率为 400 Hz。信噪比默认设置为 15 dB,并规定了滤波器的阶数为 4 阶。
- 基带与调制模块:
*
信号生成:利用 $m(t) = A_m sin(2pi f_m t) + 0.5 A_m cos(2pi cdot 2 f_m t)$ 构建复合信号,增加频谱复杂性。
*
载波调制:将基带信号 $m(t)$ 与余弦载波信号直接点乘,实现 DSB-SC 调制。
- 信道传输模块:
调用 MATLAB 内置算法,在调制信号上添加指定信噪比的高斯白噪声,模拟信号在空间传输后的劣化状态。
- 接收端预处理模块:
*
带通滤波:设计巴特沃斯(Butterworth)带通滤波器,截止频率设定在载波频率附近的 $[f_c - 2.5f_m, f_c + 2.5f_m]$ 区间,旨在滤除有用信号带宽外的背景噪声。
- 相干解调模块:
*
乘法解调:将经过带通滤波的信号再次与本地同步载波相乘,将信号频谱再次搬移回基带及两倍载波频段。
*
低通滤波:设计巴特沃斯低通滤波器,滤除解调产生的高频分量,并对输出信号进行 2 倍增益补偿,以校正解调过程中的幅度减半问题。
- 可视化与分析模块:
*
FFT变换:利用快速傅里叶变换及其频移算法,获取信号的正负频率分布,并进行归一化处理。
*
指标计算:系统通过计算原始信号与解调信号在对齐延迟后的均方误差(MSE),定量衡量系统的还原精度。
关键函数与算法分析
- awgn 函数:用于在功率测量模式下('measured')向调制信号添加指定分贝的高斯噪声,是模拟随机信道的关键工具。
- butter & filter 组合:
*
butter 函数用于根据预设阶数和归一化截止频率计算滤波器的系数(b, a)。
*
filter 函数执行具体的数字滤波运算,分别在调制后和解调后实现频谱限制和信号提取。
- fftshift 频谱处理:在进行频谱分析时,使用该算法将零频分量移至坐标中心,确保频谱图符合物理观察习惯。
- MSE 延迟补偿:由于 4 阶滤波器在处理信号时会引入相位延迟,代码在计算均方误差时,通过对原始信号和解调信号进行索引偏移(delay 修正),确保对比的波形在时间轴是对齐的。