[发明专利]寻找最小值与次小值的一套低复杂度算法及硬件结构在审
申请号: | 201410150309.9 | 申请日: | 2014-04-15 |
公开(公告)号: | CN104009762A | 公开(公告)日: | 2014-08-27 |
发明(设计)人: | 崔伟伟;杨义;蒋学芹 | 申请(专利权)人: | 东华大学 |
主分类号: | H03M13/11 | 分类号: | H03M13/11 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 寻找 最小值 次小值 一套 复杂度 算法 硬件 结构 | ||
1.一种寻找最小值与次小值的一套低复杂度算法,其特征在于,针对2k个输入数据,其步骤为:
第一步、将2k个输入数据分为2k-1组,每组数据包含2个数据,使用2-mVG模块对每组数据进行比较,得到每组数据的较大值、较小值以及较小值的位置索引值,将与一组数据对应的较大值、较小值以及较小值的位置索引值归为一组2-mVG输出数据组,其中,2-mVG模块的作用是对2个输入值进行比较,输出较小值和较大值,并且给出较小值的位置索引值;
第二步、将第一步得到的每两组2-mVG输出数据组作为一个MCU模块的输入,通过MCU模块找出两组2-mVG输出数据组中的最小值、次小值以及最小值的位置索引值将其组合为一组MCU输出数据组,从而可以得到2k-2组MCU输出数据组,每个MCU模块包括一个2-mVG模块及一个mn0模块,设输入某个MCU模块的两组2-mVG输出数据组分别为{min1stA,min2ndA,cpA}和{min1stB,min2ndB,cPB},min1stA及min1stB分别为各组2-mVG输出数据组中的较小值,min2ndA及min2ndB分别为各组2-mVG输出数据组中的较大值,cpA及cpB分别为min1stA及min1stB的位置索引值,则步骤为:
步骤2.1、将min1stA、min1stB作为MCU模块的2-mVG模块的输入并比较大小,输出的较小值即为{min1stA,min2ndA,min1stB,min2ndB}中的最小值min1st,同时,将该2-mVG模块输出的较大值用z0表示;
步骤2.2、若min1st=min1stA,则cp=0,Z0=min1stB;若min1st=min1stB,则cp=1,ZO=min1stA;
步骤2.3、通过一个2选1数据选择器选择两组2-mVG输出数据组中最小值min1st所在的那组两个数据中的较大值,用z1表示,若cp=0,则z1=min2ndA,若cp=1,则z1=min2ndB;
步骤2.4、使用mn0模块对z0和z1进行比较,输出的较小值即为{min1stA,min2ndA,min1stB,min2ndB}的次小值,用min2nd表示,于此同时,用多位2选1数据选择器根据cp的值从cpA及cpB选择一个输出并和cp相与后输出的index值即为最小值min1st的位置索引值;
第三步、将第二步得到的2k-2组MCU输出数据组使用2k-3个MCU模块采用与步骤2.1至步骤2.4相同的方法得到2K-4组输出数据;
第四步、反复通过与第二步及第三步相同的步骤,直至最终获得2k个输入数据的最小值、次小值以及最小值的位置索引值。
2.一种寻找最小值与次小值的硬件结构,其特征在于,采用如权利要求1所述的寻找最小值与次小值的一套低复杂度算法,从左至右包含k层结构,左侧第一层是2K-1个2-mVG模块,右边k-1层中的每层包含2K-i个MCU模块,i=2,3,…,k。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410150309.9/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类