主要内容

高密度脂蛋白OFDM接收机

这个例子展示了如何实现一个OFDM-based无线接收器通过使用仿真软件®块为HDL代码生成和优化硬件实现。金宝app

这个示例中所示的模型接收和解码数据基于正交频分复用(OFDM)。这个例子的主要目的是模型定制HDL OFDM无线通信接收机,可以恢复信息实时场景和支持数据率3 Mbps。金宝app这个模型允许您配置参数:调制类型,例如BSPK象征,QPSK, 16-QAM,和64 - qam和代码率1/2,2/3、3/4和通过刺穿了卷积编码的5/6。这个模型使您能够控制障碍比如载波频率偏移(首席财务官),载波相位抵消(CPO)和瑞利衰落信道,这明显影响OFDM-based通信系统。

接收方在这个例子与发射机的工作高密度脂蛋白OFDM发射机的例子。接收方在此示例中有一个MATLAB®浮点等效函数所描述的高密度脂蛋白OFDM MATLAB引用的例子。

模型架构

下面的图显示了一个OFDM接收机的结构。接收者样本输入1.92议员。这些样本流的处方筛选。Rx滤波器的输出流的频率估计和频率校正器。频率估计和频率校正器分别估计和正确的首席财务官和样品流同步序列(SS)检测器。党卫军检测器的输出用于同步的时间。时间同步样本流到OFDM解调器,输入并生成频域副载波解调。副载波解析器解析参考副载波通道,标题副载波和副载波的数据。参考副载波通道流到通道估计量,估计通道频率响应。通道均衡器使用这些估计平衡头和数据在频域副载波。 The Header Recovery recovers the header information using the channel-equalized header subcarriers. The CPE Estimator estimates the common phase error (CPE) in the data sub carriers that get corrected by CPE Corrector. The Data Recovery uses the header information and the CPE-corrected data subcarriers to decode the data bits.

文件结构

两个仿真金宝app软件模型和三个MATLAB文件是用于构造这个例子。

  • whdlOFDMReceiver.slx——顶级OFDM接收机仿真软件模型金宝app

  • whdlOFDMRx.slx——使用的参考模型whdlOFDMReceiver.slx模型

  • whdlexamples.OFDMReceiverInit.m——初始化脚本whdlOFDMReceiver.slx在模型的初始化InitFcn回调。

  • whdlexamples.OFDMRxParameters.m——初始化函数whdlOFDMRx.slx在模型中初始化工作空间和模型InitFcn回调

  • whdlexamples.OFDMTx.m——MATLAB浮点等效发射机函数生成一个发射机波形。生成的发射机波形中使用whdlexamples.OFDMReceiverInit.m脚本

接收接口

这图显示了顶级模型在这个例子。

模型的输入:

  • dataIn输入数据,指定为一个复杂的16位信号取样1.92议员签署。

  • validIn——控制信号验证dataIn,指定为一个布尔标量。

  • impairmentControl——总线信号控制通道障碍。

impairmentControl总线由以下信号:

  • frequencyOffsetCorrectionType——控制信号表明是否选择使用内部估计频率偏移使用外部提供的频率偏移选择补偿修正,指定为一个布尔标量。

  • externalFrequencyOffset——真正的签署14-bit首席财务官从-7400赫兹到7400赫兹为首席财务官校正提供了外部。

  • channelEqualizerControl——控制信号指示是否启用或禁用通道均衡,指定为一个布尔标量。

  • CPECorrectionControl——控制信号指示是否启用或禁用CPE校正时,要指定为一个布尔标量。

模型输出:

  • dataOut——解码输出数据位,作为一个布尔返回标量。

  • validOut——控制信号验证dataOut,作为一个布尔返回标量。

  • diagBus——与诊断输出状态信号,作为一个总线信号返回。

接收机的结构

OFDM接收机子系统序列执行的一组操作。该子系统使用whdlOFDMRx.slx参考模型。这个参考模型在模型空间和初始化模型InitFcn回调函数使用whdlexamples.OFDMRxParameters函数。下图显示了参考模型中的顶级子系统。

同步和OFDM解调

