掌桥专利:专业的专利平台
掌桥专利
首页

一种基于FPGA的OTFS调制解调IP核实现方法

文献发布时间:2024-04-18 19:58:53


一种基于FPGA的OTFS调制解调IP核实现方法

技术领域

本发明涉及电子通信技术领域,具体提供一种基于FPGA的OTFS调制解调IP核实现方法。本发明可用于实现OTFS系统中发射机的信号模拟,以及接收机的OTFS解调。

背景技术

针对目前6G关键技术提出的高动态场景和通信感知一体化研究,OTFS(Orthogonal Time Frequency Space,OTFS)相对于OFDM(Orthogonal FrequencyDivision Multiplexing,OFDM)在高速场景中能体现出更好的感知性能和多普勒频移抑制作用。OTFS已成为近年来无线通信物理层的代表性新技术之一,研究OTFS调制不仅对于目前的5G通信有十分重要的意义,对达到未来6G对更高的频谱与功率效率,以及更高的可靠性与更低时延的技术指标也有指导性价值。

关于目前OTFS技术的研究,国内外学者都处在软件理论仿真阶段。对其调制解调的硬件实现还没有一个较好的方案,本发明考虑复杂度和结构优化的问题,采用效率更高的HLS工具优先实现了OTFS调制的IP核实现,并且对IP核接口进行封装,可以从外部动态配置IP核内部的符号数和子载波数。

FPGA作为集成电路中的一种半定制电路,具有成本低,灵活度高等优势,在无线通信原理样机的研究初期作为硬件仿真平台较为合适,给数字通信电路的设计带来了更多的方便。

发明内容

本发明的目的在于提供一种基于FPGA的OTFS调制解调IP核实现方法。

本发明的目的通过如下技术方案来实现:

一种基于FPGA的OTFS调制解调IP核实现方法,步骤为:

步骤1:根据OTFS基本原理搭建系统仿真链路;

步骤2:对数据源预处理模块进行硬件设计;

步骤3:对调制模块IP核内部数据类型进行设计;

步骤4:对IP核传输端口进行设计;

步骤5:对OTFS二维调制解调模块进行硬件设计;

步骤6:IP核仿真验证。

进一步地,所述步骤1根据OTFS基本原理搭建软件仿真链路;

假设一个符号数为N,子载波数为M的数据包总时长为NT秒,总带宽为MΔfHZ。(T-符号时间间隔,Δf-子载波频率间隔)。由信息序列u通过星座映射得到长度为MN的调制符号被排列成一个二维矩阵

OTFS系统链路如图1所示,首先通过逆辛傅里叶变换(ISFFT)将时延多普勒域的信号转换成时频域信号x

其中D,X分别表示符号d

公式(2)中

其中x=vec(X),这里假设循环前缀在传输之前已经被添加到x中。对于线性时变信道,接收信号可以表示成公式(4)所示。

r(t)=∫∫h(τ,v)e

其中n(t)表示功率谱密度为N0的高斯噪声。假设信号传播中存在P个独立的散射路径,则延迟多普勒信道的稀疏表示由公式(5)给出。

其中h

r=H

其中H

因此可以得到时域矩阵和时延多普勒矩阵的关系为

进一步地,所述步骤2首先实现16QAM对输入随机数进行映射,先将4096个随机数提前存储在单端口ROM中并封装成IP核作为数据输入源。输入每4bit原始数据中先将高2bit进行差分编码以保持更好的误码性能,编码后的数据与低2bit数据一起进行星座映射。在Vivado中对QAM映射后信号封装成AXI Stream接口送给调制模块。

进一步地,所述步骤2具体为:

步骤2.1:差分编码模块;

在FPGA中对输入一帧随机数采用部分差分编码,只对每个符号的前两个比特进行差分编码,不仅可以节省资源消耗,而且由于减少了差分编码的比特数,因而减少了因差分编码所带来的误码扩散。具体实现如下:

式中A

步骤2.2:选择16QAM的映射方式,将一维数据映射到复坐标平面中;

步骤2.3:数据源接口封装:

为了满足OTFS调制模块的读写顺序,这里调用简单双端口RAM将星座映射之后的数据做读写输出。由于在后续OTFS调制IP核中定义输入复数的整数部分位宽和小数部分位宽均为32位。因此为了保持数据位宽传输的一致性,这里需要将经过差分编码和16QAM映射后的数据拼接成64位的数据{it,qt},并将新拼接的数据传输给双端口RAM做缓存。

进一步地,步骤3具体为:

步骤3.1:首先对输入输出数据流接口定义结构体变量为otfs_stream,其中包含三种数据类型,OTFS_PIXEL data,ap_uint<1>user,ap_uint<1>last。其中OTFS_PIXEL数据类型为hls::Scalar<2,float>,user信号为用户自定义信号,last表示当前帧最后一个数据处理完拉高。而主函数还包含输入int型参数M,N,其中M对应OTFS中的子载波数,N对应符号数;

