专利名称:用于检测二维数据集里局部最大值的方法和设备的制作方法
技术领域:
本发明一般涉及信号处理系统,更确切地说,涉及一种用于检测二维数据集里的局部最大值的系统。
背景技术:
在电信领域中,信号处理变得尤其重要。例如,在基于码分多址(CDMA)技术的无线电信网络中,许多用户使用多种无线装置来在网络内通信,所述无线装置有时被称为终端。这些终端包含无线电话、寻呼机、电子邮件装置、个人数字助理(PDA)及其他装置。
所述网络用数据加密和复杂的基站接收机以允许向预定区域或小区内的所选终端提供通信服务。举例而言,来自一个小区内的每个终端的发射内容被唯一地编码,并被发射给基站接收机。为了接收所发射的信息,可为每个发射终端对接收机进行调谐,以便过滤掉多余噪音。为了达到这一目的,接收机可对接收到的发射内容进行处理,以便产生二维数据阵列,所述阵列有时被称为“搜索空间”。搜索空间的一个实例以二维数据阵列提供接收到的发射内容,其中所选频率中的能量值与解码序列中的变差相关联。
通常,搜索空间包含局部数据最大值(峰值),其对应于与特定发射终端相关联的频率和解码序列变差。通过检测二维数据阵列中的局部峰值(即频率和序列),可利用这一信息对接收机进行调谐,从而可准确地接收来自所选发射终端的数据发射。
当前的通信系统在存储器中存储二维数据阵列,并反复地访问所述存储器,以便将数据元素与其相邻元素进行比较以检测出局部峰值。举例而言,如果想判定二维阵列的特定元素是否为局部最大值,则将所述元素与其周围的四个相邻元素进行比较。这会导致至少五次存储器访问,而当要检测任何相邻元素是否代表数据阵列中的局部最大值时,存储器访问次数可能会翻倍。因此,当前系统非常不足,因为其需要双倍的存储器访问才能检测出数据阵列中的局部峰值。如果系统利用的是带宽相对较慢的存储器,这一操作便尤其成问题。例如,数据数量通常太大,难以存储在高速缓冲存储器或寄存器频段中,且外部存储器的带宽通常比内部存储器低很多。
因此,需要一种可运行以有效地检测二维数据阵列中的局部最大值,且无需执行当前系统中所需的双倍的存储器访问的系统。
发明内容
在一个或一个以上实施例中,提供一种峰值检测系统,其可运行以检测二维数据阵列中的局部最大值。所述系统适用于任何类型的必须检测数据阵列中的局部数据最大值且同时要节约带宽的系统。在一个实施例中,所述系统按照行或列的次序从存储器中读取二维数据阵列的数据元素,这使得数据具有流特性。随后,数据经受一系列的延迟,所述延迟利用二维阵列的结构以便可容易地对数据元素进行比较,从而检测出局部最大值。所述检测系统运行以非常有效地利用存储器带宽,因为阵列中的数据元素仅从存储器中读出一次。因此,所述系统适用于任何类型的需要在搜索空间中检测局部最大值以便调谐接收机的通信系统。
在一个实施例中,提供一种检测二维数据集里的局部最大值的设备,其中数据元素流代表数据集。所述设备包括第一检测逻辑,其接收所述数据流,并运行以检测代表所述数据集的第一维中的峰值的第一数据元素。所述设备还包括第二检测逻辑,其接收所述数据流,并运行以检测代表所述数据集的第二维中的峰值的第二数据元素,其中如果所述第一和第二数据元素为相同元素,则检测到局部最大值。
在另一实施例中,提供一种检测二维数据集里的局部最大值的设备,其中数据元素流代表数据集。所述设备包括用于接收所述数据流的装置,和用于检测代表所述数据集的第一维中的峰值的第一数据元素的装置。所述设备还包括用于检测代表所述数据集的第二维中的峰值的第二数据元素的装置,其中如果所述第一和第二数据元素为相同元素,则检测到局部最大值。
在另一实施例中,提供一种检测二维数据集里的局部最大值的方法,其中数据元素流代表数据集。所述方法包括接收所述数据流,并检测所述数据流中的第一数据元素,所述第一数据元素代表所述数据集的第一维中的峰值。所述方法还包括将一旗标与所述第一数据元素相关联,并检测所述数据流中的第二数据元素,所述第二数据元素代表所述数据集的第二维中的峰值。所述方法还包括如果所述旗标与所述第二数据元素相关联,则检测到局部最大值。
在又一实施例中,提供一种包括若干指令的计算机可读媒介,所述指令在被处理器执行时运行以检测二维数据集里的局部最大值,其中数据元素流代表数据集。所述计算机可读媒介包括用于接收所述数据流的指令,和用于检测代表所述数据集的第一维中的峰值的第一数据元素的指令。所述计算机可读媒介还包括用于检测代表所述数据集的第二维中的峰值的第二数据元素的指令,其中如果所述第一和第二数据元素为相同元素,则检测到局部最大值。
结合附图参阅以下详细说明,将更容易了解本文所述的实施例的以上方面和随之而来的优点,附图中图1绘示一通信系统,其包含运行以检测数据阵列中的局部最大值的检测系统的一个实施例;图2绘示信号预处理器的一个实施例的功能图;图3绘示图2所示的预处理器产生的数据阵列;图4绘示用以检测二维数据阵列中的局部最大值的检测系统的一个实施例;图5绘示用于峰值检测系统的一个实施例中的一个实施例水平检测器的详细绘图;图6绘示用于峰值检测系统的一个实施例中的一个实施例垂直检测器的详细绘图;和图7绘示用于运行一检测二维数据集里的局部最大值的检测系统的方法的一个
具体实施例方式
以下详细描述说明峰值检测系统,其包含用于检测数据阵列中的局部最大值。应了解,所描述的峰值检测系统实际上也可与任何类型的数据处理系统一起使用,其中包含但不限于无线通信系统、有线通信系统、电信系统、联网系统或其他任何类型的需要检测数据集中的局部最大值的系统。
图1绘示一通信系统100,其包含一个运行以检测数据阵列中的局部最大值的峰值检测系统的实施例。通信系统100包括一与终端102、104及106通信的卫星108。卫星108接收从终端102、104及106发射的信号,并将这些信号重新发射给接收机110。
在一个实施例中,系统100使用CDMA技术运行,以便将来自发射终端102、104、106的数据编码并扩展得如同噪音信号。因此,接收机110的工作是对所接收到的噪音信号进行解码,以获得所发射的数据。应注意,系统100只代表一种配置,且其他配置也是可能的。例如,在另一种配置中,终端102、104、106直接与接收机110通信。
接收机110包括信号预处理器112,其接收从卫星108发射的信号。所述预处理器运行以处理所接收到的信号118,并形成一个代表从终端102、104及106发射的数据之数据阵列。所述数据阵列被输入到峰值检测系统114的一个实施例,所述系统运行以检测数据阵列中的局部最大值。在检测到局部最大值之后,检测系统114将关于所检测到的局部最大值的信息发射给鉴别器116。鉴别器116用所述信息来处理所接收到的信号,以便能从所接收到的信号中恢复从每个终端(102、104、106)发射的数据。
此实例中的系统100包括一卫星通信系统,然而,峰值检测系统114的实施例适合与基于地面的通信系统一起使用,或与其他任何类型的需要判定数据集中的局部最大值的处理系统一起使用。
图2绘示的是预处理器112的一个实施例的功能图。预处理器112包括相关器逻辑202,快速傅立叶变换(FFT)逻辑204及伪随机噪音(PN)产生器208。
应了解,图2所示的预处理器112的元件仅出于说明目的,可使用更多或更少的功能元件以任何数目的方法中的一种方法来构建预处理器112。例如,相关器逻辑202、FFT逻辑204和PN产生器208均可建构在由一个或一个以上处理器执行的计算机程序中。
在预处理器112运行期间,相关器202将所接收到的信号118与PN产生器208所产生的伪随机噪音序列相关。例如,在一个实施例中,PN产生器208产生128个PN序列,相关器202将所述PN序列与所接收到的信号118相关。然而,应注意,可产生任何数目的序列,以便与所接收到的信号相关。
相关器202产生128个输入到FFT逻辑204中的相关序列210。相关器的用途是整理(unscramble)数据,但仍需判定数据的频率。FFT逻辑204在输入序列上执行FFT,并产生128个FFT输出,将所述输出存储在存储器206中。例如,FFT逻辑204将输入序列210变换成频率域信号212。例如,在一个实施例中,FFT逻辑204将输入序列变换成1024个频段(bin),其中与每个频段相关联的值代表特定频率下的能量。例如,用频段的数目来划分整个带宽,以便判定每个频段所代表的带宽。
因此,由于相关器202的运行,PN产生器208、FFT逻辑204、存储器206含有二维数据集,所述数据集代表所接收到的信号在与所选PN序列相关后的频率能量。所述二维数据集包含局部最大值,其代表来自一个或一个以上发射终端的所发射的能量。在一个或一个以上实施例中,本文所述的检测系统运行以检测局部最大值,以使得从发射终端发射的数据可被接收和恢复。例如,局部最大值对应于与发射终端相关联的频率和序列变量。所述信息用来调谐接收机,以便准确地接收从终端发射的数据。
图3绘示的是由预处理器112产生并存储在存储器206中的数据阵列300。数据阵列300包括若干行(R)和列(C),其中数据阵列中的每个元素均表示用于从相关器逻辑202输出的相关序列210中的一个序列的所选频率区域(频段)中的能量。例如,行的数目与相关输出序列210的数目相同,且在每个行中,列表示频率区域。在一个实施例中,每个FFT输出212存在128个相关序列210和1024个频段,因此阵列300包含128个行和1024个列。
在一个实施例中,数据阵列300的每个元素包括一个32位宽的数据元素。例如,数据元素302说明一个数据元素,其位于数据阵列300中的(1,1)处。元素302包括数据部分304、识别符(ID)306和旗标308。数据部分304代表FFT逻辑204为所述序列的所述频段判定的能量。ID 306表示元素在数据阵列300中的位置。例如,ID指示数据元素的频段和序列号码。检测系统用这一信息来判定数据阵列300中的所检测到的局部峰值的位置。检测系统在检测局部最大值的过程中使用旗标308,且本文件的另一章节将更详细地论述所述旗标的用途。
图4绘示的是峰值检测系统114的一个实施例,其运行以检测二维数据阵列中的局部最大值。所述检测系统包括水平检测逻辑402、垂直检测逻辑404、时钟406及输出逻辑408。系统114还包括存储器控制器410和处理器412。
存储器控制器410和处理器412运行以访问存储器中存储的数据阵列,例如阵列300。在一个实施例中,处理器410包括CPU、门极阵列、硬件逻辑、软件或硬件与软件的任何组合。存储器控制器410包括任何合适的硬件和/或软件,从而允许系统114通过控制信号416访问数据阵列。时钟406用来同步检测系统114的运行。例如,存储器控制器410访问存储器,以便以经过预处理的数据流414的形式读出二维数据阵列。例如,参看数据阵列300,在一个行上逐元素地读出数据,然后再向下进行到下一行。因此,形成经过预处理的数据流414。
水平检测逻辑402对经过预处理的数据流414进行处理,以便检测一个维中的局部最大值。例如,一个维(水平)界定为代表沿数据阵列300的每行的数据。水平检测逻辑402运行以通过比较数据流414中的相邻的行元素,并对数据流414中检测为水平最大值的任何数据元素进行标记,来检测局部最大值。
在通过水平检测逻辑402进行处理之后,经过预处理的数据流随机流向垂直检测逻辑404。垂直检测逻辑404对经过预处理的数据流414进行处理,以便检测称为垂直维的另一维中的局部最大值。例如,参看数据阵列300,每列代表垂直维,垂直检测逻辑404按每列检测局部最大值。在一个实施例中,垂直检测逻辑404利用延迟元素,以便将数据阵列的每列内的相邻元素相互比较,且可检测到垂直维中的局部最大值。
一旦检测到水平和垂直方向中的局部最大值,便将信息传递给输出逻辑408。输出逻辑408接收关于经过预处理的数据流中哪些元素是垂直和水平维二者中的局部最大值的信息。例如,如果水平检测逻辑402发现数据元素是局部最大值,则设置与所述数据元素相关联的旗标。如果垂直检测逻辑404发现同一数据元素是局部最大值,则对与所述元素相关联的旗标进行测试。如果设置了旗标,则将关于数据元素的信息发送给输出逻辑。例如,将包含数据值及其识别符的峰值信息发送给输出逻辑408,输出逻辑408将峰值信息418转发给接收机的下一级,意即鉴别器。因此,检测系统运行以检测数据阵列中的局部最大值,并将检测到的峰值信息提供给接收机的下一级。
图5绘示的是用于峰值检测系统的一个实施例的水平检测器402的一个实施例的详细绘图。水平检测器402包括寄存器502、504、506,比较器510、512,AND逻辑514及旗标逻辑508。
寄存器502、504、506优选包括硬件,但可包括硬件、软件或其任何组合。寄存器502、504、506中的每者均为经过预处理的数据流414的一个数据元素提供存储。寄存器502、504、506均接收源自时钟406的时钟信号,以便使寄存器以同步的方式运行。
比较器510、512优选包括硬件,但可包括硬件、软件或其任何组合。比较器510、512具有输入“A”和“B”,用以接收值,所述值被彼此比较以便产生输出。如果比较器510的B输入处的值大于其A输入处的值(B>A),则比较器510会产生输出值“1”。如果比较器512的A输入处的值大于其B输入处的值(A>B),则比较器512会产生输出值“1”。
比较器的输出被输入到AND逻辑514,如果两个输入均为“1”,则所述AND逻辑产生输出值“1”。来自AND逻辑514的输出值被输入到旗标逻辑508。
在水平峰值检测器402运行期间,经过预处理的数据流414被输入到寄存器502。时钟信号提供的时钟脉冲使得经过预处理的数据流414循序通过寄存器502、504及506移位。每次移位之后,比较器510、512对经过预处理的数据流414中的相邻数据值进行比较。如果存储在寄存器504中的数据值大于存储在寄存器502及506中的值,则检测到水平峰值。比较器510及512输出值“1”,所述值“1”使得AND逻辑514输出值为“1”。来自AND逻辑514的输出被输入到旗标逻辑508,其运行以设置一与存储在寄存器504中的数据元素相关联的旗标。
在下一时钟周期中,存储在寄存器504中的数据值转移到寄存器506。转移到寄存器506的数据值包含任何可能已由旗标逻辑508设置的旗标。例如,参看数据元素302,如果这一元素经检测是水平最大值,则将设置旗标308。因此,可将所述数据值识别为局部水平峰值,因为已经设置了旗标。
系统继续在整个检测器402中为经过预处理的数据流414计时,直到所有或部分数据元素经过寄存器502、504及506为止。因此,会产生具有旗标值516的经过预处理的数据流。在数据流516中,任何已经判定为代表局部水平最大值的数据元素均将具有其相关联的旗标设置。随后将数据流516输入到垂直检测逻辑404。
在一个实施例中,检测逻辑402因执行存储在存储器中的指令而运行,以执行本文所述的功能。例如,存储器可为处理器412的一部分。所述指令可在制造检测系统114时存储在存储器中。在一个实施例中,指令被存储在计算机可读媒介上,例如软盘、硬盘、CDROM、快闪存储器或其他任何类型的计算机可读媒介。检测系统114可检索和执行计算机可读媒介上的指令。在一个实施例中,将指令从计算机可读媒介下载到检测系统114中,并存储在存储器中以供随后执行。因此,在一个实施例中,检测系统114运行以执行存储在计算机可读媒介上的指令,以执行本文所述的功能。
图6绘示的是在一峰值检测系统的一个实施例中使用的垂直检测器404的一个实施例的详细绘图。垂直检测器404包括移位寄存器602、604、606,比较器608、610。图中还绘示了输出逻辑408,其包括AND逻辑612。
寄存器602、604、606优选包括硬件逻辑,但可包括硬件、软件或其任何组合。寄存器602、604、606每者均包括“C”级,用以为经过预处理的数据流516的“C”数据元素提供存储。“C”的值等于经过预处理的数据阵列中列的数目。例如,在一个实施例中,列的数目为1024,其与同FFT逻辑204的输出相关联的频段数目相关。寄存器502、504、506均接收源自时钟406的时钟信号,以使得寄存器以同步方式运行。例如,在时钟输入的1024个时钟周期之后,寄存器602的输入处的数据值将出现在所述寄存器的输出处。
比较器608、610优选包括硬件逻辑,但可包括硬件、软件或其任何组合。比较器608、610具有输入“A”和“B”,用以接收值,所述值经彼此比较以便产生输出。如果比较器608的B输入处的值大于其A输入处的值(B>A),则比较器608会产生输出值“1”。如果比较器610的A输入处的值大于其B输入处的值(A>B),则比较器610会产生输出值“1”。
比较器608、610的输出被输入到AND逻辑612,如果其所有三个输入均为“1”,则所述AND逻辑产生等于“1”输出值(E)。到达AND逻辑612的第三输入为一与从寄存器604输出的数据元素相关联的旗标值。来自AND逻辑612的输出值(E)用来指示已在经过预处理的数据流516中检测到局部最大值。例如,如果峰值检测系统114是用在接收机中,则可将输出值(E)和局部峰值(LP)值提供给接收机中的另一电路,例如鉴别器116。
在垂直峰值检测器404运行期间,具有旗标516的经过预处理的数据流被输入到寄存器602。由时钟信号提供的时钟脉冲使得经过预处理的数据流516循序通过寄存器602、604及606移位。然而,将数据元素通过寄存器602、604及606中的每者彻底移位要花费“C”个时钟周期。每次移位之后,比较器510、512对经过预处理的数据流516中的数据值进行比较。被比较的数据值为数据阵列中垂直相邻的值。例如,数据值为数据阵列300的列中的相邻值。如果存储在寄存器604中的数据值大于存储在寄存器602及606中的值,则检测到垂直峰值。比较器608及610输出值“1”,如果设置了与从寄存器604输出的数据元素相关联的旗标值(旗标),则所述输出值使得AND逻辑612输出(E)值“1”。
系统继续在整个检测器404中为经过预处理的数据流516计时,直到所有或部分数据元素经过寄存器602、604及606为止。因此,对具有旗标值516的经过预处理的数据流进行处理,以产生存储在存储器中的数据阵列中的局部最大值的检测。
在一个实施例中,检测逻辑404因存储在存储器中的指令的执行而运行,以便执行本文所述的功能。例如,存储器可为处理器412的一部分。所述指令可在制造检测系统114时存储在存储器中。在一个实施例中,指令被存储在计算机可读媒介上,例如软盘、硬盘、CDROM、快闪存储器或其他任何类型的计算机可读媒介。检测系统114可取得和执行计算机可读媒介上的指令。在一个实施例中,将指令从计算机可读媒介下载到检测系统114中,并存储在存储器中以供之后执行。因此,在一个实施例中,检测系统114运行以执行存储在计算机可读媒介上的指令,以便执行本文所述的功能。
图7绘示的是用于检测二维数据集里的局部最大值的方法700的一个实施例。方法700适合与本文所述的峰值检测系统的一个或一个以上实施例一起使用。对于以下描述,假设接收机接收到无线电信号,所述信号包括来自一个或一个以上发射终端的发射内容。所述接收机包含本文所述的峰值检测系统的一个或一个以上实施例。所述接收机还包括预处理器,其运行以对所接收到的信号进行预处理。例如,所述接收机可为图1所示的接收机110。
在方块702处,产生一个代表所接收到的信号的二维数据阵列,其包括来自一个或一个以上发射终端的发射内容。所述数据阵列存储在接收机处的存储器中。例如,包含在接收机中的预处理器对所接收到的信号进行处理,并产生二维阵列,所述阵列存储在存储器中。例如,在一个实施例中,所述预处理器为图2所示的预处理器112。
在方块704处,对移位寄存器进行初始化,以开始峰值检测过程。例如,在一个实施例中,峰值检测系统包括水平和垂直检测电路,所述电路包含用以移位数据阵列以判定水平和垂直峰值的移位寄存器。这些寄存器被初始化(意即被清除或预置)或以另外的方式设置,以便处理峰值检测过程。
在方块706处,对存储器进行访问以读出数据阵列。以依序的方式逐元素地读出阵列,以便形成数据流。例如,在每个行上读出元素,直到已读出所有行或一部分行为止。
在方块708处,开始检测过程,其将数据流地元素移位到检测系统中。例如,用时钟来以同步和依序的方式将每个元素移位到检测系统中。
在方块710处,对数据阵列的三个水平元素进行测试,以便判定是否存在局部水平峰值。例如,在一个实施例中,图5所示的水平峰值检测器用来对从三个寄存器(502、504、506)输出的数据元素进行比较,以便检测局部水平峰值。
在方块712处,执行测试以判定是否已检测到局部水平峰值。例如,参看图5,比较器510和512将中间数据元素与两个邻近数据元素进行比较。如果中间数据元素大于邻近元素,则检测到峰值,且所述方法前进到方块714。如果未检测到峰值,则所述方法前进到方块716。
在方块714处,设置与所检测到的水平峰值相关联的旗标。例如,旗标逻辑508设置一个旗标,所述旗标为所检测到的峰值的数据元素的一部分。
在方块716处,数据阵列的三个垂直元素经过测试,以便判定是否存在局部垂直峰值。例如,在一个实施例中,图6所示的垂直峰值检测器用来对从三个寄存器(602、604、606)输出的数据元素进行比较,以便检测局部垂直峰值。
在方块718处,执行测试以判定是否检测到局部垂直峰值。例如,参看图6,比较器608和610将中间数据元素与两个垂直邻近的数据元素进行比较。如果中间数据元素大于垂直邻近的元素,则检测到垂直峰值,且所述方法前进到方块720。如果未检测到峰值,则所述方法前进到方块724。
在方块720处,执行测试以判定是否设置了与所检测到的垂直峰值相关联的旗标。如果设置了旗标,则在数据阵列中检测到了局部峰值。例如,如果在方块712处检测到水平峰值,则旗标在方块714处。如果设置了旗标,则所述方法前进到方块722,且如果未设置旗标,则所述方法前进到方块724。
在方块722处,在数据阵列中检测到局部峰值,且从检测系统中输出关于这一峰值的信息。例如,在一个实施例中,检测系统可为信号接收机的一部分,且检测器所检测到的峰值信息输出到鉴别器电路,如图1所示。输出信息中含有经检测为峰值的数据元素的值,以及识别数据阵列中的峰值位置的识别符信息。
在方块724处,数据阵列的下一元素移位到检测系统中以供处理。例如,时钟信号用来将另一数据元素从数据流移位到检测系统中。方法700继续,直到数据阵列中的所有或部分数据元素移位到检测系统并由检测系统处理为止。
因此,方法700描述如何在数据阵列中检测局部峰值,以便判定与从发射终端发射的数据相关联的频率和序列变量。所述方法适合用于任何类型的需要检测数据阵列中的局部峰值的处理系统。应注意,可在不偏离实施例的范畴的情况下执行方法步骤的添加、变化、删减或组合。
在另一实施例中,单独考虑数据阵列中的局部峰值的位置。例如,可使用计数器或其他类型的电路来追踪数据阵列中的局部峰值的位置。在对阵列进行处理之后,用计数器的值来识别所检测到的峰值的位置。
已经描述了峰值检测系统,其运行以检测二维数据集里的局部峰值。因此,虽然本文已说明和描述了峰值检测系统的一个或一个以上实施例,但应了解,可在不偏离实施例的精神或实质特性的情况下,对实施例进行各种变化。因此,本文的揭示和描述是用来于说明性的,但并不是用来限制随附权利要求书中所阐述的本发明范畴的。
权利要求
1.一种用于检测一二维数据集里的局部最大值的设备,其中所述数据集由一数据元素流来代表,所述设备包括第一检测逻辑,其接收所述数据流,并运行以检测代表所述数据集的一第一维中的一峰值的一第一数据元素;和第二检测逻辑,其接收所述数据流,并运行以检测代表所述数据集的一第二维中的一峰值的一第二数据元素,其中如果所述第一和第二数据元素为相同元素,则检测到一局部最大值。
2.根据权利要求1所述的设备,其进一步包括用以处理所述数据集以产生所述数据元素流的逻辑。
3.根据权利要求1所述的设备,其中所述第一检测逻辑进一步包括用以将一旗标与所述第一数据元素相关联的旗标逻辑。
4.根据权利要求1所述的设备,其中在所述第二检测逻辑中进一步包括对所述旗标进行处理以判定所述第一和第二数据元素是否为相同元素的逻辑。
5.根据权利要求1所述的设备,其进一步包括输出关于所述局部最大值的信息的输出逻辑。
6.根据权利要求5所述的设备,其中在关于所述局部最大值的所述信息中包括一识别所述局部最大值在所述数据集中的一位置的识别符。
7.根据权利要求1所述的设备,其中所述第一检测逻辑包括第一寄存器逻辑,所述第一寄存器逻辑运行以接收所述数据流,并输出在所述数据集的所述第一维中相邻的所选数据元素。
8.根据权利要求7所述的设备,其中所述第一检测逻辑包括比较器逻辑,所述比较器逻辑运行以对所述所选数据元素进行比较以判定所述第一数据元素,且其中所述比较器逻辑具有一耦合到所述旗标逻辑的输出。
9.根据权利要求1所述的设备,其中所述第二检测逻辑包括寄存器逻辑,所述寄存器逻辑运行以接收所述数据流,并输出在所述数据集的所述第二维中相邻的所选数据元素。
10.根据权利要求9所述的设备,其中所述第二检测逻辑包括比较器逻辑,所述比较器逻辑对所述所选数据元素进行比较以判定所述第二数据元素。
11.根据权利要求1所述的设备,其中所述二维数据集包括数据元素行和列,且其中所述数据集的所述第一维由列的数目界定,且所述数据集的所述第二维由行的数目界定。
12.一种用于检测二维数据集里的局部最大值的设备,其中所述数据集由一数据元素流来代表,所述设备包括用于接收所述数据流的装置;用于检测代表所述数据集的一第一维中的一峰值的一第一数据元素的装置;和用于检测代表所述数据集的一第二维中的一峰值的一第二数据元素的装置,其中如果所述第一和第二数据元素为相同元素,则检测到一局部最大值。
13.根据权利要求12所述的设备,其进一步包括用以处理所述数据集以产生所述数据元素流的装置。
14.根据权利要求12所述的设备,其中用以检测所述第一数据元素的所述装置进一步包括用以将一旗标与所述第一数据元素相关联的装置。
15.根据权利要求12所述的设备,其中用以检测所述第二数据元素的所述装置进一步包括用以对所述旗标进行处理以判定所述第一和第二数据元素是否为相同元素的装置。
16.根据权利要求12所述的设备,其进一步包括用于输出关于所述局部最大值的信息的装置。
17.根据权利要求16所述的设备,其中在关于所述局部最大值的所述信息中包括一识别所述局部最大值在所述数据集中的一位置的识别符。
18.根据权利要求12所述的设备,其中用于检测所述第一数据元素的所述装置包括用于存储所述数据流的一部分的装置;和用于输出来自所述数据流的所述所存储部分的所选数据元素的装置,所述所选数据元素在所述数据集的所述第一维中是相邻的。
19.根据权利要求18所述的设备,其中用于检测所述第一数据元素的所述装置包括用于对所述所选数据元素进行比较以判定所述第一数据元素的装置。
20.根据权利要求12所述的设备,其中用于检测所述第二数据元素的所述装置包括用于存储所述数据流的一部分的装置;和用于输出来自所述数据流的所述所存储部分的所选数据元素的装置,所述所选数据元素在所述数据集的所述第二维中是相邻的。
21.根据权利要求20所述的设备,其中用于检测所述第二数据元素的所述装置包括用于对所述所选数据元素进行比较以判定所述第二数据元素的装置。
22.根据权利要求12所述的设备,其中所述二维数据集包括数据元素行和列,且其中所述数据集的所述第一维由列的数目界定,且所述数据集的所述第二维由行的数目界定。
23.一种用于检测二维数据集里的局部最大值的方法,其中所述数据集由一数据元素流来代表,所述方法包括接收所述数据流;检测所述数据流中的一第一数据元素,所述第一数据元素代表所述数据集的一第一维中的一峰值;将一旗标与所述第一数据元素相关联;检测所述数据流中的一第二数据元素,所述第二数据元素代表所述数据集的一第二维中的一峰值;和如果所述旗标与所述第二数据元素相关联,则检测到一局部最大值。
24.根据权利要求23所述的方法,其进一步包括处理所述数据集以产生所述数据元素流。
25.根据权利要求23所述的方法,其进一步包括输出关于所述局部最大值的信息。
26.根据权利要求23所述的方法,其中关于所述局部最大值的所述信息包括一识别所述局部最大值在所述数据集中的一位置的识别符。
27.根据权利要求23所述的方法,其中检测所述第一数据元素的所述步骤包括存储所述数据流的一部分;和输出来自所述数据流的所述所存储部分的所选数据元素,所述所选数据元素在所述数据集的所述第一维中是相邻的。
28.根据权利要求27所述的方法,其中检测所述第一数据元素的所述步骤包括对所述所选数据元素进行比较以判定所述第一数据元素。
29.根据权利要求23所述的方法,其中检测所述第二数据元素的所述步骤包括存储所述数据流的一部分;和输出来自所述数据流的所述所存储部分的所选数据元素,所述所选数据元素在所述数据集的所述第二维中是相邻的。
30.根据权利要求29所述的方法,其中检测所述第二数据元素的所述步骤包括对所述所选数据元素进行比较以判定所述第二数据元素。
31.根据权利要求23所述的方法,其中所述二维数据集包括数据元素行和列,且其中所述数据集的所述第一维由列的数目界定,且所述数据集的所述第二维由行的数目界定。
32.一种包括指令的计算机可读媒介,所述指令在被一处理器执行时运行以检测二维数据集里的局部最大值,其中所述数据集由一数据元素流来代表,所述计算机可读媒介包括用于接收所述数据流的指令;用于检测代表所述数据集的一第一维中的一峰值的一第一数据元素的指令;和用于检测代表所述数据集的一第二维中的一峰值的一第二数据元素的指令,其中如果所述第一和第二数据元素为相同元素,则检测到一局部最大值。
33.根据权利要求32所述的计算机可读媒介,其进一步包括用于处理所述数据集以产生所述数据元素流的指令。
34.根据权利要求32所述的计算机可读媒介,其中用于检测所述第一数据元素的所述指令进一步包括用于将一旗标与所述第一数据元素相关联的指令。
35.根据权利要求32所述的计算机可读媒介,其中用于检测所述第二数据元素的所述指令进一步包括用于对所述旗标进行处理以判定所述第一和第二数据元素是否为相同元素的指令。
36.根据权利要求32所述的计算机可读媒介,其进一步包括用于输出关于所述局部最大值的信息的指令。
37.根据权利要求36所述的计算机可读媒介,其中在关于所述局部最大值的所述信息中包括一识别所述局部最大值在所述数据集中的一位置的以别符。
38.根据权利要求32所述的计算机可读媒介,其中用于检测所述第一数据元素的所述指令包括用于存储所述数据流的一部分的指令;和用于输出来自所述数据流的所述所存储部分的所选数据元素的指令,所述所选数据元素在所述数据集的所述第一维中是相邻的。
39.根据权利要求38所述的计算机可读媒介,其中用于检测所述第一数据元素的所述指令包括用于对所述所选数据元素进行比较以判定所述第一数据元素的指令。
40.根据权利要求32所述的计算机可读媒介,其中用于检测所述第二数据元素的所述指令包括用于存储所述数据流的一部分的指令;和用于输出来自所述数据流的所述所存储部分的所选数据元素的指令,所述所选数据元素在所述数据集的所述第二维中是相邻的。
41.根据权利要求40所述的计算机可读媒介,其中用于检测所述第二数据元素的所述指令包括用于对所述所选数据元素进行比较以判定所述第二数据元素的指令。
42.根据权利要求32所述的计算机可读媒介,其中所述二维数据集包括数据元素行和列,且其中所述数据集的所述第一维由列的数目界定,且所述数据集的所述第二维由行的数目界定。
全文摘要
本发明提供用于检测二维数据集里的局部最大值的方法和设备。提供检测二维数据集里的局部最大值的设备,其中数据元素流代表所述数据集。所述设备包含第一检测逻辑,其接收所述数据流,并运行以检测代表所述数据集的一第一维中的一峰值的一第一数据元素。所述设备还包含第二检测逻辑,其接收所述数据流,并运行以检测代表所述数据集的一第二维中的一峰值的一第二数据元素,其中如果所述第一和第二数据元素为相同元素,则检测到一局部最大值。
文档编号G06F7/22GK1947091SQ200580012597
公开日2007年4月11日 申请日期2005年4月1日 优先权日2004年4月21日
发明者罗伯特·莱利, 休伊·特兰多 申请人:高通股份有限公司