← 返回目录课程:《MATLAB通信雷达仿真资料包》
04

04 调制解调:BPSK/QPSK/16QAM基带链路搭建

构建完整调制解调链路,计算误码率曲线并对比不同调制阶数性能
章节导航 难度:入门类型:概念框架
目标结果

掌握MATLAB通信雷达仿真资料包在调制解调中的定位、故障信号与验证顺序。

关键词
模块接口配置流程状态
交付物
架构图代码片段排障表检查清单
本节对象

围绕 MATLAB通信雷达仿真资料包、调制解调、16QAM基带链路搭建 展开。

基带链路搭建:从符号映射到误码率验证

调制解调的验收口径

调制解调围绕中心对象展开01基带链路搭建:从符号明确检查要点02调制解调拆解关系:B明确检查要点03基带链路搭建拆解关系明确检查要点04构建完整调制解调链路明确检查要点05异常信号与处理边界先定义适用边界06问题定位与目标:从理明确检查要点

在通信仿真中,调制解调链路的核心任务是验证信号在加性高斯白噪声(AWGN)信道下的传输鲁棒性。本节将构建从随机比特生成、符号映射、脉冲成形、AWGN信道加噪到接收端判决与误码率统计的完整基带链路。关键的第一步是明确MATLAB识别边界:仿真中所有信号均以离散复数序列表示,采样率与符号率的倍数关系决定了匹配滤波器的实现方式。我们采用rng('default')固定随机种子,确保结果可复现

工程动作

在搭建链路前,先定义全局参数:M(调制阶数)、numBits(仿真比特数)、EbNoVec(比特信噪比扫描向量)。对于BPSK(M=2)、QPSK(M=4)和16QAM(M=16),numBits需至少为1e5以保证低误码率点的统计可靠性

调制解调拆解关系:BPSK/QPSK/16QAM的基带映射

三种调制方式的本质差异在于BPSK/QPSK/16QAM拆解关系:BPSK将1比特映射为1个复数符号(±1),QPSK将2比特映射为4个相位点(±1±j),16QAM将4比特映射为16个星座点。在MATLAB中,使用qammod函数可统一实现:modData = qammod(data, M, 'UnitAveragePower', true)。注意'UnitAveragePower'参数确保所有调制方式的平均符号能量归一化为1,这是后续awgn函数信噪比计算的前提

接收端解调时,qamdemod采用硬判决方式:rxData = qamdemod(rxSig, M, 'UnitAveragePower', true)。对于BPSK和QPSK,硬判决等价于基于欧氏距离的最小距离判决;对于16QAM,需注意星座点边界处的判决误差概率更高,这直接反映在误码率曲线的斜率差异上

真实项目场景

某雷达通信一体化项目要求在同一硬件平台上切换调制方式。仿真阶段发现,16QAM在低信噪比(EbNo < 10 dB)下的误码率远高于BPSK,但频谱效率提升4倍。通过本节链路对比,团队确定了自适应调制切换门限:EbNo < 8 dB时使用QPSK,8-14 dB使用16QAM,高于14 dB使用64QAM

基带链路搭建拆解关系:关键步骤与参数校验

调制解调的工程关键是把调制解调的16QAM基带链路搭建、失败路径和构建完整调制解调链路同时定义出来,不能只写能跑通的主流程。

完整的基带链路搭建拆解关系包含以下6个步骤,每一步都需验证中间信号维度与能量:

  1. 比特生成与串并转换dataIn = randi([0 1], numBits, 1);对于QPSK和16QAM,需将比特分组为整数符号:dataSym = bi2de(reshape(dataIn, log2(M), []).', 'left-msb')
  2. 符号映射modData = qammod(dataSym, M, 'UnitAveragePower', true);验证符号平均功率:mean(abs(modData).^2)应接近1
  3. 脉冲成形(可选):使用升余弦滤波器rcosdesign(0.35, 6, 4),上采样后滤波,模拟带限信道
  4. AWGN信道加噪rxSig = awgn(modData, snr, 'measured'),其中snr = EbNo + 10*log10(log2(M)) - 10*log10(sps)(sps为每符号采样数)
  5. 匹配滤波与下采样:对接收信号进行匹配滤波,并提取符号点
  6. 硬判决解调与误码率计算rxSym = qamdemod(rxSig, M, 'UnitAveragePower', true)ber = biterr(dataIn, rxBits) / numBits

参数表:EbNo与SNR转换关系

参数表
MATLAB通信雷达仿真资料包 · 参数表:EbNo与SNR转换关键参数
参数推荐值作用验证方式
EbNoVec0:2:14 (dB)扫描比特信噪比范围确保最低点误码率 > 1e-5
sps4 或 8每符号采样数,影响成形滤波器长度检查滤波后信号无混叠
rolloff0.35升余弦滚降因子验证频带占用为 (1+rolloff)/Ts
numBits1e5 ~ 1e6仿真比特数低误码率点至少统计100个错误比特

代码理解题

  1. Q1

    阅读调制解调代码时,先看哪里?

    参考思路:

    先看调制解调的入口参数、返回结果和主要分支,不要直接从细节语句开始。

  2. Q2

    哪个分支最需要确认?

    参考思路:

    优先确认失败、空值、超时或边界值分支是否有明确处理动作。

  3. Q3

    如何证明自己理解了代码?

    参考思路:

    写一个围绕校验验证的最小调用样例,并说明每一步的输入与结果。

  4. Q4

    怎样验收代码行为?

    参考思路:

    用一组正常样例和一组异常样例验证调制解调行为没有跑偏。