CN107948102A - 一种矢量数据的并行排序网络及方法 - Google Patents

一种矢量数据的并行排序网络及方法 Download PDF

Info

Publication number
CN107948102A
CN107948102A CN201610893467.2A CN201610893467A CN107948102A CN 107948102 A CN107948102 A CN 107948102A CN 201610893467 A CN201610893467 A CN 201610893467A CN 107948102 A CN107948102 A CN 107948102A
Authority
CN
China
Prior art keywords
vector data
crosspoint
vector
grades
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.)
Withdrawn
Application number
CN201610893467.2A
Other languages
English (en)
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.)
Sanechips Technology Co Ltd
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 CN201610893467.2A priority Critical patent/CN107948102A/zh
Priority to PCT/CN2017/089722 priority patent/WO2018068527A1/zh
Publication of CN107948102A publication Critical patent/CN107948102A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种矢量数据的并行排序网络及方法,当待排序的矢量数据为2N个时,在所述并行排序网络中设置N级交换单元,其中,每级交换单元包括2N‑1个交换单元,N为大于等于2的自然数;第K级交换单元,用于将2N个矢量数据划分为2N‑1个矢量数据对;将2N‑1个矢量数据对中的两个矢量数据分别输入至第K级的2N‑1个交换单元的第一输入端口和第二输入端口;通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束;其中,K为大于等于1且小于等于N的自然数。

Description

