一种基于FPGA的潜在目标排序方法与流程

文档序号:12462834阅读:314来源:国知局

本发明涉及一种目标排序方法,特别是一种基于FPGA的潜在目标排序方法。



背景技术:

图像处理中目标识别需要根据某特征量对潜在目标进行排序。当使用DSP作为处理器进行排序时,通常采用冒泡排序法,即重复遍历要排序的数列,一次比较两个元素,如果顺序错误,则交换元素位置,直到没有再需要交换位置的元素。此方法耗时较长,用时不确定,当待排序目标较多时,往往不能满足实时性要求。



技术实现要素:

本发明目的在于提供一种基于FPGA的潜在目标排序方法,解决以往目标排序方法采用DSP作为处理器实时性较差的问题。

一种基于FPGA的潜在目标排序方法,其具体步骤为:

第一步 搭建基于FPGA的潜在目标排序系统

基于FPGA的潜在目标排序系统,包括:输入控制模块、并行比较模块、脉动排序模块和输出控制模块。输入控制模块实现对待排序数据集最大个数N的配置;并行比较模块用于并行比较待排序数据与已排序数据,并且设置标志位;脉动排序模块利用并行比较标志位进行数据排序;输出控制模块将排序完毕的数据依次存放到双口RAM中以供外部读取。设待排序数据集为{D_i},D_i均大于0,i=1,2,……,N,D_i的排序原则为从大到小。

第二步 输入控制模块实现对待排序数据集个数N的配置和待排序数据缓存

用户按照配置时序要求对待排序数据集个数N进行配置,输入控制模块实现对配置参数的锁存;通过FIFO对输入数据进行缓存,当检测到FIFO中可读数据个数达到N时,从FIFO中依次读出N个数据,送入并行比较模块。

第三步 并行比较模块并行比较待排序数据与已排序数据,并且设置标志位

排序的过程数据存放在元素个数为N的移位寄存器中,元素初值为0。D_i与移位寄存器中的N个数据进行并行比较,当D_i大于移位寄存器中的数据时,对应标志位设置为1;当D_i小于等于移位寄存器中的数据时,对应标志位设置为0。

第四步 脉动排序模块利用并行比较标志位进行数据排序

脉动排序模块根据移位寄存器中的N个标志位,找出D_i预插入移位寄存器中的位置。移位寄存器中标志位为1的数据顺序右移,D_i覆盖从左到右第一个标志位设置为1的寄存器值。

第五步 输出控制模块提供排序后数据集读取接口,以供外部读取

输出控制模块检测到第N个数据完成脉动排序后,将排序后的数据按照从大到小的顺序依次写入双口RAM中,其中首地址为最大值,并给出排序完成标志,以供外部读取。

本发明实现了对弹上图像处理中潜在目标的排序,利用并行比较结构,获得了比DSP等处理器更高的实时性。

具体实施方式

一种基于FPGA的潜在目标排序方法,其具体步骤为:

第一步 搭建基于FPGA的潜在目标排序系统

基于FPGA的潜在目标排序系统,包括:输入控制模块、并行比较模块、脉动排序模块和输出控制模块。输入控制模块实现对待排序数据集最大个数N的配置;并行比较模块用于并行比较待排序数据与已排序数据,并且设置标志位;脉动排序模块利用并行比较标志位进行数据排序;输出控制模块将排序完毕的数据依次存放到双口RAM中以供外部读取。设待排序数据集为{D_i},D_i均大于0,i=1,2,……,N,D_i的排序原则为从大到小。

第二步 输入控制模块实现对待排序数据集个数N的配置和待排序数据缓存

用户按照配置时序要求对待排序数据集个数N进行配置,输入控制模块实现对配置参数的锁存;通过FIFO对输入数据进行缓存,当检测到FIFO中可读数据个数达到N时,从FIFO中依次读出N个数据,送入并行比较模块。

第三步 并行比较模块并行比较待排序数据与已排序数据,并且设置标志位

排序的过程数据存放在元素个数为N的移位寄存器中,元素初值为0。D_i与移位寄存器中的N个数据进行并行比较,当D_i大于移位寄存器中的数据时,对应标志位设置为1;当D_i小于等于移位寄存器中的数据时,对应标志位设置为0。

第四步 脉动排序模块利用并行比较标志位进行数据排序

脉动排序模块根据移位寄存器中的N个标志位,找出D_i预插入移位寄存器中的位置。移位寄存器中标志位为1的数据顺序右移,D_i覆盖从左到右第一个标志位设置为1的寄存器值。

第五步 输出控制模块提供排序后数据集读取接口,以供外部读取

输出控制模块检测到第N个数据完成脉动排序后,将排序后的数据按照从大到小的顺序依次写入双口RAM中,其中首地址为最大值,并给出排序完成标志,以供外部读取。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1