当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 通过对eNodeB端PHICH信道的研究,结合上行链路的同步非自适应的HARQ技术,提出了一种发送PHICH承载的上行数据HARQ的ACK/NACK的DSP实现方案。该方案已经在TMS320C64×DSP中实现。将该方案应用于LTE-TDD无线综合测试仪表的开发中,实际运行验证了该方案的可行性、高效性。
关键词: 长期演进;物理混合自动重传请求指示信道;网络端;实现

近年来无线通信的飞速发展,为了克服多径衰落和实际环境中无线信道时变给系统性能及用户体验带来的影响,LTE系统采用了双ARQ机制,即RLC层的ARQ机制和物理层的HARQ机制。由于上行链路信道相当复杂,其他用户对它的干扰是不确定的,因此基站也无法准确地测量出各个用户的相关参数,也就无法给各个终端指定相应的传输控制参数。为了节省宝贵的上行资源,减少系统的信令开销,在上行链路中采用了同步非自适应HARQ技术[1]。这种机制不仅在实现上较为简单,而且系统信令开销也小,同时也降低了接收端对缓存空间的要求。
PHICH信道承载着上行数据HARQ的ACK/NACK,本文通过对PHICH信道的研究,提出了一种简单的PHICH信道发送ACK/NACK的DSP实现方案,该方案大大降低了eNode的处理复杂度,对LTE整体性能有很好影响。


2.2 编码调制加扰扩频模块
用memset对计算出的Group_PHICH组分配所需要的空间。对常规CP,经过加扰和扩频后一个HI码变成12个复值符号,实部和虚部各占1 B,分配空间的大小为Group_PHICH*192。对扩展CP,在加扰和扩频后一个HI码变成6个复值符号,实部和虚部各占1 B,资源组排列时,奇偶连续的两组排列在一起,故分配的空间大小也为Group_PHICH*192。采用两个指针*a和*P分别指向扩频表table_TxPHICH_Wsq和开辟的PHICH_ROM的首地址。常规CP,把一个PHICH组中的HI码移动到最低位,进行码元重复,重复3次,把重复后的码字判断为1还是0。如果为1,则经调制后的HI码的实部和虚部均为23 167;如果为0,则调制后的实部和虚部均为-23 167。取出random[n]寄存器中的伪随机序列和用于加扰的扩频序列,把经调制后的复制按照公式进行扩频和加扰。把加扰和扩频后的数据按照实部和虚部依次放在由指针*P指向的存储空间,完成一个HI的加扰和扩频后,把指向扩频表的指针*a的地址进行加8,找到下一次的扩频的首地址,重复上面的调制加扰扩频,直至该组的所有HI码全部处理完成。指针*P的地址变为P=P+192,重复上述步骤,继续下一组的HI码的处理,直至所有组全部处理完成。扩展CP与常规CP不同之处在于,偶数组在进行调制加扰扩频后,在每个码字后面添加两个0,奇数组则在每个码字的前面添加两个0,把相邻的奇偶两组放在一起完成资源组的排列。
2.3 层映射模块
双天线,把输出地址赋给第一个序列的首地址,通过调制传递下来的符号数长度除以2,向上取整得到第一个序列的长度,然后第二个序列的首地址就是第一个序列首地址加上长度的偏移地址。然后按顺序依次存入两个首地址所指的内存空间,完成层映射。

其实质是经层映射后的两路数据,把两路数据经过处理交替生成一路数据放在0天线端口,把两路经过处理交替生成另一路数据放在1天线端口。交替过程如式(8)所示,所有取值均以字的形式取出,式中的共轭取反,就是把取出的整字的实部取反,虚部保持不变即可。
2.5 资源映射模块
把每一组处理完成的HI信息进行叠加,构成3个资源粒子组,进行资源映射。首先确定PHICH所占用的符号数为k,第一个OFDM符号的所有资源粒子组的个数为2×N_DL_RB-4,其中减去的4个为PCFICH所占用,在第一个OFDM符号中,每一个资源块中有4个资源粒子被参考符号占用,所以每个资源块中可用的资源粒子组只有2个,所以总组数2×N_DL_RB-4。其余的OFDM符号的个数均为3×N_DL_RB。设N1=zeros(1,2×N_DL_RB),N11=0;N2=zeros(1,3×N_DL_RB),N22=0直到Nk=zeros(1,3N_DL_RB),Nkk=0。其中Nk表示保存用于被PHICH所占用的第k个OFDM符号的REG的编号,Nkk表示被PHICH所占用的第k个OFDM符号的个数。由式(5)分别计算出每一组的3个资源粒子组所在的OFDM符号l′的位置,再由式(6)或式(7)计算在该符号上的资源粒子组的位置ni,以及在该符号上的资源粒子组的个数,分别保存在用于存储该符号的相关寄存器Nli'li'和Nli'中,直至所有的组全部映射完成。
3 性能分析与总结
在DSP实现中,通过指令并行,尽量优化程序循环体,减少或消除程序中的‘NOP’指令[5-6],以常规CP为例,各个模块的运算cycles数统计如表3,通过表中的值可以看出,PHICH信道的执行时间非常少。当运用TMS320C64×DSP芯片实现时,完全可以满足实时性信号处理。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