[发明专利]寻找最小值与次小值的一套低复杂度算法及硬件结构在审
申请号: | 201410150309.9 | 申请日: | 2014-04-15 |
公开(公告)号: | CN104009762A | 公开(公告)日: | 2014-08-27 |
发明(设计)人: | 崔伟伟;杨义;蒋学芹 | 申请(专利权)人: | 东华大学 |
主分类号: | H03M13/11 | 分类号: | H03M13/11 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种寻找最小值与次小值的一套低复杂度算法,其特征在于,针对2k个输入数据,其步骤为:将2k个输入数据分为2k-1组,使用2-mVG模块对每组数据进行比较,得到每组数据的较大值、较小值以及较小值的位置索引值;将第一步得到的每两组2-mVG输出数据组作为一个MCU模块的输入,通过MCU模块找出两组2-mVG输出数据组中的最小值、次小值以及最小值的位置索引值。反复通过执行直至最终获得2k个输入数据的最小值、次小值以及最小值的位置索引值。本发明的另一个技术方案是提供了一种寻找最小值与次小值的硬件结构。本发明减少在Min-Sum算法中进行大量的数据比较运算时使用的比较器的数量。 | ||
搜索关键词: | 寻找 最小值 次小值 一套 复杂度 算法 硬件 结构 | ||
【主权项】:
一种寻找最小值与次小值的一套低复杂度算法,其特征在于,针对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个输入数据的最小值、次小值以及最小值的位置索引值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410150309.9/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类