0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简述LTE系统中FPGA速率匹配算法的仿真及实现

电子工程师 来源:电子技术应用 作者:刘 辉,陈小亭,李 2021-04-28 09:42 次阅读

摘要: 速率匹配是LTE系统中重要的组成部分。在详细分析3GPP协议中Turbo编码速率匹配算法的基础上,给出了一种基于FPGA的速率匹配实现方案。该方案通过乒乓操作以减少速率匹配的处理延时;并以Virtex-6芯片为平台,完成了仿真、综合、板级验证等工作。结果表明,基于该方案的速率匹配算法能够明显地缩小处理延迟。

LTE(长期演进)是3.9G的全球标准,采用OFDM和MIMO技术作为其无线网络演进的唯一标准,极大地提高了系统的带宽[1]。而速率匹配是LTE系统中重要的组成部分,因此速率匹配设计的优劣,决定整个系统性能的好坏[2]。LTE系统中,速率匹配是指传输信道上的比特被打孔或者被重发,以匹配物理信道的承载能力。

当输入的比特数目超过物理信道的承载能力时,就要对输入的序列进行打孔;而当输入的比特数目不满足物理信道的承载能力时,就要对输入的序列进行重发。根据编码方式的不同,速率匹配又可分为卷积编码和Turbo编码的速率匹配。FPGA在数字信号处理方面性能优越,利用FPGA做乒乓操作能够明显地提高数据的处理速度[3]。

1 速率匹配算法

1.1 速率匹配的整体流程

在LTE系统中,基于Turbo编码的速率匹配过程如图1所示。该过程主要包括子块交织、比特收集、比特选择和修剪[4]。

1330754049151.gif

1330552027347.gif

2.2 乒乓前控制模块的FPGA实现

数据经过Turbo编码器后分3路暂存在3个RAM中。当速率匹配模块中的使能信号Rate_Match_En拉高时,所有的模块开始工作。如果乒乓前控制模块的启动信号Control_Start为高电平并且接收到的码块个数是偶数,则子块交织A模块的启动信号Interleavera_Start拉高,此时子块交织A就会读取外部RAM中的数据,进行子块交织;否则子块交织B模块的启动信号Interleaverb_Start拉高,子块交织B会从外部RAM中读取数据,进行子块交织。从而实现了乒乓操作。

2.3 子块交织的FPGA实现

以子块交织A模块为例。当子块交织A的启动信号拉高时,子块交织A模块会从外部RAM中读取数据。首先读取第1路数据。第1路数据读取完毕后立即读取第2路数据和第3路数据。第2路数据放在偶数位置,第3路数据放在奇数位置。在Turbo编码模块中,输出的数据已经加入了填充比特。

为了区别填充比特和数据信息,输入数据的位宽占2 bit,填充比特用3来表示。子块交织输出的数据仍然占2 bit的位宽,只有在比特修剪模块后,数据才按照1 bit的位宽表示。在子块交织的FPGA实现过程中,将外部RAM模拟成一个交织矩阵。交织矩阵的每一个元素对应RAM的每一个地址,每一个元素的具体内容对应于RAM的每一个数据。

在程序中,第1路数据与第2路数据的交织方法一样,用变量F_Matrix_Column、S_Matrix_Column、T_Matrix_Column表示3个交织矩阵的列;用变量F_Matrix_Row、S_Matrix_Row、T_Matrix_Row表示3个交织矩阵的行。以读取第1路数据为例,因为是行写入列读出,所以行变量F_Matrix_Row每个时钟要自加1,直到行变量取到RTCsubblock-1时归零,同时列变量F_Matrix_Column按照表1所示进行列交织。

1331744189803.gif

按表2进行交织以后,将RAM交织矩阵中最后一列的第1个地址中的数据放到该列的最后一个地址中,将剩下的数依次向上移一个地址即可。

2.4 乒乓后控制模块的FPGA实现

在子块交织A和子块交织B开始工作时,乒乓后控制模块也已经开始工作。当子块交织A的启动信号Interleavera_Start拉高时,乒乓后控制模块会将子块交织A输入的数据传输给比特修剪模块;反之,则会将子块交织B输入的数据传输给比特修剪模块。

2.5 比特修剪模块的FPGA实现

在比特修剪模块中,一个码块的数据进行子块交织后会缓存在一个RAM中。此方法可以阻止在输入数据少于输出数据需要重发操作时由于数据丢失而引起的传输错误。本程序中进行了乒乓操作,但由于输入数据速率小于输出数据的速率,所以乒乓操作不能做到无缝隙地进行,输入的码块之间会有一定的间隔。

