项目介绍
本项目构建了一个基于放大转发(Amplify-and-Forward, AF)模式的协作OFDM(正交频分复用)通信系统仿真模型。系统模拟了由源节点(Source)、中继节点(Relay)及目的节点(Destination)组成的三节点典型拓扑结构。通过两时隙传输机制,实现信号的协作分集:第一时隙由源节点广播信号,第二时隙由中继节点对接收到的信号进行功率放大并转发。本项目旨在对比协作AF模式与直接传输模式在瑞利衰落信道条件下的误码率(BER)性能,验证协作分集技术对提升无线通信可靠性的有效性。
功能特性
- 物理层全链路模拟:实现了从随机比特生成、符号映射、OFDM调制到信道传输、信号合并及解调的全过程仿真。
- 放大转发(AF)协议:中继节点采用可变增益放大策略,根据瞬时信道状态信息和噪声方差对信号进行归一化放大。
- 瑞利衰落信道模拟:考虑了独立同分布的瑞利衰落,并结合路径损耗模型模拟了节点间不同距离对信号强度的影响。
- 协作分集接收:在目的节点采用了最大比合并(MRC)技术,通过加权合并直接链路与中继链路信号来最大化接收信噪比。
- 自定义调制处理:内置了16QAM调制与解调函数,包括星座图映射、能量归一化及硬判决解调逻辑。
使用方法
- 启动 MATLAB 软件环境。
- 在 MATLAB 路径编辑器或命令行中,将当前工作目录切换至仿真脚本所在的绝对路径。
- 在命令行窗口输入主函数名称并运行。
- 程序将依次计算设定的各信噪比(SNR)点下的误码率,并在命令行输出实时进度。
- 仿真完成后,系统会自动生成一张对比图表,展示直接传输与协作AF传输随信噪比变化的误码率曲线。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 硬件要求:标准个人计算机,内存建议 4GB 以上以确保大规模比特流计算时的稳定性。
- 依赖项:主要功能通过基础数学运算和信号处理函数实现,代码中已包含自定义的进制转换及调制解调辅助函数,对特定工具箱的依赖较低。
实现逻辑与功能说明
- 参数初始化:
系统默认仿真总比特数为 10^5,采用 64 个子载波的 OFDM 结构,循环前缀(CP)长度设置为 16。调制方式采用 16QAM。设定 S-D 距离为 1,中继位于中心(S-R=0.5, R-D=0.5),路径损耗指数设定为 3。
- 发射端处理:
将随机生成的二进制比特流按每 4 位一组转换为十进制,通过 16QAM 星座映射表转换为复数符号,并进行 1/sqrt(10) 的能量归一化。随后执行 IFFT 变换并在头部添加循环前缀,构造出时域 OFDM 符号。
- 时隙化协作传输:
- 第一时隙(广播阶段):源节点发送信号。目的节点和中继节点分别接收信号,信号分别经过 h_sd 和 h_sr 的单径瑞利衰落及加性高斯白噪声(AWGN)干扰。
- 第二时隙(转发阶段):中继节点对第一时隙接收到的噪声信号进行增益处理。增益因子 beta 的计算考虑了源到中继信道的功率平衡。随后中继将信号发送至目的节点,经过 h_rd 信道及噪声干扰。
- 接收端处理逻辑:
- 直接传输模式:仅处理第一时隙来自目的节点的信号,进行移除 CP、FFT 变换。通过除以信道系数 h_sd 进行理想信道补偿,最后进行 16QAM 解调。
- 协作传输模式:对两个时隙的信号进行最大比合并(MRC)。计算第一链路的权值为信道共轭除以噪声方差;计算第二链路(AF 链路)的等效信道及合并后的有效噪声方差,得出第二路径权值。将两路频域信号加权叠加后进行解调。
- 结果统计:
通过对比发射比特与接收解调比特,统计各信噪比下的错误位,最终计算 BER 并通过 semilogy 函数绘制性能曲线。
关键算法与实现细节
- 星座图映射算法:
手动定义了 16QAM 的 16 个坐标点映射关系,确保了比特到复平面符号的一一对应,并严格执行了单位平均功率归一化。
- 信道补偿与等化:
代码实现了频域零迫(Zero-Forcing)等化思想,在直接链路中利用已知的信道状态信息进行单点均衡。
- 协作链路等效模型:
AF 模式下的第二链路被建模为级联信道。实现中考虑了中继节点对第一跳噪声的放大效应,计算出目的地端的有效噪声功率,这是实现精确 MRC 合并的前提。
- 辅助数学函数:
代码内包含自定义的二进制转十进制(bi2de)及十进制转二进制(de2bi)函数,采用位权求和与字符残差法实现,确保了在没有通讯工具箱的环境下也能正常执行位操作。