一种矢量数据的并行排序网络及方法
技术领域
本发明涉及移动终端技术,尤其涉及一种矢量数据的并行排序网络及方法。
背景技术
矢量处理技术是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“矢量数据”)中的每一个元素分别执行相同的操作从而实现空间上的并行性的技术。矢量处理技术广泛应用在涉及正交频分复用技术(Orthogonal Frequency DivisionMultiplexing,OFDM)的长期演进(Long Term Evolution,LTE)通信系统中。
矢量处理技术在应用的过程中,数据排序是矢量处理技术要面对的一个主要问题。目前,主要采用串行排序法和并行排序法对矢量数据进行排序。由于在矢量数据较多的情况下,串行排序法占用时间长、处理效率低,因此,并行排序法成为目前经常使用的排序方法。在现有的并行排序网络中,Benes网络是著名的多通路网络。图1为现有技术中Benes网络的组成结构示意图,图1所示的Benes网络是由多个2×2交换单元构成的8×8Benes网络,共分成5级,分别为:第一级、第二级、第三级、第四级和第五级。所述Benes网络包括8个输入端口和8个输出端口,因此称为8×8Benes网络;每个交换单元包括2个输入端口和2个输出端口,因此称为2×2交换单元。如图1所示,每个交换单元包括两个输入端口和两个输出端口,分别为:第一输入端口、第二输入端口、第一输出端口和第二输出端口。在现有的Benes网络中,2N个矢量数据需要2×N-1级交换单元。例如,23个矢量数据需要2×log(8)-1=5级交换单元。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
现有的Benes网络对2N个矢量数据进行并行排序时,各个矢量数据需要通过Benes网络中2×N-1级交换单元。由此可见,现有的Benes网络在对矢量数据进行排序时需要的交换单元较多,严重影响了矢量数据的排序效率。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种矢量数据的并行排序网络及方法,当待排序的矢量数据为2N个时,在并行排序网络中只需要设置N级交换单元,即可完成对2N个矢量数据的并行排序,可以有效地减少交换单元的使用数量,能够大幅度提高矢量数据的排序效率。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种矢量数据的并行排序网络及方法,包括:
当2N个矢量数据输入至第K级交换单元时,将2N个矢量数据划分为2N-1个矢量数据对,其中,N为大于等于2的自然数,K为大于等于1且小于等于N的自然数;
将2N-1个矢量数据对中的矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口;
通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据;
当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束。
在上述方案中,所述将2N个矢量数据划分为2N-1个矢量数据对,包括:
将2N个矢量数据划分为2N-K个矢量数据组;
将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。
在上述方案中,所述将2N个矢量数据划分为2N-K个矢量数据组,包括:
在2N个矢量数据中选择2N-K个起始数据;
将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。
在上述方案中,所述在2N个矢量数据中选择2N-K个起始数据,包括:
将2N个矢量数据分别编号为[0,2N-1];
在2N个矢量数据中选择编号为2K×i-2K-1的矢量数据作为起始数据,i∈[1,2N-K]。
在上述方案中,所述通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,包括:
当预先设置的控制信号为第一控制信号时,通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;
当预先设置的控制信号为第二控制信号时,通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。
本发明实施例提供了一种矢量数据的并行排序网络,包括:
当待排序的矢量数据为2N个时,在所述并行排序网络中设置N级交换单元,其中,每级交换单元包括2N-1个交换单元,N为大于等于2的自然数;
第K级交换单元,用于将2N个矢量数据划分为2N-1个矢量数据对;将2N-1个矢量数据对中的两个矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口;通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束;其中,K为大于等于1且小于等于N的自然数。
在上述方案中,所述第K级交换单元,具体用于将2N个矢量数据划分为2N-K个矢量数据组;还用于将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。
在上述方案中,所述第K级交换单元,还用于在2N个矢量数据中选择2N-K个起始数据,并将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。
在上述方案中,所述第K级交换单元,还用于将2N个矢量数据分别编号为[0,2N-1];还用于在2N个矢量数据中选择编号为2K×i-2K-1的矢量数据作为起始数据,i∈[1,2N-K]。
在上述方案中,所述第K级交换单元,具体用于当预先设置的控制信号为第一控制信号时,通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;还用于当预先设置的控制信号为第二控制信号时,通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。
由此可见,在本发明实施例的技术方案中,当2N个矢量数据输入至第K级交换单元时,可以先将2N个矢量数据划分为2N-1个矢量数据对,然后再将2N-1个数据对中的两个矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口或者第二输入端口,通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束。也就是说,在本发明提出的技术方案中,只需要N级交换单元即可完成对2N个矢量数据进行并行排序,本发明实施例不像现有的Benes网络,需要2×N-1个交换单元才能完成对2N个矢量数据进行并行排序。显然,和现有技术相比,本发明实施例提出的矢量数据的并行排序网络及方法,可以有效地减少交换单元的使用数量,能够大幅度提高矢量数据的排序效率;并且,实现起来简单方便,便于普及,适用范围更广。
附图说明
图1为现有技术中Benes网络的组成结构示意图;
图2为现有LTE网络中小区特定参考信号的结构示意图;
图3为本发明实施例中矢量数据的并行排序网络的组成结构示意图;
图4为本发明实施例中矢量数据的并行排序方法的实现流程示意图;
图5为本发明实施例中划分矢量数据对的实现方法流程图;
图6为本发明实施例中划分矢量数据组的实现方法流程图;
图7为本发明实施例中第一排序结果的组成结构示意图;
图8为本发明实施例中第一组控制信号的组成结构示意图;
图9为本发明实施例中并行排序网络对第一路矢量数据进行并行排序的实现方法示意图;
图10为本发明实施例中第二排序结果的组成结构示意图;
图11为本发明实施例中第二组控制信号的组成结构示意图。
具体实施方式
在现有的LTE网络中,天线端口与下行参考信号(Reference Signal)是一一对应的。如果通过多个物理天线来传输同一个参考信号,那么这些物理天线就对应同一个天线端口;而如果通过同一个物理天线传输两个不同的参考信号,那么这个物理天线就对应两个独立的天线端口。
R9协议定义了四种下行参考信号,天线端口与这些参考信号的对应关系如下:(1)小区特定参考信号(Cell-Specific Reference Signals,CRS);(2)MBSFN参考信号(MBSFNreference signals);(3)UE特定参考信号(UE-Specific Reference Signals);(4)定位参考信号(Positioning Reference Signals)。其中,小区特定参考信号又称为小区专用参考信号,CRS支持1个、2个、4个三种天线端口配置,对应的端口号分别是:p=0,p={0,1},p={0,1,2,3}。
图2为现有LTE网络中小区特定参考信号的结构示意图,如图2所示,图(a)为1个天线端口配置的CRS结构示意图;图(b1)和图(b2)为2个天线端口配置的CRS结构示意图;图(c1)、图(c2)、图(c3)和图(c4)为4个天线端口配置的CRS结构示意图。其中,R0、R1、R2和R3占用的资源单元RE用于传输导频符号;带交叉线的RE表示不可用的RE;其他RE用于传输数据符号。在LTE网络的数据处理过程中,需要将物理资源块中的导频符号和数据符号分别提取出来进行集中处理。如图2所示,需要在每6个RE中提取出一个导频符号。
图3为本发明实施例中矢量数据的并行排序网络的组成结构示意图,如图3所示,当待排序的矢量数据为2N个时,可以在所述并行排序网络中设置N级交换单元,其中,每级交换单元包括2N-1个交换单元,N为大于等于2的自然数;
第K级交换单元,用于将2N个矢量数据划分为2N-1个矢量数据对;将2N-1个矢量数据对中的两个矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口;通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束;其中,K为大于等于1且小于等于N的自然数。
在本发明的具体实施例中,当2N个矢量数据输入至第K级交换单元时,可以先将2N个矢量数据划分为2N-K个矢量数据组。例如,当25个矢量数据输入至第一级交换单元时,可以将编号为{1,2}、{3,4}、{5,6}、…、{31,0}的2个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择编号为{2,3,4,5}、{6,7,8,9}、…、{30,31,0,1}的22个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第三级交换单元时,可以在25个矢量数据中选择编号为{4,5,6,7,8,9,10,11}、{12,13,14,15,16,17,18,19}、{20、21、22、23、24、25、26、27}、{28,29,30,31,0,1,2,3}的23个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第四级交换单元时,可以在25个矢量数据中选择编号为{8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23}、{24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7}的24个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第五级交换单元时,可以在25个矢量数据中选择编号为{0,1,2,3,…,31}的25个矢量数据划分为一个矢量数据组。
然后,还可以将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。例如,当25个矢量数据输入至第一级交换单元时,可以将各个矢量数据组中编号为{1,2}、{3,4}、…、{31,0}的两个矢量数据分别划分为一个矢量数据对。当25个矢量数据输入至第二级交换单元时,可以将矢量数据组{2,3,4,5}中编号为{2,4}、{3,5};将矢量数据组{2,3,4,5}中编号为{2,4}、{3,5}的两个矢量数据分别划分为一个矢量数据对;…;将矢量数据组{30,31,0,1}中编号为{30,0}、{31,1}的两个矢量数据分别划分为一个矢量数据对。当25个矢量数据输入至第三级交换单元时,可以将{4,5,6,7,8,9,10,11}中的编号为{4,8}、{5,9}、{6,10}、{7,11}的两个矢量数据分别划分为一个矢量数据对;…;将矢量数据组{28,29,30,31,0,1,2,3}中编号为{28,0}、{29,1}、{30,2}、{31,3}的两个矢量数据分别划分为一个矢量数据对。当25个矢量数据输入至第五级交换单元时,可以将矢量数据组{0,1,2,3,…,31}中的编号为{0,16}、{1,17}、…、{15,31}的两个矢量数据分别划分为一个矢量数据对。
在本发明的具体实施例中,所述第K级交换单元,还用于在2N个矢量数据中选择2N -K个起始数据,并将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。具体地,可以先将2N个矢量数据分别编号为[0,2N-1],然后在2N个矢量数据中选择编号为2K×i-2K-1的矢量数据为起始数据,i∈[1,2N-K]。例如,可以先将25个矢量数据分别编号为[0,25-1],然后在25个矢量数据中选择编号为2K×i-2K-1的矢量数据为起始数据。具体地,当25个矢量数据输入至第一级交换单元时,可以在25个矢量数据中选择编号为[1,3,5,7,9,…,31]的24个矢量数据为起始数据;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择编号为[2,6,10,14,…,30]的23个矢量数据为起始数据;当25个矢量数据输入至第三级交换单元时,可以在25个矢量数据中选择编号为[4,12,20,28,]的22个矢量数据为起始数据;当5个矢量数据输入至第四级交换单元时,可以在25个矢量数据中选择编号为[8,24]的22个矢量数据为起始数据;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择编号为[0]的1个矢量数据为起始数据。
在本发明的具体实施例中,所述第K级交换单元,具体用于当预先设置的控制信号为第一控制信号时,通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;还用于当预先设置的控制信号为第二控制信号时,通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。
本发明实施例提出的矢量数据的并行排序网络,只需要N级交换单元即可完成对2N个矢量数据进行并行排序,本发明实施例不像现有的Benes网络,需要2×N-1个交换单元才能完成对2N个矢量数据进行并行排序。显然,和现有技术相比,本发明实施例提出的矢量数据的并行排序网络,可以有效地减少交换单元的使用数量,能够大幅度提高矢量数据的排序效率;并且,实现起来简单方便,便于普及,适用范围更广。
图4为本发明实施例中矢量数据的并行排序方法的实现流程示意图,如图4所示,矢量数据的并行排序方法可以包括以下步骤:
步骤401、当2N个矢量数据输入至第K级交换单元时,将2N个矢量数据划分为2N-1个矢量数据对。
在本发明的具体实施例中,当2N个矢量数据输入至第K级交换单元时,可以将2N个矢量数据划分为2N-1个矢量数据对,其中,N为大于等于2的自然数,K为大于等于1且小于等于N的自然数。例如,当25个矢量数据输入第一级交换单元时,可以将25个矢量数据划分为24个矢量数据对。
图5为本发明实施例中划分矢量数据对的实现方法流程图,如图5所示,将2N个矢量数据划分为2N-1个矢量数据对的方法可以包括以下步骤:
步骤401a、将2N个矢量数据划分为2N-K个矢量数据组。
在本发明的具体实施例中,可以将2N个矢量数据划分为2N-K个矢量数据组。例如,当25个矢量数据输入至第一级交换单元时,可以将25个矢量数据划分为24个矢量数据组;当25个矢量数据输入至第二级交换单元时,可以将25个矢量数据划分为23个矢量数据组;当25个矢量数据输入至第三级交换单元时,可以将25个矢量数据划分为22个矢量数据组;当25个矢量数据输入至第四级交换单元时,可以将25个矢量数据划分为2个矢量数据组;当25个矢量数据输入至第五级交换单元时,可以将25个矢量数据划分为1个矢量数据组。
图6为本发明实施例中划分矢量数据组的实现方法流程图,如图6所示,将2N个矢量数据划分为2N-K个矢量数据组的方法可以包括以下步骤:
步骤401a_1、在2N个矢量数据中选择2N-K个起始数据。
在本发明的具体实施例中,可以先在2N个矢量数据中选择2N-K个起始数据。例如,当25个矢量数据输入至第一级交换单元时,可以在25个矢量数据中选择24个起始数据;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择23个起始数据;当25个矢量数据输入至第三级交换单元时,可以在25个矢量数据中选择22个起始数据;当25个矢量数据输入至第四级交换单元时,可以在25个矢量数据中选择2个起始数据;当25个矢量数据输入至第五级交换单元时,可以在25个矢量数据中选择1个起始数据。
如图3所示,在本发明的具体实施例中,可以先将2N个矢量数据分别编号为[0,2N-1],然后在2N个矢量数据中选择编号为2K×i-2K-1的矢量数据为起始数据,i∈[1,2N-K]。
例如,可以先将25个矢量数据分别编号为[0,25-1],然后在25个矢量数据中选择编号为2K×i-2K-1的矢量数据为起始数据。具体地,当25个矢量数据输入至第一级交换单元时,可以在25个矢量数据中选择编号为[1,3,5,7,9,…,31]的24个矢量数据为起始数据;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择编号为[2,6,10,14,…,30]的23个矢量数据为起始数据;当25个矢量数据输入至第三级交换单元时,可以在25个矢量数据中选择编号为[4,12,20,28,]的22个矢量数据为起始数据;当5个矢量数据输入至第四级交换单元时,可以在25个矢量数据中选择编号为[8,24]的22个矢量数据为起始数据;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择编号为[0]的1个矢量数据为起始数据。
步骤401a_2、将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。
在本发明的具体实施例中,在2N个矢量数据中选择2N-K个起始数据之后,可以将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。具体地,可以将编号为mod([g(i),g(i)+2K-1],2N)的矢量数据划分为一个矢量数据组,其中,mod([g(i),g(i)+2K-1],2N)表示[g(i),g(i)+2K-1]分别对2N进行取模运算;g(i)=2K×i-2K-1,i∈[1,2N-K]。
例如,当25个矢量数据输入至第一级交换单元时,可以将编号为{1,2}、{3,4}、{5,6}、…、{31,0}的2个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第二级交换单元时,可以在25个矢量数据中选择编号为{2,3,4,5}、{6,7,8,9}、…、{30,31,0,1}的22个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第三级交换单元时,可以在25个矢量数据中选择编号为{4,5,6,7,8,9,10,11}、{12,13,14,15,16,17,18,19}、{20、21、22、23、24、25、26、27}、{28,29,30,31,0,1,2,3}的23个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第四级交换单元时,可以在25个矢量数据中选择编号为{8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23}、{24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7}的24个矢量数据划分为一个矢量数据组;当25个矢量数据输入至第五级交换单元时,可以在25个矢量数据中选择编号为{0,1,2,3,…,31}的25个矢量数据划分为一个矢量数据组。
根据上述的分析可知,通过上述的步骤301a_1~301a_2,可以将2N个矢量数据划分为2N-K个矢量数据组,从而可以将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对,以便于将2N-1个矢量数据对中的两个矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口或者第二输入端口。
步骤401b、将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。
在本发明的具体实施例中,在将2N个矢量数据划分为2N-K个矢量数据组之后,可以将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。具体地,可以将各个矢量数据组中编号间隔为2K-1或者2N-2K-1的两个矢量数据划分为一个矢量数据对。
例如,当25个矢量数据输入至第一级交换单元时,可以将各个矢量数据组中编号为{1,2}、{3,4}、…、{31,0}的两个矢量数据分别划分为一个矢量数据对。当25个矢量数据输入至第二级交换单元时,可以将矢量数据组{2,3,4,5}中编号为{2,4}、{3,5};将矢量数据组{2,3,4,5}中编号为{2,4}、{3,5}的两个矢量数据分别划分为一个矢量数据对;…;将矢量数据组{30,31,0,1}中编号为{30,0}、{31,1}的两个矢量数据分别划分为一个矢量数据对。当25个矢量数据输入至第三级交换单元时,可以将{4,5,6,7,8,9,10,11}中的编号为{4,8}、{5,9}、{6,10}、{7,11}的两个矢量数据分别划分为一个矢量数据对;…;将矢量数据组{28,29,30,31,0,1,2,3}中编号为{28,0}、{29,1}、{30,2}、{31,3}的两个矢量数据分别划分为一个矢量数据对。当25个矢量数据输入至第五级交换单元时,可以将矢量数据组{0,1,2,3,…,31}中的编号为{0,16}、{1,17}、…、{15,31}的两个矢量数据分别划分为一个矢量数据对。
步骤402、将2N-1个矢量数据对中的矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口。
在本发明的具体实施例中,在将2N个矢量数据划分为2N-1个矢量数据对之后,可以将2N-1个矢量数据对中的矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口。例如,当25个矢量数据输入至第一级交换单元时,可以将24个矢量数据对中的两个矢量数据分别输入至第一级的24个交换单元的第一输入端口或者第二输入端口;当25个矢量数据输入至第二级交换单元时,可以将24个矢量数据对中的两个矢量数据分别输入至第二级的24个交换单元的第一输入端口或者第二输入端口;…;以此类推。
步骤403、通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号第K级并行排序后的输出的矢量数据。
在本发明的具体实施例中,还可以对各个交换单元的控制信号进行预先设置,因此,可以通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据。具体地,当预先设置的控制信号为第一控制信号时,可以通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;当预先设置的控制信号为第二控制信号时,可以通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。例如,当预先设置的第一控制信号为0时,可以通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;当预先设置的第二控制信号为1时,可以通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。
步骤404、当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束。
在本发明的具体实施例中,当K小于N时,可以将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束;当K等于N时,结束矢量数据的并行排序流程。
图7为本发明实施例中第一排序结果的组成结构示意图,如图7所示,第一路的25个矢量数据在经过并行排序网络之前,相位不同的三种矢量数据是相互分离的。即:编号为{0,3,6,…,30}的11个矢量数据的相位为第一相位(图中用空白方格表示);编号为{1,4,7,…,31}的11个矢量数据的相位为第二相位(图中用左斜线表示);编号为{2,5,8,…,29}的10个矢量数据的相位为第三相位(图中用右斜线表示)。同样,第二路和第三路的25个矢量数据在经过并行排序网络之前,相位不同的三种矢量数据也是相互分离的。第一路的25个矢量数据在经过并行排序网络之后,相位不同的三种矢量数据是相互连续的。即:编号为{0,1,2,…,10}的11个矢量数据的相位为第一相位;编号为{11,12,13,…,21}的11个矢量数据的相位为第二相位;编号为{22,23,24,…,31}的10个矢量数据的相位为第三相位。同样,第二路和第三路的25个矢量数据在经过并行排序网络之后,相位不同的三种矢量数据也是相互连续的。
图8为本发明实施例中第一组控制信号的组成结构示意图,如图8所示,每行控制信号分别控制并行排序网络中各级交换单元。例如,第一行24个控制信号分别控制并行排序网络中第一级24个交换单元;第二行24个控制信号分别控制并行排序网络中第二级24个交换单元;…;以此类推。其中,图8(a)中的5×16个控制信号对应图7中第一路的25个矢量数据;图8(b)中的5×16个控制信号对应图7中第二路的25个矢量数据;图8(c)中的5×16个控制信号对应图7中第三路的25个矢量数据。
图9为本发明实施例中并行排序网络对第一路矢量数据进行并行排序的实现方法示意图,如图9所示,第一路的25个矢量数据在经过并行排序网络之前,相位不同的三种矢量数据是相互分离的。即:编号为{0,3,6,…,30}的11个矢量数据的相位为第一相位;编号为{1,4,7,…,31}的11个矢量数据的相位为第二相位;编号为{2,5,8,…,29}的10个矢量数据的相位为第三相位。如图9所示,当第一路的25个矢量数据输入至第一级交换单元时,先将24个矢量数据划分为24个矢量数据对,然后将24个矢量数据对中的两个矢量数据分别输入至第一级的24个交换单元的第一输入端口和第二输入端口,各个交换单元根据如图8(a)所示的第一行控制信号将各个矢量数据对中的两个矢量数据通过第一输出端口和第二输出端口分别输入至第二级交换单元;当第一路的25个矢量数据输入至第二级交换单元时,同样先将25个矢量数据划分为24个矢量数据对,然后将24个矢量数据对中的两个矢量数据分别输入至第二级的24个交换单元的第一输入端口和第二输入端口,各个交换单元根据如图8(a)所示的第二行控制信号将各个矢量数据对中的两个矢量数据通过第一输出端口和第二输出端口分别输入至第三级交换单元;…;以此类推,直到第一路的25个矢量数据从第五级交换单元中输出。第一路的25个矢量数据在经过并行排序网络之后,相位不同的三种矢量数据是相互连续的。即:编号为{0,1,2,…,10}的11个矢量数据的相位为第一相位;编号为{11,12,13,…,21}的11个矢量数据的相位为第二相位;编号为{22,23,24,…,31}的10个矢量数据的相位为第三相位。
图10为本发明实施例中第二排序结果的组成结构示意图,如图10所示,第一路的25个矢量数据在经过并行排序网络之前,相位不同的两种矢量数据是相互分离的。即:编号为{0,3,6,9,…,30}的11个矢量数据的相位为第一相位(图中用空白方格表示);编号为{1,2,4,5,…,31}的21个矢量数据的相位为第二相位(图中用交叉线表示)。同样,第二路和第三路的25个矢量数据在经过并行排序网络之前,相位不同的两种矢量数据是相互分离的。
图11为本发明实施例中第二组控制信号的组成结构示意图,如图11所示,每行控制信号分别控制并行排序网络中各级交换单元。例如,第一行24个控制信号分别控制并行排序网络中第一级24个交换单元;第二行24个控制信号分别控制并行排序网络中第二级24个交换单元;…;以此类推。其中,图11(a)中的5×16个控制信号对应图10中第一路的25个矢量数据;图11(b)中的5×16个控制信号对应图10中第二路的25个矢量数据;图11(c)中的5×16个控制信号对应图10中第三路的25个矢量数据。
本发明实施例提出的矢量数据的并行排序方法,只需要N级交换单元即可完成对2N个矢量数据进行并行排序,本发明实施例不像现有的Benes网络,需要2×N-1个交换单元才能完成对2N个矢量数据进行并行排序。显然,和现有技术相比,本发明实施例提出的矢量数据的并行排序方法,可以有效地减少交换单元的使用数量,能够大幅度提高矢量数据的排序效率;并且,实现起来简单方便,便于普及,适用范围更广。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种矢量数据的并行排序方法,其特征在于,所述方法包括:
当2N个矢量数据输入至第K级交换单元时,将2N个矢量数据划分为2N-1个矢量数据对,其中,N为大于等于2的自然数,K为大于等于1且小于等于N的自然数;
将2N-1个矢量数据对中的矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口;
通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据;
当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束。
2.根据权利要求1所述的方法,其特征在于,所述将2N个矢量数据划分为2N-1个矢量数据对,包括:
将2N个矢量数据划分为2N-K个矢量数据组;
将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。
3.根据权利要求2所述的方法,其特征在于,所述将2N个矢量数据划分为2N-K个矢量数据组,包括:
在2N个矢量数据中选择2N-K个起始数据;
将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。
4.根据权利要求3所述的方法,其特征在于,所述在2N个矢量数据中选择2N-K个起始数据,包括:
将2N个矢量数据分别编号为[0,2N-1];
在2N个矢量数据中选择编号为2K×i-2K-1的矢量数据作为起始数据,i∈[1,2N-K]。
5.根据权利要求1所述的方法,其特征在于,所述通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,包括:
当预先设置的控制信号为第一控制信号时,通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;
当预先设置的控制信号为第二控制信号时,通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。
6.一种矢量数据的并行排序网络,其特征在于,当待排序的矢量数据为2N个时,在所述并行排序网络中设置N级交换单元,其中,每级交换单元包括2N-1个交换单元,N为大于等于2的自然数;
第K级交换单元,用于将2N个矢量数据划分为2N-1个矢量数据对;将2N-1个矢量数据对中的两个矢量数据分别输入至第K级的2N-1个交换单元的第一输入端口和第二输入端口;通过各个交换单元的第一输出端口和第二输出端口获取各个交换单元根据预先设置的控制信号输出的第K级并行排序后的矢量数据,当K小于N时,将第K级交换单元输出的矢量数据输入至第K+1级交换单元,并将K的值加1,直到K大于N后结束;其中,K为大于等于1且小于等于N的自然数。
7.根据权利要求6所述的并行排序网络,其特征在于,所述第K级交换单元,具体用于将2N个矢量数据划分为2N-K个矢量数据组;还用于将各个矢量数据组中的2K个矢量数据划分为2K-1个矢量数据对。
8.根据权利要求7所述的并行排序网络,其特征在于,所述第K级交换单元,还用于在2N个矢量数据中选择2N-K个起始数据,并将各个起始数据向右循环移位的连续2K个矢量数据划分为一个矢量数据组。
9.根据权利要求8所述的并行排序网络,其特征在于,所述第K级交换单元,还用于将2N个矢量数据分别编号为[0,2N-1];还用于在2N个矢量数据中选择编号为2K×i-2K-1的矢量数据作为起始数据,i∈[1,2N-K]。
10.根据权利要求6所述的并行排序网络,其特征在于,所述第K级交换单元,具体用于当预先设置的控制信号为第一控制信号时,通过各个交换单元的第一输出端口获取第二输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第一输入单元输入的矢量数据;还用于当预先设置的控制信号为第二控制信号时,通过各个交换单元的第一输出端口获取第一输入单元输入的矢量数据,并通过各个交换单元的第二输出端口获取第二输入单元输入的矢量数据。
CN201610893467.2A 2016-10-12 2016-10-12 一种矢量数据的并行排序网络及方法 Withdrawn CN107948102A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610893467.2A CN107948102A (zh) 2016-10-12 2016-10-12 一种矢量数据的并行排序网络及方法
PCT/CN2017/089722 WO2018068527A1 (zh) 2016-10-12 2017-06-23 一种数据排序方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610893467.2A CN107948102A (zh) 2016-10-12 2016-10-12 一种矢量数据的并行排序网络及方法

