System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据运算处理,尤其涉及一种基于流水线处理的中位值提取系统及实现方法。
技术介绍
1、目前的中位值提取需求的解决方案绝大多数是通过cpu、mcu之类的处理器执行排序算法后,选取处于排序后序列中间位置的数据的方法实现。这类实现方法虽然有着设计灵活的优势,但由于已被证明排序算法的时间复杂度下限为o(nlog(n)),即对于长度为n的序列,在cpu或mcu上执行排序需要的时间下限为n×log(n)单位排序次数,再加上cpu/mcu上的数据存取操作,执行时间将被再次延长。再考虑到cpu、mcu接口电路的复杂性,仅仅为排序和中位值提取功能引入一个cpu或mcu将大大增加设计的复杂度,同时对asic设计来说也将额外增加更多的面积。最重要的是,如果要以滑窗的方式实现中位值提取,传统的基于cpu、mcu的解决方案将不得不对每一次滑窗执行一次排序、检索中位值的操作,运算量将更进一步增大。
技术实现思路
1、基于上述技术问题,本专利技术提出了一种基于流水线处理的中位值提取系统及实现方法,通过基于硬件描述语言(hardware description language,简称为hdl)的代码设计实现灵活的电路规模按需控制,并提供流水线的输入输出能力。
2、第一方面,一种基于流水线处理的中位值提取系统,包括:
3、数据输入端口:按同步时钟节拍分拍依次输入待提取中位值的数据序列;
4、排序索引计算单元:缓存输入的数据序列,计算输入数据序列各项的排序位置索引,然后
5、中位值提取单元:包括一个n选一的复选器,复选器复选运算输出延迟为m拍;输入端连接至排序索引计算单元的输出端,选择序列的中位值并进行输出。
6、进一步,所述排序索引计算单元包括输入项索引初值计算器,还包括以下模块:
7、输入缓存器模块:存储输入数据,并延迟一拍输出给序列移阶寄存器模块;
8、序列移阶寄存器模块:设置有长度为预设的中位值提取序列长度n、比较器运算时延c和输入项排序索引统计器运算时延i之和的序列移阶寄存器;
9、输入项比较器模块:设置有将序列输入项与移阶寄存器各阶存储数据项做比较的输入项比较器阵列;
10、移出项比较器模块:设置有移出项比较器阵列,将移阶寄存器的移出项与各阶存储数据项做比较;
11、比较结果移阶寄存器模块:设置有比较结果移阶寄存器,将存储项、输入项和移出项的比较结果,同步到输入项排序索引初值输出时刻;
12、索引值更新器模块:设置n-1个存储项索引值更新器。
13、进一步,所述输入缓存器模块存储数据包括:被提取中位值的序列数据se、输入数据有效标志sev和输入序列结束标志sef,还包括可更新的输入序列区分标记sid;所述输入序列区分标记sid用于标记数据是否与相邻数据属于同一输入序列,属于同一输入序列的数据的输入序列区分标记sid具有相同的值,相邻输入序列数据的输入序列区分标记sid则相反。
14、进一步,所述序列移阶寄存器模块序列移阶寄存器每一阶数据包括:提取中位值的序列数据se、输入数据有效标志sev、输入序列结束标志sef和输入序列区分标记sid,还包括按阶更新的排序位置索引计数sidx;其中,输入阶序列移阶寄存器内容由所述提取中位值的序列数据se、设置为0的初始排序位置索引计数sidx、输入数据有效标志sev、输入序列结束标志sef和输入序列区分标记sid更新;其余各阶序列移阶寄存器中,提取中位值的序列数据se、输入数据有效标志sev和输入序列结束标志sef由上一阶寄存器的提取中位值的序列数据se、输入数据有效标志sev和输入序列结束标志sef更新,所述排序位置索引计数sidx按阶位取值范围的不同采用不同的更新方法进行更新。
15、另一方面,一种基于流水线处理的中位值提取系统实现方法,基于所述的一种基于流水线处理的中位值提取系统实现,包括以下步骤:
16、步骤s1:在中位值提取系统的数据输入端口,按同步时钟节拍分拍依次输入待提取中位值的序列;
17、步骤s2:序列输入后,排序索引计算单元中输入缓存器模块对输入序列数据进行存储,以延迟一拍输出给序列移阶寄存器模块,并对标记数据的输入序列区分标记sid进行更新;
18、步骤s3:统计存储数据项小于输入项的个数的方法是,为各存储项分配一比特标志位用于表示存储数据项是否小于输入项的状态:当存储数据项小于输入项时,该存储项对应的标志位设置为1,否则设置为0;
19、步骤s4:排序索引计算单元中序列移阶寄存器模块对属于同一序列的存储项的输入序列排序位置索引计数sidx进行更新,序列移阶寄存器模块的预移出端第i+n阶寄存器的数据有效后,将预移出端被提取中位值的序列数据se与前面n-1阶寄存器中与序列数据se属于同一输入序列中的数据项做比较,并将比较结果联合输入项与序列存储项的比较结果以及同一输入序列查询结果,确定序列存储项的排序位置索引计数sidx的更新值;
20、步骤s5:从移阶寄存器的最后一阶已存入数据项及其排序索引计数开始,即可查询第c+i阶到第n+c+i阶的排序索引计数值并检查是否等于其中表示向下取整运算,对排序索引计数值等于的项输出提取标志位1,否则输出提取标志位0,将各阶的提取标志位连同存储的数据项一起输出给中位值提取单元;
21、步骤s6:中位值提取单元选择排序索引计算单元输出的中位值提取标志位中值为1的标志位所对应的数据项作为最终的中位值输出。
22、进一步,所述输入序列区分标记sid更新包括:
23、上电初始值输入序列区分标记sid设定为1;
24、当输入的输入数据有效标志sev和输入缓存器的输入数据有效标志sev都是1、输入的输入序列结束标志sef是0而输入缓存器的输入序列结束标志sef是1时,在下一拍时钟周期更新输入序列区分标记sid为当前值的相反值;
25、其他情况下,输入序列区分标记sid的值保持当前值不变。
26、进一步,所述排序位置索引计数sidx的更新包括:
27、初始排序位置索引计数sidx设置为0;
28、第2阶到c+i-1阶的排序位置索引计数sidx由各自的上一阶位寄存器中的排序位置索引计数sidx更新;
29、第c+i阶的排序位置索引计数sidx由输入项排序索引统计器的输出值更新;
30、第c+i+1阶到c+i+n阶的排序位置索引计数sidx在各自阶位对应的前一阶寄存器的排序位置索引计数sidx值的基础上,根据第c+i阶到第c+i+n-1阶寄存器的存储项与输入数据项的比较结果以及同一序列查询结果和第i阶到第i+n-1阶寄存器的存储项与第i+n阶寄存器的存储项的比较结果以及同一序列查询结果,联合决定加1或减1或保持不变,对本阶的排序位置索引计数sidx进行更新。
本文档来自技高网...
【技术保护点】
1.一种基于流水线处理的中位值提取系统,其特征在于,包括:
2.根据权利要求1所述的一种基于流水线处理的中位值提取系统,其特征在于,所述排序索引计算单元包括输入项索引初值计算器,还包括以下模块:
3.根据权利要求2所述的一种基于流水线处理的中位值提取系统,其特征在于,所述输入缓存器模块的存储数据包括:被提取中位值的序列数据SE、输入数据有效标志SEV和输入序列结束标志SEF,还包括可更新的输入序列区分标记SID;所述输入序列区分标记SID用于标记数据是否与相邻数据属于同一输入序列,属于同一输入序列的数据的输入序列区分标记SID具有相同的值,相邻输入序列数据的输入序列区分标记SID则相反。
4.根据权利要求3所述的一种基于流水线处理的中位值提取系统,其特征在于,所述序列移阶寄存器模块序列移阶寄存器每一阶数据包括:提取中位值的序列数据SE、输入数据有效标志SEV、输入序列结束标志SEF和输入序列区分标记SID,还包括按阶更新的排序位置索引计数SIDX;其中,输入阶序列移阶寄存器内容由所述提取中位值的序列数据SE、设置为0的初始排序位置索引计数SID
5.一种基于流水线处理的中位值提取系统实现方法,基于权利要求1~4任意一项所述的一种基于流水线处理的中位值提取系统实现,其特征在于,包括以下步骤:
6.根据权利要求5所述的一种基于流水线处理的中位值提取系统实现方法,其特征在于,所述输入序列区分标记SID更新包括:
7.根据权利要求6所述的一种基于流水线处理的中位值提取系统实现方法,其特征在于,所述排序位置索引计数SIDX的更新包括:
8.根据权利要求6所述的一种基于流水线处理的中位值提取系统实现方法,其特征在于,所述同一序列的判定包括:
9.根据权利要求5所述的一种基于流水线处理的中位值提取系统实现方法,其特征在于,还包括输入序列排序位置索引计数SIDX的统计,统计方法包括查表法和二分累加法,具体包括:
10.根据权利要求9所述的一种基于流水线处理的中位值提取系统实现方法,其特征在于,对移阶寄存器中各阶的存储项与输入项、预移出项做比较用以计算存储项的排序索引计数时,需要同时判断两个条件是否成立:
...【技术特征摘要】
1.一种基于流水线处理的中位值提取系统,其特征在于,包括:
2.根据权利要求1所述的一种基于流水线处理的中位值提取系统,其特征在于,所述排序索引计算单元包括输入项索引初值计算器,还包括以下模块:
3.根据权利要求2所述的一种基于流水线处理的中位值提取系统,其特征在于,所述输入缓存器模块的存储数据包括:被提取中位值的序列数据se、输入数据有效标志sev和输入序列结束标志sef,还包括可更新的输入序列区分标记sid;所述输入序列区分标记sid用于标记数据是否与相邻数据属于同一输入序列,属于同一输入序列的数据的输入序列区分标记sid具有相同的值,相邻输入序列数据的输入序列区分标记sid则相反。
4.根据权利要求3所述的一种基于流水线处理的中位值提取系统,其特征在于,所述序列移阶寄存器模块序列移阶寄存器每一阶数据包括:提取中位值的序列数据se、输入数据有效标志sev、输入序列结束标志sef和输入序列区分标记sid,还包括按阶更新的排序位置索引计数sidx;其中,输入阶序列移阶寄存器内容由所述提取中位值的序列数据se、设置为0的初始排序位置索引计数sidx、输入数据有效标志sev、输入序列结束标志sef和输入序列区分标记sid更新;其余各阶序列移阶寄存器中,提取中位值的序列数据se、输入数据有效...
【专利技术属性】
技术研发人员:钟勇,
申请(专利权)人:成都天奥信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。