步骤3.2:OTFS的二维调制部分先将输入数据流转化为OTFS标准矩阵格式,大小为M*N的矩阵;

步骤3.3:对缓存的数据进行列的N点IFFT变换,将输出的数据在做行的M点FFT变换,之后在做行的IFFT变换,得到的数据表示时域的数据,最后转化为otfs_stream格式。

进一步地,步骤4具体为:

步骤4.1:按照图4顺序设计OTFS调制IP模块,在HLS(High-Level-Synthesis)中通过控制direction值来实现Vivado自带FFT和IFFT功能的切换,设置ap_fifo来实现对数组、指针和参数引用的读写;

步骤4.2:定义输入复数数据的实部和虚部为32位的浮点数。user信号为自定义信号,在设计中让一帧数据开始计数时候置1,也就是作为调制的开始信号。Last信号在当前帧最后一个数据处理完后拉高。而主函数还包含输入int型参数M,N,其中M对应OTFS中的子载波数,N对应符号数。在函数设计中使用#pragma HLS INTERFACE定义otfs_stream的信号为axis接口,定义M、N参数为s_axilite接口。

进一步地,步骤5具体为:

步骤5.1:首先在HLS中测试单个FFT模块,进行仿真验证保证数据精度为自己所需求的精度。统一内部数据接口模式后对算法进行二维傅里叶变换设计,定义内部寄存器及数据输入输出接口和FIFO深度,对模块进行仿真验证。

步骤5.2:对算法内部的二重循环进行流水化处理,通过在内层循环外设置#pragma HLS pipeline指令来对算法复杂耗时模块进行流水化处理,多次仿真比较输出最优结果。

进一步地,步骤6编写仿真激励测试文件,在HLS工具中验证硬件模块输出结果并与相同条件下软件仿真结果进行对比。在保证结果精度满足要求的情况下对模块进行IP核封装,并结合数据源预处理IP核在Vivado开发工具中进行调用,搭建最小验证系统进行验证。

本发明的有益效果在于:

与现有技术相比,本发明的有益效果是:采用一种高效率的方式率先提出了一种易于硬件实现的OTFS二维调制解调IP核实现方法,并且针对算法内部动态参数设计了寄存器可配置的总线接口。在OTFS基带链路硬件设计中本发明提供了一种调制信号输入前的数据源预处理以及OTFS二维调制解调的IP核实现方式,在通信链路的工程化设计中,采用HLS工具可以作为算法的硬件初步设计以及有效的时序、资源评估工具。在OTFS接收机的早期研发阶段,可以加速数字基带链路的开发进度,在6G的关键技术研究中,为后续OTFS原理样机的设计能提供很好的参考。

附图说明

图1为本发明阐述OTFS系统链路框图;

图2为本发明实现的OTFS调制解调算法原理图;

图3为本发明提出的一种OTFS调制解调模块硬件设计原理图;

图4为本发明基于HLS工具提供的一种OTFS调制解调IP核设计逻辑图;

图5为本发明做的硬件仿真与软件仿真数据结果对比图;

图6为本发明的IP核在XC7A200T FPGA中资源占用表;

图7为本发明封装的OTFS调制IP核接口示意图。

具体实施方式

下面结合附图对本发明做进一步描述。

在更加详细地讨论实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。

本发明的一种基于FPGA的OTFS调制解调IP核实现方法,包括如下步骤:

步骤1:根据OTFS基本原理搭建系统仿真链路;

如图一所示,假设一个符号数为N,子载波数为M的数据包总时长为NT秒,总带宽为MΔfHZ。(T-符号时间间隔,Δf-子载波频率间隔)。由信息序列u通过星座映射得到长度为MN的调制符号被排列成一个二维矩阵

OTFS系统链路如图1所示,首先通过逆辛傅里叶变换(ISFFT)将时延多普勒域的信号转换成时频域信号x

其中D,X分别表示符号d

公式(2)中

其中x=vec(X),这里假设循环前缀在传输之前已经被添加到x中。对于线性时变信道,接收信号可以表示成公式(4)所示。

r(t)=∫∫h(τ,v)e

其中n(t)表示功率谱密度为N0的高斯噪声。假设信号传播中存在P个独立的散射路径,则延迟多普勒信道的稀疏表示由公式(5)给出。

其中h

r=H

其中H

因此可以得到时域矩阵和时延多普勒矩阵的关系为

步骤2:数据源预处理模块进行硬件设计;

首先实现16QAM对输入随机数进行映射,先将4096个随机数提前存储在单端口ROM中并封装成IP核作为数据输入源。输入每4bit原始数据中先将高2bit进行差分编码以保持更好的误码性能,编码后的数据与低2bit数据一起进行星座映射。在Vivado中对QAM映射后信号封装成AXI Stream接口送给调制模块。

步骤2.1:差分编码模块;

在FPGA中对输入一帧随机数采用部分差分编码,只对每个符号的前两个比特进行差分编码,不仅可以节省资源消耗,而且由于减少了差分编码的比特数,因而减少了因差分编码所带来的误码扩散。具体实现如下:

式中A

步骤2.2:选择16QAM的映射方式,将一维数据映射到复坐标平面中;

步骤2.3:数据源接口封装:

为了满足OTFS调制模块的读写顺序,这里调用简单双端口RAM将星座映射之后的数据做读写输出。由于在后续OTFS调制IP核中定义输入复数的整数部分位宽和小数部分位宽均为32位。因此为了保持数据位宽传输的一致性,这里需要将经过差分编码和16QAM映射后的数据拼接成64位的数据{it,qt},并将新拼接的数据传输给双端口RAM做缓存。

步骤3:调制模块IP核内部数据类型进行设计;

步骤3.1:首先对输入输出数据流接口定义结构体变量为otfs_stream,其中包含三种数据类型,OTFS_PIXEL data,ap_uint<1>user,ap_uint<1>last。其中OTFS_PIXEL数据类型为hls::Scalar<2,float>,user信号为用户自定义信号,last表示当前帧最后一个数据处理完拉高。而主函数还包含输入int型参数M,N,其中M对应OTFS中的子载波数,N对应符号数;

步骤3.2:OTFS的二维调制部分先将输入数据流转化为OTFS标准矩阵格式,大小为M*N的矩阵;

步骤3.3:对缓存的数据进行列的N点IFFT变换,将输出的数据在做行的M点FFT变换,之后在做行的IFFT变换,得到的数据表示时域的数据,最后转化为otfs_stream格式。

步骤4:IP核传输端口进行设计;

步骤4.1:按照图4顺序设计OTFS调制IP模块,在HLS中通过控制direction值来实现Vivado自带FFT和IFFT功能的切换,设置ap_fifo来实现对数组、指针和参数引用的读写;

步骤4.2:定义输入复数数据的实部和虚部为32位的浮点数。user信号为自定义信号,在设计中让一帧数据开始计数时候置1,也就是作为调制的开始信号。Last信号在当前帧最后一个数据处理完后拉高。而主函数还包含输入int型参数M,N,其中M对应OTFS中的子载波数,N对应符号数。在函数设计中使用#pragma HLS INTERFACE定义otfs_stream的信号为axis接口,定义M、N参数为s_axilite接口。

步骤5:OTFS二维调制解调模块硬件设计;

步骤5.1:首先在HLS中测试单个FFT模块,进行仿真验证保证数据精度为自己所需求的精度。统一内部数据接口模式后对算法进行二维傅里叶变换设计,定义内部寄存器及数据输入输出接口和FIFO深度,对模块进行仿真验证。

步骤5.2:对算法内部的二重循环进行流水化处理,通过在内层循环外设置#pragma HLS pipeline指令来对算法复杂耗时模块进行流水化处理,多次仿真比较输出最优结果。

步骤6:IP核仿真验证;

步骤6.1:IP核功能仿真

如图5所示对OTFS调制模块进行硬件仿真,在确定M、N同等的条件下将硬件与软件仿真结果进行对比,可以看出当HLS设置数据格式为float或20位定点数时结果与MATLAB仿真值一致,当设置8位的定点数进行比较可以看出存在大约0.001的误差。在硬件程序设计中可以衡量资源及精度需求自由设置OTFS_PIXEL数据类型。例如将数据类型设置为ap_fixed<20,4>,则代表数据类型为20位有符号数。其中1位符号位,3位整数数据位,16位小数位。

步骤6.2:IP核综合

对模块进行综合,如图6所示为OTFS调制模块在XC7A200T FPGA中硬件资源占用表格。本发明研究发现对二维调制部分设置三级流水可以达到最佳效果,在HLS设计完成后打包成IP核导入FPGA芯片中进行调用。

步骤6.3:IP核打包

将设计并综合后的OTFS调制硬件模块进行封装成IP核如图7所示,其中s_axi_CONTROL_BUS接口作为CPU控制读写OTFS内部寄存器接口,采用的是AXI_Lite协议,in_stream和out_stream接口分别作为数据映射后复数的数据输入和OTFS调制完成后的数据输出接口,采用的是AXI_Stream总线协议,interrupt为CPU中断请求接口,这里可以根据自己的需求选择是否开启。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于FPGA的OTFS低复杂度GAMP检测算法IP核实现方法
  • 基于OTFS调制的交错式时频多址方式调制解调方法及装置
技术分类

06120116513627