基于Costas环的抑制载波双边带(DSB-SC)信号解调系统
项目介绍
本项目是一个基于MATLAB开发的通信系统仿真示例,专注于抑制载波双边带(DSB-SC)信号的产生与相干解调。项目的核心逻辑在于实现了一个完整的科斯塔斯环(Costas Loop),该反馈环路能够自动从接收信号中恢复载波的频率和相位,确保在发送端与接收端载波不同步的情况下,依然能高保真地解调出原始基带信息。该系统广泛应用于对相位同步要求严格的数字化接收机设计。
功能特性
- 动态信号生成:支持自定义频率的基带正弦信号生成。
- DSB-SC核心调制:实现完全抑制载波的调幅过程,并支持手动引入载波频率偏移和初始相位偏差。
- 信道环境模拟:内置加性高斯白噪声(AWGN)模块,可根据设定信噪比(SNR)测试系统的鲁棒性。
- 实时逐点处理:解调过程采用逐样本循环模式,模拟硬件电路的实时流式信号处理。
- 二阶环路设计:采用PI(比例-积分)控制器作为环路滤波器,有效跟踪二阶相位变化。
- 多维度分析看板:系统生成时域波形、频谱分析、收敛误差趋势以及I-Q轨道图。
使用方法
- 启动程序:在MATLAB开发环境中运行程序逻辑。
- 参数调整:可直接修改脚本顶部的参数区,包括采样频率(Fs)、基带频率(Fm)、载波中心频率(Fc)、模拟频偏(Freq_offset)以及信噪比(Signal_SNR)。
- 结果观察:
* 观察时域波形图,对比原始信号与锁定后的解调信号。
* 查看频谱图,确认解调后的信号频谱是否回到了基带位置。
* 通过相位跟踪曲线观察系统入锁的时间和稳定性。
* 查看控制台输出的锁定后均方误差(MSE)。
系统要求
- MATLAB R2016b 或更高版本。
- Signal Processing Toolbox(信号处理工具箱)。
实现逻辑与算法细节
1. 信号调制模块
系统通过基带信号与高频载波直接相乘实现DSB-SC调制。为了体现解调系统的优越性,发送端的载波被刻意添加了固定频偏和相位偏置,以此模拟现实通信中晶振不准导致的非同步状态。
2. 科斯塔斯环核心结构
解调器采用双支路结构:
- 同相支路(I):接收信号与本地压控振荡器(VCO)产生的余弦波相乘。
- 正交支路(Q):接收信号与本地VCO产生的正弦波相乘。
- 低通滤波:使用二阶Butterworth滤波器通过逐样本状态更新(filter函数与zi状态向量联用)实现,滤除二倍频干扰。
3. 鉴相器(PD)与环路滤波器(LF)
- 鉴相器通过计算 I路 × Q路 得到相位误差信号。对于DSB-SC信号,该乘积包含了原本信号幅度平方项与正弦相位误差项。
- 环路滤波器采用比例(alpha)和积分(beta)结构。积分项用于消除稳态频率误差,比例项用于提高响应速度。其输出作为控制电压实时更新VCO的相位偏移。
4. 载波恢复与反馈
每一采样点计算出的相位更新量会累积到下一时刻的VCO输入中。当系统锁定时,Q路分量因相位相差90度且正交而被抑制为零,I路分量则完全提取出基带包络。
5. 性能度量与可视化
- 归一化处理:由于乘法解调会产生0.5倍的幅度衰减,系统进行了幅度补偿。
- MSE计算:系统截取信号锁定后的后半段数据进行均方误差计算,排除了入锁过程对指标的影响。
- I-Q轨道图:通过绘制I支路与Q支路的映射轨迹,展示能量从乱序状态向同相轴汇聚的收敛过程。