而为了将码块之间的间隔限制在最小范围,将表示速率匹配输出序列长度的变量E和表示取数起始位置的变量Ko输出给Turbo编码模块,可使码块之间的间隔限制在最小。在比特修剪时,设置一个计数器变量counter,初始值设置为零。当RAM中缓存的数据大于Ko时,可以从RAM中读取数据,若该数据是填充比特,则跳过,计数器counter不变;否则,计数器counter自加1,同时输出数据。直到计数器counter的值等于E时,读取数据完毕。等待下一个码块子块交织后输入的数据。

3 FPGA实现结果分析

图3和图4分别是PUSCH信道子块交织的ModelSim仿真图形和FPGA实现图。本程序的时钟频率是200 MHz。Virtex-6芯片做为测试平台。程序中DataOf-Interleaverb和DataOfInterleaverb是PUSCH信道子块交织的输出数据和标志位,A_Matrix_Row和A_Matrix_Column分别表示交织矩阵的行和列, A_addrb是RAM交织矩阵的地址。

由于交织矩阵的列数有32个,所以每次输出数据的地址就要加32,以实现列读出。变量A_Matrix_Row取到矩阵的最后一行后,又重新取下一列的第一行,直到32列全部取完为止。从PUSCH信道交织的仿真图和FPGA实现图可以看出,仿真结果与FPGA实现结果一致,因此FPGA能够准确地实现PUSCH信道的子块交织功能。

图5和图6分别是PUSCH信道比特修剪的ModelSim仿真图形和FPGA实现图。从图形中可知,仿真结果与板级验证的结果一致,FPGA能够稳定、准确地实现比特修剪的功能。

1332013915326.gif

子块交织和比特修剪的Verilog[5]程序已经通过了Xilinx ISE 13.4[6]的编译、仿真、板级验证和联机测试。结果表明,运用FPGA来实现速率匹配算法能够满足LTE系统对速率匹配的速度要求,同时也能够充分发挥FPGA并行操作的优越性。在此基础上,引用乒乓操作的方法,在不消耗更多资源的情况下,进一步缩短了速率匹配的处理时间,为整体系统的快速运行提供了基本的速度保障。由于该算法的FPGA实现在联机测试中,性能稳定,故已在TD_LTE射频一致性项目中得到应用。

参考文献

[1] 陈发堂,李小文,王丹,等。移动通信接收机设计理论与实现[M]。北京:科学出版社,2011.

[2] Ma Chixiang,Lin Ping.Efficient implementation of rate matching for LTE Turbo codes[C].The 2nd International Conference on Future Computer and Communication(ICFCC 2010),2010:704-708.

[3] 曹华,邓彬。使用Verilog实现基于FPGA的SDRAM控制器[J]。今日电子,2005,10(1):11-14.

[4] 3GPP TS 36.212 v9.1.0.3rd generation partner-ship project;technical specification group radio access network;evolved universal terrestrial radio access(E-UTRA);rate matching (Release 9)[S].2010.

[5] 夏宇闻.Verilog数字系统设计教程(第2版)[M]。北京:北京航空航天大学出版社,2008.

[6] XilinxInc.Foundation series user guide[EB/OL]。(2010-01-03)。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ofdm
    +关注

    关注

    6

    文章

    346

    浏览量

    56789
  • LTE
    LTE
    +关注

    关注

    15

    文章

    1345

    浏览量

    176999
  • MIMO
    +关注

    关注

    12

    文章

    584

    浏览量

    76441
  • 3GPP
    +关注

    关注

    4

    文章

    411

    浏览量

    44870
