COST207 Standard Channel Model Simulation
项目简介
本项目是一个基于 MATLAB 实现的宽带无线信道模型仿真工具,严格遵循欧洲科学技术研究领域(COST)制定的 COST 207 标准。该项目主要用于移动通信系统(特别是 GSM 及其演进技术)的链路级仿真与性能评估。
核心仿真逻辑基于 离散时间抽头延迟线(Tapped Delay Line, TDL) 架构,通过 频域滤波法 生成符合特定多普勒功率谱密度的有色复高斯过程,从而模拟真实物理环境下的多径衰落信道。
主要功能特性
- 四大标准场景全覆盖:完整实现了 COST 207 标准定义的四种典型传播环境:
*
RA (Rural Area):乡村地区环境,模拟开阔地的传播特性(包含 Rician 衰落)。
*
TU (Typical Urban):典型城市环境,模拟一般市区多径传播。
*
BU (Bad Urban):恶劣城市环境,具有较大的时延扩展。
*
HT (Hilly Terrain):丘陵地形,模拟复杂地形下的远距离反射。
* 采用
频域滤波法(Frequency Domain Filtering) 生成衰落系数,相比传统的正弦波叠加法(SOS),在大点数仿真时具有较高的效率。
* 支持多种多普勒频谱形状:
Classical Jakes (CLASS)、
Gaussian (GAUSS1)、
Bi-Gaussian (GAUSS2/BIC) 以及
Rician (RICE)。
- 灵活的参数配置:支持自定义载波频率、移动台速度、采样率和仿真时长。
- 完整的通信链路模拟:包含从 QPSK 基带信号生成、通过时变信道卷积、到叠加高斯白噪声(AWGN)的全过程。
- 可视化分析:提供功率时延分布(PDP)图和时变信道冲激响应(CIR)的三维可视化。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 工具箱:基础 MATLAB 功能,无特殊工具箱依赖(使用了 FFT/IFFT 等基础信号处理函数)。
使用方法
- 打开 MATLAB 环境。
- 配置
main 函数开头部分的 sim_params 结构体参数(如环境类型 EnvType、载波频率 Fc、速度 Velocity 等)。 - 直接运行
main 函数。 - 程序将输出当前的仿真配置信息,计算进度,并在仿真结束后弹窗显示信道特性分析图表。
代码实现逻辑详解
本项目的所有核心逻辑均封装在 main.m 文件中,按照以下步骤流水线式执行:
1. 仿真参数初始化
程序首先定义全局仿真参数。默认配置为:
- 环境:TU(典型城市)。
- 频率:900 MHz(GSM 频段)。
- 速度:50 km/h(转换为 m/s)。
- 采样率:5 MHz,确保高精度的时延分辨率。
- 多普勒频移:根据速度和载频自动计算最大多普勒频移 $F_d$。
2. 基带输入信号生成
为了测试信道,程序生成了一个标准的测试信号:
- 生成随机比特流,并进行 QPSK 调制。
- 对 QPSK 符号进行 10 倍上采样(矩形脉冲成型),生成连续的基带复信号。
- 对信号功率进行归一化处理。
3. COST 207 信道配置加载
通过
get_cost207_profile 子函数获取标准定义的信道参数:
- RA:6 条径,采用 RICE(首径)和 CLASS 谱。
- TU:12 条径,全 CLASS 谱。
- BU:12 条径,混合 CLASS、GAUSS1 和 GAUSS2 谱。
- HT:12 条径,全 CLASS 谱。
该阶段会自动将标准定义的时延(微秒)转换为系统采样点数,并将相对功率(dB)转换为线性比例并归一化。
4. 时变信道衰落系数生成 (核心算法)
这是项目的核心部分,由
generate_fading_process 子函数实现。不同于时域滤波,本项目采用
频域滤波法:
- 构建频谱掩码:根据路径指定的谱类型(CLASS, GAUSS, BIC),在频域构建对应的功率谱密度(PSD)函数 $S(f)$。
*
CLASS:实现 Jakes 谱公式 $1/sqrt{1-(f/F_d)^2}$。
*
GAUSS:构建高斯形状的频谱。
*
RICE:在 CLASS 谱的基础上,后续在时域叠加视距(LOS)分量,K 因子硬编码为 5dB。
- 生成随机过程:在频域生成复高斯白噪声。
- 频域整形:将白噪声与频谱掩码的平方根相乘 $H(f) = Noise(f) times sqrt{S(f)}$。
- 变换至时域:通过 IFFT 将频域信号变换为时域的时变路增益系数。
5. 线性时变卷积
利用生成的信道系数矩阵(维度:采样点数 $times$ 多径数),执行 TDL 滤波操作:
- 遍历每一条径。
- 将输入信号按照该径的时延进行 整数倍采样延迟。
- 将延迟后的信号与该径当前时刻的 时变复增益 相乘。
- 所有路径的输出叠加,形成最终的接收信号。
- 最后,叠加 SNR = 30dB 的高斯白噪声。
6. 结果分析与绘图
由
analyze_and_plot 子函数处理:
- PDP 图:展示各路径的相对时延和平均功率衰减。
- 3D CIR 图:通过
surf 函数绘制时间和时延维度的信道冲激响应幅度变化,直观展示信道的快衰落特性。 - Doppler PSD:代码预留了多普勒谱的绘图逻辑,用于验证生成的衰落过程是否符合理论频谱。