LTE系统PDSCH链路级仿真与源码分析平台
项目简介
本项目构建了一个符合3GPP LTE标准的物理下行共享信道(PDSCH)链路级仿真系统。该平台基于MATLAB开发,完整模拟了从发射机数据生成、物理层信号处理、信道衰落传输到接收机信号恢复的全过程。项目旨在提供一个透明、可修改的实验环境,用于深度分析LTE物理层关键算法(如Turbo编解码、OFDM调制、MIMO预编码及信道估计)的源代码实现与性能验证。
功能特性
- 符合标准的物理层参数:仿真配置基于10MHz带宽(50个资源块),支持常规循环前缀(Normal CP)和每子帧14个符号的帧结构。
- 完整的发射机链路:包含随机数据生成、CRC-24A校验、1/3码率Turbo编码、速率匹配、加扰、多种调制方式(QPSK, 16QAM, 64QAM)选择。
- MIMO与OFDM核心技术:实现了2x2发射分集(SFBC)或SISO模式,支持资源网格映射、导频(CRS)插入及IFFT/CP处理。
- 多样化的信道环境:集成AWGN信道与多径衰落信道模型(支持扩展车辆模型EVA),可配置多普勒频移以模拟终端移动特性。
- 高性能接收机算法:实现基于导频的LS信道估计、MIMO均衡与信号合并、软解调(LLR计算)、软判决解扰及Max-Log-MAP算法的Turbo译码。
- 自动化测试与可视化:支持蒙特卡洛仿真循环,自动扫描SNR范围(0-16dB),统计误比特率(BER)、误块率(BLER)及系统吞吐量,并实时绘制性能曲线、星座图及信道冲激响应。
系统要求
- MATLAB R2018a 或更高版本
- Communications Toolbox(通信工具箱)- 用于Turbo编解码器及CRC生成器对象
- Signal Processing Toolbox(信号处理工具箱)- 推荐安装,用于部分信号处理基础函数
使用方法
- 确保MATLAB环境已安装所需的工具箱。
- 打开MATLAB并将工作路径切换到项目所在目录。
- 直接运行主函数
main。 - 程序将固定随机种子(Seed=42)以保证结果可复现,随后开始在预设的SNR范围内进行逐帧仿真。
- 仿真过程中控制台会实时输出当前SNR点、资源块数量、调制方式及MIMO配置状态。
- 仿真结束后,系统将弹出一个包含四个子图的图形窗口,展示链路性能分析结果。
源码分析与实现逻辑详解
1. 系统参数配置与初始化
代码首先通过结构体定义了系统级参数,包括带宽(10MHz)、FFT点数(1024)、循环前缀长度(72)及仿真控制参数(如SNR范围、帧数)。
- 随机性控制:显式调用
rng(42),确保每次仿真生成的噪声和数据序列一致,便于算法调试和比对。 - 参数计算:自动根据RB数量计算总子载位数和采样率,确保物理层参数的一致性。
2. 发射机链路 (Transmitter)
发射机部分在帧循环内部执行,模拟了LTE下行链路的比特级处理流程:
- 传输块大小 (TBS) 计算:根据当前调制阶数和资源数动态计算每子帧可传输的比特数,并预留CRC开销。
- CRC添加:使用标准生成多项式
24A 对原始数据流添加24位循环冗余校验码。 - Turbo编码:调用通信工具箱对象,采用并行级联卷积码(PCCC),多项式结构为
[13 15],基础码率为1/3。 - 速率匹配:为了适配物理资源元素(RE)的数量,对编码后的比特流进行截断或重复处理,以达到目标传输长度。
- 加扰:通过生成伪随机序列并与数据比特进行异或(XOR)操作,代码中采用了简化的随机序列生成逻辑。
- 调制与预编码:
* 支持QPSK、16QAM、64QAM调制。
* 在MIMO
2x2 模式下,执行SFBC(空频块编码)以实现发射分集;在SISO模式下信号直通。
- 资源映射与OFDM:构建时频资源网格,将数据符号和计算出的导频(Reference Signals)映射到指定子载波,随后进行IFFT变换并添加循环前缀生成时域波形。
3. 信道环境模拟 (Channel)
代码根据配置选择信道模型:
- AWGN模式:仅添加高斯白噪声,信道冲激响应设为理想单位脉冲。
- 多径衰落模式 (EVA):模拟扩展车辆A模型,依据预设的延迟抽头(Tap Delay)和功率分布(Power Profile)对信号进行卷积处理,并引入多普勒频移(5Hz)。
- 噪声叠加:根据当前循环的SNR值计算信号功率与噪声功率比例,生成复高斯白噪声并叠加到接收信号上。
4. 接收机链路 (Receiver)
接收机执行与发射机逆向的信号恢复操作:
- OFDM解调:去除循环前缀(CP)并执行FFT变换,恢复频域资源网格。
- 信道估计:利用已知的导频位置和数值,采用最小二乘法(LS)估计信道频率响应(H)。
- 均衡与合并:
*
MIMO模式:结合信道估计结果执行SFBC解码,利用正交性分离并合并信号,同时估算噪声方差。
*
SISO模式:采用MMSE(最小均方误差)均衡算法消除信道影响。
- 软解调与LLR计算:计算接收符号的对数似然比(LLR),为软判决译码提供可靠性信息。
- 软解扰:对应发射端的比特级加扰,接收端在LLR域进行处理。利用加扰序列(0/1)对LLR值进行符号翻转(
1 - 2*seq)。 - 解速率匹配:执行逆向操作,还原Turbo编码器的输出长度。
- Turbo译码:使用
Max-Log-MAP 算法进行迭代译码(迭代次数设为4),充分利用软信息提升纠错性能。 - CRC校验:检测译码后的数据块,移除CRC位并输出误块标志。
5. 性能统计与可视化
主循环结束后,代码自动汇总并绘制以下分析图表:
- BER & BLER曲线:对数坐标显示误比特率和误块率随SNR变化的趋势,分别用蓝色和红色曲线表示。
- 吞吐量 (Throughput):根据
(1-BLER) * TBS 计算有效吞吐率(Mbps)。 - 接收星座图:展示接收端均衡后的符号分布,直观反映信号质量与调制阶数。
- 信道冲激响应 (CIR):显示当前信道环境的时域抽头幅值,用于验证多径模型的正确性。