Publications (1)

Publication Number Publication Date
CN107948102A true CN107948102A (zh) 2018-04-20

Family

ID=61906085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610893467.2A Withdrawn CN107948102A (zh) 2016-10-12 2016-10-12 一种矢量数据的并行排序网络及方法

Country Status (2)

Country Link
CN (1) CN107948102A (zh)
WO (1) WO2018068527A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697275A (zh) * 2020-12-30 2022-07-01 深圳云天励飞技术股份有限公司 数据处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186503A (zh) * 2011-12-27 2013-07-03 中兴通讯股份有限公司 一种fft/dft的倒序排列系统与方法及其运算系统
WO2015094145A3 (en) * 2012-12-28 2015-08-20 Intel Corporation Functional unit having tree structure to support vector sorting algorithm and other algorithms
CN105281814A (zh) * 2014-07-23 2016-01-27 重庆重邮信科通信技术有限公司 基本奇偶归并网格单元和幸存路径选取构建方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186503A (zh) * 2011-12-27 2013-07-03 中兴通讯股份有限公司 一种fft/dft的倒序排列系统与方法及其运算系统
WO2015094145A3 (en) * 2012-12-28 2015-08-20 Intel Corporation Functional unit having tree structure to support vector sorting algorithm and other algorithms
CN105281814A (zh) * 2014-07-23 2016-01-27 重庆重邮信科通信技术有限公司 基本奇偶归并网格单元和幸存路径选取构建方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697275A (zh) * 2020-12-30 2022-07-01 深圳云天励飞技术股份有限公司 数据处理方法和装置
CN114697275B (zh) * 2020-12-30 2023-05-12 深圳云天励飞技术股份有限公司 数据处理方法和装置

Also Published As

Publication number Publication date
WO2018068527A1 (zh) 2018-04-19

Similar Documents

Publication Publication Date Title
WO2017050065A1 (zh) 一种配置信道状态测量导频的方法及装置
CN101739381A (zh) 屏障同步设备、屏障同步系统以及屏障同步方法
TWI611680B (zh) 一種參考信號映射方法及裝置
CN105631013B (zh) 生成哈希值的装置和方法
CN109995588B (zh) 一种灵活以太网链路管理方法及系统
CN109831286A (zh) 一种控制信道传输方法及装置
CN107220123A (zh) 一种解决Spark数据倾斜方法及系统
WO2017076181A1 (zh) 信道状态测量导频csi-rs的配置方法及装置
CN103338464B (zh) 通信方法及设备
CN105009540A (zh) 一种加扰方法及加扰装置
CN104660520A (zh) 分组处理装置
JP2015519014A (ja) 制御チャネル送信方法および装置
CN102377514B (zh) 信道状态信息参考信号的扰码初始值生成方法及设备
CN107948102A (zh) 一种矢量数据的并行排序网络及方法
EP3429115B1 (en) Reference signal mapping method and apparatus
CN106656804A (zh) 低延时的报文转发方法、装置及交换机
KR102087874B1 (ko) 파일럿 설정 방법과 장치
RU2608580C1 (ru) Способ и аппарат для передачи канала управления
CN106230527B (zh) 一种用于多输入多输出信道测试方法和装置
CN103997469B (zh) 一种网络处理器配置方法以及网络处理器
CN105391508B (zh) Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及系统
CN109873783A (zh) 信息的发送方法及装置
CN107070955A (zh) 一种电力系统数据的传输方法及装置
CN106549740A (zh) 一种在通信系统中获取信道秩的方法、装置及系统
CN109586871B (zh) 一种csi-rs的传输方法及装置

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180420