主要内容

OFDM同步

此示例显示了基于IEEE®802.11a的具有OFDM同步的数字通信方法™ 标准.系统对象™ 通信工具箱中的数据用于提供OFDM调制和解调以及帮助同步功能。本示例特别说明了解决实际无线通信问题的方法,如载波频率恢复、定时恢复和频域均衡。

实现

本示例描述了基于IEEE 802.11a标准的OFDM同步的MATLAB®实现[3.].

介绍

IEEE 802.11a标准描述了用于局域网和城域网系统间信息交换的OFDM调制信号的传输。本示例利用该标准概述的物理层,特别是前导符号和OFDM网格结构。

这个例子的目的是:

  • 为一个通用的OFDM无线通信系统建模,该系统能够成功地恢复被各种模拟信道损害损坏的消息。

  • 演示如何使用关键的通信工具箱™工具进行OFDM系统设计和OFDM码元同步

  • 为了说明MATLAB Coder™的性能优势

初始化

可调发射机参数,包括每帧的有效载荷信息,它由几个OFDM符号和传输帧的数量组成。

消息=“祝好运,来自MathWorks通讯工具箱团队!”; numFrames=1e2;可调通道参数EbN0dB=12;通道噪声级(dB)频率偏移=1e4;频率偏差(Hz)phaseOffset = 15;相位偏移(度)延迟=80;%整个数据流的初始采样偏移量(采样)显示恢复的消息displayRecoveredMsg=假;%启用范围可视化useScopes = true;%检查MATLAB编码器许可证useCodegen = checkCodegenLicense;如果useCodegen fprintf([“——MATLAB编码器许可证找到。”...“发射机和接收机功能将被编译为”...“额外的模拟acceleration.。\ n”]);结束%默认情况下,发射器和接收器功能将重新编译%在每次运行之间,这并不总是必要的。禁用接收器%编译,将"compileIt"改为false。compileIt=useCodegen;
--找到MATLAB编码器许可证。将编译发射器和接收器功能,以进行额外的模拟加速--

系统的代码体系结构

此示例对基于IEEE 802.11a标准的数字通信系统进行建模[3.].系统分为四个功能:生成ofdmsignal,应用ofdmchannel,接收ofdmsignal,计算ofdmber。

1) generateOFDMSignal:建立并步进OFDMTransmitter System对象。该对象将有效负载消息转换为一个比特流,该比特流首先被PSK调制,然后被OFDM调制,最后被前置OFDM符号以形成单独的帧。发射机重复这一帧numFrames次了。

2) applyOFDMChannel:用载波偏移、定时偏移和加性高斯白噪声(AWGN)对信道进行建模。

3) receiveOFDMSignal:建立并步进OFDMReceiver System对象。该对象对接收器上的一系列组件进行建模,包括定时恢复、载波频率恢复、信道均衡和解调。该对象还可以配置为显示多个范围,以可视化接收器处理。OFDMReceiver对象的步进方法的输出是被检测帧解码的比特流。

4) calculateOFDMBER:计算系统帧误码率(FER)和误码率(BER)基于每帧的原始有效载荷消息和从OFDMReceiver system对象输出的比特。

单个组件和算法的说明

发射机

OFDMTransmitter System对象根据IEEE 802.11a标准和提供的ASCII有效载荷生成OFDM信号。每个传输帧由若干OFDM符号组成,包括前导符号和数据符号。发射机根据所提供的值重复相同的帧。必要时,帧被填充以填充OFDM网格。

频道

此组件模拟空中传输的效果。它通过相位和频率偏移、模拟发射机和接收机之间信道延迟的延迟以及AWGN来降低传输信号。AWGN的噪声级以dB为单位。

接受者

此OFDMReceiver系统对象恢复原始传输的有效负载消息。它按此顺序分为四个主要操作:

1)定时恢复:该组件负责确定给定帧开始的采样位置。更具体地说,它在接收帧中利用一个已知的前导序列,通过互相关找到。相互关联的数据将包含一个特定的峰排列/间距,以便识别。序言本身就是为了在时域中产生这种特殊的形状而设计的。该识别方法基于[1].对象的locatePreamble方法负责此操作,它使用标准化的最小峰值高度和所需峰值的最小数量来提供可能的前导匹配。

2) 载波频率恢复:频率估计是通过计算802.11a前序长部分的两部分之间的时域相位差来完成的。然后将相位差Phi转换为频率偏移。这是Schmidl和Cox最初发布的常用技术[2].相位测量的实现假设真偏移在pi或FFT的一个频域内。在802.11a的情况下,一个bin是312.5kHz宽。

