MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > IEEE 802.11b物理层通信系统Simulink仿真模型

IEEE 802.11b物理层通信系统Simulink仿真模型

资 源 简 介

本项目是一个基于IEEE Std 802.11b-1999标准的无线局域网物理层通信系统的Simulink仿真模型。该模型旨在完整复现802.11b物理层的信号处理流程,能够支持协议规定的全套传输速率模式,包括1Mbps、2Mbps、5.5Mbps以及11Mbps。系统内部集成了完整的通信模块,涵盖了从物理层帧(PLCP Frame)的生成、信号调制到信道传输及接收解调的全过程。具体功能实现包括:基础的BPSK和QPSK调制技术、用于低速率模式的11位巴克码(Barker Code)直接序列扩频技术、以及用于高速率模式(5.5Mbps和11Mbps)的补码键控(CCK)调制技术。在信道模拟方面,模型内置了一个具有可变参数的AWGN(加性高斯白噪声)信道模块,并支持信道频移量的选择,以模拟真实的非理想信道环境。项目提供的文件包包含了主模型文件(WiFi.mdl)、模块库(WiFi_lib.mdl)、初始化参数脚本(WiFi_init.m)、CCK码表数据(cck_codes.mat)以及误码率测试脚本(ber_test.m)等,用户可通过调整参数进行不同信噪比下的误码率分析和系统性能验证。

详 情 说 明

IEEE 802.11b 物理层 MATLAB 仿真项目

项目介绍

本项目是一个基于 MATLAB 脚本实现的 IEEE 802.11b 物理层(PHY)端到端仿真系统。该仿真脚本 (main.m) 完整复现了 802.11b 标准规定的发端信号处理、信道传输以及收端信号处理流程。

该项目不仅仅是一个简单的波形生成器,它构建了一个包含调制、扩频、脉冲成型、信道损伤模拟(噪声与频偏)以及接收机解调判决的完整通信链路,旨在评估不同数据速率(1, 2, 5.5, 11 Mbps)和不同信噪比(SNR)条件下的误码率(BER)性能。

功能特性

  • 全速率支持:完整支持 IEEE 802.11b 定义的四种传输速率:
* 1 Mbps: DBPSK 调制 + 11位 Barker 码扩频 * 2 Mbps: DQPSK 调制 + 11位 Barker 码扩频 * 5.5 Mbps: CCK(补码键控)调制 * 11 Mbps: CCK(补码键控)调制
  • 完整的物理层链路
* 发送端:随机比特生成、扰码、差分编码、扩频/CCK映射、SRRC脉冲成型。 * 信道:支持配置载波频率偏移(Frequency Offset)和加性高斯白噪声(AWGN)。 * 接收端:SRRC匹配滤波、理想定时抽取、频偏校正、解扩/解调、解扰码。
  • 可视化分析工具:自动生成发送信号功率谱密度(PSD)图、接收信号星座图以及时域波形对比图。
  • 性能评估:实时计算传输误码率(BER)并统计错误比特数。

系统要求

  • MATLAB R2016b 或更高版本
  • Signal Processing Toolbox(用于 rcosdesign, upfirdn, pwelch 等函数)
  • Communications Toolbox(用于 biterr 等基础函数)

使用方法

  1. 打开 MATLAB 并将工作目录切换到项目所在文件夹。
  2. 打开主程序脚本(即 main.m)。
  3. 在脚本开头的 系统参数初始化 区域可以直接修改仿真参数:
* simParams.DataRate: 设置传输速率 (1, 2, 5.5, 11)。 * simParams.SNR_dB: 设置信道信噪比 (dB)。 * simParams.freqOffset: 设置模拟的频率偏移量 (Hz)。
  1. 运行脚本。控制台将输出当前的仿真状态、传输统计和误码率结果,并弹出一个包含频谱、星座图和波形的分析窗口。

---

详细功能实现逻辑

本项目的主程序严格遵循以下信号处理流程,代码实现细节分析如下:

1. 参数配置与初始化

系统首先定义了仿真所需的关键参数结构体 simParams。仿真采样率 Fs 设定为 44 MHz(即 11 MHz 芯片速率的 4 倍过采样),以满足 SRRC 滤波器的设计要求。通过 rng(42) 固定了随机数种子,确保了仿真结果的可复现性。