同步和OFDM解调子系统执行频率和时间同步和OFDM解调。

频率和时间同步子系统包括定时调整子系统和首席财务官估计和校正和SS检测子系统。

首席财务官估计和校正和SS检测子系统包括首席财务官估计和SS检测子系统和频率校正Nx子系统,这对输入信号进行频率修正。首席财务官估计的估计和SS检测子系统用于频率校正frequencyOffsetCorrectionType信号接口设置为顶层模型使用内部估计频率偏移。的externalFrequencyOffset用于频率修正如果frequencyOffsetCorrectionType信号被设置为使用外部提供的频率偏移

首席财务官估计和SS检测子系统包括首席财务官估计子系统,启动控制器子系统、同步信号搜索子系统和频率校正1 x子系统,对输入信号进行频率修正。

首席财务官估计子系统采用循环前缀相关技术来估计输入信号的首席财务官。CyclicPrefixCorrelator子系统估计一个首席财务官值每六个OFDM符号的平均估计在6个OFDM符号。AngleAtMaximum子系统选择最强的相关峰值每六个OFDM符号和记录其相位角。AngleFilter子系统实现了平均滤波器的平均持续时间的所有记录相位角度12女士。由此产生的相位角作为最后的首席财务官估计。

同步信号搜索子系统实现了党卫军相关性。党卫军检测是由不断cross-correlating党卫军的接收信号在时域的信号。此外,信号的能量在每个时间步的计算相关器,然后生成一个阈值。最大峰值搜索子系统开始寻找最大相关峰12 ms和搜索后每3 ms的时间窗口。子系统记录同步的定时偏移。启动控制器功能块指示最大峰值搜索子系统12毫秒时间结束。

时间抵消记录的最大相关值的最大峰值搜索者转移到时机调整子系统同步时间。

OFDM解调器块解调并生成副载波同步的样本。

通道和CPE估计和修正

通道和CPE估计和校正子系统估计信道的频率响应,使得车内外的通道,执行CPE估计,CPE和纠正。

参考信号解析MATLAB功能块分离OFDM符号用于计算信道估计。

OFDM符号用于计算信道估计通过信道估计子系统流。的OFDM信道估计块平均的估计两个符号和输出最终的信道估计。估计涌入通道均衡子系统存储在内存和执行频域信道估计均衡使用OFDM均衡器块中所有剩下的OFDM符号框架。

头和数据解析MATLAB功能块分离OFDM符号对应标题和数据符号。

副载波频域channel-equalized数据流通过公共相位误差估计和校正子系统。在频率估计过程中,总有一个小估计误差由于通道障碍。这估计误差导致的剩余频率偏移channel-equalized副载波。这结果CPE的副载波在一个OFDM符号和改变符号象征。CPE估计子系统估计每个OFDM符号的CPE使用12个试点副载波。飞行员是已知的副载波和收到的任何相位旋转符号估计通过飞行员。估计来自相同的符号平均得到最终的估计。存储在象征符号在估算缓冲MATLAB功能块。一旦准备好了,估计这个符号是读取缓冲块和CPE校正子系统纠正数据中CPE副载波估计。

头和数据恢复

头和数据恢复子系统恢复头信息和数据位。

头恢复子系统复苏的标题信息解码数据位。频域channel-equalized头副载波流进头恢复子系统。的LTE象征解调器块执行BPSK软解调象征。信道编码子系统和配有Deinterleaver子系统维特比译码器块。Deinterleaver子系统执行deinterleaving最大的块大小72年和列的数量18。维特比译码器块执行1/2维特比解码速度。关于Deinterleaver子系统的更多信息,请参阅高密度脂蛋白衬垫和Deinterleaver的例子。的一般CRC综合症探测器HDL优化块使用16位CRC校验和验证维特比解码器的解码比特块。如果CRC校验和失败,一般CRC综合症探测器HDL优化块产生一个错误的信号。

