主要内容

OFDM同步

该示例显示了基于IEEE®802.11a™标准的与OFDM同步进行数字通信的方法。System对象™从通​​信工具箱使用,提供OFDM调制和解调并帮助同步功能。特别地,该示例说明了解决载波频率恢复,定时恢复和频域均衡等现实世界无线通信问题的方法。

实现

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

介绍

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

这个例子的目的是:

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

  • 为了说明OFDM系统设计和OFDM符号同步的关键通讯工具箱™工具的使用

  • 说明Matlab Coder™的性能优势

初始化

可调节的发射器参数,包括每个帧中的有效载荷消息,由多个OFDM符号和传输帧的数量组成。

消息='活长繁荣,从MathWorks的通讯工具箱团队队!';numframes = 1e2;%可调通道参数EBN0DB = 12;%信道噪声水平(DB)频率OFFSET = 1E4;%频率偏移(Hz)phaseOffset = 15;%相偏移(度)延迟= 80;整个数据流的%初始样本偏移量(样本)%显示恢复的消息displayrecoveredmsg = false;%启用范围可视化useScopes = true;%检查Matlab编码器许可证useCodegen = checkCodegenLicense;如果USECODEGEN FPRINTF([“——找到MATLAB Coder许可。”......'发射器和接收器功能将被编译为'......“额外的模拟acceleration.。\ n”]);结束默认情况下,变送器和接收器功能将重新编译每个运行之间的%,这并不总是必要的。禁用接收者%编译,将“Compileit”更改为False。Compileit = UseCodegen;
- 查找atlab编码器许可证。将编译发送器和接收器功能以进行额外的仿真加速度.--

系统的代码架构

此示例模拟基于IEEE 802.11a标准的数字通信系统[3.]。该系统分为四个功能:GenerateOfDmsignal,ApplyofdmChannel,ReceiveOfdmsignal和CalculateOfdMber。

1)生成ofdmsignal:建立一个OFDMTransmitter System对象。该对象将有效载荷报文转换为位流,该位流首先被PSK调制,然后被OFDM调制,最后以前置OFDM符号构成单独的帧。发射机重复这个帧numFrames时代。

2)ApplyofdmChannel:使用载波偏移,定时偏移和添加白色高斯噪声(AWGN)模拟通道。

3)ReceiveOfDmsignal:设置和步骤OFDMReceiver系统对象。该对象在接收器处模拟一系列组件,包括定时恢复,载波频率恢复,信道均衡和解调。该对象还可以被配置为显示多个范围以可视化接收器处理。OFDMReceiver对象的步骤方法的输出是来自检测到的帧的解码比特流。

4)CalculateOfDmber:根据每个帧中的原始有效载荷消息计算系统帧误差率(FER)和误码率(BER),以及从OFDMEIVER System对象输出的位输出。

各个组件和算法的描述

发射机

OFDMTransmitter系统对象基于具有提供的ASCII有效载荷的IEEE 802.11a标准生成OFDM信号。每个传输帧由几个OFDM符号组成,包括前导码和数据符号。基于所提供的值,发射器重复相同的帧。框架填充以在必要时填充OFDM网格。

渠道

该组件模拟过空气传输的影响。它通过两个相位和频率偏移来降低发送信号,延迟到发射器和接收器之间的模拟信道延迟,以及AWGN。AWGN的噪声水平在DB中给出。

接收者

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

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

2)载波频率恢复:通过计算802.11a前导码的长部分之间的时域中的时域的相位差来实现频率估计。然后将该相位差PHI转换为频率偏移。这是最初由Schmidl和Cox发布的常用技术[2]。该相位测量的这种实现假定真正的偏移在PI或FFT的一个频率箱内。在802.11a的情况下,箱为312.5khz。

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

4)数据解码器:最后解调OFDM子载波,然后,PSK解调成位,可以从中恢复原始有效载荷消息。

误码率计算

该组件基于原始有效载荷消息和来自接收器处的检测到的帧的解码比特流来计算系统FER和BER。在计算中不计入未检测到的帧。

显示恢复的消息

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

范围

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

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

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

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

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

OFDM同步测试概述

通过generateOFDMSignal函数为给定的EbN0值重新生成一个大数据向量。然后,该数据通过applyOFDMChannel函数传递,该函数引入了几种常见的通道损伤。最后将数据传递给接收端进行恢复。receiveOFDMSignal函数是在逐帧的基础上处理数据的。这种处理机制是自包含的,可以在使用代码生成时提高性能并简化代码。默认情况下,该脚本生成发送和接收函数的代码;这是通过使用Codegen.Matlab Coder™产品提供的命令。这Codegen.命令将MATLAB®函数转换为C ++静态或动态库,可执行文件或MEX文件,从而生成用于加速执行的代码。生成的C代码比原始MATLAB代码快几倍。

在操作过程中,接收机将显示一系列图解说明一定的同步结果和对信号的影响。

用MATLAB编码器编译变送器如果Compileit Codegen.generateofdmsignal.-  args.{编码器.Constant(消息),编码器.Constant(NumFrames)}结束%生成传输信号如果useCodegen [txSig, frameLen] = generateOFDMSignal_mex(消息,numFrames);其他的[txSig, frameLen] = generateOFDMSignal(message, numFrames);结束通过通道%通过信号rxSig = applyOFDMChannel(txSig, EbN0dB, delay, frequencyOffset, phaseOffset);%编译接收机与MATLAB编码器如果Compileit Codegen.receiveOFDMSignal-  args.{rxSig, code . constant (frame), code . constant (displayRecoveredMsg), code . constant (usesscope)}结束%恢复信号如果USECODEGEN [DECMSGINBITS,NUMFRAMESDETTECTECTION] = RECOWOFDMSIGNAL_MEX(rxsig,framelen,displayrecoveredmsg,useScopes);其他的[decMsgInBits, numFramesDetected] = receiveOFDMSignal(rxSig, framen, displayRecoveredMsg, usesscope);结束计算平均误码率[FER,BER] = CARCUTEOFDMBER(消息,DECMSGITBITS,NUMFRAMESDETCEDTED);fprintf('\nAt EbNo = %5.2fdB, %d帧在%d帧中检测到,FER = %f, BER = %f\n'......eBn0db,numframesdetected,numframes,fer,ber);
代码成功。代码成功。在EBNO = 12.00db,在100个发射帧中检测到100帧,带有FER = 0.010000和BER = 0.000098

概括

此示例利用了几个MATLAB系统对象以在AWGN通道上使用OFDM模拟数字通信。它展示了如何模拟OFDM系统的几个部分,例如调制,频率估计,定时恢复和均衡。模拟还通过一系列图显示有关同步算法的操作的信息。此示例还利用代码生成,允许模拟比原始MATLAB代码快几倍。

附录

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

在此示例中使用以下辅助功能:

参考

  1. 明尼苏达州,h;曾,m;Bhargava, V.K.,“OFDM系统的时间偏移估计”,通讯,IEEE, vol.4, no. 1。2000年7月,第242244页

  2. Schmidl,下午。COX,D.C.,“OFDM的”强大的频率和时序同步,“通信,IEEE交易,IEEE交易,Vol.45,No.12,PP.1613,1621,1997年12月

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