CN111830478B - 一种lfmcw雷达mtd处理的fpga实现方法 - Google Patents
一种lfmcw雷达mtd处理的fpga实现方法 Download PDFInfo
- Publication number
- CN111830478B CN111830478B CN202010649212.8A CN202010649212A CN111830478B CN 111830478 B CN111830478 B CN 111830478B CN 202010649212 A CN202010649212 A CN 202010649212A CN 111830478 B CN111830478 B CN 111830478B
- Authority
- CN
- China
- Prior art keywords
- processing
- mtd
- data
- fpga
- fft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/41—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
- G01S7/415—Identification of targets based on measurements of movement associated with the target
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明提供一种LFMCW雷达MTD处理的FPGA实现方法,本发明针对LFMCW雷达系统对MTD处理的实时性和高吞吐率的要求,提出了一种可以在FPGA上实现LFMCW雷达MTD处理的方法。此方法能够充分利用FPGA的并行处理能力以及流水线处理、乒乓操作处理的高效率,配合DDR3 SDRAM的双倍数据速率和大容量的特点,解决了DSP的处理速度和FPGA存储空间的瓶颈问题。最后通过ModelSim仿真和实际系统测试证明了该方法的有效性和可靠性。
Description
技术领域
本发明属于雷达信号处理领域,具体涉及一种应用在线性调频连续波(LFMCW)雷达系统上的动目标检测(MTD)处理方法,尤其是一种基于现场可编程逻辑门阵列(FPGA)实现的,点数可变的实时MTD处理的方法。
背景技术
LFMCW雷达的收发天线需要很高的隔离度,早期的微波器件性能有限,因此应用不是很广泛。近年来随着电子技术的不断发展,LFMCW雷达的应用场景也越来越多,优势也越来越明显。LFMCW雷达无距离盲区,相同探测距离指标下发射功率更小,截获概率更低。被广泛应用在小目标探测、机场和军事禁区的安保以及汽车电子等领域。
早期雷达提高目标回波信噪比的积累方式多为非相参积累,即视频积累。不能有效的利用目标回波信号的相位信息。随着射频器件的发展,现代雷达基本上都是相参雷达,周期之间的发射信号相位确定性能够得到保证,这就为提取目标的多普勒特性提供了可能。MTD(Moving Target Detect)即动目标检测技术,正是基于雷达的相参体制才得以实现的。具体方法是通过部分重叠的多普勒滤波器组,将不同多普勒通道的目标和杂波区分开,从而实现雷达对于运动目标的检测。
MTD的实现方法有FIR滤波器和快速傅里叶变换(FFT)两种,工程上用FFT实现更为容易一些。与FIR滤波器相比,FFT的算法复杂度更低,且运算速度更快。假设系统对M个周期的回波通过FFT进行MTD处理,FFT每一个点的输出值,相当于M个周期在此频率上进行了一次积累。既实现了相参积累,又能获得目标的多普勒信息,实现了MTD处理。
如今的LFMCW雷达系统的信号处理机,多是基于DSP+FPGA的处理架构。FPGA负责对高速信号的采集和预处理,同时担任DSP与外设之间的逻辑接口。DSP作为专用的数字信号处理器件,本身拥有强大的计算能力,适合实现一些复杂算法,所以很多系统上是由DSP进行MTD处理的。而FPGA完成对雷达回波数据的采集、数字下变频、快时间维FFT等。对于一些低重频的雷达系统或算法复杂度不高的情景下这样的分工没有什么问题。但是对于一些多普勒雷达而言,为了获取更大的多普勒测量范围,这类雷达系统的重复周期(PRT)很小,在积累周期相同的情况下,相参处理间隔(CPI)更小,留给DSP的处理时间就更短。同时DSP虽然适合复杂算法的实现,但串行指令限制了其对高速信号的处理能力,会在MTD处理时浪费大量的时间和资源,不利于其实现更多更复杂的算法。因此有很多人将MTD处理放在FPGA上实现。FPGA可以通过其并行操作的特性提高系统的时间效率,提高吞吐率。而且用FFT的方法实现MTD,其重复性很强,利于FPGA实现。但FPGA也有自身的局限性,首先FPGA内部的存储资源有限,不能够仅凭自身缓存大量的回波数据;其次FPGA的计算能力有限,在其进行多次复数乘法运算时很难做到像DSP一样游刃有余;还有在实际应用时,往往需要根据观测距离和目标速度等动态的改变MTD点数(即积累周期数)。本发明提出了一种基于FPGA和DDR3SDRAM的MTD处理实现方法,既能够完成对回波数据的大量存储,也能达到到和DSP相当的处理能力,还能够根据DSP的处理需求动态改变MTD点数,实现LFMCW雷达系统的MTD处理。
发明内容
本发明的目的在于:针对一些信号处理实时性要求较高的LFMCW雷达应用场景,DSP的串行工作方式不足以对大量的回波数据进行及时处理的问题,需要研究一种能够在FPGA上实现MTD处理的方法。既要保证FPGA有足够的存储能力、处理速度,又要保证计算的结果精度,以便DSP更好的发挥后续信号处理算法的性能。
本发明的目的是这样实现的:步骤如下:
步骤一:将经过数字下变频后的数据通过两个FIFO进行乒乓缓存,读出存满的FIFO中的数据进行预处理,同时按照DSP所需的MTD点数M配置FFT IP核;
步骤二:将预处理截取后的快时间回波数据写入FPGA的双口RAM中,通过双口RAM进行回波预处理时钟域到DDR3读写时钟域的变换,同时实现数据位宽的转换;
步骤三:将双口RAM中的快时间回波数据读出,通过MIG IP的用户接口将数据按行写入DDR3中;
步骤四:待向DDR3中写完需要进行MTD处理的M个周期的快时间回波数据后,按列读出慢时间维的回波数据,同时根据周期数M确定汉明窗ROM的寻址步长,读出M个窗函数采样点与回波数据相乘,完成加窗处理降低旁瓣;
步骤五:将加窗后的数据输入给FFT IP核进行M点的定点FFT运算,等待IP核给出FFT结果;
步骤六:将得到的定点FFT结果输入到定/浮点转换IP,将大位宽的定点结果转换成32位单精度浮点数,写入到双口RAM中实现从DDR3读写时钟域到串行rapidio用户接口时钟域的变换,同时实现数据位宽转换;
步骤七:将双口RAM中的FFT浮点计算结果读出,通过串行RapidIO接口将结果传给DSP做后续处理,重复步骤四到步骤七直至完成所有距离门回波的FFT运算,完成一次MTD处理。
本发明还包括这样一些结构特征:
1.FPGA在对一个CPI的数据进行缓存之前,需要系统的主控器件给出所需的MTD点数,缺省时默认为64点;MTD点数即为需要做慢时间维FFT的点数,FPGA通过实时配置FFT IP核来实现任意点数MTD的处理。
2.步骤二中的双口RAM,作用是时钟域转换和位宽转换。
3.步骤四将窗函数例化到FPGA的ROM中,根据MTD点数M来更改ROM读取地址的自增步长,最后达到的效果是对原来的汉明窗进行M点的采样,利用单个窗函数表实现了不同长度的加窗处理。
与现有技术相比,本发明的有益效果是:
1、选用DDR3芯片作为回波预处理数据的缓存,利用了DDR3的突发长度读写特点,通过双口RAM的位宽转换在有限的时钟资源内将系统的数据吞吐率提高了8倍。因此系统能够快速将数据缓存并快速读出,为FFT运算以及SRIO接口传输节省了时间。
2、选用可进行实时更改FFT点数的IP,根据DSP信号处理算法的需求实时更改需要进行FFT运算的点数,实现了FPGA进行MTD处理的点数可变,提高了系统的灵活性。同时FPGA能够根据MTD点数更改储存汉明窗ROM的寻址步长,利用同一个窗函数表即实现了对不同点数回波的加窗处理,提高了系统的可靠性。
3、合理划分了DDR3的存储空间,根据DDR3块(BANK)、行(ROW)、列(COLUMN)的存储结构特点,将整个存储阵列分为乒乓缓存块区、慢时间维度区、快时间距离维度区。每个区均有一定的预留,便于后续功能的扩展。即便单次数据写入出现错误也不会影响其他周期的数据,避免了因为一个数据出错导致整个CPI的数据全部窜位的情况。本发明还在读数据的状态中加入写中断机制,以确保在MTD处理时间大于一个PRT时不会出现读写冲突。乒乓缓存在一个DDR3内存条上的不同块上进行,而不是例化两个MIG控制器读写两个内存条,节省了一定的硬件资源。
4、本发明提出的在FPGA上实现的MTD处理方法的速度、吞吐率以及运算精度均不差于在DSP上实现,保证系统实时性的同时解放了DSP的大量资源,有利于DSP执行更多更复杂的处理,极大限度提升了信号处理机的总体性能。
附图说明
图1为FPGA利用DDR3实现MTD处理的信号流图;
图2为DDR3芯片的存储结构示意图;
图3为FFT法实现MTD的原理示意图;
图4为FPGA控制DDR3读写的有限状态机的状态转换图;
图5为FPGA向DDR3写入截取的距离采样数据ModelSim仿真截图;
图6(a)-(b)为FPGA从DDR3读出慢时间采样数据加窗FFT的ModelSim仿真截图;
图7为Matlab绘制的不同点数MTD的ModelSim仿真结果对比图;
图8为Matlab计算和ModelSim仿真得到的对相同数据MTD处理的对比图;
图9为实际系统上FPGA传输给DSP的64点MTD结果图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
本发明提出的方法利用DDR3 SDRAM缓存雷达回波数据,通过FPGA对其进行地址划分和分段读写实现回波数据的快/慢时间维度的转换,利用FFT的IP核实现对慢时间维数据的MTD处理,最后将定点计算结果转化为单精度浮点数,保证计算结果的动态范围和精度。本文的ModelSim仿真和硬件测试基于的FPGA器件为Xilinx V7系列的XC7V585T-2FFG1761I,开发平台为Vivado2019.2;DDR3 SDRAM为Micron公司的4片MT41K256M16HA-125IT:E通过位扩展的方式相连而成的一个64位容量共2GB的内存条。但此方法也适用于其他支持DDR3接口的Xilinx FPGA器件。
本发明步骤如下:
步骤一:将经过数字下变频后的数据通过两个FIFO(先入先出队列)进行乒乓缓存,读出存满的FIFO中的数据进行预处理,同时按照DSP所需的MTD点数M配置FFT IP核(若缺省默认为64点FFT);
步骤二:将预处理截取后的快时间回波数据写入FPGA的双口RAM中,通过双口RAM进行回波预处理时钟域到DDR3读写时钟域的变换,同时实现数据位宽的转换;
步骤三:将双口RAM中的快时间回波数据读出,通过MIG(Memory InterfaceGenerator)IP的用户接口将数据按行写入DDR3中。
步骤四:待向DDR3中写完需要进行MTD处理的M个周期的快时间回波数据后,按列读出慢时间维的回波数据,同时根据周期数M确定汉明窗ROM的寻址步长,读出M个窗函数采样点与回波数据相乘,完成加窗处理降低旁瓣;
步骤五:将加窗后的数据输入给FFT IP核进行M点的定点FFT运算,等待IP核给出FFT结果;
步骤六:将得到的定点FFT结果输入到定/浮点转换IP,将大位宽的定点结果转换成32位单精度浮点数,写入到双口RAM中实现从DDR3读写时钟域到串行rapidio用户接口时钟域的变换,同时实现数据位宽转换;
步骤七:将双口RAM中的FFT浮点计算结果读出,通过串行RapidIO(SRIO)接口将结果传给DSP做后续处理,重复步骤四到步骤七直至完成所有距离门回波的FFT运算,完成一次MTD处理。
FPGA在对一个CPI的数据进行缓存之前,需要系统的主控器件给出所需的MTD点数,缺省时默认为64点。MTD点数即为需要做慢时间维FFT的点数,FPGA通过实时配置FFT IP核来实现任意点数MTD的处理。
本发明的硬件系统上,FPGA仅挂载一个DDR3内存条,MIG不能同时对外设进行读写操作。为实现状态机对DDR3的乒乓缓存控制,本发明将DDR3的两个块作为两个缓存区域,加入写请求中断机制,在读数据的空隙中进行新数据的写入。用一个DDR3内存条就实现了乒乓缓存,保证了雷达回波数据的实时无丢失的存储。
在对慢时间维回波数据做FFT之前,要进行加窗以抑制旁瓣,保证MTD处理的性能。MTD点数可变意味着窗函数的长度也是可变的。本发明将窗函数例化到FPGA的ROM中,根据MTD点数M来更改ROM读取地址的自增步长,最后达到的效果是对原来的汉明窗进行M点的采样,利用单个窗函数表实现了不同长度的加窗处理。
本发明中例化的FFT IP核选用8通道无压缩定点FFT的运算方式,通道数与DDR3读数据的突发长度8相对应。不再对读取后的大位宽数据进行重排,而是直接将8个距离维通道的数据直接加窗输入IP核做FFT,充分发挥了FPGA并行处理的优势。
为配合SRIO接口传输的数据位宽,需要对计算的到的MTD定点数进行处理。考虑到简单截位处理会造成结果的精度损失和动态范围减小,因此本发明例化了16个定/浮点转换IP,对8通道FFT结果的I,Q值进行定点数到单精度浮点数的转换,按照Q路高32位,I路低32位的结构进行组合。由4线SRIO接口发送给DSP。
步骤一中所描述的乒乓缓存操作,其中两个FIFO的读时钟要远高于写时钟。乒乓缓存的目的是利用读写时钟域的频率不同,将连续的回波数据分开成两段在时域上分离的信号,预留出时间做后续的处理。预处理是指对LFMCW雷达差频信号的快时间维FFT处理,相当于脉冲压缩处理,本质是提高目标信噪比,得到精确的距离信息。差频信号经过FFT处理后会负频率冗余,需要截取出感兴趣的部分做后续的处理。在DSP开始控制扇扫之前,会将MTD处理的点数通过EMIF接口发送给FPGA,FPGA会根据要求实时配置FFT IP核,更改所需要的FFT点数,正逆变换等参数。
步骤二中的双口RAM,作用是时钟域转换和位宽转换。对于本发明基于的雷达系统,回波预处理的时钟域为50MHz,数据位宽为64位,由I,Q两路数据拼接而成。I路数据占低32位,Q路数据占高32位。整个处理的信号流图如图1所示。DDR3的读写操作是通过MIG实现的,MIG提供给设计者的用户层时钟和其与DDR3相连的物理层时钟存在一定的比例关系。本文将比例关系设置为1:4,由于DDR3是双倍数据速率,即时钟上下沿都能够写入数据,所以用户层数据的速率和物理层数据速率存在1:8的关系。本文由于硬件设计的限制,故将DDR3时钟的频率设置为400MHz,即用户层时钟为100MHz。DDR3的读写是有突发长度要求的,即一次写入/读取操作是对某一个地址以及相邻的7个地址连续进行写入/读取。故在用户层进行写入/读取操作时,需要将数据的位宽扩展8倍。最终实现的效果是通过双口RAM的转换,数据的速率从50MHz变为100MHz,位宽由64位变为512位。
步骤三中,选用DDR3来缓存回波数据基于两种考虑,第一是DDR3存储容量很大,可以缓存大量周期的回波数据;第二是DDR3的存储结构是分为块、行和列的,如图2所示,适合如图3所示的二维数据的写入和读取。本发明将用户接口的28位DDR3地址分为块地址、行地址和列地址三部分。其中块地址占3位,表示DDR3中的8个数据块;行地址占14位,表示一个数据块中的214行;列地址占11位,表示一个数据块中的211列。这样划分则把4片DDR3芯片分为了8个能够存放214×211个64位数据的数据表。DDR3读写状态机的状态转换图如图4所示。根据仿真结果,FPGA进行一次64点MTD处理耗时约300us。当LFMCW雷达的PRT较长时,FPGA在一个PRT内即可完成MTD处理,不存在读写冲突的情况。但当PRT小到100us级别时,FPGA无法在一个PRT内完成MTD处理。本发明在状态机中加入写中断机制,写请求到来时,状态机会判断当前是否为读状态中的忙碌状态,只有在读状态的空闲状态时,才会控制状态跳转到写状态。完成本次数据的写入后,再跳转回读状态,继续读出数据做MTD处理。这样只要CPI足够大,无论PRT如何小FPGA都能够无冲突的完成MTD处理。
对于步骤三的一般情况,每当一个周期的数据到来之后,DDR3读写状态机会控制读出双口RAM中的512位数据写入DDR3中,每写完一个512位数据就控制DDR3地址中的列地址自增8,即将数据逐行写入到DDR3中,一次连续写入8个64位数据。写入过程如图5所示。app_addr为MIG给用户接口提供的DDR3地址,app_cmd控制读写过程,为0是写命令。app_en为命令使能,无论读写只有使能有效时才进行。app_rdy为DDR3的可操作标志,拉低时MIG会忽略用户的一切操作,所以当app_rdy拉低时写入数据需要保持,待确定写入后再更新下一个数据。app_wdf_wren为写使能,写入数据时也需要拉高。待此周期数据全部被写入DDR3后,列地址归0,行地址自增1。即一个周期的数据占用DDR3中的一行存储空间。本发明中快时间维的距离采样点数为256点,即每次需要写入DDR3的数据量为64bits×256words。通过位宽转换后为512bits×32words,仅用32个100MHz时钟即可写入256个距离采样点的全部数据。本发明中DDR3的一行的数据空间为2048,远大于所需的256。这样设计即是为了预留出一部分空间,又能够保证即使本周期的数据写入出错,也不会影响后续周期数据的写入。在FPGA向DDR3写入全部需要缓存的数据后,状态机会控制块地址在块0和块1之前转换,以免在写入新数据时覆盖掉未来得及读出的旧数据。
步骤四中,在对多个周期回波进行MTD处理之前,需要对回波数据进行加窗,以降低FFT后的旁瓣幅度。本发明选用汉明窗,具体实现方法是先通过Matlab生成汉明窗函数,点数为雷达系统需求的最大MTD点数。将窗函数写成coe文件,在Vivado中例化一个单口ROM,将coe文件作为ROM的初始化值加载进去。在DDR3中缓存足够的周期数M时,状态机马上进入到读DDR3中数据的状态,读取时DDR3地址的行地址自增1,列地址不变。即将数据按列读出。读完一次FFT所需数据后,行地址归0,列地址自增8。读数据时序如图6(a)所示,仿真的MTD点数为8,即一次读出8个数据。和写入过程类似,不同的是app_cmd需要置1,同时app_en要拉高。在app_rdy有效时即可读出app_addr下的数据。当app_rd_data_valid有效时,app_rd_data上的数据即为从DDR3中读出的数据。FPGA会根据MTD点数M确定汉明窗ROM的地址自增长度,读出数据有效时从ROM中等间隔读出M个点分别与DDR3读出的数据相乘。加窗FFT过程如图6(b)所示,从中可以看出8点汉明窗的形状。和写入数据时类似,一次读取命令相当于读出了同一周期的8个距离采样点的数据,每次相乘都是与8路数据同时相乘。突发长度的限制变相提高了系统的吞吐量,在DDR3的读使能有效时,仅需要M×32个时钟即可以将所有缓存的回波数据读出。
步骤五中,FFT IP核的接口为AXI总线,控制逻辑为主设备,IP核为从设备。做FFT需要注意的信号线有s_axis_data_tready,s_axis_data_tvalid,s_axis_data_tdata和s_axis_data_tlast。tready信号有效时,拉高tvalid信号即表明tdata上的数据有效。最后一个数据输入IP核时要同时拉高tlast信号。和输入数据的接口类似,IP核在完成计算之后,会控制m_axis_data_tvaild拉高,同时从m_axis_data_tdata输出FFT计算结果,同样在最后一个数据输出时m_axis_data_tlast会拉高。如图6(b)中的仿真结果所示,加窗处理过后的数据会直接输入给FFT IP核,同时拉高数据使能。数据从DDR3读出之后到加窗再到FFT这部分过程采用流水线处理的方式,整个过程仅延时2个100MHz时钟,大大节省了处理时间。FFT的通道数为8,配合一次从DDR3连续读出的8个距离采样点的数据,采用无压缩的定点FFT计算方式,进一步减少运算量。
步骤六中,因为FFT IP核输出的为无压缩的定点数,所以和输入相比位宽有所扩展。而SRIO传输的单个数据位宽为64位,为了配合SRIO接口,MTD结果的位宽也应该控制在64位。若对定点数进行截位处理,势必损失了系统的动态范围。所以本发明在此加入了定/浮点转换IP核,单精度浮点数能够表示的数据范围足以覆盖MTD定点结果的范围,且更利于浮点型DSP对MTD数据进行处理。为了保证数据的速率,本发明用面积换取时间,例化16个定/浮点转换IP同时转换8路数据的I,Q值。图7所示的是同一次ModelSim仿真中的不同点数MTD的结果,回波数据为发射信号经过衰减后直接接入接收机采集得来,其多普勒频率为0。从8、16、32、64点的MTD结果中可以看出,积累峰值的功率满足6dB的递增关系,证明MTD处理的结果正确。图8为Matlab计算得到的64点MTD结果与ModelSim仿真的结果对比,从两个结果中随机选取的几个点进行对比可以发现,FPGA对回波MTD处理的性能和Matlab处理的性能相当。
步骤七中,转换好的浮点型MTD结果写入到双口RAM之后,控制SRIO的模块会以64位的位宽读取计算结果,以Hello Packet传输包的形势发给DSP。其中SRIO配置为4线传输,每条线的波特率为3.125Gbaud,故整个SRIO链路的波特率为12.5Gbaud,足以在短时间内将一次8个距离采样点的MTD结果传输完毕。图9为实际系统中DSP从SRIO接收到的FPGA对回波的64点MTD结果,峰值功率高于仿真是因为在测试时降低了接收机的衰减值大小,使信号整体功率变大。证明本发明在实际系统上能够应用。
本发明针对LFMCW雷达系统对MTD处理的实时性和高吞吐率的要求,提出了一种可以在FPGA上实现LFMCW雷达MTD处理的方法。此方法能够充分利用FPGA的并行处理能力以及流水线处理、乒乓操作处理的高效率,配合DDR3 SDRAM的双倍数据速率和大容量的特点,解决了DSP的处理速度和FPGA存储空间的瓶颈问题。最后通过ModelSim仿真和实际系统测试证明了该方法的有效性和可靠性。
综上,本发明公开一种可以应用在LFMCW雷达系统上的,尤其是一种基于FPGA实现的MTD处理方法。属于雷达信号处理领域。一方面本发明用DDR3做回波数据的缓存,利用其存储结构实现回波快时间维到慢时间维的转换,同时DDR3在时钟上下边沿都能读写,保证了数据的高速传输,满足实时性处理的要求;另一方面选用可实时配置FFT点数的IP来对慢时间维数据做FFT运算,实现了MTD点数可实时更改,确保系统的灵活性。最后计算将计算结果进行定/浮点转换,保证处理结果的动态范围和精确性。FPGA对DDR3的读写通过有限状态机来控制完成,工作方式为乒乓缓存,交替向DDR3的两个存储块区进行读写操作。使FPGA有能力在高重频工作状态下对回波数据进行实时的MTD处理。本发明充分利用FPGA并行处理的优势,对数据进行流水线处理和乒乓操作,借助DDR3的高速存储,极大提升了MTD处理的计算速度。解决了传统的DSP+FPGA架构的信号处理机的速度瓶颈,有利于系统整体性能的提升。
Claims (4)
1.一种LFMCW雷达MTD处理的FPGA实现方法,其特征在于:步骤如下:
步骤一:将经过数字下变频后的数据通过两个FIFO进行乒乓缓存,读出存满的FIFO中的数据进行预处理,同时按照DSP所需的MTD点数M配置FFT IP核;
步骤二:将预处理截取后的快时间回波数据写入FPGA的双口RAM中,通过双口RAM进行回波预处理时钟域到DDR3读写时钟域的变换,同时实现数据位宽的转换;
步骤三:将双口RAM中的快时间回波数据读出,通过MIG IP的用户接口将数据按行写入DDR3中;
步骤四:待向DDR3中写完需要进行MTD处理的M个周期的快时间回波数据后,按列读出慢时间维的回波数据,同时根据周期数M确定汉明窗ROM的寻址步长,读出M个窗函数采样点与回波数据相乘,完成加窗处理降低旁瓣;
步骤五:将加窗后的数据输入给FFTIP核进行M点的定点FFT运算,等待IP核给出FFT结果;
步骤六:将得到的定点FFT结果输入到定/浮点转换IP,将大位宽的定点结果转换成32位单精度浮点数,写入到双口RAM中实现从DDR3读写时钟域到串行RapidIO用户接口时钟域的变换,同时实现数据位宽转换;
步骤七:将双口RAM中的FFT浮点计算结果读出,通过串行RapidIO接口将结果传给DSP做后续处理,重复步骤四到步骤七直至完成所有距离门回波的FFT运算,完成一次MTD处理。
2.根据权利要求1所述的一种LFMCW雷达MTD处理的FPGA实现方法,其特征在于:FPGA在对一个CPI的数据进行缓存之前,需要系统的主控器件给出所需的MTD点数,缺省时默认为64点;MTD点数即为需要做慢时间维FFT的点数,FPGA通过实时配置FFT IP核来实现任意点数MTD的处理。
3.根据权利要求1或2所述的一种LFMCW雷达MTD处理的FPGA实现方法,其特征在于:步骤二中的双口RAM,作用是时钟域转换和位宽转换。
4.根据权利要求3所述的一种LFMCW雷达MTD处理的FPGA实现方法,其特征在于:步骤四将窗函数例化到FPGA的ROM中,根据MTD点数M来更改ROM读取地址的自增步长,最后达到的效果是对原来的汉明窗进行M点的采样,利用单个窗函数表实现了不同长度的加窗处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649212.8A CN111830478B (zh) | 2020-07-08 | 2020-07-08 | 一种lfmcw雷达mtd处理的fpga实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649212.8A CN111830478B (zh) | 2020-07-08 | 2020-07-08 | 一种lfmcw雷达mtd处理的fpga实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111830478A CN111830478A (zh) | 2020-10-27 |
CN111830478B true CN111830478B (zh) | 2022-06-17 |
Family
ID=72900296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010649212.8A Active CN111830478B (zh) | 2020-07-08 | 2020-07-08 | 一种lfmcw雷达mtd处理的fpga实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111830478B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113109778B (zh) * | 2021-02-26 | 2023-06-30 | 西安电子科技大学 | 一种基于中断响应机制的多体制雷达预处理实现方法 |
CN116719004B (zh) * | 2023-08-10 | 2023-10-10 | 南京隼眼电子科技有限公司 | 雷达信号处理方法、装置、存储介质及雷达接收系统 |
CN116736234B (zh) * | 2023-08-15 | 2023-10-13 | 南京楚航科技有限公司 | 一种基于fpga的雷达数据采集方法、系统及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102680966A (zh) * | 2012-05-11 | 2012-09-19 | 青岛瑞普电气有限责任公司 | 一种fmcw船用导航雷达 |
CN102707271A (zh) * | 2012-05-31 | 2012-10-03 | 武汉大学 | 一种利用cmmb信号探测目标的系统及其方法 |
CN104022782A (zh) * | 2014-06-13 | 2014-09-03 | 哈尔滨工程大学 | 一种数字式多通道模拟信号发生方法 |
CN105446934A (zh) * | 2014-08-14 | 2016-03-30 | 南京理工大学 | 一种基于多核dsp的动目标及恒虚警检测系统 |
CN106970382A (zh) * | 2017-03-22 | 2017-07-21 | 武汉大学 | 一种基于外辐射源雷达无人机实时监测系统及方法 |
CN107942298A (zh) * | 2017-11-03 | 2018-04-20 | 西安电子科技大学 | 一种用户可配置参数的低速目标检测器及方法 |
CN109856599A (zh) * | 2018-12-24 | 2019-06-07 | 南京理工大学 | 一种基于dsp与服务器的阵列雷达信号处理系统及方法 |
CN111337896A (zh) * | 2020-03-25 | 2020-06-26 | 上海无线电设备研究所 | 一种实现动目标检测加速的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2369862T3 (es) * | 2006-11-02 | 2011-12-07 | Raytheon Canada Limited | Detector de blancos móviles para sistemas de radar. |
US9291710B2 (en) * | 2012-10-31 | 2016-03-22 | Board Of Regents, The University Of Texas System | Method and apparatus for detecting subsurface targets using data inversion and a temporal transmission line model |
US20150301158A1 (en) * | 2014-04-17 | 2015-10-22 | Terry Lee Foreman | Waveform Selection for Mitigation of Radar Saturating Clutter |
CN106021182B (zh) * | 2016-05-17 | 2018-11-30 | 华中科技大学 | 一种基于二维fft处理器的行转置架构设计方法 |
US11255945B2 (en) * | 2018-03-27 | 2022-02-22 | Polte Corporation | Multi-path mitigation in tracking objects using compressed RF data |
-
2020
- 2020-07-08 CN CN202010649212.8A patent/CN111830478B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102680966A (zh) * | 2012-05-11 | 2012-09-19 | 青岛瑞普电气有限责任公司 | 一种fmcw船用导航雷达 |
CN102707271A (zh) * | 2012-05-31 | 2012-10-03 | 武汉大学 | 一种利用cmmb信号探测目标的系统及其方法 |
CN104022782A (zh) * | 2014-06-13 | 2014-09-03 | 哈尔滨工程大学 | 一种数字式多通道模拟信号发生方法 |
CN105446934A (zh) * | 2014-08-14 | 2016-03-30 | 南京理工大学 | 一种基于多核dsp的动目标及恒虚警检测系统 |
CN106970382A (zh) * | 2017-03-22 | 2017-07-21 | 武汉大学 | 一种基于外辐射源雷达无人机实时监测系统及方法 |
CN107942298A (zh) * | 2017-11-03 | 2018-04-20 | 西安电子科技大学 | 一种用户可配置参数的低速目标检测器及方法 |
CN109856599A (zh) * | 2018-12-24 | 2019-06-07 | 南京理工大学 | 一种基于dsp与服务器的阵列雷达信号处理系统及方法 |
CN111337896A (zh) * | 2020-03-25 | 2020-06-26 | 上海无线电设备研究所 | 一种实现动目标检测加速的方法 |
Non-Patent Citations (3)
Title |
---|
ASICs design for an MTD radar;Hu guorong;《2nd International Conference on ASIC》;20020806;全文 * |
基于FPGA的雷达运动目标检测系统设计;黄蒙;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315(第3期);第4章 * |
无人机微多普勒特征实时提取的FPGA实现;莫禹涵;《应用科技》;20210330;第48卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111830478A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111830478B (zh) | 一种lfmcw雷达mtd处理的fpga实现方法 | |
Suleymanov | Design and implementation of an FMCW radar signal processing module for automotive applications | |
CN109946666B (zh) | 基于MPSoC的毫米波雷达信号处理系统 | |
CN201226025Y (zh) | 一种脉冲多普勒雷达信号处理器 | |
CN108169727B (zh) | 一种基于fpga的动目标雷达散射截面测量方法 | |
US20180231636A1 (en) | Increasing performance of a receive pipeline of a radar with memory optimization | |
CN107576950B (zh) | 一种脉冲压缩雷达回波信号的优化处理方法 | |
CN109613536B (zh) | 一种星载sar实时处理装置及方法 | |
CN102736074A (zh) | 基于fpga的激光多普勒雷达信号处理器及处理方法 | |
CN112986944B (zh) | 一种基于cuda异构并行加速的雷达mti和mtd实现方法 | |
CN112068098A (zh) | 一种单兵雷达高集成度信号处理系统及信号处理方法 | |
CN116136584B (zh) | 基于fpga及ddr4的大带宽超视距雷达距离模拟装置及方法 | |
CN105527609A (zh) | 基于dsp的pd雷达系统矩阵转置方法 | |
CN203133273U (zh) | 基于cpci总线的高频地波雷达数据采集和处理装置 | |
WO2023010788A1 (zh) | 雷达基带模块及雷达系统 | |
Rathor et al. | Digital implementation of radar receiver and signal processing algorithms | |
CN113109778A (zh) | 一种基于中断响应机制的多体制雷达预处理实现方法 | |
CN104821801A (zh) | 一种动目标检测滤波装置及方法 | |
CN116774156A (zh) | 基于单芯片平台的小型单脉冲雷达信号处理系统 | |
CN115951323A (zh) | 基于OpenCL的雷达信号自适应恒虚警率检测优化方法 | |
CN205157788U (zh) | 单频gnss信号窄带干扰抑制装置及多频gnss信号窄带干扰抑制系统 | |
KR101295061B1 (ko) | Fmcw 레이더 신호처리모듈 및 그의 메모리 관리 방법 | |
CN111208477B (zh) | 一种多通道雷达信号的预处理方法 | |
CN109239688B (zh) | 一种基于fpga实现的高效多普勒滤波器组 | |
CN112034443B (zh) | 一种雷达探测盲区计算方法及装置、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |