CN102769893B - 一种峰值搜索方法及装置 - Google Patents

一种峰值搜索方法及装置 Download PDF

Info

Publication number
CN102769893B
CN102769893B CN201110116686.7A CN201110116686A CN102769893B CN 102769893 B CN102769893 B CN 102769893B CN 201110116686 A CN201110116686 A CN 201110116686A CN 102769893 B CN102769893 B CN 102769893B
Authority
CN
China
Prior art keywords
peak value
energy
comparison circuit
energy datum
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110116686.7A
Other languages
English (en)
Other versions
CN102769893A (zh
Inventor
黎立煌
戴冠新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201110116686.7A priority Critical patent/CN102769893B/zh
Priority to PCT/CN2011/081295 priority patent/WO2012151870A1/zh
Publication of CN102769893A publication Critical patent/CN102769893A/zh
Application granted granted Critical
Publication of CN102769893B publication Critical patent/CN102769893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7097Interference-related aspects
    • H04B1/711Interference-related aspects the interference being multi-path interference
    • H04B1/7113Determination of path profile

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种峰值搜索方法,所述方法包括:获取多个能量数据,分别输入到第一比较电路的多个加法器中;所述第一比较电路的各加法器分别将输入自身的能量数据、与所述第一比较电路中连接自身的数据寄存器当前保存的能量数据进行比较,并更新所述第一比较电路中各数据寄存器保存的能量数据;在对所有需搜索的能量数据进行所述获取、以及比较之后,第二比较电路获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值。本发明还公开了一种峰值搜索装置,峰值搜索速度快,能够适用矢量处理器高吞吐率的要求,算法相对简单、有效,硬件简单易实现,面积小,成本低。

Description

一种峰值搜索方法及装置
技术领域
本发明涉及峰值搜索技术,尤其涉及一种峰值搜索方法及装置。
背景技术
峰值搜索常用于小区搜索、多径搜索、时隙同步等应用场景,对于速度的要求比较高。例如,在长期演进(LTE,Long-Term Evolution)中,小区初搜时,每5ms进行15个4800序列的搜索,其它处理大概需要420k个时钟周期;邻区搜索启动时,每5ms进行3个4800序列的搜索,同时可能还会有下行接收、测量和邻区搜索等的其它任务。
现有的峰值搜索电路,每次读入单个能量数据,并通过将读入的能量数据与之前得到的最大能量数据进行比较,直到各能量数据一一读取完毕时,才能得到能量数据的最大值,并需要反复进行正向、反向扫描,找到其他最大值,如申请号为200510098701.4的中国专利,就提出了一种WCDMA系统中峰值搜索的方法,现有的峰值搜索方法扫描效率低,功耗高,不能适应适量处理器高吞吐率的要求。
发明内容
有鉴于此,本发明的主要目的在于提供一种峰值搜索方法及装置,能够适应矢量处理器高吞吐率的要求。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种峰值搜索方法,所述方法包括:
获取多个能量数据,分别输入到第一比较电路的多个加法器中;所述第一比较电路的各加法器分别将输入自身的能量数据、与所述第一比较电路中连接自身的数据寄存器当前保存的能量数据进行比较,并更新所述第一比较电路中各数据寄存器保存的能量数据;
在对所有需搜索的能量数据进行所述获取、以及比较之后,第二比较电路获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值。
在上述方案中,在所述获取多个能量数据之前,所述方法还包括:
对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。
在上述方案中,所述存储器每行存储有多个能量数据;
所述获取多个能量数据,为:从所述存储器中读取一行能量数据。
在上述方案中,所述更新所述第一比较电路中各数据寄存器保存的能量数据,包括:
在所述加法器比较得到所输入的能量数据大于自身所连接数据寄存器当前保存的能量数据时,所述加法器将所输入的能量数据替换掉自身连接数据寄存器中保存的能量数据。
在上述方案中,所述方法还包括:
在所述加法器比较得到所输入的能量数据大于自身所连接寄存器当前保存的能量数据时,所述加法器还将所输入能量数据的地址替换掉所述第一比较电路中连接自身的地址寄存器中当前保存的能量数据地址。
在上述方案中,在所述获取多个能量数据之前,所述方法还包括:
将所述第一比较电路中各数据寄存器、和/或第一比较电路中各地址寄存器清零。
在上述方案中,所述第二比较电路获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值,包括:
所述第二比较电路中的加法器获取多个第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行相互比较,得到所获取能量数据中最大的能量数据,将所得到最大的能量数据作为所述峰值。
在上述方案中,在得到峰值之后,所述方法还包括:
所述第二比较电路中的加法器将所得到的峰值保存到所述第二比较电路中的数据寄存器中,将所述峰值的地址保存到所述第二比较电路中的地址寄存器中。
在上述方案中,在得到峰值之后,所述方法还包括:
验证所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则将所得到的峰值、以及所述峰值左右两边的一个或多个数据从所述所有需搜索的能量数据中清零后,重复进行峰值搜索;否则,结束当前峰值搜索。
本发明还提供了一种峰值搜索装置,所述装置包括:读数据控制电路、第一比较电路和第二比较电路;其中,
第一比较电路包括多个加法器、多个数据寄存器,所述多个加法器与所述多个数据寄存器一一连接;数据寄存器,用于保存能量数据;加法器,用于将输入自身的能量数据、与自身所连接数据寄存器当前保存的能量数据进行比较,并更新所述各数据寄存器中保存的能量数据;
读数据控制电路,用于获取多个能量数据,并分别输入到所述第一比较电路的多个加法器;
第二比较电路,用于在对所有需搜索的能量数据进行所述获取、以及比较之后,获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值。
在上述方案中,所述装置还包括:存储器和矢量处理器,其中,
存储器,用于保存所述所有需搜索的能量数据;
矢量处理器,用于对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到所述存储器中。
在上述方案中,所述存储器,还用于每行存储多个能量数据;
所述读数据控制电路,还用于从所述存储器中读取一行能量数据。
在上述方案中,所述第一比较电路的各加法器,还用于在所输入的能量数据大于自身所连接数据寄存器当前保存的能量数据时,将所输入的能量数据替换掉自身所连接数据寄存器中保存的能量数据。
在上述方案中,所述第一比较电路还包括多个地址寄存器,用于保存所述能量数据的地址,与所述加法器一一连接;
所述加法器,还用于在所输入的能量数据大于所述寄存器当前保存的能量数据时,将所输入能量数据的地址替换掉自身所连接地址寄存器中保存的能量数据地址。
在上述方案中,所述第二比较电路包括加法器和数据寄存器,其中,
所述第二比较电路的加法器,用于在对所有需搜索的能量数据进行所述获取、以及比较之后,获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值,并将所得到的峰值保存到所述第二比较电路的数据寄存器中;
所述第二比较电路的数据寄存器,用于保存所述峰值。
在上述方案中,所述第二比较电路还包括地址寄存器,用于保存所得到峰值的地址;
所述第二比较电路的加法器,还用于将所得到峰值的地址保存到所述第二比较电路的地址寄存器中。
在上述方案中,所述装置还包括:循环控制电路和清零控制电路,其中,循环控制电路,用于验证所述第二比较电路所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则通知所述清零控制电路进行清零,并启动所述读数据控制电路、第一比较电路和第二比较电路,重复进行峰值搜索;否则,结束当前峰值搜索;
清零控制电路,用于在接收到所述循环控制电路的通知时,将所述第二比较电路得到的峰值、以及所述峰值左右两边的一个或多个数据从所述存储器中清零。
在上述方案中,所述清零控制电路,还用于将所述第一比较电路中各数据寄存器、和/或第一比较电路中各地址寄存器清零。
本发明所提供的峰值搜索方法及装置,每个时钟周期读出多个能量数据,并将所读取的多个能量数据进行并行比较,在对所有能量数据进行并行比较之后,将并行比较得到的能量数据再进行比较,来得到峰值,只需正向搜索,不需要正向、反向交替进行,中间不需停顿,峰值搜索速度快,能够适用矢量处理器高吞吐率的要求,并且,本发明每轮扫描找到1个最大值,找n个最大值就循环n次,算法相对简单、有效,控制也很简单有效;此外,本发明的峰值搜索装置只需要加法器和寄存器即可实现,简单易实现,面积小,成本低。
附图说明
图1为本发明峰值搜索方法的实现流程图;
图2为本发明的峰值搜索系统的组成结构示意图;
图3为本发明具体实施例峰值搜索装置中数据存储器的结构示意图;
图4为本发明具体实施例峰值搜索装置中数据存储器每列的结构示意图;
图5为本发明具体实施例峰值搜索装置中峰值搜索模块的组成结构示意图;
图6为本发明具体实施例中峰值搜索模块的第一比较电路的组成结构示意图。
具体实施方式
本发明的基本思想是:每次获取多个能量数据,并通过多个加法器进行比较,再根据比较结果更新所保存的能量数据;直到所有能量数据均获取并比较之后,将所保存的各能量数据再进行比较,得到峰值,如此,多个能量数据并行进行比较,速度快,峰值搜索效率高,能够适应矢量处理器高吞吐率的要求。
本发明的峰值搜索方法,参照图1所示,主要可以包括以下步骤:
步骤101:获取多个能量数据,分别输入到第一比较电路的多个加法器中;
步骤102:所述第一比较电路的各加法器分别将输入自身的能量数据、与所述第一比较电路中连接自身的数据寄存器当前保存的能量数据进行比较,并更新所述第一比较电路中各数据寄存器保存的能量数据;
步骤103:在对所有需搜索的能量数据进行所述获取、以及比较之后,第二比较电路获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值。
具体地,在步骤101中获取多个能量数据之前,所述方法还可以包括:对已获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。
其中,所述存储器每行能够存储多个能量数据,步骤101中获取多个能量数据,具体为:从所述存储器中读取一行能量数据。
具体地,步骤102中,所述各加法器分别将输入自身的能量数据、与自身所连接数据寄存器当前保存的能量数据进行比较,在所述加法器比较得到所输入的能量数据大于自身所连接数据寄存器当前保存的能量数据时,所述加法器将所输入的能量数据替换掉自身连接数据寄存器中保存的能量数据;在所述加法器比较得到所输入的能量数据不大于自身所连接数据寄存器当前保存的能量数据时,保持所述数据寄存器中能量数据不变。
这里,在所述加法器比较得到所输入的能量数据大于自身所连接寄存器当前保存的能量数据时,所述加法器还将所输入能量数据的地址替换掉所述第一比较电路中连接自身的地址寄存器中当前保存的能量数据地址。
实际应用中,每个能量数据都有一个对应的地址。例如,能量数据存放在地址0~999,读取能量数据时,会产生读地址,如果一行存储8个能量数据,p=8,则第一次从位于地址0处的能量数据开始读取,第二次从位于地址8处的能量数据开始读取,第三次从地址16处的能量数据开始读取,依此类推,因此,在读取能量数据时,就可以得到所读取能量数据的地址。
这里,在获取能量数据之前,所述方法还可以包括:将所述第一比较电路中各数据寄存器、和/或第一比较电路中各地址寄存器清零。
具体地,在步骤103中,所述第二比较电路中的加法器获取多少第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行相互比较,得到所获取能量数据中最大的能量数据,将所得到最大的能量数据作为所述峰值。
这里,步骤103之后,所述方法还可以包括:所述第二比较电路中的加法器将所得到的峰值保存到所述第二比较电路中的数据寄存器中,将所述峰值的地址保存到所述第二比较电路中的地址寄存器中。
在得到峰值之后,所述方法还可以包括:验证所得到峰值的个数是否经达到预设的峰值个数阈值,如果不是,则将所得到的峰值、以及所述峰值左右两边的一个或多个数据从所有需搜索的能量数据中清零,即从需进行峰值搜索处理的所有能量数据的存储器中清零,之后,重复上述步骤101~103,直到所得到峰值的个数达到预设的峰值个数阈值;否则,结束当前峰值搜索。
相应的,本发明还提供了一种峰值搜索装置,所述装置包括:读数据控制电路、第一比较电路和第二比较电路;其中,第一比较电路包括多个加法器、多个数据寄存器,所述多个加法器与所述多个数据寄存器一一连接;数据寄存器,用于保存能量数据;加法器,用于将输入自身的能量数据、与自身所连接数据寄存器当前保存的能量数据进行比较,并更新所述各数据寄存器中保存的能量数据;
读数据控制电路,用于获取多个能量数据,并分别输入到所述第一比较电路的多个加法器;
第二比较电路,用于在对所有需搜索的能量数据进行所述获取、以及比较之后,获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值。
其中,所述装置还可以包括:存储器和矢量处理器,其中,存储器,用于保存所述所有需搜索的能量数据;矢量处理器,用于对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到所述存储器中;
这里,所述存储器,还用于每行存储多个能量数据;所述读数据控制电路,还用于从所述存储器中读取一行能量数据。
其中,所述第一比较电路的各加法器,还用于在所输入的能量数据大于自身所连接数据寄存器当前保存的能量数据时,将所输入的能量数据替换掉自身所连接数据寄存器中保存的能量数据。
这里,所述第一比较电路还包括多个地址寄存器,用于保存所述能量数据的地址,与所述加法器一一连接;所述加法器,还用于在所输入的能量数据大于所述寄存器当前保存的能量数据时,将所输入能量数据的地址替换掉自身所连接地址寄存器中保存的能量数据地址。
具体地,所述第二比较电路包括加法器和数据寄存器,其中,所述第二比较电路的加法器,用于在对所有需搜索的能量数据进行所述获取、以及比较之后,获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值,并将所得到的峰值保存到所述第二比较电路的数据寄存器中;所述第二比较电路的数据寄存器,用于保存所述峰值。
这里,所述第二比较电路还可以包括地址寄存器,用于保存所得到峰值的地址;所述第二比较电路的加法器,还可以用于将所得到峰值的地址保存到所述第二比较电路的地址寄存器中。
实际应用中,可以将第一比较电路分为多个比较单元,每个比较单元包括一个加法器、一个数据寄存器和一个地址寄存器,每个比较单元中加法器在判断所输入的能量数据大于该比较单元中数据寄存器中当前保存的能量数据时,将所述数据寄存器中当前保存的能量数据更新为所输入的能量数据,并将该比较单元中地址寄存器中当前保存的能量数据地址更新为所输入能量数据的地址。同理,第二比较电路可以包括一个比较单元,该比较单元包括一个加法器、一个数据寄存器和一个地址寄存器,加法器将所得到峰值的地址保存到该比较单元的地址寄存器,将所得到的峰值保存到该比较单元的数据寄存器中。
其中,所述装置还可以包括:循环控制电路和清零控制电路,其中,循环控制电路,用于验证所述第二比较电路所得到峰值的个数是否已达到预设的峰值个数阈值,如果不是,则通知所述清零控制电路进行清零,并启动所述读数据控制电路、加法器、寄存器和第二比较电路,重复进行峰值搜索;否则,结束当前峰值搜索;清零控制电路,用于在接收到所述循环控制电路的通知时,将所述第二比较电路得到的峰值、以及所述峰值左右两边的一个或多个数据从所述存储器中清零。
实际应用中,所述循环控制电路可以包括一个寄存器,用于记录当前已得到的峰值的个数。
这里,所述清零控制电路,还可以用于将所述第一比较电路中各数据寄存器、和/或第一比较电路中各地址寄存器清零。
实施例一
实际应用中,峰值搜索前的计算任务由矢量处理器来完成,峰值搜索的过程可以由硬件加速器来实现。
如图2所示,峰值搜索装置可以包括:射频接收模块、数据存储器、矢量处理器和峰值搜索模块,其中,射频接收模块,用于接收ADC采样的数据,并将所得到的采用数据存储到数据存储器;矢量处理器,用于从所述数据存储器读取采样数据,对所读取的采样数据进行处理后,得到能量数据,并将所得到的能量数据保存到数据存储器;峰值搜索模块,用于从数据存储器中读取能量数据,进行峰值搜索处理,找到需要的峰值,将所找到的峰值保存,并返回给所述矢量处理器。
具体地,射频接收模块接收射频芯片中的ADC采样的数据,并将采样数据存储到数据存储器,矢量处理器从所述数据存储器中读取采样数据,并对采样数据进行相关运算、过滤运算、取模运算处理后,提取实部,得到能量数据,将所得到的能量数据再保存到所述数据存储器中;在矢量处理器对峰值搜索模块进行参数设置后,峰值搜索模块从数据存储器中读取能量数据,进行峰值搜索处理,找到峰值,并返回给矢量处理器。
实际应用中,矢量处理器对采样数据进行处理的过程可以包括:矢量处理器以流水线的方式从数据存储器中读取采样数据,再进行下行采样数据与主同步序列(PSS)相关和滤波等运算,将所得到的运算结果(包括I通道的相关、滤波后的结果和Q通道相关、滤波后的结果)存储到数据存储器中,进行取模运算处理时,再从数据存储器中读取上述相关和过滤后的结果进行取模运算处理,之后,从取模运算处理的结果中再提取实部,得到能量数据,再将所得到的能量数据写入到数据存储器中。
其中,矢量处理器按照公式(1)进行取模运算处理后,所得到结果的实部为能量数据,保存于数据存储器的低16比特,所得到结果中的虚部为0,保存于数据存储器的高16比特。
其中,表示一个复数信号,Re为的实部,Im为的虚部。原先每个bank存储p/2个数据,执行提取实部的压缩处理后,将数据虚部的空位去掉,则数据存储器的一个bank就存储了p个能量数据,如此,不仅压缩/节省了数据存储器的存储空间,并且,在后续进行峰值搜索时,读取能量数据的效率会相应提高一倍,并行搜索的吞吐率也可以提高一倍。实际应用中,矢量处理器可以通过一个提取实部的指令来进行上述的提取实部的处理。
具体地,为了适应矢量处理器的吞吐率,所述数据存储器具有以下结构特征:数据存储格式为复数能量用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比特的能量数据,即读出p个能量数据,并以流水线的方式,对每次读取的能量数据进行峰值搜索,最后,将每次峰值搜索的结果进行比较找到峰值,如此循环,在所述能量数据中找到要搜索的n个最大值,其中,n为大于0的整数。
具体地,如图5所示,峰值搜索模块主要可以包括:软件接口、读数据控制电路、第一比较电路、第二比较电路、清零控制电路和循环控制电路。
其中,矢量处理器将要配置的参数写到软件接口中,来向峰值搜索模块配置参数。该软件接口具体可以是一个或多个用于保存所配置参数的寄存器。
读数据控制电路是按照数据存储器读写时序(协议)向数据存储器发出读请求和读地址信号,在接收到数据存储器返回的p个能量数据后,将所述p个能量数据分别输入到第一比较电路中的p个加法器中。
如图6所示,第一比较电路可以包括p个加法器、p个数据寄存器、p个地址寄存器,其中,一个加法器分别连接一个数据寄存器、和一个地址寄存器,加法器与数据寄存器一一对应,加法器和地址寄存器一一对应,数据寄存器和地址寄存器一一对应,各加法器将所述读数据控制电路发送的能量数据、与自身所连接数据寄存器中的能量数据进行比较,根据比较结果,决定是否更新数据寄存器中的能量数据、以及地址寄存器中的地址。
实际应用中,如果数据存储器中一个bank存储了p个能量数据,其中,p为大于0的整数,一次读入p个能量数据到第一比较电路,为实现并行比较,第一比较电路中需要包含p个加法器。也可以根据实际需要并行处理的能量数据的数量,调整第一比较电路中加法器的数量。
在第一比较电路对所有能量数据比较处理后,第二比较电路用于从第一比较电路中的p个数据寄存器中获取p个能量数据、并从p个地址寄存器中获取到所述p个能量数据的地址,将所获取到的p个能量数据再进行比较,找到峰值,再找到该峰值所对应的地址,并将所找到的峰值、以及该峰值的地址保存。
其中,所述第二比较电路可以包括一个加法器、一个数据寄存器和一个地址寄存器,其中,加法器用于从第一比较电路中获取p个能量数据、以及所述p个能量数据的地址,并将所获取的p个能量数据进行比较,找到峰值;数据寄存器用于保存所述加法器找到的峰值,地址寄存器用于保存所找到峰值的地址。
清零控制电路,用于根据第二比较电路得到的结果,对所述数据存储器进行清零操作,具体地,将当前找到的峰值、以及该峰值左右两边的m个能量数据从所述数据存储器中清零。
循环控制电路,用于控制上述的读数据控制电路、第一比较电路、第二比较电路、清零控制电路循环工作,以找到多个峰值。
峰值搜索模块进行峰值搜索的处理过程,具体流程如下:
步骤0:矢量处理器在峰值搜索模块的软件接口中写入要配置的峰值搜索参数,为峰值搜索模块配置峰值搜索参数;
具体地,矢量处理器所配置的峰值搜索参数可以包括:表示要读取能量数据地址的源数据地址src_data_addr、要读取能量数据的数据长度data_len、峰值个数阈值n、峰值左右两边需清除/屏蔽的数据个数m、数据存储器中用于存放最大值的地址dest_data_addr、用于表示存储于寄存器还是数据存储器的参数dest_sel等。
实际应用中,峰值左右两边需清除/屏蔽的数据个数m为经验参数,如果滤波效果好、或者射频信号的信噪比高,可以设置较小的数值。
步骤1:启动之时,清零控制电路将第一比较电路中的p个数据寄存器、以及p个地址寄存器清零。
步骤2:读数据控制电路验证所述数据存储器中是否有还有未读取的能量数据,如果是,则每时钟周期从保存有能量数据的数据存储器中读取p个能量数据,分别输入到第一比较电路中的p个加法器中,否则,继续步骤4;
具体地,读数据控制电路可以通过验证当前读取数据的周期是否已经达到data_len/p个周期,如果是,则数据存储器中所有的能量数据均已读取,否则,还有未读取的能量数据。
步骤3:p个加法器,分别将自身所接收到的能量数据与自身所连接数据寄存器当前保存的能量数据进行比较,如果所接收到的能量数据大于所述数据寄存器中的能量数据,则将所接收到的能量数据替换掉所述数据寄存器中当前保存的能量数据,并将所接收到能量数据的地址存入自身所连接的地址寄存器中;如果所接收到的能量数据不大于所述数据寄存器当前保存的能量数据,则保持自身所连接数据寄存器当前保存的数据不变,并保持所述地址寄存器中当前保存的地址不变,返回步骤2;
步骤4:第二比较电路从第一比较电路中的p个数据寄存器中读取能量数据,从第一比较电路中的p个地址寄存器中获取所读取各能量数据的地址;之后,第二比较电路将所读取到的p个能量数据进行比较,将所述p个能量数据中最大的能量数据确定为峰值,找到峰值,并找到所述峰值的地址,最后,将所找到的峰值、以及该峰值的地址保存到指定的位置,如将峰值保存到用于存储峰值的数据寄存器、将峰值的地址保存到用于存储峰值地址的地址寄存器,或者将所找到的峰值、以及该峰值的地址保存到数据存储器中用于保存峰值的结果区域中,如此,一轮扫描结束,找到1个峰值;
实际应用中,如果要搜索的峰值个数较多,可以将搜索到的峰值存储在数据存储器中,如果要搜索的峰值个数较少,可以将搜索到的峰值存放于便于访问的结果寄存器中。
步骤5:对所找到的峰值个数进行累加1并保存;
这里,上述的峰值搜索模块还可以包括:用于保存表示峰值搜索进程的状态参数的寄存器、和用于保存所找到峰值个数的寄存器。
每次第二比较电路找到一个峰值后,所述保存表示峰值搜索进程的状态参数的寄存器会将自身所保存的峰值个数加1。实际应用中,所述用于保存所找到峰值个数的寄存器会在每经过一个周期之后,将所保存的峰值个数累加1。
步骤6:循环控制电路判断所保存的峰值个数是否达到了预先配置的“峰值个数阈值n”,如果是,则结束当前流程,否则继续步骤7;
具体地,循环控制电路从所述用于保存所找到峰值个数的寄存器中获取当前所找到峰值的个数,判断所找到峰值的个数是否达到预设的峰值个数阈值,如果是,则结束峰值搜索,否则,控制所述读数据控制电路、第一比较电路、第二比较电路、清零控制电路继续搜索峰值。
步骤7:清零控制电路将数据存储器中的峰值、以及峰值左右两边的m个能量数据清零,并返回步骤1,重复上述过程。
在上述过程中,能量数据的读取和比较以流水线方式进行,且p个能量数据按列、并行地比较,中间不停顿,速度快;并且,峰值搜索模块主要部分是多个加法器、多个数据寄存器和多个地址寄存器,电路简单、易于实现,占用的面积小。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (16)

1.一种峰值搜索方法,其特征在于,所述方法包括:
获取多个能量数据,分别输入到第一比较电路的多个加法器中;所述第一比较电路的各加法器分别将输入自身的能量数据、与所述第一比较电路中连接自身的数据寄存器当前保存的能量数据进行比较,并更新所述第一比较电路中各数据寄存器保存的能量数据;
在对所有需搜索的能量数据进行所述获取、以及比较之后,第二比较电路获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值;
验证所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则将所得到的峰值、以及所述峰值左右两边的一个或多个数据从所述所有需搜索的能量数据中清零后,重复进行峰值搜索;否则,结束当前峰值搜索。
2.根据权利要求1所述峰值搜索方法,其特征在于,在所述获取多个能量数据之前,所述方法还包括:
对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到存储器中。
3.根据权利要求2所述峰值搜索方法,其特征在于,
所述存储器每行存储有多个能量数据;
所述获取多个能量数据,为:从所述存储器中读取一行能量数据。
4.根据权利要求1所述峰值搜索方法,其特征在于,所述更新所述第一比较电路中各数据寄存器保存的能量数据,包括:
在所述加法器比较得到所输入的能量数据大于自身所连接数据寄存器当前保存的能量数据时,所述加法器将所输入的能量数据替换掉自身连接数据寄存器中保存的能量数据。
5.根据权利要求4所述峰值搜索方法,其特征在于,所述方法还包括:
在所述加法器比较得到所输入的能量数据大于自身所连接寄存器当前保存的能量数据时,所述加法器还将所输入能量数据的地址替换掉所述第一比较电路中连接自身的地址寄存器中当前保存的能量数据地址。
6.根据权利要求5所述峰值搜索方法,其特征在于,在所述获取多个能量数据之前,所述方法还包括:
将所述第一比较电路中各数据寄存器、和/或第一比较电路中各地址寄存器清零。
7.根据权利要求1所述峰值搜索方法,其特征在于,所述第二比较电路获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值,包括:
所述第二比较电路中的加法器获取多个第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行相互比较,得到所获取能量数据中最大的能量数据,将所得到最大的能量数据作为所述峰值。
8.根据权利要求7所述峰值搜索方法,其特征在于,在得到峰值之后,所述方法还包括:
所述第二比较电路中的加法器将所得到的峰值保存到所述第二比较电路中的数据寄存器中,将所述峰值的地址保存到所述第二比较电路中的地址寄存器中。
9.一种峰值搜索装置,其特征在于,所述装置包括:读数据控制电路、第一比较电路和第二比较电路;其中,
第一比较电路包括多个加法器、多个数据寄存器,所述多个加法器与所述多个数据寄存器一一连接;数据寄存器,用于保存能量数据;加法器,用于将输入自身的能量数据、与自身所连接数据寄存器当前保存的能量数据进行比较,并更新所述各数据寄存器中保存的能量数据;
读数据控制电路,用于获取多个能量数据,并分别输入到所述第一比较电路的多个加法器;
第二比较电路,用于在对所有需搜索的能量数据进行所述获取、以及比较之后,获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值;
所述装置还包括:循环控制电路和清零控制电路,其中,循环控制电路,用于验证所述第二比较电路所得到峰值的个数是否达到预设的峰值个数阈值,如果不是,则通知所述清零控制电路进行清零,并启动所述读数据控制电路、第一比较电路和第二比较电路,重复进行峰值搜索;否则,结束当前峰值搜索;
清零控制电路,用于在接收到所述循环控制电路的通知时,将所述第二比较电路得到的峰值、以及所述峰值左右两边的一个或多个数据从存储器中清零。
10.根据权利要求9所述峰值搜索装置,其特征在于,所述装置还包括:存储器和矢量处理器,其中,
存储器,用于保存所述所有需搜索的能量数据;
矢量处理器,用于对获取的采样数据进行相关运算处理、过滤运算处理后,再进行取模运算处理,从取模运算处理的结果中提取实部,得到所述能量数据并保存到所述存储器中。
11.根据权利要求9所述峰值搜索装置,其特征在于,
所述存储器,还用于每行存储多个能量数据;
所述读数据控制电路,还用于从所述存储器中读取一行能量数据。
12.根据权利要求9所述峰值搜索装置,其特征在于,所述第一比较电路的各加法器,还用于在所输入的能量数据大于自身所连接数据寄存器当前保存的能量数据时,将所输入的能量数据替换掉自身所连接数据寄存器中保存的能量数据。
13.根据权利要求12所述峰值搜索装置,其特征在于,所述第一比较电路还包括多个地址寄存器,用于保存所述能量数据的地址,与所述加法器一一连接;
所述加法器,还用于在所输入的能量数据大于所述寄存器当前保存的能量数据时,将所输入能量数据的地址替换掉自身所连接地址寄存器中保存的能量数据地址。
14.根据权利要求9所述峰值搜索装置,其特征在于,所述第二比较电路包括加法器和数据寄存器,其中,
所述第二比较电路的加法器,用于在对所有需搜索的能量数据进行所述获取、以及比较之后,获取所述第一比较电路中各数据寄存器保存的能量数据,并将所获取的能量数据进行比较,得到峰值,并将所得到的峰值保存到所述第二比较电路的数据寄存器中;
所述第二比较电路的数据寄存器,用于保存所述峰值。
15.根据权利要求9所述峰值搜索装置,其特征在于,所述第二比较电路还包括地址寄存器,用于保存所得到峰值的地址;
所述第二比较电路的加法器,还用于将所得到峰值的地址保存到所述第二比较电路的地址寄存器中。
16.根据权利要求13所述峰值搜索装置,其特征在于,所述清零控制电路,还用于将所述第一比较电路中各数据寄存器、和/或第一比较电路中各地址寄存器清零。
CN201110116686.7A 2011-05-06 2011-05-06 一种峰值搜索方法及装置 Active CN102769893B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110116686.7A CN102769893B (zh) 2011-05-06 2011-05-06 一种峰值搜索方法及装置
PCT/CN2011/081295 WO2012151870A1 (zh) 2011-05-06 2011-10-25 一种峰值搜索方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110116686.7A CN102769893B (zh) 2011-05-06 2011-05-06 一种峰值搜索方法及装置

Publications (2)

Publication Number Publication Date
CN102769893A CN102769893A (zh) 2012-11-07
CN102769893B true CN102769893B (zh) 2017-09-22

Family

ID=47097113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110116686.7A Active CN102769893B (zh) 2011-05-06 2011-05-06 一种峰值搜索方法及装置

Country Status (2)

Country Link
CN (1) CN102769893B (zh)
WO (1) WO2012151870A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104614588B (zh) * 2015-01-27 2017-03-29 北京奥普维尔科技有限公司 基于频谱仪的峰值搜索系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6768729B1 (en) * 1998-09-24 2004-07-27 Nec Corporation CDMA receiver, path detection method, and recording medium on which path detection control program is recorded
CN1766833A (zh) * 2000-09-28 2006-05-03 英特尔公司 阵列搜索操作
CN101106394A (zh) * 2007-08-10 2008-01-16 中兴通讯股份有限公司 Td-scdma系统中搜索下行导频时隙的方法
CN101192847A (zh) * 2007-08-13 2008-06-04 中兴通讯股份有限公司 一种峰值搜索和排序的装置及峰值排序方法
CN101228703A (zh) * 2005-07-26 2008-07-23 汤姆森许可贸易公司 用于使用存储器体系结构的主小区搜索的相关器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6768729B1 (en) * 1998-09-24 2004-07-27 Nec Corporation CDMA receiver, path detection method, and recording medium on which path detection control program is recorded
CN1766833A (zh) * 2000-09-28 2006-05-03 英特尔公司 阵列搜索操作
CN101228703A (zh) * 2005-07-26 2008-07-23 汤姆森许可贸易公司 用于使用存储器体系结构的主小区搜索的相关器
CN101106394A (zh) * 2007-08-10 2008-01-16 中兴通讯股份有限公司 Td-scdma系统中搜索下行导频时隙的方法
CN101192847A (zh) * 2007-08-13 2008-06-04 中兴通讯股份有限公司 一种峰值搜索和排序的装置及峰值排序方法

Also Published As

Publication number Publication date
WO2012151870A1 (zh) 2012-11-15
CN102769893A (zh) 2012-11-07

Similar Documents

Publication Publication Date Title
CN105046186B (zh) 一种二维码的识别方法及装置
CN105301608B (zh) 高动态接收机及其对北斗卫星信号b1频点的捕获方法
CN103336758B (zh) 一种采用带有局部信息的压缩稀疏行的稀疏矩阵存储方法及基于该方法的SpMV实现方法
CN103593298B (zh) 内存回收方法和装置
CN104699422B (zh) 缓存数据的确定方法及装置
CN104881259B (zh) 一种数据处理方法和装置以及存储设备
CN102170678B (zh) 一种峰值搜索方法及装置
AU2017385032B2 (en) System for preparing network traffic for fast analysis
CN106649759A (zh) 图片的处理方法及移动终端
CN103049516B (zh) 一种数据处理方法及装置
EP2901275A1 (en) Loop vectorization methods and apparatus
CN102769893B (zh) 一种峰值搜索方法及装置
CN104253754B (zh) 一种acl快速匹配的方法和设备
CN102185633B (zh) 一种峰值搜索方法及装置
CN104536780A (zh) 一种电子游戏资源高效加载方法及系统
CN102111163B (zh) Turbo编码器及编码方法
CN105094742B (zh) 一种写数据的方法和设备
CN107368596A (zh) 一种布隆过滤器查询集合元素的方法及装置
CN107800491A (zh) 一种基于信道状态信息的无线感知抗干扰方法及装置
CN108896967A (zh) 基于杂波协方差矩阵估计的距离扩展目标检测方法及装置
CN105939271B (zh) 查找acl表项的方法及装置
CN105045557B (zh) 一种基于双口缓存的累加求和方法和装置
US9871554B2 (en) Method and vector computing unit for implementing de-scrambling and de-spreading, and computer storage medium
CN104298616B (zh) 数据块初始化方法、高速缓冲存储器和终端
CN104965799A (zh) 一种数据缓存装置及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151030

Address after: Dameisha Yantian District of Shenzhen City, Guangdong province 518085 Building No. 1

Applicant after: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corporation

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20121107

Assignee: Xi'an Chris Semiconductor Technology Co. Ltd.

Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Contract record no.: 2019440020036

Denomination of invention: Peak value searching method and device

Granted publication date: 20170922

License type: Common License

Record date: 20190619