2. 发送端处理 (Transmitter)

发送链路包含以下核心步骤:
  • 随机源生成:利用 MATLAB 内置函数生成指定长度的随机二进制比特流。
  • 扰码 (Scramble):调用 wlan_scramble 函数,实现了标准的同步扰码器。使用生成多项式 $S(x) = x^7 + x^4 + 1$,通过移位寄存器和异或逻辑打乱原始比特流,防止出现长连 0 或长连 1。
  • 调制与扩频映射:核心函数 mod_spread_mapper 根据配置的速率进行处理:
* 对于 1/2 Mbps,先进行差分编码,然后将符号扩展与 11 位 Barker 码序列进行克罗内克积(Kronecker Tensor Product)运算。 * 对于 5.5/11 Mbps,实施 CCK 调制,将每 4 或 8 个比特映射为一个 8 芯片的复数码字。
  • 脉冲成型:使用滚降系数为 0.5 的平方根升余弦滤波器(SRRC),通过 upfirdn 函数对基带芯片序列进行 4 倍上采样和滤波,生成最终的基带传输信号。

3. 信道模拟 (Channel)

代码在基带信号上模拟了两种物理损伤:
  • 频率偏移:通过乘以复指数信号 $e^{j2pi f_{Delta} t}$ 来模拟收发信机之间的载波频率不同步。
  • AWGN 噪声:依据设定的 SNR_dB 计算信号功率与噪声功率,生成复高斯白噪声并叠加到信号上。

4. 接收端处理 (Receiver)

接收链路逆向执行发送端的步骤:
  • 匹配滤波:使用与发送端相同的 SRRC 滤波器对接收信号进行滤波,以最大化信噪比并消除码间干扰。
  • 数据截断与对齐:代码中包含了简单的由滤波器延迟引起的信号截断逻辑,以对齐发送和接收的数据帧长度。
  • 理想频偏校正:在解调前,利用仿真已知的频偏参数生成反向旋转向量,消除信号的相位旋转(注:实际系统中需使用锁相环)。
  • 解调与解扩:调用 demod_despread_mapper 函数:
* 低速率模式 (1/2 Mbps):通过滑动相关器计算接收信号与 Barker 码的内积,然后利用差分相位检测算法(计算相邻符号共轭乘积的实部/虚部)来恢复原始比特。
  • 解扰:由于使用同步扰码器,解扰过程调用与加扰相同的逻辑 wlan_descramble(即再次异或)恢复原始数据。

5. 性能统计与绘图

程序最后通过 biterr 函数对比发送端的原始比特(经截断对齐)与接收端的解调比特,计算误码率。同时绘制三合一图表:
  • 左上:发送信号的功率谱密度(PSD),验证信号带宽特性。
  • 右上:接收信号的星座图(Constellation Block),直观展示噪声对相位和幅度的影响。
  • 下方:时域波形对比,展示经过信道和滤波后的信号包络变化。

关键算法与函数说明

  • wlan_scramble(inBits):
实现了 IEEE 802.11 标准定义的扰码器。使用 7 级移位寄存器,反馈抽头位于第 4 和第 7 位。

  • mod_spread_mapper(bits, rate):
这是物理层的核心映射函数。 * Barker 模式: 硬编码了 [+1; -1; +1; +1; -1; +1; +1; +1; -1; -1; -1] 序列。实现了 DBPSK (1 bit/sym) 和 DQPSK (2 bits/sym) 的相位映射。 * CCK 模式: 实现了基于分块处理的 CCK 调制,根据输入比特块动态计算码字相位。

  • demod_despread_mapper(rxChips, rate, ...):
接收机的核心判决模块。 * 利用相关运算(Correlation)将扩频后的芯片序列还原为符号流。 * 利用差分解调逻辑(d_vec = symsEst(k) * conj(symsEst(k-1)))从相位差中提取比特信息。

  • 脉冲成型逻辑:
使用 rcosdesign 生成 SRRC 滤波器系数,设置 span=8(滤波器跨度)和 sps=4(每符号采样数),这是数字通信仿真中标准的过采样与滤波设置。