数据恢复子系统使用标题信息解码数据位。头信息是存储在寄存器中。这些寄存器是用来访问消息头信息。的LTE象征解调器块执行软BPSK, QPSK, 16-QAM或64 - qam解调象征与调制类型从标题中检索信息。信道编码子系统是Deinterleaver配备,Depuncturer,维特比译码器块。每个码率分配一个预定义的穿刺矢量模式。基于编码速率从标题中检索信息,信道编码子系统执行deinterleaving和depuncturing维特比解码紧随其后。有关Deinterleaver块的更多信息,请参阅高密度脂蛋白衬垫和Deinterleaver的例子。通过解码器解码位流子系统。的一般CRC综合症探测器HDL优化块使用32位CRC校验和验证descrambled碎片。如果CRC校验和失败,一般CRC综合症探测器HDL优化块产生一个错误的信号。

诊断总线形成

诊断总线子系统形成创建了一个总线信号的一些状态信号接收器。这辆公共汽车可以用来分析接收机在部署到硬件。

数据位解码的数据恢复子系统。解码比特流的接收和存储在捕获数据位工作区子系统的顶级接收机模型。诊断子系统解码器解码源代码头信息和计算同步帧的数量,数量的头CRC通过和失败,和数据总线中的CRC通过和失败信号形成的诊断总线子系统形成。Simu金宝applink仿真显示模块显示译码器的诊断信息。

运行接收器

连接接收机与发射机的背靠背高密度脂蛋白OFDM发射机例子和运行仿真软件模型。金宝app有关如何连接的更多信息发射机和接收机仿真软件模型背靠背看金宝app高密度脂蛋白OFDM MATLAB引用的例子。

以下文件描述一个过程来初始化,生成输入,运行和验证whdlOFDMReceiver.slx模型使用whdlexamples.OFDMReceiverInit.m初始化脚本。你可以选择一个自定义的发射机波形和您选择的通道障碍在这些文件中自定义框架配置部分。

  • OFDMRxRealTimeSimulationDisplay.m——这个脚本模拟通道在实时的情况下。你可以选择任何可用的通道障碍并运行脚本。该脚本显示输出,生成块估计频率偏移和SS相关性。

  • OFDMRxFadingChannelResponseDisplay.m——该脚本只模仿衰落信道。你可以选择只有衰落信道障碍并运行脚本。脚本显示输出和生成块通道脉冲响应和估计的比较与频率响应频率响应,来自脉冲响应。

请注意:这些文件不可用MATLAB搜索路径。用户在本地复制这些文件路径,你必须打开这个例子。

验证和结果

whdlexamples.OFDMRx.m脚本是一个MATLAB浮点的参考模型whdlOFDMRx.slx。MATL金宝appAB仿真软件模型和浮点相当于脚本进行比较高密度脂蛋白OFDM MATLAB引用的例子。

运行OFDMRxRealTimeSimulationDisplay.m脚本运行接收器。

> > OFDMRxRealTimeSimulationDisplay
# # #开始连续模型参考模拟构建# # #模型参考仿真目标whdlOFDMRx是最新的。构建总结0 1模型的建立(1模型已经更新)构建持续时间:0 h 0米4.893秒数头CRC失败= 0每4位错误的数量= 0 15208

运行OFDMRxFadingChannelResponseDisplay.m脚本运行接收器。

> > OFDMRxFadingChannelResponseDisplay
# # #开始连续模型参考模拟构建# # #模型参考仿真目标whdlOFDMRx是最新的。构建总结0 1模型的建立(1模型已经更新)构建持续时间:0 h 0米0.928秒数头CRC失败= 0每1位错误的数量= 0 3162

你可以看到星座的星座图的范围。作用域可以通过使用控制范围按钮激活whdlOFDMReceiver.slx模型。

HDL代码生成

生成HDL代码对于这个示例,您必须HDL编码器™。使用makehdlmakehdltb命令来生成和高密度脂蛋白HDL代码testbench OFDM接收机子系统。testbench一代时间取决于仿真时间。

生成的HDL代码是合成Xilinx®Zynq®-7000 ZC706评估板。的地点和路线资源利用率和下面的表格所示。操作的最大频率202 MHz。

资源使用售予_____片寄存器46642片附近地区38457 RAMB36 14 RAMB18 12 DSP48 88

另请参阅

相关的话题