CN101447860B - 任意位高速滑动相关器及其应用 - Google Patents
任意位高速滑动相关器及其应用 Download PDFInfo
- Publication number
- CN101447860B CN101447860B CN2008102273811A CN200810227381A CN101447860B CN 101447860 B CN101447860 B CN 101447860B CN 2008102273811 A CN2008102273811 A CN 2008102273811A CN 200810227381 A CN200810227381 A CN 200810227381A CN 101447860 B CN101447860 B CN 101447860B
- Authority
- CN
- China
- Prior art keywords
- related content
- data
- register
- result
- match registers
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种任意位高速滑动相关器,其特征包括用于存储输入数据的输入数据移位寄存器、用于存储相关内容的相关内容寄存器、用于最新滑入数据与相关内容所有位比较的同或门组、用于存储输入数据与相关内容比较结果的匹配寄存器组,用于同或门输出与对应匹配寄存器相加的加法器。其中,所述输入数据移位寄存器存储数据长度与相关内容数据长度相同;所述同或门组中对应同或门在最新滑入的数据与相关内容的对应位相同时输出1,反之对应同或门输出0;所述匹配寄存器组中寄存器数与相关内容数据位数相同,匹配寄存器k的内容为匹配寄存器(k-1)内容加上最新滑入数据与相关内容(n-k-1)位的同或结果,其中n为相关内容长度,0≤k≤n-1,当k=0时匹配寄存器(k-1)内容定为0。本发明大大地提高了匹配的速度。通过任意位高速滑动相关器,可以降低系统的实现成本,提高实时性,还可以极大地改进其性能。
Description
技术领域
本发明涉及一种任意位高速滑动相关器,特别涉及所述滑动相关器在高速数传的同步头搜索中应用。
背景技术
在滑动相关器中,目前广泛采用的滑动相关的主要方法是串行相关法。串行相关法首先将输入数据保存在移位寄存器中,然后移位寄存器每一位与相关内容寄存器对应位同或,结果存入匹配寄存器中,最后将匹配寄存器中所有位累加,其结果即为移位寄存器的内容与相关内容寄存器的内容的匹配结果。
但是,在实际运用中,例如在高速数传的同步头搜索中,对数据的处理速度要求非常高,而串行相关法都必需在一周期内完成n次累加(n为相关内容长度),当速度过高或者相关内容长度过长时肯定无法实现,因此不能达到高速及相关内容任意长的要求。
发明内容
本发明的发明目的是针对上述现有的滑动相关器存在的由于对速度以及相关内容长度的要求过高而导致的上述缺点和不足,提供一种可以避免上述缺点和不足的滑动相关器——任意位高速滑动相关器。本发明的另一目的是提供所述滑动相关器在高速数传的同步头搜索中的应用。
现有的串行相关器首先将输入数据保存在移位寄存器中,然后移位寄存器每一位与相关内容寄存器对应位同或,结果存入匹配寄存器中,最后将匹配寄存器中所有位累加,其结果即为移位寄存器的内容与相关内容寄存器的内容的匹配结果。本发明的发明人通过研究现有的串行相关法,提出了一种与之不同的滑动相关法。
由于现有的串行相关法中采用的是最后将匹配寄存器中所有位累加,当速度过高或者相关内容长度过长时肯定无法实现,因此不能达到高速及相关内容任意长的要求。而本发明针 对该缺点在每滑入一位数据时,将前面需要并且可以实现累加的数进行了累加并存入相应匹配寄存器中,最后一次累加只要前一匹配寄存器加上移位寄存器最低位与相关内容寄存器最低位同或结果即可。从而本系统和方法大大地提高了匹配速度,同时实现了相关内容任意长的要求。
本发明所提供的任意位高速滑动相关器,其特征在于该系统是由一个集成了以下部件的数字集成电路构成的:一个输入数据移位寄存器,从低位到高位有A[0]、A[1]、…、A[n-2]、A[n-1]合计n位,随着脉冲节拍滑动地存储数据,数据从低位到高位有D[0]、D[1]、…、D[n-2]、D[n-1]合计n位;一个相关内容寄存器,从低位到高位有H[0]、H[1]、…、H[n-2]、H[n-1]合计n位,预先存入相关内容数据;n个同或门,在滑动地从高位到低位逐位地输入数据时,用于所述最新输入数据,即A[0]中的数据与所述相关内容寄存器所有位比较;n个匹配寄存器,依次为M[0]、M[1]、…、M[n-2]、M[n-1],所述最新输入数据,即A[0]中的数据与所述相关内容寄存器最高位H[n-1]同或的结果存入第0个匹配寄存器M[0],A[0]中的数据与所述相关内容寄存器次高位H[n-2]同或的结果加上第0个匹配寄存器M[0]的数据存入第1个匹配寄存器M[1],以此类推,A[0]中的数据与所述相关内容寄存器最低位H[0]同或的结果加上第n-2个匹配寄存器M[n-2]的数据存入第n-1个匹配寄存器M[n-1];n-1个加法器,用于同或门输出与对应匹配寄存器相加。
所述任意位高速滑动相关器数字集成电路芯片内实现的:将移位寄存器最低位与相关内容寄存器最高位同或的结果存入第0个匹配寄存器;同时将移位寄存器最低位与相关内容寄存器次高位同或的结果加上第0个匹配寄存器内容的结果存入第1个匹配寄存器,由于当前第0个匹配寄存器存放的是移位前的移位寄存器最低位与相关内容寄存器最高位同或的结果,也就是当前的移位寄存器次低位与相关内容寄存器最高位同或的结果,这样第1个匹配寄存器内容就是移位寄存器的次低位和最低位分别与相关内容寄存器的最高位和次高位同或后累加的结果;以此类推,第n-1个匹配寄存器内容就是移位寄存器的最高位至最低位分别与相关内容寄存器的最高位至最低位同或后累加的结果,因此第n-1个匹配寄存器的内容即为滑入的n位数据与相关内容的匹配结果,并且移位寄存器每移一位第n-1个匹配寄存器的内容就随之改变为当前的匹配结果,由此可以实时、高速地得出其任意长度的相关程度。
采用本发明所提供的任意位高速滑动相关器,可以通过观察第n-1个匹配寄存器的内容来达到检测相关程度的目的。
附图说明
图1任意位高速滑动相关器系统框图;
图2任意位高速滑动相关器的方法模型。
具体实施方式
下面通过具体实施方式并结合附图对本发明作进一步详细的描述。
本发明所提供的这种滑动相关器可以应用在各个领域,并不局限于下面的实施方式中所详细说明的领域。下面选取典型的领域对任意位高速滑动相关器详细说明本发明的具体实施方式。
如图1所示,本系统包括用于存储输入数据的输入数据移位寄存器A[n-1:0]、用于存储相关内容的相关内容寄存器H[n-1:0]、用于比较最新滑入数据与相关内容所有位的n个同或门XNOR、用于存储输入数据与相关内容的比较结果的匹配寄存器组M[n-1:0]、用于同或门XNOR输出与对应匹配寄存器M[k]相加的n-1个加法器Add。
所述输入数据移位寄存器A,从低位到高位有A[0]、A[1]、…、A[n-2]、A[n-1]合计n位,随着脉冲节拍滑动地存储数据,数据从低位到高位有D[0]、D[1]、…、D[n-2]、D[n-1]合计n位;
所述相关内容寄存器H,从低位到高位有H[0]、H[1]、…、H[n-2]、H[n-1]合计n位,预先存入相关内容数据;
所述同或门XNOR的数量和相关内容寄存器位数相同,即n个,在滑动地从高位到低位逐位地输入数据时,用于所述最新输入数据,即A[0]中的数据与所述相关内容寄存器所有位的比较;
所述匹配寄存器M的数量和相关内容寄存器位数相同,即n个,依次为M[0]、M[1]、…、M[n-2]、M[n-1],所述最新输入数据,即A[0]中的数据与所述相关内容寄存器最高位H[n-1]同或的结果存入第0个匹配寄存器M[0],A[0]中的数据与所述相关内容寄存器次高位H[n-2]同或的结果加上第0个匹配寄存器M[0]的数据存入第1个匹配寄存器M[1],以此类推,A[0]中的数据与所述相关内容寄存器最低位H[0]同或的结果加上第n-2个匹配寄存器M[n-2]的数据存入第n-1个匹配寄存器M[n-1];
所述加法器Add的数量比相关内容寄存器位数少一个,即n-1个,用于同或门输出与对 应匹配寄存器相加。
如图2所示,所述任意位高速滑动相关器数字集成电路芯片内实现的:将移位寄存器最低位A[0]与相关内容寄存器最高位H[n-1]同或的结果存入第0个匹配寄存器M[0];同时将移位寄存器最低位A[0]与相关内容寄存器次高位H[n-2]同或的结果加上第0个匹配寄存器M[0]内容的结果存入第1个匹配寄存器M[1],由于当前第0个匹配寄存器M[0]存放的是移位前的移位寄存器最低位A[0]与相关内容寄存器最高位H[n-1]同或的结果,也就是当前的移位寄存器次低位A[1]与相关内容寄存器最高位H[n-1]同或的结果,这样第1个匹配寄存器M[1]内容就是移位寄存器的次低位A[1]和最低位A[0]分别与相关内容寄存器的最高位H[n-1]和次高位H[n-2]同或后累加的结果;以此类推,第n-1个匹配寄存器M[n-1]内容就是移位寄存器的最高位A[n-1]至最低位A[0]分别与相关内容寄存器的最高位H[n-1]至最低位H[0]同或后累加的结果,因此第n-1个匹配寄存器M[n-1]的内容即为滑入的n位数据与相关内容的匹配结果,并且移位寄存器A每移一位第n-1个匹配寄存器M[n-1]的内容就随之改变为当前的匹配结果,由此可以实时、高速地得出其任意长度的相关程度。
下面举例说明本发明的具体计算。
鉴于描述方便又能体现本发明的优点,在此取相关长度n为4,则
式中:M[0]——第0个匹配寄存器;
M[1]——第1个匹配寄存器;
M[2]——第2个匹配寄存器;
M[3]——第3个匹配寄存器;
A[0]——输入数据移位寄存器第0位;
H[0]——相关内容寄存器第0位;
H[1]——相关内容寄存器第1位;
H[2]——相关内容寄存器第2位;
H[3]——相关内容寄存器第3位。
上述式(1)中4个公式在FPGA中并行处理,因此由第一个公式可知M[0]的内容为当前A[0]与H[3]同或的结果;由第二个公式可知M[1]的内容为当前A[0]与H[2]同或的结果加上M[0]的结果,由于当前M[0]存放的是移位前的A[0]与H[3]同或的结果,也就是当前的A[1]与H[3]同或的结果,这样M[1]就是A[1]和A[0]分别与H[3]和H[2]同或后累加的结果;由第三个公式可知M[2]的内容为当前A[0]与H[1]同或的结果加上M[1]的结果,由于当前M[1]存放的是移位前的A[1]和A[0]分别与H[3]和H[2]同或后累加的结果,也就是当前的A[2]和A[1]分别与H[3]和H[2]同或后累加的结果,这样M[2]就是A[2]、A[1]和A[0]分别与H[3]、H[2]和H[1]同或后累加的结果;由第四个公式可知M[3]的内容为当前A[0]与H[0]同或的结果加上M[2]的结果,由于当前M[2]存放的是移位前的A[2]、A[1]和A[0]分别与H[3]、H[2]和H[1]同或后累加的结果,也就是当前的A[3]、A[2]和A[1]分别与H[3]、H[2]和H[1]同或后累加的结果,这样M[3]就是A[3]、A[2]、A[1]和A[0]分别与H[3]、H[2]、H[1]和H[0]同或后累加的结果。
由此可见,M[3]正是需要的相关匹配结果,并且移位寄存器A每移一位M[3]就对应着当前的匹配结果,由此可以实时、高速地得出4位相关长度的相关程度,其实任意长度都类似,从而可以实时、高速地得出任意相关长度的相关程度。
Claims (3)
1.一种任意位高速滑动相关器,其特征在于,该相关器是由一个集成了以下部件的数字集成电路构成的:
一个输入数据移位寄存器,从低位到高位有A[0]、A[1]、…、A[n-2]、A[n-1]合计n位,随着脉冲节拍滑动地存储数据,数据从低位到高位有D[0]、D[1]、…、D[n-2]、D[n-1]合计n位;
一个相关内容寄存器,从低位到高位有H[0]、H[1]、…、H[n-2]、H[n-1]合计n位,预先存入相关内容数据;
n个同或门,在滑动地从高位到低位逐位地输入数据时,用于最新输入数据,即A[0]中的数据与所述相关内容寄存器所有位的比较;
n个匹配寄存器,依次为M[0]、M[1]、…、M[n-2]、M[n-1],所述最新输入数据,即A[0]中的数据与所述相关内容寄存器最高位H[n-1]同或的结果存入第0个匹配寄存器M[0],A[0]中的数据与所述相关内容寄存器次高位H[n-2]同或的结果加上第0个匹配寄存器M[0]的数据存入第1个匹配寄存器M[1],以此类推,A[0]中的数据与所述相关内容寄存器最低位H[0]同或的结果加上第n-2个匹配寄存器M[n-2]的数据存入第n-1个匹配寄存器M[n-1];
n-1个加法器,用于对应同或门输出与对应匹配寄存器相加;
在所述任意位高速滑动相关器数字集成电路芯片内实现:
将移位寄存器最低位与相关内容寄存器最高位同或的结果存入第0个匹配寄存器;同时将移位寄存器最低位与相关内容寄存器次高位同或的结果加上第0个匹配寄存器内容的结果存入第1个匹配寄存器,由于当前第0个匹配寄存器存放的是移位前的移位寄存器最低位与相关内容寄存器最高位同或的结果,也就是当前的移位寄存器次低位与相关内容寄存器最高位同或的结果,这样第1个匹配寄存器内容就是移位寄存器的次低位和最低位分别与相关内容寄存器的最高位和次高位同或后累加的结果;以此类推,第n-1个匹配寄存器内容就是移位寄存器的最高位至最低位分别与相关内容寄存器的最高位至最低位同或后累加的结果,因此第n-1个匹配寄存器的内容即为滑入的n位数据与相关内容的匹配结果,并且移位寄存器每移一位第n-1个匹配寄存器的内容就随之改变为当前的匹配结果,由此实时、高速地得出其任意长度的相关程度。
2.根据权利要求1所述的一种任意位高速滑动相关器,其特征在于该相关器是一种应用于高速数据传输的同步头搜索中的相关器。
3.根据权利要求1所述的一种任意位高速滑动相关器,其特征在于该相关器中的相关内容寄存器通过外部输入来改变其相关内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102273811A CN101447860B (zh) | 2008-11-28 | 2008-11-28 | 任意位高速滑动相关器及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102273811A CN101447860B (zh) | 2008-11-28 | 2008-11-28 | 任意位高速滑动相关器及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101447860A CN101447860A (zh) | 2009-06-03 |
CN101447860B true CN101447860B (zh) | 2010-12-22 |
Family
ID=40743285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102273811A Active CN101447860B (zh) | 2008-11-28 | 2008-11-28 | 任意位高速滑动相关器及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101447860B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2014369042B2 (en) | 2013-12-20 | 2020-04-30 | Dsm Ip Assets B.V. | Processes for obtaining microbial oil from microbial cells |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226980A (zh) * | 1997-04-09 | 1999-08-25 | Ge基本太空网络服务公司 | 相关器方法和设备 |
CN101170536A (zh) * | 2006-10-23 | 2008-04-30 | 冲电气工业株式会社 | 相关值生成方法以及相关器 |
-
2008
- 2008-11-28 CN CN2008102273811A patent/CN101447860B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226980A (zh) * | 1997-04-09 | 1999-08-25 | Ge基本太空网络服务公司 | 相关器方法和设备 |
CN101170536A (zh) * | 2006-10-23 | 2008-04-30 | 冲电气工业株式会社 | 相关值生成方法以及相关器 |
Also Published As
Publication number | Publication date |
---|---|
CN101447860A (zh) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103309966B (zh) | 基于时间滑动窗口的数据流点连接查询方法 | |
US20090240655A1 (en) | Bit String Seacrching Apparatus, Searching Method, and Program | |
CN109416694A (zh) | 包括资源有效索引的键值存储系统 | |
CN105301991A (zh) | 使用有限状态机的数字触发 | |
CN100354863C (zh) | 大规模关键词匹配的方法和系统 | |
US8150856B2 (en) | Bit string searching apparatus, searching method, and program | |
CN107180018A (zh) | 基于散列的加速压缩方法以及使用此方法的装置 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
CN103020054A (zh) | 模糊查询方法及系统 | |
CN105359142B (zh) | 哈希连接方法和装置 | |
CN102253957B (zh) | 一种tcam多模式字符串匹配方法及装置 | |
CN102169491A (zh) | 一种多数据集中重复记录动态检测方法 | |
CN101174850B (zh) | 一种短型部分匹配快捕相关器 | |
CN110532307A (zh) | 一种流滑动窗口的数据存储方法及查询方法 | |
CN103309940B (zh) | 一种对乱序数据流排序的方法 | |
CN101447860B (zh) | 任意位高速滑动相关器及其应用 | |
CN101082858A (zh) | 一种cordic算法的实现装置 | |
CN101174849B (zh) | 无线传感网节点的扩频码片同步捕获和跟踪方法及其装置 | |
Xu et al. | The greatest Hosoya index of bicyclic graphs with given maximum degree | |
CN103544111B (zh) | 一种基于实时性处理的混合基fft方法 | |
CN103197287A (zh) | 高速实时频域脉冲压缩器及其处理方法 | |
CN102546293B (zh) | 基于哈希比特串复用的高速网络流量网络地址测量方法 | |
Breslauer et al. | Simple real-time constant-space string matching | |
CN104504038A (zh) | 一种减少哈希冲突的哈希查找方法 | |
CN100568382C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |