移动无线传输 Jakes 模型功率谱密度计算与仿真
项目简介
本项目基于 MATLAB 环境开发,旨在深入实现移动无线通信中经典的 Jakes 信道模型。项目核心目标是精确模拟瑞利衰落信道,计算并验证各径的功率谱密度(PSD)。通过采用正弦波叠加法(Sum of Sinusoids, SOS)构建仿真器,项目模拟了移动台在多径环境下的接收信号包络,不仅可以直观展示时域的衰落特性,还能通过频域分析验证经典的 U 型多普勒谱(Jakes 谱),为无线信道建模与系统性能评估提供可靠的参考。
功能特性
- 参数化系统配置:支持自定义载波频率、移动速度、仿真时长等关键参数,并自动计算最大多普勒频移。
- 瑞利衰落信道仿真:利用经典 Jakes 模型算法(正弦波叠加法),合成复数低通等效信号,生成符合瑞利分布的信号包络。
- 高精度频域分析:采用韦尔奇法(Welch's method)对仿真生成的时域信号进行功率谱密度估计,处理过程包含加窗和平滑处理。
- 理论模型验证:内置 Jakes 理论功率谱密度函数计算,能够生成标准的 U 型谱数据。
- 多维可视化展示:提供时域包络图、IQ 复平面轨迹图以及理论与仿真 PSD 的叠加对比图,直观验证模型准确性。
系统要求
- MATLAB R2016a 或更高版本
- Signal Processing Toolbox(用于
pwelch 函数)
使用方法
- 确保 MATLAB 环境已安装并包含信号处理工具箱。
- 将项目文件下载至本地目录。
- 在 MATLAB 中打开并运行主脚本。
- 程序将自动执行参数初始化、时域仿真、频域计算,并弹出图形窗口展示仿真结果。
详细实现逻辑与算法分析
本项目的主程序通过以下四个主要步骤实现 Jakes 模型的全流程仿真:
1. 系统参数初始化
程序首先定义了无线通信系统的基础物理参数。默认设定载波频率为 1.8 GHz,移动台速度为 60 km/h。根据公式 $f_d = (v/c) times f_c$ 精确计算最大多普勒频移。为了保证频域分析的分辨率和平滑度,采样频率被设定为最大多普勒频移的 100 倍,且满足奈奎斯特采样定理。
2. 基于 SOS 的时域仿真
这是项目的核心算法部分。程序采用正弦波叠加法(Sum of Sinusoids)来近似瑞利衰落过程。
- 散射体设置:设定低频振荡器数量 $N_0 = 16$,模拟多径环境。
- 系数计算:计算归一化能量系数,确保输出信号的平均功率约为 1。
- 多普勒频率生成:根据 Jakes 模型几何关系,生成离散的多普勒频率分量 $f_n$。
- 信号合成:通过循环累加 $N_0$ 个不同频率和相位的余弦波,分别构建同相分量(Real/In-phase)和正交分量(Imag/Quadrature)。代码中明确加入了多普勒频移项(对应 $N_0+1$ 项),并最终通过复数合成得到低通等效信号 $h(t)$。
- 包络提取:计算复数信号的模值,得到随时间变化的瑞利衰落包络。
3. 功率谱密度(PSD)估计与计算
程序同时在理论和仿真两个层面进行 PSD 分析:
- 仿真 PSD 估计:利用
pwelch 函数对仿真生成的复数信道系数 $h$ 进行谱估计。算法配置了长度为 2048 的汉明窗(Hamming Window)和 50% 的重叠率,FFT 点数设为 4096,以获得平滑且高分辨率的频谱曲线。 - 理论 PSD 计算:根据 Jakes 理论公式 $S(f) = 1 / (pi f_d sqrt{1 - (f/f_d)^2})$ 计算理论曲线。代码中包含了对边界条件的处理,防止在 $f = pm f_d$ 处因分母为零产生的计算错误。
4. 结果可视化
程序最终生成一个包含三个子图的综合分析窗口:
- 时域瑞利衰落包络:展示信号幅度随时间的剧烈波动,验证深衰落特性,并以 dB 为单位显示。
- 复数信道系数轨迹:在 IQ 平面上绘制 $h(t)$ 的轨迹,展示其随机相位和幅度的分布情况(近似圆形分布)。
- 多普勒功率谱密度对比:将仿真得到的 PSD(蓝色实线)与理论计算的 U 型谱(红色虚线)在同一坐标系下进行归一化叠加对比。该图直观地展示了能量主要集中在最大多普勒频移 $pm f_d$ 范围内,且在边界处具有极值,有力地验证了仿真模型的正确性。