收藏 人收藏

    评论

    相关推荐

    【分享】基于Easygo仿真平台的三电机实时仿真测试应用

    算法效果的前期仿真评估及算法或控制器参数设计及仿真验证,可以很大程度上减少系统开发周期及成本。对多电机同步控制
    发表于 04-09 16:49

    基于多速率DA的根升余弦滤波器的FPGA实现

    性价比高于传统算法;另一方面由于对滤波器引入多相结构,使得大部分电路工作在较低频率下,减少了计算量,而且还降低了系统功耗,因此基于多速率处理技术和并行DA算法
    发表于 03-25 14:21

    FPGA实现iddr语言的双速率采集和存储?

    FPGA实现iddr语言的双速率采集和存储,有没有大佬做过
    发表于 01-15 16:19

    怎么用FPGA算法 如何在FPGA实现最大公约数算法

    FPGA算法的优点在于它们可以提供高度的定制化和灵活性,使得算法可以根据实际需求进行优化和调整。此外,FPGA还可以实现硬件加速,提供比传统
    的头像 发表于 01-15 16:03 588次阅读

    双目影像密集匹配算法的综合分析

    自适应权重法是推动局部密集匹配算法发展的关键。自2006年Yoon等[53]首次提出可以在匹配质量与全局匹配算法相媲美的局部
    的头像 发表于 11-27 10:29 873次阅读
    双目影像密集<b class='flag-5'>匹配</b><b class='flag-5'>算法</b>的综合分析

    基于FPGA的模式匹配系统设计

    电子发烧友网站提供《基于FPGA的模式匹配系统设计.pdf》资料免费下载
    发表于 11-08 09:26 0次下载
    基于<b class='flag-5'>FPGA</b>的模式<b class='flag-5'>匹配系统</b>设计

    基于FPGA的窄带干扰抑制算法实现方案

    电子发烧友网站提供《基于FPGA的窄带干扰抑制算法实现方案.pdf》资料免费下载
    发表于 11-07 09:29 0次下载
    基于<b class='flag-5'>FPGA</b>的窄带干扰抑制<b class='flag-5'>算法</b>的<b class='flag-5'>实现</b>方案

    LabVIEW开发多速率实时混合仿真

    、屈曲、速率相关特性或其他非线性效应的影响。通过数值和实验子结构之间的界面(此处称为共享边界点)控制的耦合是通过保持界面的兼容性和平衡来实现的。在测试过程,将预定义的外部载荷施加到数值子结构
    发表于 11-06 19:34

    基于DTW算法语音识别系统仿真及DSP实现

    电子发烧友网站提供《基于DTW算法语音识别系统仿真及DSP实现.pdf》资料免费下载
    发表于 10-08 11:52 0次下载
    基于DTW<b class='flag-5'>算法</b>语音识别<b class='flag-5'>系统</b><b class='flag-5'>仿真</b>及DSP<b class='flag-5'>实现</b>

    RFID系统如何实现阻抗匹配

    u3000阻抗匹配问题是电子技术的一项基本概念,通过匹配可以实现能量的最优传送,信号的 最佳处理。总之,匹配关乎着
    发表于 09-25 06:12

    数字信号处理的FPGA实现

    FPGA正在掀起一场数字信号处理的变革。本书旨在讲解前端数字信号处理算法的高效实现。首先概述了当前的FPGA技术、器件以及用于设计最先进DSP系统
    发表于 09-19 06:38

    hash算法FPGA中的实现(1)

    FPGA的设计中,尤其是在通信领域,经常会遇到hash算法实现。hash算法FPGA的设计中,它主要包括2个部分,第一个就是如何选择一
    的头像 发表于 09-07 17:01 589次阅读
    hash<b class='flag-5'>算法</b>在<b class='flag-5'>FPGA</b>中的<b class='flag-5'>实现</b>(1)

    怎么用FPGA算法 如何在FPGA实现最大公约数算法

    FPGA算法是指在FPGA(现场可编程门阵列)上实现算法FPGA是一种可重构的硬件设备,可以
    的头像 发表于 08-16 14:31 1826次阅读
    怎么用<b class='flag-5'>FPGA</b>做<b class='flag-5'>算法</b> 如何在<b class='flag-5'>FPGA</b>上<b class='flag-5'>实现</b>最大公约数<b class='flag-5'>算法</b>

    基于FPGA速率自适应图像抽取算法

    方法,适用于深空探测航天器载荷自主管理和可视化应用。通过图像帧识别、指针管理和数据筛选实现图像抽帧回放算法,具有图像完整、实时,速率自适应的特点。该方法在某探测器工程项目中采用FPGA
    的头像 发表于 08-05 10:35 491次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>速率</b>自适应图像抽取<b class='flag-5'>算法</b>

    FPGA实现PID控制算法

    相信大家对于PID控制算法,都不感到陌生了,平衡车就是靠它平衡起来的,还有飞控的平衡算法也是它,以及FOC中的闭环控制中也是用的它,它不仅简单,而且易于理解。那么本篇文章将简要介绍一下算法的原理,然后带大家使用
    的头像 发表于 05-19 16:40 1206次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>PID控制<b class='flag-5'>算法</b>