专利名称:一种峰值搜索方法及装置的利记博彩app
技术领域:
本发明涉及峰值搜索技术,尤其涉及一种峰值搜索方法及装置。
背景技术:
峰值搜索常用于小区搜索、多径搜索、时隙同步等应用场景,对于速度的要求比较高。例如,在长期演进(LTE,Long-Term Evolution)中,小区初搜时,每5ms进行15个4800 序列的搜索,其它处理大概需要420k周期(cycle);邻区搜索启动时,每5ms进行3个4800 序列的搜索,同时可能还会有下行接收、测量和邻区搜索等的其它任务。现有的峰值搜索电路,每次读入单个能量数据,并通过将读入的能量数据与之前得到的最大能量数据进行比较,直到各能量数据一一读取完毕时,才能得到能量数据的最大值,并需要反复进行正向、反向扫描,找到其他最大值,如申请号为200510098701.4的中国专利,就提出了一种WCDMA系统中峰值搜索的方法,现有的峰值搜索方法,扫描效率低, 功耗高,不能适应适量处理器高吞吐率的要求。
发明内容
有鉴于此,本发明的主要目的在于提供一种峰值搜索方法及装置,能够适应矢量处理器高吞吐率的要求。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种峰值搜索方法,所述方法包括获取多个能量数据,第一组比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,在完成所有需搜索能量数据的获取及筛选后,第一组比较电路得到主峰值候选人,第二组比较电路得到次峰值候选人;对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值。在上述方案中,所述第一组比较电路包括多个加法器、多个数据寄存器,第二组比较电路包括多个加法器、多个数据寄存器;所述第一比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,包括,对每个非首次获取的能量数据执行下述处理在非首次所获取的第k个能量数据的地址、与所述第一组比较电路中第k个第一地址寄存器当前保存的能量数据地址之间差值大于预设的清零阈值时,其中,k用于表示所获取能量数据的序号,为不小于零的整数;将所获取的第k个能量数据输入到第一组比较电路中第k个第一加法器,所述第 k个第一加法器将输入的第k个能量数据与所述第k个第一数据寄存器当前保存的数据进行比较当所述第k个能量数据大于所述第k个第一数据寄存器当前保存的能量数据时, 将所述第k个第一数据寄存器当前保存的主峰值候选人输入到所述第二组比较电路中第k个第二数据寄存器,将所述第k个第二数据寄存器当前的次峰值候选人更新为所述第k个第一数据寄存器当前保存的主峰值候选人,并将所述第k个第一数据寄存器当前保存的主峰值候选人更新为所述第k个能量数据;当所述第k个能量数据不大于所述第k个第一数据寄存器当前保存的主峰值候选人时,将所述第k个能量数据输入到所述第二比较电路的第k个第二加法器,所述第k个第二加法器将所述第k个能量数据与所述第k个第二数据寄存器当前保存的次峰值候选人进行比较,在所述第k个能量数据大于所述第k个第二数据寄存器当前保存的次峰值候选人时,将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据。在上述方案中,所述第一比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,包括,对每个非首次获取的能量数据执行下述处理在非首次获取的第k个能量数据的地址、与所述第一组比较电路中第k个第一地址寄存器当前保存的能量数据地址之间差值不大于预设的清零阈值时,将所获取的第k个能量数据输入到所述第k个第一加法器,所述第k个第一加法器将输入的第k个能量数据与所述第k个第一数据寄存器当前保存的主峰值候选人进行比较当所述第k个能量数据大于所述第k个第一数据寄存器当前保存的主峰值候选人时,将所述第k个第一数据寄存器当前保存的主峰值候选人更新为所述第k个能量数据;当所述第k个能量数据不大于所述第k个第一数据寄存器当前保存的主峰值候选人时,不更新所述第k个第一数据寄存器和第k个第二数据寄存器。在上述方案中,所述第一组比较电路还包括多个第一地址寄存器,所述第二组比较电路还包括多个第二地址寄存器;所述方法还包括更新所述第一组比较电路的第一数据寄存器时,相应的更新所述第一组比较电路中第一地址寄存器保存的主峰值候选人地址;更新所述第二组比较电路的第二数据寄存器时,相应的更新所述第二组比较电路中第二地址寄存器保存的次峰值候选人地址。在上述方案中,所述更新所述第一组比较电路的第一数据寄存器时,相应的更新所述第一组比较电路中第一地址寄存器保存的主峰值候选人地址,包括对每个非首次获取的能量数据执行下述处理对于在第k个第一数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据时,还将所述第k个第一地址寄存器当前保存的数据地址更新为所述第k个能量数据的地址;所述更新所述第二组比较电路的第二数据寄存器时,相应的更新所述第二组比较电路中第二地址寄存器保存的次峰值候选人地址,包括对每个非首次获取的能量数据执行下述处理将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据时,还将第k个第二地址寄存器当前保存的数据地址更新为所述第k个能量数据的地址;和/或,将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k 个第一数据寄存器当前保存的主峰值候选人时,还将第k个第二地址寄存器当前保存的数据地址更新为所述第k个第一地址寄存器当前保存的地址。在上述方案中,在所述获取多个能量数据之前,所述方法还包括
7
对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。在上述方案中,所述存储器每行存储有多个能量数据;所述获取多个能量数据,为从所述存储器中读取一行量数据。在上述方案中,所述在获取多个能量数据之前,所述方法还包括将所得到的主峰值候选人、次峰值候选人、主峰值候选人左右两边的预设清零阈值个数据、以及次峰值候选人左右两边的预设清零阈值个数据从所述所有需搜索的能量数据中清零。在上述方案中,所述对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值,包括最大值排序电路从所述第一组比较电路获取主峰值候选人,从所述第二组比较电路获取到次峰值候选人,并分别对所获取到的主峰值候选人、次峰值候选人进行排序、剔除假峰值、以及比较等处理,得到多个峰值。在上述方案中,在得到峰值之后,所述方法还包括验证所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则将所得到的峰值、以及所述峰值左右两边的一个或多个数据从所述所有需搜索的能量数据中清零后, 重复进行峰值搜索;否则,结束当前峰值搜索。本发明还提供了一种峰值搜索装置,所述装置包括第一组比较电路、第二组比较电路和最大值排序电路,其中,第一组比较电路,用于获取多个能量数据,并与所述第二组比较电路共同对所获取的多个能量数据进行筛选,得到主峰值候选人;第二组比较电路,用于获取多个能量数据,并与所述第一组比较电路共同对所获取的多个能量数据进行筛选,得到主峰值候选人;最大值排序电路,用于对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值。在上述方案中,所述装置还包括存储器和矢量处理器,其中,存储器,用于保存所有需搜索的能量数据; 矢量处理器,用于对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。在上述方案中,所述存储器,还用于每行存储多个能量数据;所述第一组比较电路和第二组比较电路,还用于从所述存储器中每次读取一行能量数据。在上述方案中,所述第一组比较电路包括多个第一加法器、和多个第一数据寄存器,所述第一加法器与所述第一数据寄存器一一对应并连接;所述第一加法器,用于获取多个能量数据,并对所获取的多个能量数据进行筛选, 得到主峰值候选人,并将得到的主峰值候选人保存到所述第一数据寄存器;所述第一数据寄存器,用于保存所述主峰值候选人。在上述方案中,所述第一组比较电路还包括多个第一地址寄存器,用于保存所述主峰值候选人的地址;
所述第一加法器,还用于将所得到主峰值候选人的地址保存到所述第一地址寄存器;其中,所述第一地址寄存器与所述第一加法器一一对应并连接,与所述第一数据寄存器一一对应并连接。在上述方案中,所述第二组比较电路包括多个第二加法器、和多个第二数据寄存器,所述第一加法器与所述第一数据寄存器一一对应并连接;所述第二加法器,用于获取多个能量数据,并对所获取的多个能量数据进行筛选, 得到次峰值候选人,并将得到的次峰值候选人保存到所述第二数据寄存器;所述第二数据寄存器,用于保存所述次峰值候选人。在上述方案中,所述第二组比较电路还包括多个第二地址寄存器,用于保存所述次峰值候选人的地址;所述第二加法器,还用于将所得到次峰值候选人的地址保存到所述第二地址寄存器;所述第二地址寄存器与所述第二加法器一一对应并连接,与所述第二数据寄存器一一对应并连接。在上述方案中,所述装置还包括循环控制电路和清零控制电路,其中,循环控制电路,用于验证所述第二组比较电路所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则通知所述清零控制电路进行清零,并启动所述第一组比较电路、第二组比较电路和最大值排序电路,重复进行峰值搜索;否则,结束当前峰值搜索;清零控制电路,用于在接收到所述循环控制电路的通知时,将所述第二组比较电路得到的峰值、以及所述峰值左右两边的一个或多个能量数据从存储有所有需搜索能量数据的存储器中清零。在上述方案中,所述清零控制电路,还用于将所述第一组比较电路得到的主峰值候选人和所述主峰值候选人左右两边的预设清零阈值个能量数据、以及第二组比较电路得到的次峰值候选人和次峰值候选人左右两边的预设清零阈值个能量数据,从存储有所有需搜索能量数据的存储器中清零。本发明所提供的峰值搜索方法及装置,每个时钟周期读出多个能量数据,并将所读取的多个能量数据进行两次并行比较,在对所有能量数据进行并行比较之后,得到主峰值候选人和次峰值候选人,再从所得到的主峰值候选人和次峰值候选人中筛选出峰值,扫描数据的过程中,多个数据按列、并行地比较,而且读数据和比较数据可以流线进行,中间不停顿,速度快,能够实现矢量处理器高吞吐率的要求,并且每轮扫描至少能够得到两个峰值,可以减少对存储器的读操作,节省功耗,并且兼顾峰值搜索的速度和硬件逻辑资源,如芯片的面积;此外,本发明的峰值搜索装置的核心部分只需要一系列加法器和寄存器即可实现,简单易实现,面积小,成本低。
图1为本发明峰值搜索方法的实现流程图;图2为本发明的峰值搜索装置的组成结构示意图;图3为本发明具体实施例中数据存储器的结构示意图4为本发明具体实施例中数据存储器每个仓库(bank)的结构示意图;图5为本发明具体实施例中峰值搜索模块的两组比较电路的组成结构示意图;图6为本发明具体实施例中峰值搜索模块的最大值排序电路(maX_SOrt)电路的组成结构示意图。
具体实施例方式本发明的基本思想是每次获取多个能量数据,并通过多个加法器进行比较,再根据比较结果更新所保存的能量数据;直到所有需搜索的能量数据均获取并比较之后,将所保存的各能量数据再进行比较,得到峰值,如此,多个能量数据并行进行比较,速度快,峰值搜索效率高,能够适应矢量处理器高吞吐率的要求。本发明的峰值搜索方法,参照图1所示,主要包括以下步骤步骤101 获取多个能量数据,第一组比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,在完成所有需搜索能量数据的获取及筛选后,第一组比较电路得到主峰值候选人,第二组比较电路得到次峰值候选人;步骤102 对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值。其中,第一组比较电路包括多个第一加法器、多个第一数据寄存器,第二组比较电路包括多个第二加法器、多个第二数据寄存器。其中,所述第一加法器与所述第一数据寄存器一一对应并连接,所述第二加法器与所述第二数据寄存器一一对应并连接。具体地,在步骤101中,对每个非首次获取的能量数据执行下述处理,实现能量数据的筛选在非首次所获取的第k个能量数据的地址、与所述第一组比较电路中第k个第一地址寄存器当前保存的能量数据地址之间差值大于预设的清零阈值时,其中,k用于表示所获取能量数据的序号,为不小零的整数,如果当前共获取到P (P为大于ι的整数)个能量数据,k的取值可以是0、1、2、3.....p-1 ;将所获取的第k个能量数据输入到第一组比较电路中第k个第一加法器,所述第 k个第一加法器将输入的第k个能量数据与所述第k个第一数据寄存器当前保存的数据进行比较;当所述第k个能量数据大于所述第k个第一数据寄存器当前保存的能量数据时, 将所述第k个第一数据寄存器当前保存的主峰值候选人输入到所述第二组比较电路中第k 个第二数据寄存器,将所述第k个第二数据寄存器当前的次峰值候选人更新为所述第k个第一数据寄存器当前保存的主峰值候选人,并将所述第k个第一数据寄存器当前保存的主峰值候选人更新为所述第k个能量数据;当所述第k个能量数据不大于所述第k个第一数据寄存器当前保存的主峰值候选人时,将所述第k个能量数据输入到所述第二比较电路的第k个第二加法器,所述第k个第二加法器将所述第k个能量数据与所述第k个第二数据寄存器当前保存的次峰值候选人进行比较,在所述第k个能量数据大于所述第k个第二数据寄存器当前保存的次峰值候选人时,将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据。这里,所述清零阈值表示主峰值或次峰值左右两边需清除/屏蔽的数据个数。这里,在步骤101中,上述对每个非首次获取的能量数据执行处理,实现能量数据筛选的过程还可以包括在非首次获取的第k个能量数据的地址、与所述第一组比较电路中第k个第一地址寄存器当前保存的能量数据地址之间差值不大于预设的清零阈值时,将所获取的第k个能量数据输入到所述第k个第一加法器,所述第k个第一加法器将输入的第k个能量数据与所述第k个第一数据寄存器当前保存的主峰值候选人进行比较;当所述第k个能量数据大于所述第k个第一数据寄存器当前保存的主峰值候选人时,将所述第k个第一数据寄存器当前保存的主峰值候选人更新为所述第k个能量数据;当所述第k个能量数据不大于所述第k个第一数据寄存器当前保存的主峰值候选人时,不更新所述第k个第一数据寄存器和第k个第二数据寄存器。这里,所述第一组比较电路还包括多个第一地址寄存器,所述第二组比较电路还包括多个第二地址寄存器,其中,所述第一地址寄存器与所述第一加法器一一对应并连接, 与所述第一数据寄存器一一对应并连接,所述第二地址寄存器与所述第二加法器一一对应并连接,与所述第二数据寄存器一一对应并连接。在上述筛选过程中,更新所述第一组比较电路的第一数据寄存器时,相应的更新所述第一组比较电路中第一地址寄存器保存的主峰值候选人地址;更新所述第二组比较电路的第二数据寄存器时,相应的更新所述第二组比较电路中第二地址寄存器保存的次峰值候选人地址。具体地,在第k个第一数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据时,还将所述第k个第一地址寄存器当前保存的数据地址更新为所述第k个能量数据的地址;将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据时,还将第k个第二地址寄存器当前保存的数据地址更新为所述第k个能量数据的地址;将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个第一数据寄存器当前保存的主峰值候选人时,还将第k个第二地址寄存器当前保存的数据地址更新为所述第k个第一地址寄存器当前保存的地址。在获取多个能量数据之前,所述方法还包括将所述第一组比较电路中的各第一数据寄存器、和/或第一地址寄存器清零。在首次获取能量数据,并进行筛选时,所述方法还包括将首次获取的能量数据分别输入到第一组比较电路中的各第一数据寄存器中保存,并对所述第二组比较电路中的各
第二数据寄存器清零。同时,还可以将首次获取的能量数据的地址输入到第一组比较电路中的各第一地址寄存器中保存,并对所述第二组比较电路中的各第二地址寄存器清零。这里,在获取多个能量数据之前,所述方法还可以包括将所得到的主峰值候选人、次峰值候选人、主峰值候选人左右预设清零阈值个能量数据、以及次峰值候选人左右预设清零阈值个能量数据从所述所有需搜索的能量数据中清零。如果是首次进行筛选,则不需要在获取能量数据之前进行上述的清零操作。实际应用中,一轮扫描结束后,如果找到i个峰值,且i小于需搜索的峰值个数n, 那么在进行下一轮扫描之前,必须先将已找到的各个峰值、以及各个峰值左右两边预设的清零阈值个能量数据清零。在所述获取多个能量数据之前,所述方法还可以包括对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部, 得到所述能量数据并保存到存储器中。其中,所述存储器每行存储有多个能量数据;所述获取多个能量数据,为从所述存储器中读取一行能量数据。其中,对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值,可以包括最大值排序电路(maX_SOrt电路) 从所述第一组比较电路获取主峰值候选人,从所述第二组比较电路获取到次峰值候选人, 并分别对所获取到的主峰值候选人、次峰值候选人进行排序、剔除假峰值、以及比较等处理,得到多个峰值。具体地,max_sort电路分别对主峰值候选人、以及次峰值候选人按照从大到小进行排序,并进行剔除假峰值处理;再将最大的次峰值候选人与各主峰值候选人进行比较,如果所述最大的次峰值候选人小于最小的主峰值候选人,则确定所有主峰值候选人、以及所有次峰值候选人为峰值,否则,将大于所述最大次峰值候选人的各主峰值候选人、以及所述最大次峰值候选人确定为峰值。其中,在得到峰值之后,所述方法还可以包括验证所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则将所得到的峰值、以及所述峰值左右两边的一个或多个数据从所述所有需搜索的能量数据中清零,并重复进行上述的峰值搜索;否则,结束当前峰值搜索。相应的,本发明还提供了一种峰值搜索装置,所述装置包括第一组比较电路、第二组比较电路和最大值排序电路,其中,第一组比较电路,用于获取多个能量数据,并与所述第二组比较电路共同对所获取的多个能量数据进行筛选,得到主峰值候选人;第二组比较电路,用于获取多个能量数据,并与所述第一组比较电路共同对所获取的多个能量数据进行筛选,得到主峰值候选人;最大值排序电路,用于对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值。具体地,所述第一组比较电路包括多个第一加法器、和多个第一数据寄存器,所述第一加法器与所述第一数据寄存器一一对应并连接;所述第一加法器,用于获取多个能量数据,并对所获取的多个能量数据进行筛选,得到主峰值候选人,并将得到的主峰值候选人保存到所述第一数据寄存器;所述第一数据寄存器,用于保存所述主峰值候选人。其中,所述第一组比较电路还包括多个第一地址寄存器,用于保存所述主峰值候选人的地址;所述第一加法器,还用于将所得到主峰值候选人的地址保存到所述第一地址寄存器;其中,所述第一地址寄存器与所述第一加法器一一对应并连接,与所述第一数据寄存器一一对应并连接。具体地,所述第二组比较电路包括多个第二加法器、和多个第二数据寄存器,所述第一加法器与所述第一数据寄存器一一对应并连接。所述第二加法器,用于获取多个能量数据,并对所获取的多个能量数据进行筛选,得到次峰值候选人,并将得到的次峰值候选人保存到所述第二数据寄存器;所述第二数据寄存器,用于保存所述次峰值候选人。其中,所述第二组比较电路还包括多个第二地址寄存器,用于保存所述次峰值候选人的地址;所述第二加法器,还用于将所得到次峰值候选人的地址保存到所述第二地址寄存器;所述第二地址寄存器与所述第二加法器一一对应并连接,与所述第二数据寄存器一一对应并连接。其中,所述装置还包括存储器和矢量处理器,其中,存储器,用于保存所有的能量数据;矢量处理器,用于对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中;这里,所述存储器,还用于每行存储多个能量数据;所述第一组比较电路和第二组比较电路,还用于从所述存储器中每次读取一行能量数据。所述装置还包括循环控制电路和清零控制电路,其中,循环控制电路,用于验证所述第二组比较电路所得到峰值的个数是否已达到预设的峰值个数阈值,如果不是,则通知所述清零控制电路进行清零,并启动所述第一组比较电路、第二组比较电路和最大值排序电路,重复进行峰值搜索;否则,不通知所述清零控制电路,结束当前峰值搜索;清零控制电路,用于在接收到所述循环控制电路的通知时,将所述第二组比较电路得到的峰值、以及所述峰值左右两边的一个或多个能量数据从存储有所有需搜索能量数据的存储器中清零。这里,所述清零控制电路,还可以用于将所述第一组比较电路得到的主峰值候选人和所述主峰值候选人左右两边的预设清零阈值个能量数据、以及第二组比较电路得到的次峰值候选人和次峰值候选人左右两边的预设清零阈值个能量数据,从存储有所有需搜索能量数据的存储器中清零。实施例一实际应用中,峰值搜索前的计算任务由矢量处理器来完成,峰值搜索的过程可以由硬件加速器来实现。如图2所示,峰值搜索装置可以包括射频接收模块、数据存储器、矢量处理器和峰值搜索模块,其中,射频接收模块,用于接收ADC采样的数据,并将所得到的采用数据存储到数据存储器;矢量处理器,用于从所述数据存储器读取采样数据,对所读取的采样数据进行处理后,得到能量数据,并将所得到的能量数据保存到数据存储器;峰值搜索模块,用于从数据存储器中读取能量数据,进行峰值搜索处理,找到需要的峰值,将所找到的峰值保存,并返回给所述矢量处理器。具体地,射频接收模块通过接收ADC采样的数据,并将采样数据存储到数据存储器,矢量处理器从所述数据存储器中读取采样数据,并对采样数据进行相关运算、过滤运算、取模运算处理后,提取实部,得到能量数据,将所得到的能量数据再保存到所述数据存储器中;在矢量处理器对峰值搜索模块进行参数设置后,峰值搜索模块从数据存储器中读取能量数据,进行峰值搜索处理,找到峰值,并返回给矢量处理器。实际应用中,矢量处理器对采样数据进行处理的过程可以包括矢量处理器以流水线的方式从数据存储器中读取采样数据,再进行下行采样数据与主同步序列(PSS)相关和滤波等运算,将所得到的运算结果(包括I通道的相关、滤波后的结果和Q通道相关、滤波后的结果)存储到数据存储器中,进行取模运算处理时,再从数据存储器中读取上述相关和过滤后的结果进行取模运算处理,之后,从取模运算处理的结果中再提取实部,得到能量数据,再将所得到的能量数据写入到数据存储器中。其中,矢量处理器按照公式(1)进行取模运算处理后,所得到结果的实部为能量数据,保存于数据存储器的低16比特,所得到结果中的虚部为0,保存于数据存储器的高16比特。\r\=r r* =Re2+Im2其中,?表示一个复数信号,Re为?的实部,Im为F的虚部。原先每个bank存储ρ/2 个数据,执行提取实部的压缩处理后,将数据虚部的空位去掉,则数据存储器的一个bank 就存储了 P个能量数据,如此,不仅压缩/节省了数据存储器的存储空间,并且,在后续进行峰值搜索时,数据存储器的组织结构决定了峰值搜索模块能够一次读出多个能量数据,读取能量数据的效率会相应提高一倍,并行搜索的吞吐率也可以提高一倍。实际应用中,矢量处理器可以通过一个提取实部的指令来进行上述的提取实部的处理。具体地,为了适应矢量处理器的吞吐率,所述数据存储器具有以下结构特征数据存储格式为复数能量^r = Re+)1111 ,用32比特的单元来存储一个复数能量数据,其中低16比特为实部,高16比特为虚部;如图3所示,存储器宽度(width)为16*P*4比特(P为大于0 的偶数),分为4个bank,每个bank有P/2个32比特的存储单元,矢量处理器能够一次读取存储器的一列数据,即P*2个能量数据。如果矢量处理器只进行相关运算、滤波运算等操作过后,不进行提取实部的操作,然后将结果写回存储器中,那么,其结果还是存储器的一列有P*2个能量数据,但是每个32比特的存储单元将存放着复数能量的模值,其高16比特为 0,低16比特为实部(不为0),而实际上,峰值搜索中包含提取实部的操作,即在相关运算、 滤波运算后,紧接着用提取实部的指令进行提取实部的操作,然后将结果写回存储器中,那么存储器的一列存放(16*P*4)/16 = P*4个能量数据,即一个32比特的单元存放着两个能量数据,一个bank能存放P个能量数据,如图4所示。前面描述了矢量处理器能一次访问存储器的4个bank的同一列数据,而峰值搜索模块则每次可以访问存储器的某一个bank的一行,即16*P比特的数据,也即P个能量数据 (如果矢量处理器没有进行过提取实部的操作,那么每次读写的是P/2个数据)。实际应用中,所述数据存储器可以是同步静态存储器(ssram)。其中,矢量处理器还用于对所述峰值搜索模块进行参数设置。峰值搜索模块根据所述矢量处理器的参数设置,对读取到的能量数据进行峰值搜索处理。其中,峰值搜索模块可以由硬件加速器来实现,可以访问数据存储器,每次从数据存储器中读出16*p比特的能量数据,即读出ρ个能量数据,并以流水线的方式,对每次读取的能量数据分两次来进行比较,即将每次读取的能量数据同时送到第一组比较电路和第二组比较电路并进行比较,所有能量数据均读取并比较后,对所述比较的结果进行筛选,找到峰值搜索,每轮扫描可以找到多个峰值。峰值搜索模块主要可以包括两组比较电路和一个maX_SOrt电路,其中,由两组比较电路对数据存储器逐行进行扫描,获取能量数据,同时,对获取到的每行能量数据进行比较筛选后,得到峰值候选人,再由maX_SOrt电路对得到的峰值候选人进行筛选,得到峰值。 其中,两组比较电路结构相似,第一组比较电路从所获取能量数据中得到主峰值候选人,第二组比较电路从所获取能量数据中得到次峰值候选人,在完成所有需搜索的能量数据均读取筛选后,max_sort电路从第一组比较电路获取主峰值候选人,从第二组比较电路获取到次峰值候选人,分别对所获取到的主峰值候选人、次峰值候选人进行排序、剔除假峰值、以及比较等处理,得到多个峰值。如此,一轮搜索后,可以搜索到2到2p个峰值,ρ为每行所读取能量数据的数目。如果这时找到的峰值个数还小于预设的峰值个数阈值n,则继续进行下一轮扫描,直到找到的峰值个数达到预设的峰值个数阈值η为止。如图4所示,第一组比较电路中包含ρ个第一加法器、P个第一数据寄存器max_ vec0[]、p个第一地址寄存器addr_vec0 □,其中,第一组比较电路中的各第一加法器用于得到所读数据列中的最大值,即用于得到主峰值候选人,第一数据寄存器maX_vec0[]用于存储主峰值候选人,例如,图5中用虚线框标示的maX_vec0[p]用于存储第ρ个主峰值候选人,第一地址寄存器addr_vecO[]用于存储主峰值候选人的地址;第二组比较电路包含ρ个第二加法器、P个第二数据寄存器maX_vecl[]和ρ个第二地址寄存器addr_vecl[]。其中, 第二组比较电路中的各第二加法器用于得到所读数据列的次大值,即用于得到次峰值候选人,第二数据寄存器maX_vecl[]用于存储次峰值候选人,第二地址寄存器addr_vecl[]用于存储次峰值候选人的地址。如图5所示,max_sort电路包括ρ个比较单元,每个比较单元包括一个加法器、一个数据寄存器和一个地址寄存器。实际应用中,如果数据存储器中一个bank存储了 ρ个能量数据,其中,ρ为大于0 的整数,一次读入P个能量数据到第一组比较电路,为实现并行比较,第一组比较电路中需要包含P个加法器,第二组比较电路也需要包含P个加法器。也可以根据实际需要并行处理的能量数据的数量,调整第一组比较电路中加法器的数量。具体地,峰值搜索模块进行峰值搜索处理的过程,具体流程如下步骤0 矢量处理器在峰值搜索模块中写入要配置的峰值搜索参数,为峰值搜索模块配置峰值搜索参数;具体地,矢量处理器所配置的峰值搜索参数可以包括表示要读取能量数据地址的源数据地址srC_data_addr、要读取能量数据的数据长度data_len、峰值个数阈值η、主峰值候选人或次峰值候选人左右两边需清除/屏蔽的数据个数即清零阈值m、主峰值的地址addrjecO、次峰值的地址addr_Vecl、数据存储器中用于存放峰值的地址Dest_add、用于表示存储于寄存器还是数据存储器的参数dest_sel等。实际应用中,峰值左右两边需清除/屏蔽的数据个数m为经验参数,如果滤波效果好、或者射频信号的信噪比高,可以设置较小的数值。步骤1 启动之时,清零控制电路将第一组比较电路中的ρ个数据寄存器、以及ρ 个地址寄存器清零。步骤2 首次读入的ρ个能量数据,直接存放到第一数据寄存器maX_VeC0 [],并将第二数据寄存器maX_vecl[]清零。这里,每时钟周期可以读进ρ个能量数据,ρ为大于0的整数,与保存能量数据的数据存储器的组织结构有关,具体可以为数据存储器每行所保存的能量数据个数。步骤3 验证所述数据存储器中是否有还有未读取的能量数据,如果是,则从保存有能量数据的数据存储器中读取P个能量数据,并继续步骤4,否则,继续步骤6 ;步骤4 分别对所读取的ρ个数据中每个能量数据执行下述处理过程,找到主峰值候选人和次峰值候选人,继续步骤5 步骤A,得到当前读入第k个能量数据的地址addr_CUr、与第一组比较电路中第 k个第一地址寄存器addr_VecO[k]当前保存的主峰值候选人地址addr_pre之间的差值 addr_gap,判断得到的差值addr_gap是否大于清零阈值m,如果是,则继续步骤B ;否则,继续步骤F;
步骤B,将读进来的第k个能量数据k到第一组比较电路的第k个第一加法器,第 k个第一加法器将输入的第k个能量数据、与第k个第一数据寄存器maX_VeC0 [k]当前保存的主峰值候选人进行比较,如果第k个能量数据大于第k个第一数据寄存器maX_vec0 [k] 当前保存的主峰值候选人,则继续步骤C ;否则,继续步骤D ;步骤C,对第k个第一数据寄存器maxjecO [k]和第k个第二数据寄存器max_ vecl[k]进行更新,第k个第二加法器将第k个第一数据寄存器maX_VeC0[k]当前所保存主峰值候选人的取值输入到第k个第二数据寄存器maX_vecl [k],第k个第二数据寄存器 max_vecl[k]将自身当前所保存次峰值候选人的取值修改为所述第k个第一数据寄存器 max_vecO[k]当前保存的主峰值候选人的取值,并且,第k个第一加法器将读入的第k个能量数据输入到第k个第一数据寄存器maxjecO [k],第k个第一数据寄存器maxjecO [k]将自身当前所保存主峰值候选人的取值修改为所述第k个能量数据;同时,第k个第二加法器将第k个第一地址寄存器addr_VeC0[k]当前保存的主峰值候选人的地址输入到第k个第二地址寄存器addr_vecl [k],第k个第二地址寄存器 addr_vecl[k]将自身当前保存次峰值候选人的地址修改为所述第k个第一地址寄存器 addr_vecO[k]当前保存的主峰值候选人地址;并且,第k个第一加法器将读入的第k个能量数据的地址输入到第k个第一地址寄存器addr_vecl [k],第k个第一地址寄存器addr_ vecl[k]将自身当前保存的主峰值候选人地址修改为所述第k个能量数据的地址;步骤D,将读进来的能量数据k输入到第二组比较电路的第k个第二加法器,第k 个第二加法器将输入的第k个能量数据、与第k个第二数据寄存器maX_VeCl[k]当前保存的次峰值候选人进行比较,如果第k个能量数据大于第k个第二数据寄存器maX_vecl [k] 当前保存的次峰值候选人,则继续步骤E ;否则,结束当前流程;步骤E,第k个第二加法器对第k个第二数据寄存器maX_VeCl[k]进行更新,将读入的第k个能量数据输入到第k个第二数据寄存器maX_vecl [k]中,第k个第二数据寄存器maX_vecl [k]自身当前保存次峰值候选人的取值修改为所述第k个能量数据;同时,第k个第二加法器将读入的第k个能量数据的地址输入到第k个第二地址寄存器addr_vecl [k],第k个第二地址寄存器addr_vecl [k]将自身当前保存的次峰值候选人地址修改为所述第k个能量数据的地址,结束当前流程。步骤F,将读进来的第k个能量数据k输入到第k个第一加法器,第k个第一加法器将输入的第k个能量数据、与第k个第一数据寄存器maX_vec0[k]当前保存的主峰值候选人进行比较,如果第k个能量数据大于第k个第一数据寄存器maX_vec0 [k]当前保存的主峰值候选人,则继续步骤G ;否则,结束当前流程;步骤G,对第k个第一数据寄存器maX_VeC0[k]进行更新,第k个第一加法器将读入的第k个能量数据输入到第k个第一数据寄存器maX_vec0 [k],第k个第一数据寄存器 max_vecO[k]将自身当前保存的主峰值候选人的取值修改为所述第k个能量数据,结束当前流程。同时,第k个第一加法器将读入的第k个能量数据的地址输入到第k个第一地址寄存器addr_vec0 [k],第k个第一地址寄存器addr_vec0 [k]将自身当前保存的主峰值候选人地址修改为所述第k个能量数据的地址,结束当前流程。步骤5 将所得到的主峰值候选人、次峰值候选人、主峰值候选人左右两边的清零阈值m个数据、以及次峰值候选人左右两边的清零阈值m个数据从数据存储器中清零/屏蔽,并返回步骤3;实际应用中,需要在每次扫描峰值后进行清零/屏蔽操作。如此,data_len/p个周期后,所有的能量数据读完之后,第一数据寄存器maX_ vec0[]保存ρ个主峰值候选人,第二数据寄存器maX_vecl[]保存ρ个次峰值候选人。步骤6 :max_sort电路将所述第一组比较电路中的各数据寄存器保存的主峰值候选人和第二组比较电路中各数据寄存器保存的次峰值候选人进行筛选,找到两个或多个峰值,具体流程如下步骤a :max_sort电路从第一组比较电路中各数据寄存器获取主峰值候选人、以及从第二组比较电路中各数据寄存器获取次峰值候选人,分别对所获取主峰值候选人、以及次峰值候选人按照从大到小进行排序,并进行剔除假峰值处理;步骤b :max_sort电路将所述次峰值候选人中最大的次峰值候选人、与各主峰值候选人进行比较,如果所述最大的次峰值候选人小于所述主峰值候选人中最小的主峰值候选人,则确定所有主峰值候选人、以及所有次峰值候选人为要搜索的峰值,否则,将大于所述最大次峰值候选人的各主峰值候选人、以及所述最大的次峰值候选人确定为峰值。为避免搜索到假峰值,在对各主峰值候选人、以及次峰值候选人进行排序的时候, 还需要剔除各主峰值候选人、以及次峰值候选人中的假峰值。这里,所述假峰值是指为所述主峰值候选人、和/或次峰值候选人左右两边清零阈值个能量数据中任意一个能量数据的峰值。实际应用中,对主峰值候选人进行排序以及剔除假峰值的过程可以是步骤c,max_sort电路从第一个数据寄存器maxjecO []首次读入主峰值候选人, 同时,从第一个地址寄存器addr_vecO[]读取该主峰值候选人的地址,并将该主峰值候选人存为maxO、将max_l,max_2, . . .,max_p-l清零,将该主峰值候选人的地址存为addr_0, M addr_l, . . . , addr_p-l ;步骤d,maX_SOrt电路验证是否已经读取了 ρ个主峰值候选人,如果是,则继续h, 否则,继续步骤e ;步骤e,max_sort电路继续从第一个数据寄存器maxjecO []读入主峰值候选人, 同时,从第一个地址寄存器addr_vecO[]读取该主峰值候选人的地址;步骤f,max_sort电路将所读入的主峰值后选人与max_0、max_l、. . .、max_p_l进
行比较,同时,将所读入主峰值后选人的地址与addr_0、addr_l.....addr_p-l之间的差值
和清零阈值m进行比较;步骤g,根据步骤f的比较结果,maX_SOrt电路将该读入的主峰值候选人存为max_ k(k为0、1、2,... , P-1),并将该主峰值候选人的地址存为对应的addr_k ;本步骤中的操作牵涉到max_0,max_l,. . .,max_p-l之间的拷贝和移位操作。例如,如果所读入的主峰值候选人小于max_l中的数据且大于max_2,且主峰值候选人的地址addr_in与地址addr_l的差值大于清零阈值m、主峰值候选人的地址addr_ in与地址addr_2的差值大于清零阈值m,则将max_2存为max_3,将所读入的主峰值候选人存为max_2 ;如果所读入的主峰值候选人小于max_l且大于max_2,且主峰值候选人的地址addr_in与地址addr_l的差值大于清零阈值m、主峰值候选人的地址addr_in与地址addr_2的差值不大于清零阈值m,则maX_2为假峰值,是无效的,此时,只须将maX_l存为 max_2,如此类推。步骤h,max_sort电路完成对ρ个主峰值候选人的从大到小排序,得到主峰值候选人序列(max_0,max_l, ...,max_p-l)以及相对应的主峰值候选人地址序列(addr_0, addr_l,.. . , addr_p-l);同理,maX_SOrt电路可以对第二数据寄存器maxjecl []中的ρ个次峰值候选人进行从大到小排序,同时,将其中的假峰值剔除掉,得到次峰值候选人序列(smaX_0, smax_l, . . .,smax_p-l)和相对应的次峰值候选人地址序列(saddr_0,saddr_l,..., saddr_p-l)。最后,max_sort电路将次峰值候选人序列中的最大值smaxj)分别与主峰值候选人序列(max_0,max_l, . . .,max_p-l)中的各主峰值候选人进行比较,如果max_ k-1 < smax_0 < max_k, k = 0,1,…,p-1,贝U,将 max_0, max_l,…,max_k 中的 k 个主峰值候选人、以及次峰值候选人序列中的最大值smaX_0确定为峰值,最终搜索到k 个峰值;如果smax_0小于主峰值候选人中的最小值maX_p-l,则将次峰值候选人序列 (smax_0, smax_l, . . .,smax_p-l)中的ρ个次峰值候选人、以及主峰值候选人序列(max_0, max_l, ... , max_p-l)中的ρ个主峰值候选人确定为峰值,最终搜索到2*ρ个最大值。实际应用中,在能量数据中的比较大的数据比较分散的情况下,第一数据寄存器 max_vec0[]中ρ个主峰值候选人的地址差值大于m,第二数据寄存器maxjecl []中的ρ个次峰值候选人的地址差值也大于m,找到峰值数目的概率如下表1所示,其中,χ取决于第二组比较电路筛选出的峰值个数。
权利要求
1.一种峰值搜索方法,其特征在于,所述方法包括获取多个能量数据,第一组比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,在完成所有需搜索能量数据的获取及筛选后,第一组比较电路得到主峰值候选人,第二组比较电路得到次峰值候选人;对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值。
2.根据权利要求1所述峰值搜索方法,其特征在于,所述第一组比较电路包括多个加法器、多个数据寄存器,第二组比较电路包括多个加法器、多个数据寄存器;所述第一比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,包括, 对每个非首次获取的能量数据执行下述处理在非首次所获取的第k个能量数据的地址、与所述第一组比较电路中第k个第一地址寄存器当前保存的能量数据地址之间差值大于预设的清零阈值时,其中,k用于表示所获取能量数据的序号,为不小于零的整数;将所获取的第k个能量数据输入到第一组比较电路中第k个第一加法器,所述第k个第一加法器将输入的第k个能量数据与所述第k个第一数据寄存器当前保存的数据进行比较当所述第k个能量数据大于所述第k个第一数据寄存器当前保存的能量数据时,将所述第k个第一数据寄存器当前保存的主峰值候选人输入到所述第二组比较电路中第k个第二数据寄存器,将所述第k个第二数据寄存器当前的次峰值候选人更新为所述第k个第一数据寄存器当前保存的主峰值候选人,并将所述第k个第一数据寄存器当前保存的主峰值候选人更新为所述第k个能量数据;当所述第k个能量数据不大于所述第k个第一数据寄存器当前保存的主峰值候选人时,将所述第k个能量数据输入到所述第二比较电路的第k个第二加法器,所述第k个第二加法器将所述第k个能量数据与所述第k个第二数据寄存器当前保存的次峰值候选人进行比较,在所述第k个能量数据大于所述第k个第二数据寄存器当前保存的次峰值候选人时, 将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据。
3.根据权利要求2所述峰值搜索方法,其特征在于,所述第一比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,包括,对每个非首次获取的能量数据执行下述处理在非首次获取的第k个能量数据的地址、与所述第一组比较电路中第k个第一地址寄存器当前保存的能量数据地址之间差值不大于预设的清零阈值时,将所获取的第k个能量数据输入到所述第k个第一加法器,所述第k个第一加法器将输入的第k个能量数据与所述第k个第一数据寄存器当前保存的主峰值候选人进行比较 当所述第k个能量数据大于所述第k个第一数据寄存器当前保存的主峰值候选人时, 将所述第k个第一数据寄存器当前保存的主峰值候选人更新为所述第k个能量数据;当所述第k个能量数据不大于所述第k个第一数据寄存器当前保存的主峰值候选人时,不更新所述第k个第一数据寄存器和第k个第二数据寄存器。
4.根据权利要求2所述峰值搜索方法,其特征在于,所述第一组比较电路还包括多个第一地址寄存器,所述第二组比较电路还包括多个第二地址寄存器;所述方法还包括更新所述第一组比较电路的第一数据寄存器时,相应的更新所述第一组比较电路中第一地址寄存器保存的主峰值候选人地址;更新所述第二组比较电路的第二数据寄存器时,相应的更新所述第二组比较电路中第二地址寄存器保存的次峰值候选人地址。
5.根据权利要求4所述峰值搜索方法,其特征在于,所述更新所述第一组比较电路的第一数据寄存器时,相应的更新所述第一组比较电路中第一地址寄存器保存的主峰值候选人地址,包括对每个非首次获取的能量数据执行下述处理对于在第k个第一数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据时,还将所述第k个第一地址寄存器当前保存的数据地址更新为所述第k个能量数据的地址;所述更新所述第二组比较电路的第二数据寄存器时,相应的更新所述第二组比较电路中第二地址寄存器保存的次峰值候选人地址,包括对每个非首次获取的能量数据执行下述处理将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个能量数据时,还将第k个第二地址寄存器当前保存的数据地址更新为所述第k个能量数据的地址;和/或,将所述第k个第二数据寄存器当前保存的次峰值候选人更新为所述第k个第一数据寄存器当前保存的主峰值候选人时,还将第k个第二地址寄存器当前保存的数据地址更新为所述第k个第一地址寄存器当前保存的地址。
6.根据权利要求1至5任一项所述峰值搜索方法,其特征在于,在所述获取多个能量数据之前,所述方法还包括对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。
7.根据权利要求6所述峰值搜索方法,其特征在于,所述存储器每行存储有多个能量数据;所述获取多个能量数据,为从所述存储器中读取一行量数据。
8.根据权利要求1至5任一项所述峰值搜索方法,其特征在于,所述在获取多个能量数据之前,所述方法还包括将所得到的主峰值候选人、次峰值候选人、主峰值候选人左右两边的预设清零阈值个数据、以及次峰值候选人左右两边的预设清零阈值个数据从所述所有需搜索的能量数据中清零。
9.根据权利要求1至5任一项所述峰值搜索方法,其特征在于,所述对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选, 得到峰值,包括最大值排序电路从所述第一组比较电路获取主峰值候选人,从所述第二组比较电路获取到次峰值候选人,并分别对所获取到的主峰值候选人、次峰值候选人进行排序、剔除假峰值、以及比较等处理,得到多个峰值。
10.根据权利要求1至5任一项所述峰值搜索方法,其特征在于,在得到峰值之后,所述方法还包括验证所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则将所得到的峰值、以及所述峰值左右两边的一个或多个数据从所述所有需搜索的能量数据中清零后,重复进行峰值搜索;否则,结束当前峰值搜索。
11.一种峰值搜索装置,其特征在于,所述装置包括第一组比较电路、第二组比较电路和最大值排序电路,其中,第一组比较电路,用于获取多个能量数据,并与所述第二组比较电路共同对所获取的多个能量数据进行筛选,得到主峰值候选人;第二组比较电路,用于获取多个能量数据,并与所述第一组比较电路共同对所获取的多个能量数据进行筛选,得到主峰值候选人;最大值排序电路,用于对所述第一组比较电路得到的所有主峰值候选人、以及所述第二组比较电路得到的次峰值候选人进行筛选,得到峰值。
12.根据权利要求11所述峰值搜索装置,其特征在于,所述装置还包括存储器和矢量处理器,其中,存储器,用于保存所有需搜索的能量数据;矢量处理器,用于对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。
13.根据权利要求11所述峰值搜索装置,其特征在于, 所述存储器,还用于每行存储多个能量数据;所述第一组比较电路和第二组比较电路,还用于从所述存储器中每次读取一行能量数据。
14.根据权利要求11所述峰值搜索装置,其特征在于,所述第一组比较电路包括多个第一加法器、和多个第一数据寄存器,所述第一加法器与所述第一数据寄存器一一对应并连接;所述第一加法器,用于获取多个能量数据,并对所获取的多个能量数据进行筛选,得到主峰值候选人,并将得到的主峰值候选人保存到所述第一数据寄存器; 所述第一数据寄存器,用于保存所述主峰值候选人。
15.根据权利要求14所述峰值搜索装置,其特征在于,所述第一组比较电路还包括多个第一地址寄存器,用于保存所述主峰值候选人的地址;所述第一加法器,还用于将所得到主峰值候选人的地址保存到所述第一地址寄存器; 其中,所述第一地址寄存器与所述第一加法器一一对应并连接,与所述第一数据寄存器一一对应并连接。
16.根据权利要求11所述峰值搜索装置,其特征在于,所述第二组比较电路包括多个第二加法器、和多个第二数据寄存器,所述第一加法器与所述第一数据寄存器一一对应并连接;所述第二加法器,用于获取多个能量数据,并对所获取的多个能量数据进行筛选,得到次峰值候选人,并将得到的次峰值候选人保存到所述第二数据寄存器; 所述第二数据寄存器,用于保存所述次峰值候选人。
17.根据权利要求16所述峰值搜索装置,其特征在于,所述第二组比较电路还包括多个第二地址寄存器,用于保存所述次峰值候选人的地址;所述第二加法器,还用于将所得到次峰值候选人的地址保存到所述第二地址寄存器;所述第二地址寄存器与所述第二加法器一一对应并连接,与所述第二数据寄存器一一对应并连接。
18.根据权利要求11至17任一项所述峰值搜索装置,其特征在于,所述装置还包括 循环控制电路和清零控制电路,其中,循环控制电路,用于验证所述第二组比较电路所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则通知所述清零控制电路进行清零, 并启动所述第一组比较电路、第二组比较电路和最大值排序电路,重复进行峰值搜索;否则,结束当前峰值搜索;清零控制电路,用于在接收到所述循环控制电路的通知时,将所述第二组比较电路得到的峰值、以及所述峰值左右两边的一个或多个能量数据从存储有所有需搜索能量数据的存储器中清零。
19.根据权利要求18所述峰值搜索装置,其特征在于,所述清零控制电路,还用于将所述第一组比较电路得到的主峰值候选人和所述主峰值候选人左右两边的预设清零阈值个能量数据、以及第二组比较电路得到的次峰值候选人和次峰值候选人左右两边的预设清零阈值个能量数据,从存储有所有需搜索能量数据的存储器中清零。
全文摘要
本发明公开了一种峰值搜索方法,所述方法包括获取多个能量数据,第一组比较电路和第二组比较电路共同对所获取的多个能量数据进行筛选,在所有能量数据均已获取并筛选之后,第一组比较电路得到主峰值候选人并保存,第二组比较电路得到次峰值候选人并保存;对所述第一组比较电路保存的所有主峰值候选人、以及所述第二组比较电路保存的次峰值候选人进行筛选,得到峰值。本发明还公开了一种峰值搜索装置,速度快,并且每轮扫描至少能够得到两个峰值,可以节省功耗,并且兼顾峰值搜索的速度和硬件逻辑资源;此外,本发明的峰值搜索装置的关键电路只需要一系列加法器和寄存器即可实现,简单易实现,面积小,成本低。
文档编号H04B1/711GK102185633SQ201110116669
公开日2011年9月14日 申请日期2011年5月6日 优先权日2011年5月6日
发明者戴冠新, 黎立煌 申请人:中兴通讯股份有限公司