CN111666285A - 基于双向循环链表的Costas序列搜索方法 - Google Patents

基于双向循环链表的Costas序列搜索方法 Download PDF

Info

Publication number
CN111666285A
CN111666285A CN202010434588.7A CN202010434588A CN111666285A CN 111666285 A CN111666285 A CN 111666285A CN 202010434588 A CN202010434588 A CN 202010434588A CN 111666285 A CN111666285 A CN 111666285A
Authority
CN
China
Prior art keywords
permutation matrix
costas
node
array
linked list
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.)
Granted
Application number
CN202010434588.7A
Other languages
English (en)
Other versions
CN111666285B (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202010434588.7A priority Critical patent/CN111666285B/zh
Publication of CN111666285A publication Critical patent/CN111666285A/zh
Application granted granted Critical
Publication of CN111666285B publication Critical patent/CN111666285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明揭示了一种基于双向循环链表的Costas序列搜索方法,包括如下步骤:S1、给定阶数;S2、建立并初始化包含有双向循环链表的框架数据结构;S3、依据阶数的奇偶性进行分类处理,利用框架数据结构对满足所给定的阶数的置换矩阵进行递归判断,将符合Costas序列判断准则的置换矩阵作为Costas序列;S4、进行汇总整理,最终输出符合给定阶数的所有Costas序列、序列总个数以及整个搜索过程的总时长。本发明利用双向循环链表大幅降低了Costas序列搜索过程中置换矩阵判断的计算量,优化了Costas序列的判决准则,消除了计算冗余,极大提高了搜索速度。

Description

基于双向循环链表的Costas序列搜索方法
技术领域
本发明为一种Costas序列搜索方法,具体涉及一种基于双向循环链表的Costas序列搜索方法,属于数字信号处理技术领域。
背景技术
Costas序列的概念,源自于上世纪六十年代对具有理想模糊函数特性的声纳信号的研究。一般而言,Costas序列具有理想的“图钉状”模糊函数特性,即主瓣高而尖锐、副瓣低而平坦。由于跳频编码的雷达系统要求尽可能地避免多个用户间的干扰、以保证较好的测距和测速分辨力,在这样的需求下,Costas序列凭借其所具备的良好的自模糊特性,以及对其进行合理的码组图样设计即可获得极佳的互相关性等优点,在该领域内得到了广泛地应用。
在数字信号处理技术日趋成熟的今天,具有良好互相关性的信号在工程实践中的应用需求越来越普遍,对于Costas序列的应用也开始逐渐涉及信号检测、信息安全、无线通信等诸多领域。因此,对于Costas序列的结构及其搜索方法的研究具有重要意义。
近年来,国内外关于Costas序列搜索的相关研究从未间断。对于Costas序列的构造方法,首先由S.W.Golomb等人将有限域的本原元理论引入,随后又相继提出了Welch/Golomb/Lempel等构造方法。这些现有构造方法在原理上大同小异,一般都会现构造出高阶的Costas序列,再从所构建的高阶的Costas序列中去除部分行列从而得到所需的低阶Costas序列。除此之外,也有一些方案采用了特殊的增长构造法,如利用代数方法求出的第一、第二增长构造法及对角落加点的第三增长构造法等。
但截至目前,业内仍未出现一种能够获得所有Costas序列的方法。针对这一问题,也有一些学者试图利用计算机的计算性能,暴力破解、遍历特定阶数的Costas序列,但这一方法在操作中,计算量会随着序列阶数的增加而成倍提高,因此该方法的实际搜索速度非常慢,并不适合用于对高阶Costas序列的搜索。
综上所述,如何寻找、设计出一种全新的、能够快速搜索到符合要求的Costas序列的方法,也就成为了本领域内技术人员所期望解决的一项技术问题。
发明内容
鉴于现有技术存在上述缺陷,本发明的目的是提出一种基于双向循环链表的Costas序列搜索方法,具体如下。
一种基于双向循环链表的Costas序列搜索方法,包括如下步骤:
S1、给定所需要搜索的Costas序列的阶数;
S2、建立并初始化包含有双向循环链表、用于构建Costas序列的框架数据结构;
S3、依据S1中所给定的阶数的奇偶性进行分类处理,利用S2中的框架数据结构,对满足所给定的阶数的置换矩阵进行递归判断,将符合Costas序列判断准则的置换矩阵作为Costas序列;
S4、对S3中搜索得到的Costas序列进行汇总整理,最终输出符合所给定阶数的所有Costas序列、序列总个数以及整个搜索过程的总时长。
优选地,所述框架数据结构包含双向循环链表数据及数组数据;
所述双向循环链表数据包括双向循环链表的前驱结点、后继结点、头结点以及各结点所对应的结点值;
所述数组数据包括数组的序号及具体数值。
优选地,所述数组包括标记数组及阵列数组;所述标记数组为用于记录元素的相对位置、长度为
Figure 100002_DEST_PATH_IMAGE001
的数组,其中
Figure 986754DEST_PATH_IMAGE002
表示S1中所给定的阶数。
优选地,以所述阵列数组的序号表示所述置换矩阵的列号,以所述双向循环链表的结点值表示所述置换矩阵的行号。
优选地,S3具体包括如下步骤:
S31、判断S1中所给定的阶数的奇偶性,若阶数为奇数,则按序进入S32步骤,若阶数为偶数,则跳转进入S34步骤;
S32、将双向循环链表内结点值为
Figure 100002_DEST_PATH_IMAGE003
的结点定义为中间结点,释放中间结点,将所述中间结点的结点值存至阵列数组中序号为1的位置,随后按序进入S33步骤;
S33、判断当前置换矩阵的列数是否小于阶数,若列数小于阶数,则进一步判断该置换矩阵的当前列是否满足Costas阵列判决准则,若满足,则递归至该置换矩阵的下一列并从头循环执行S33步骤,若不满足,则递归进入对下一置换矩阵的判断并保持序列总个数不变;若列数不小于阶数,则直接递归进入对下一置换矩阵的判断并对序列总个数加一;
对所释放的中间结点进行重新链接,历遍全部置换矩阵后结束搜索;
S34、将双向循环链表内头结点的后继结点定义为中继结点,释放中继结点,将所述中继结点的结点值存至阵列数组中序号为1的位置,随后按序进入S35步骤;
S35、判断当前置换矩阵的列数是否小于阶数,若列数小于阶数,则进一步判断该置换矩阵的首列是否满足Costas阵列判决准则,若满足,则递归至该置换矩阵的下一列并从头循环执行S35步骤,若不满足,则递归进入对下一置换矩阵的判断并保持序列总个数不变;若列数不小于阶数,则直接递归进入对下一置换矩阵的判断并对序列总个数加一;
随后按序进入S36步骤;
S36、对所释放的中继结点进行重新链接,判断当前中继结点是否为中间结点,若不是,则将当前中继结点的后继结点作为下一中继结点、对所述中继结点进行更新,从头按序循环执行S34步骤,历遍全部置换矩阵后结束搜索;
若是,则直接结束搜索。
优选地,所述Costas阵列判决准则为:若置换矩阵中存在至少两组相对位置相同的元素,则判定该置换矩阵不是Costas阵列;若置换矩阵中不存在至少两组相对位置相同的元素,则判定该置换矩阵是Costas阵列。
优选地,所述相对位置表示置换矩阵中任意两个元素在坐标系中对应横坐标的差值和对应纵坐标的差值。
本发明的优点主要体现在以下几个方面:
本发明所提出的一种基于双向循环链表的Costas序列搜索方法,通过对双向循环链表的操作大幅降低了Costas序列搜索过程中置换矩阵判断的计算量。同时,本发明优化了Costas序列的判决准则,消除了计算冗余,不仅极大地提高了搜索Costas序列的速度,而且能够适用于对高阶序列的搜索、扩大了本发明的应用范围。
此外,本发明还为研究Costas序列在通信系统中的应用提供了更为全面的数据支撑、为同领域内的其他相关问题提供了参考,可以以此为依据进行拓展延伸和深入研究,本发明的方案具有十分广阔的应用前景。
以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握。
附图说明
图1为本发明中的双向循环链表数据结构示意图;
图2为本发明中的Costas判决准则中相对位置状态示意图;
图3为本发明的方法搜索到的17阶Costas阵列部分结果示意图;
图4为本发明的方法搜索到的17阶Costas阵列元素放置示意图;
图5为本发明的方法与现有方法关于搜索时长与阶数的导数间关系的对比示意图。
具体实施方式
本发明揭示了一种基于双向循环链表的Costas序列搜索方法,通过对双向循环链表的操作消除了现有方法中对于置换矩阵判断的计算量,以更为直接的方式实现了对矩阵是否满足Costa序列判决准则的判断。方案细节如下。
一种基于双向循环链表的Costas序列搜索方法,包括如下步骤:
S1、给定所需要搜索的Costas序列的阶数
Figure 475373DEST_PATH_IMAGE002
。在本方案的实施例中,给定的阶数
Figure 773630DEST_PATH_IMAGE004
S2、建立并初始化包含有双向循环链表、用于构建Costas序列的框架数据结构。
此处所述框架数据结构包含双向循环链表数据及数组数据。所述双向循环链表数据包括双向循环链表的前驱结点、后继结点、头结点以及各结点所对应的结点值。所述数组数据包括数组的序号及具体数值。
所述数组进一步包括标记数组及阵列数组;其中,所述标记数组为用于记录元素的相对位置、长度为
Figure 160749DEST_PATH_IMAGE001
的数组。
S2步骤具体包括,利用计算机程序建立双向循环链表,后文用
Figure DEST_PATH_IMAGE005
表示结点值为
Figure 717501DEST_PATH_IMAGE006
的结点、
Figure DEST_PATH_IMAGE007
表示
Figure 545780DEST_PATH_IMAGE008
的后继结点,其中双向循环链表的结点数为18,结点的结点值依次为0、1、…、18,并设置
Figure DEST_PATH_IMAGE009
为头结点。随后建立标记数组Flag,长度为561,建立阵列数组Array,长度为17。
需要说明的是,计算机程序大多采用基0计数、即第1个位置的序号的是0,为避免混淆,后续若无特殊说明,所有描述行、列、序号均采用基0计数。
S3、依据S1中所给定的阶数的奇偶性进行分类处理,利用S2中的框架数据结构,对满足所给定的阶数的置换矩阵进行递归判断,将符合Costas序列判断准则的置换矩阵作为Costas序列。
在本发明的方案中,以所述阵列数组的序号表示所述置换矩阵的列号,以所述双向循环链表的结点值表示所述置换矩阵的行号。
所述Costas阵列判决准则为,若置换矩阵中存在至少两组相对位置相同的元素,则判定该置换矩阵不是Costas阵列;若置换矩阵中不存在至少两组相对位置相同的元素,则判定该置换矩阵是Costas阵列。
所述相对位置表示置换矩阵中任意两个元素在坐标系中对应横坐标的差值和对应纵坐标的差值。
对于
Figure 529786DEST_PATH_IMAGE002
阶置换矩阵,第
Figure 76304DEST_PATH_IMAGE002
列元素与第
Figure 249797DEST_PATH_IMAGE002
列之前元素的相对位置的可能情况一共有
Figure 447429DEST_PATH_IMAGE010
种,定义一个长度为
Figure 415385DEST_PATH_IMAGE001
的数组,其每一位可对应相对位置的一种状态,当遍历到某种状态时,将该状态对应位的数值置1。所述对应位指将二维的相对位置映射到一维的标记数组中,映射按照如下方法处理,设起点到终点相对位置为
Figure DEST_PATH_IMAGE011
,则每一组
Figure 449200DEST_PATH_IMAGE011
可对应标记数组的序号
Figure 347755DEST_PATH_IMAGE012
,序号
Figure DEST_PATH_IMAGE013
的值对于不同的
Figure 150626DEST_PATH_IMAGE011
均不相同,因此可确保标记数组可以无遗漏和无冲突的记录元素相对位置的存在状态。
在置换矩阵
Figure 289483DEST_PATH_IMAGE014
中,设置换矩阵
Figure 59862DEST_PATH_IMAGE014
的左下角为坐标原点,设置换矩阵
Figure 309577DEST_PATH_IMAGE014
中第
Figure 232534DEST_PATH_IMAGE006
列的元素位于第
Figure DEST_PATH_IMAGE015
行,则对置换矩阵
Figure 729243DEST_PATH_IMAGE014
中任意两个元素
Figure 799968DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
的在置换矩阵中的位置可由
Figure 791057DEST_PATH_IMAGE018
Figure DEST_PATH_IMAGE019
来确定;定义元素
Figure 817788DEST_PATH_IMAGE016
Figure 298448DEST_PATH_IMAGE017
的相对位置为
Figure 715523DEST_PATH_IMAGE020
S3步骤具体包括:
S31、判断S1中所给定的阶数的奇偶性,若阶数为奇数,则按序进入S32步骤,若阶数为偶数,则跳转进入S34步骤;
S32、将双向循环链表内结点值为
Figure 510303DEST_PATH_IMAGE003
的结点定义为中间结点,释放中间结点,将所述中间结点的结点值存至阵列数组中序号为1的位置,随后按序进入S33步骤;
S33、判断当前置换矩阵的列数是否小于阶数,若列数小于阶数,则进一步判断该置换矩阵的当前列是否满足Costas阵列判决准则,若满足,则递归至该置换矩阵的下一列并从头循环执行S33步骤,若不满足,则递归进入对下一置换矩阵的判断并保持序列总个数不变;若列数不小于阶数,则直接递归进入对下一置换矩阵的判断并对序列总个数加一;对所释放的中间结点进行重新链接,历遍全部置换矩阵后结束搜索;
S34、将双向循环链表内头结点的后继结点定义为中继结点,释放中继结点,将所述中继结点的结点值存至阵列数组中序号为1的位置,随后按序进入S35步骤;
S35、判断当前置换矩阵的列数是否小于阶数,若列数小于阶数,则进一步判断该置换矩阵的首列是否满足Costas阵列判决准则,若满足,则递归至该置换矩阵的下一列并从头循环执行S35步骤,若不满足,则递归进入对下一置换矩阵的判断并保持序列总个数不变;若列数不小于阶数,则直接递归进入对下一置换矩阵的判断并对序列总个数加一;随后按序进入S36步骤;
S36、对所释放的中继结点进行重新链接,判断当前中继结点是否为中间结点,若不是,则将当前中继结点的后继结点作为下一中继结点、对所述中继结点进行更新,从头按序循环执行S34步骤,历遍全部置换矩阵后结束搜索;若是,则直接结束搜索。
在本方案的实施例中,阶数
Figure 204590DEST_PATH_IMAGE002
为奇数,则上述操作可进一步细化描述为:
释放
Figure DEST_PATH_IMAGE021
,令
Figure 43102DEST_PATH_IMAGE022
,随后进行递归判断并记录返回结果,重新链接释放的结点。释放
Figure DEST_PATH_IMAGE023
,令
Figure 26101DEST_PATH_IMAGE024
,跳转进入S35步骤进行递归判断并记录返回值,将释放的结点重新链接。令
Figure DEST_PATH_IMAGE025
,从头按序循环执行S34步骤,若
Figure 608261DEST_PATH_IMAGE026
,结束循环流程。
需要说明的是,由Costas阵列的定义可推,若置换矩阵
Figure 94737DEST_PATH_IMAGE014
是Costas阵列,则对置换矩阵
Figure 182779DEST_PATH_IMAGE014
进行镜像得到的置换矩阵
Figure DEST_PATH_IMAGE027
也是Costas阵列;因此在递归判断时,可只判断第一列元素位于矩阵上半部分的情况,第一列元素位于下半部分的情况可由镜像得到。
总体而言,对于
Figure 636763DEST_PATH_IMAGE002
阶的置换矩阵,若自相关矩阵除原点外所有点的值不超过1,则可判定该置换矩阵为Costas阵列。
所述自相关矩阵指由两个完全相同的置换矩阵
Figure 773346DEST_PATH_IMAGE014
和置换矩阵
Figure 176646DEST_PATH_IMAGE027
,将置换矩阵
Figure 622540DEST_PATH_IMAGE014
固定,以置换矩阵
Figure 376869DEST_PATH_IMAGE014
的左下角为坐标原点,置换矩阵
Figure 51564DEST_PATH_IMAGE027
开始时与置换矩阵
Figure 574949DEST_PATH_IMAGE014
完全重合,然后对置换矩阵
Figure 191744DEST_PATH_IMAGE027
进行移位操作,移动的位数在坐标轴上分别表示为
Figure 167790DEST_PATH_IMAGE028
,则自相关矩阵位于坐标
Figure 646176DEST_PATH_IMAGE028
的值为置换矩阵
Figure 289647DEST_PATH_IMAGE014
和移动后的置换矩阵
Figure 811764DEST_PATH_IMAGE027
重合的元素个数。
当移动置换矩阵
Figure 540686DEST_PATH_IMAGE027
以后重合的元素个数不小于2个时,该置换矩阵
Figure 557184DEST_PATH_IMAGE014
不是Costas阵列;因此若置换矩阵
Figure 55161DEST_PATH_IMAGE014
和置换矩阵
Figure 748179DEST_PATH_IMAGE027
中各存在至少2个元素的相对位置相同时,则移动后置换矩阵
Figure 964397DEST_PATH_IMAGE014
和置换矩阵
Figure 784585DEST_PATH_IMAGE027
重合的元素也至少是2个、即置换矩阵
Figure 137069DEST_PATH_IMAGE014
中至少存在两组元素,其中两个元素的相对位置和另外两组元素的相对位置相同。
在对置换矩阵递归判断时,定义当前列的元素为起点,当前列之前任意列的元素为终点,用标记数组存储起点到终点的相对位置,递归时判断标记数组对应位是否已经存在标记数值,若已经存在,则置换矩阵
Figure 266568DEST_PATH_IMAGE014
中存在两组相对位置相同的元素,此时可判定置换矩阵
Figure 704503DEST_PATH_IMAGE014
必定不是Costas阵列,若判断完所有的列后标记数组不存在冲突的情况,则可判定该置换矩阵
Figure 62803DEST_PATH_IMAGE014
是Costas阵列。
当前列的元素位置由双向循环链表中释放结点的结点值确定,若包含当前列的置换矩阵满足Costas判决准则,将该结点值保存在阵列数组中,并从双向循环链表中释放剩余结点进入下一列的递归判断,若不满足,则重新链接该结点,释放当前结点的下一结点进行递归;递归结束的条件为双向循环链表的结点只剩头节点,或当前生成的置换矩阵不满足Costas判决准则;递归结束后按照递归调用顺序依次返回结果。
S4、对S3中搜索得到的Costas序列进行汇总整理,最终输出符合所给定阶数的所有Costas序列、序列总个数以及整个搜索过程的总时长。
此外,需要说明的是,本发明的方案对阶数的奇偶性进行了分类,但在实际的操作中,对奇数情况与对偶数情况的处理相近似,仅为奇数情况时的步骤更多,因此此处不再单独列举阶数为偶数情况的实施例。
本发明的说明书附图部分具体展示了本发明的方法与现有方法的区别。
其中,图1为本发明的双向循环链表数据结构示意图,利用该数据结构生成的矩阵一定为置换矩阵,较现有方法先生成矩阵再判断是否为置换矩阵性能更优。
图2为本发明的Costas判决准则中相对位置状态示意图,本方法通过一维的标记数组校验元素分布情况,较现有方法利用二维向量校验更有助于程序提升搜索效率。
图3为利用本方法搜索的到17阶Costas阵列的矩阵示意图、图4为利用本方法搜索的到17阶Costas阵列的元素放置示意图,其中第一列的元素位于第8行、即奇数阶的一种特殊情况,后续的遍历奇数和偶数的操作一样,较现有方法无差别的穷举遍历,可节省至少一半的计算量。
图5为本发明与现有方法搜索时长与阶数的导数示意图,由于计算机性能差距,绝对时长无法体现计算效率,通过搜索时长与阶数的导数关系,可看到当阶数增加时,本发明搜索时长的增加率明显低于现有方法,因此在高阶搜索时本方法更加适用。
与现有技术相比,本发明所提出的一种基于双向循环链表的Costas序列搜索方法,其优点主要体现在以下几个方面:
1、本发明的方法解决了传统的代数构造法只适用特定阶数的Costas序列的问题,扩大了方法的应用范围;
2、本发明的方法还解决了现有方法中先遍历、再校验判断所导致的计算量巨大、无法对高阶Costas序列进行搜索的问题;
3、本发明的方法利用双向循环链表减少了对置换矩阵的判断的计算量,在遍历的同时完成对Costas序列的判决,避免了无效计算;
4、本发明的方法还利用Costas序列的对称特性克服了现有方法需要遍历所有矩阵的缺陷,使用数据结构优化Costas序列的判决准则,实现了对符合要求的Costas序列的快速搜索。
综上所述,本发明通过对双向循环链表的操作大幅降低了Costas序列搜索过程中置换矩阵判断的计算量。同时,本发明优化了Costas序列的判决准则,消除了计算冗余,不仅极大地提高了搜索Costas序列的速度,而且能够适用于对高阶序列的搜索、扩大了本发明的应用范围。
此外,本发明还为研究Costas序列在通信系统中的应用提供了更为全面的数据支撑、为同领域内的其他相关问题提供了参考,可以以此为依据进行拓展延伸和深入研究,本发明的方案具有十分广阔的应用前景。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
最后,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (7)

1.一种基于双向循环链表的Costas序列搜索方法,其特征在于,包括如下步骤:
S1、给定所需要搜索的Costas序列的阶数;
S2、建立并初始化包含有双向循环链表、用于构建Costas序列的框架数据结构;
S3、依据S1中所给定的阶数的奇偶性进行分类处理,利用S2中的框架数据结构,对满足所给定的阶数的置换矩阵进行递归判断,将符合Costas序列判断准则的置换矩阵作为Costas序列;
S4、对S3中搜索得到的Costas序列进行汇总整理,最终输出符合所给定阶数的所有Costas序列、序列总个数以及整个搜索过程的总时长。
2.根据权利要求1所述的基于双向循环链表的Costas序列搜索方法,其特征在于:所述框架数据结构包含双向循环链表数据及数组数据;
所述双向循环链表数据包括双向循环链表的前驱结点、后继结点、头结点以及各结点所对应的结点值;
所述数组数据包括数组的序号及具体数值。
3.根据权利要求2所述的基于双向循环链表的Costas序列搜索方法,其特征在于:所述数组包括标记数组及阵列数组;所述标记数组为用于记录元素的相对位置、长度为
Figure DEST_PATH_IMAGE001
的数组,其中
Figure 71521DEST_PATH_IMAGE002
表示S1中所给定的阶数。
4.根据权利要求3所述的基于双向循环链表的Costas序列搜索方法,其特征在于:以所述阵列数组的序号表示所述置换矩阵的列号,以所述双向循环链表的结点值表示所述置换矩阵的行号。
5.根据权利要求4所述的基于双向循环链表的Costas序列搜索方法,其特征在于,S3具体包括如下步骤:
S31、判断S1中所给定的阶数的奇偶性,若阶数为奇数,则按序进入S32步骤,若阶数为偶数,则跳转进入S34步骤;
S32、将双向循环链表内结点值为
Figure DEST_PATH_IMAGE003
的结点定义为中间结点,释放中间结点,将所述中间结点的结点值存至阵列数组中序号为1的位置,随后按序进入S33步骤;
S33、判断当前置换矩阵的列数是否小于阶数,若列数小于阶数,则进一步判断该置换矩阵的当前列是否满足Costas阵列判决准则,若满足,则递归至该置换矩阵的下一列并从头循环执行S33步骤,若不满足,则递归进入对下一置换矩阵的判断并保持序列总个数不变;若列数不小于阶数,则直接递归进入对下一置换矩阵的判断并对序列总个数加一;
对所释放的中间结点进行重新链接,历遍全部置换矩阵后结束搜索;
S34、将双向循环链表内头结点的后继结点定义为中继结点,释放中继结点,将所述中继结点的结点值存至阵列数组中序号为1的位置,随后按序进入S35步骤;
S35、判断当前置换矩阵的列数是否小于阶数,若列数小于阶数,则进一步判断该置换矩阵的首列是否满足Costas阵列判决准则,若满足,则递归至该置换矩阵的下一列并从头循环执行S35步骤,若不满足,则递归进入对下一置换矩阵的判断并保持序列总个数不变;若列数不小于阶数,则直接递归进入对下一置换矩阵的判断并对序列总个数加一;
随后按序进入S36步骤;
S36、对所释放的中继结点进行重新链接,判断当前中继结点是否为中间结点,若不是,则将当前中继结点的后继结点作为下一中继结点、对所述中继结点进行更新,从头按序循环执行S34步骤,历遍全部置换矩阵后结束搜索;
若是,则直接结束搜索。
6.根据权利要求1所述的基于双向循环链表的Costas序列搜索方法,其特征在于,所述Costas阵列判决准则为:若置换矩阵中存在至少两组相对位置相同的元素,则判定该置换矩阵不是Costas阵列;若置换矩阵中不存在至少两组相对位置相同的元素,则判定该置换矩阵是Costas阵列。
7.根据权利要求3或6任一所述的基于双向循环链表的Costas序列搜索方法,其特征在于:所述相对位置表示置换矩阵中任意两个元素在坐标系中对应横坐标的差值和对应纵坐标的差值。
CN202010434588.7A 2020-05-21 2020-05-21 基于双向循环链表的Costas序列搜索方法 Active CN111666285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010434588.7A CN111666285B (zh) 2020-05-21 2020-05-21 基于双向循环链表的Costas序列搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010434588.7A CN111666285B (zh) 2020-05-21 2020-05-21 基于双向循环链表的Costas序列搜索方法

Publications (2)

Publication Number Publication Date
CN111666285A true CN111666285A (zh) 2020-09-15
CN111666285B CN111666285B (zh) 2022-10-25

Family

ID=72384218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010434588.7A Active CN111666285B (zh) 2020-05-21 2020-05-21 基于双向循环链表的Costas序列搜索方法

Country Status (1)

Country Link
CN (1) CN111666285B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113035298A (zh) * 2021-04-02 2021-06-25 南京信息工程大学 递归生成大阶数行限制覆盖阵列的药物临床试验设计方法
CN113204587A (zh) * 2021-05-10 2021-08-03 南京邮电大学 一种基于多机协作的Costas序列搜索算法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319465A1 (en) * 2008-06-18 2009-12-24 Reneses Asenjo Ignacio Method for solving optimization problems in structured combinatorial objects
CN106712898A (zh) * 2016-08-30 2017-05-24 中国人民解放军理工大学 基于高斯迭代列消元的信道编码盲识别方法
CN109308342A (zh) * 2018-09-06 2019-02-05 南京邮电大学 一种基于向量的Costas序列搜索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319465A1 (en) * 2008-06-18 2009-12-24 Reneses Asenjo Ignacio Method for solving optimization problems in structured combinatorial objects
CN106712898A (zh) * 2016-08-30 2017-05-24 中国人民解放军理工大学 基于高斯迭代列消元的信道编码盲识别方法
CN109308342A (zh) * 2018-09-06 2019-02-05 南京邮电大学 一种基于向量的Costas序列搜索方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113035298A (zh) * 2021-04-02 2021-06-25 南京信息工程大学 递归生成大阶数行限制覆盖阵列的药物临床试验设计方法
CN113035298B (zh) * 2021-04-02 2023-06-20 南京信息工程大学 递归生成大阶数行限制覆盖阵列的药物临床试验设计方法
CN113204587A (zh) * 2021-05-10 2021-08-03 南京邮电大学 一种基于多机协作的Costas序列搜索算法
CN113204587B (zh) * 2021-05-10 2022-09-27 南京邮电大学 一种基于多机协作的Costas序列搜索算法

Also Published As

Publication number Publication date
CN111666285B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
CN107688999A (zh) 一种基于区块链的并行交易执行方法
CN111666285B (zh) 基于双向循环链表的Costas序列搜索方法
CN111190904B (zh) 一种图-关系数据库混合存储的方法和装置
CN112181991B (zh) 基于快速构建kd树的地球模拟系统网格重映射方法
CN104021123A (zh) 用于数据迁移的方法和系统
CN104636349A (zh) 一种索引数据压缩以及索引数据搜索的方法和设备
JP2020035195A (ja) 画像認識装置、画像認識方法および画像認識プログラム
US20070067327A1 (en) Performing recursive database operators
CN101840430A (zh) 智能卡数据库多表操作方法及装置
CN112269786A (zh) 一种内存数据库kv存储引擎索引的创建方法
CN112444778A (zh) 一种基于dbscan的参考点加权三边质心定位方法
CN111538735A (zh) 基于任意数据库的空间数据编码、查询方法和电子设备
CN104932011A (zh) 一种拾取地震波初至的方法及装置
CN101944121A (zh) 有限状态自动机生成方法、关键字匹配方法及装置和设备
CN108874296B (zh) 一种基于并行架构的三维波形映射方法
TWI710918B (zh) 一種lsm樹的優化方法、裝置及電腦設備
CN107464272A (zh) 基于关键点的中心扩散式气象传真图等值线的插值方法
CN103593409A (zh) 实时数据库检索方法及检索系统
CN115206434A (zh) 一种基于De Bruijn图的多序列比对方法
CN107147947B (zh) 关键帧识别方法及装置
CN110263108A (zh) 一种基于道路网的关键词Skyline模糊查询方法及系统
CN112905526B (zh) 一种多种类型卷积的fpga实现方法
CN110083603B (zh) 一种基于邻接表实现节点路径的查询方法及系统
CN114077581A (zh) 一种基于数据汇聚存储方式的数据库
CN102968467A (zh) 一种多层Bloom Filter的优化方法及查询方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant