基于Saleh模型的功率放大器数字预失真仿真项目
项目介绍
本项目是一个基于MATLAB开发的功率放大器(PA)数字预失真(DPD)仿真平台。项目采用通信领域经典且具有代表性的Saleh模型来模拟高功率放大器的非线性特性。通过构建一个能够逆转放大器非线性影响的预失真模块,本项目实现了对信号在经过放大器之前的提前补偿,从而有效抑制频谱展宽、降低误差向量幅度(EVM),并恢复调制信号的星座图质量。该仿真完整覆盖了从信号源产生、脉冲成型、非线性建模到预失真补偿及结果评估的全流程。
功能特性
- 标准调制支持:采用16-QAM调制体制,确保仿真具备实际通信系统的代表性。
- 脉冲成型与过采样:内置根升余弦(RRC)滤波器进行脉冲成型,支持8倍过采样,能够清晰观察非线性导致的频谱再生(Spectral Regrowth)现象。
- Saleh模型建模:精确实现了Saleh模型的数学表达式,包含AM-AM(幅度到幅度)和AM-PM(幅度到相位)两种非线性畸变。
- 高精度逆映射DPD:利用数值反演方法构建查找表(LUT),针对放大器饱和点以下的区域进行精确的幅度补偿和相位反转补偿。
- 全方位指标对比:提供无预失真和有预失真两种场景的直接对比,包括AM-AM/AM-PM曲线、功率谱密度(PSD)、星座图分布以及具体的EVM数值。
系统要求
- 软件环境:MATLAB R2020b 或更高版本。
- 所需工具箱:Signal Processing Toolbox(信号处理工具箱)、Communications Toolbox(通信工具箱)。
运行说明
- 启动MATLAB并进入项目所在文件夹。
- 直接运行仿真脚本,程序将自动执行所有仿真步骤。
- 仿真完成后,控制台将输出两种系统的EVM百分比对比。
- 程序会弹出可视化窗口,展示四维度的性能对比图。
实现逻辑与功能细节
#### 1. 信号合成与处理
流程首先生成随机比特流并进行16-QAM单位功率能量归一化映射。随后,信号通过根升余弦(RRC)滤波器进行上采样和脉冲成型,以模拟基带信号的物理波形。最后,对信号幅度进行归一化,使其处于Saleh模型的有效工作区间内。
#### 2. Saleh功率放大器建模
程序通过函数句柄定义了Saleh模型的数学公式:
- AM-AM响应:使用公式 $f(r) = frac{alpha_a r}{1 + beta_a r^2}$ 描述输出幅度与输入幅度的关系。
- AM-PM响应:使用公式 $phi(r) = frac{alpha_p r^2}{1 + beta_p r^2}$ 描述附加相位偏移。
预设参数采用业界经验值(如 $beta_a = 1.1517$ 等),能真实反映PA在趋近饱和时的压缩特性。
#### 3. 预失真器(DPD)设计逻辑
预失真器的核心是实现PA特性的“逆”。
- 幅度补偿:程序首先计算PA的饱和点(近似于 $1/sqrt{beta_a}$),在此范围内建立输入与输出幅度的映射关系。通过
interp1 线性插值法构建查找表,当输入信号通过时,根据其当前幅度查表获取一个“预扩张”的幅度,以此抵消PA后续的“增益压缩”。 - 相位补偿:程序预测信号在经过预失真幅度补偿后进入PA将产生的相位偏移量,并提前在原始信号相位中减去该预测值。
#### 4. 关键算法与性能评估
- apply_dpd 函数:这是预失真的执行核心,它对输入复信号进行极坐标分解,分别对模值进行插值补偿,对相位进行反向偏置,最后重组为复信号。
- EVM 计算:信号通过PA后,程序执行匹配滤波(RRC下采样)并进行时延对齐与幅度增益归一化,通过计算接收符号与理想符号之间的均方误差根来衡量失真程度。
- 可视化分析:
-
AM-AM/AM-PM曲线:直观展示DPD如何将弯曲的PA响应拉直。
-
功率谱密度:展示DPD在抑制带外泄漏(邻道干扰)方面的作用。
-
星座图:可视化展示非线性引起的散点弥散以及预失真后的聚拢效果。
总结
本程序的逻辑严密,通过数学插值与相位合成技术,在Saleh模型的基础上构建了高效的数字预失真系统,为研究射频非线性补偿提供了可靠的仿真基准。