3)频域均衡:由于频率估计可能是不准确的,额外的相位旋转将存在于OFDM符号的子载波级。除了相位旋转,信道衰落也会影响接收信号。这两种损伤都可以通过频域均衡器进行校正。均衡器有两个阶段,利用前置和导频数据。首先,通过使用从接收的长序言样本产生的点击来均衡接收的有效载荷。然后提取导频子载波,并在频率上进行插值,以提供全信道估计。载荷下一个是平衡使用这些飞行员估计。

4)数据解码器:最后对OFDM子载波进行解调,再将PSK解调为比特,从比特中可以恢复原来的有效负载报文。

误码率计算

该组件根据接收端检测帧的原始有效负载消息和解码后的比特流计算系统FER和BER。未检测到的帧不在计算中计算。

显示恢复的消息

对于每一个检测到的帧,在接收端显示恢复的消息。由于原始的消息长度没有发送给接收者,每一帧中的填充位也被恢复为字符并显示出来。因此,您可能会在每个恢复的消息的末尾看到多达7个无意义的字符。

范围

  • 显示频域均衡前后接收信号的星座图

  • 用于给定帧的均衡器抽头的矢量图

  • 显示检测到的数据帧的频谱分析仪

  • 显示检测帧开始的时间图

  • 显示检测帧的发射机载波偏移频率估计值的时间图

OFDM同步测试综述

对于给定的EbN0值,由所生成的ofdmsignal函数生成一个大数据向量。然后,这些数据通过applyOFDMChannel函数传递,该函数引入了几种常见的信道损伤。最后将数据传递给接收端进行恢复。receiveOFDMSignal函数通过逐帧处理数据进行操作。这种处理机制是自包含的,可以在使用代码生成时提高性能并简化代码。该脚本默认生成发送器和接收器函数的代码;这是通过使用codegen由MATLAB编码器提供的命令™ 产品这个codegen命令将MATLAB®函数转换为c++静态或动态库、可执行文件或MEX文件,产生加速执行的代码。生成的C代码运行速度比原始MATLAB代码快几倍。

在运行期间,接收器将显示一系列的图说明某些同步结果和对信号的影响。

%编译变送器与MATLAB编码器如果compileIt codegen生成FDM信号arg游戏{coder.Constant(消息),coder.Constant(numFrames)}结束%产生传输信号如果useCodegen [txSig, frameLen] = generateOFDMSignal_mex(消息,numFrames);其他的[txSig, frameLen] = generateOFDMSignal(消息,numFrames);结束%通过通道传递信号rxSig = applyOFDMChannel(txSig, EbN0dB, delay, frequencyOffset, phaseOffset);%编译接收器与MATLAB编码器如果compileIt codegenreceiveOFDMSignalarg游戏{rxSig, coder.Constant(frameLen), coder.Constant(displayRecoveredMsg), coder.Constant(useScopes)}结束%恢复信号如果useCodegen [decMsgInBits, numFramesDetected] = receiveOFDMSignal_mex(rxSig, frameLen, displayRecoveredMsg, useScopes);其他的[decMsgInBits, numFramesDetected] = receiveOFDMSignal(rxSig, frameLen, displayRecoveredMsg, useScopes); / /接收到的帧结束计算平均误码率[FER,BER]=CalculateofdMember(消息、decMsgInBits、检测到的numframes);fprintf('\nAt EbNo = %5.2fdB,在发送的%d帧中检测到%d帧,其中FER = %f和BER = %f\n'...EbN0dB, numFrames detected, numFrames, FER, BER);
代码生成成功。代码生成成功。在EbNo=12.00dB时,在100个传输帧中检测到100个帧,其中FER=0.010000,BER=0.000098

总结

这个例子利用MATLAB系统对象来模拟OFDM在AWGN信道上的数字通信。它展示了如何建模OFDM系统的几个部分,如调制、频率估计、定时恢复和均衡。仿真还通过一系列的图显示了同步算法的运行信息。这个示例还利用了代码生成,使仿真运行速度比原始MATLAB代码快几倍。

附录

本例中使用了以下System对象:

本例中使用了以下帮助函数:

工具书类

  1. 明尼苏达州,h;曾,m;“基于OFDM系统的时间偏移估计”,通信学报,vol.4, no. 1。7,第242,244页,2000年7月

  2. Schmidl,T.M.;Cox,D.C.,“OFDM的鲁棒频率和定时同步”,通信,IEEE交易,第45卷,第12期,第16131621页,1997年12月

  3. IEEE Std 802.11a,“第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范”1999。