一种数据排序方法及其数据排序电路技术

技术编号:37852694 阅读:15 留言:0更新日期:2023-06-14 22:44
本发明专利技术提供一种数据排序方法,包括并行接收多个输入数据中的至少一组输入数据;将待排序的多个输入数据两两进行比较后,获取对应的比较值;根据每个输入数据对应的比较值获取对应的得分值;将每个输入数据对应的得分值进行累加,以得到每个输入数据的得分累计值;根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序。本发明专利技术还提供一种可以采用上述数据排序方法的数据排序电路,因此,本发明专利技术提供的数据排序方法及其数据排序电路所需时钟少,排序速度快,能满足数据排序的实时性要求。求。求。

【技术实现步骤摘要】
一种数据排序方法及其数据排序电路


[0001]本专利技术涉及数据处理
,尤其涉及一种数据排序方法及其数据排序电路。

技术介绍

[0002]在数据和信号处理中,一个最基本的问题就是数据排序。数据排序是按一定顺序将数据排列,以便研究者通过浏览数据发现一些明显的特征或趋势,找到解决问题的线索。除此之外,排序还有助于对数据检查纠错,以及为重新归类或分组等提供方便。
[0003]现有的数据排序,一般采用如冒泡排序,选择排序,快速排序,希尔排序等。但现有的排序方法速度比较慢,在压缩、数据处理等高速数据传输的场合,难以满足实时性要求。
[0004]因此,有必要提供一种数据排序电路及其数据排序方法以解决现有技术中存在的上述这些问题。

技术实现思路

[0005]有鉴于此,本专利技术目的在于提供一种数据排序方法及数据排序电路,能满足实时性的要求。
[0006]本专利技术还提供一种数据排序方法,所述数据排序方法包括:并行接收多个输入数据中的至少一组输入数据;将待排序的多个输入数据两两进行比较后,获取对应的比较值;根据每个输入数据对应的比较值获取对应的得分值;将每个输入数据对应的得分值进行累加,以得到每个输入数据的得分累计值;根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序。
[0007]在一实施方式中,并行接收多个输入数据中的至少一组输入数据的步骤,包括:并行接收所述多个输入数据。
[0008]在一实施方式中,将待排序的多个输入数据两两进行比较后,获取对应的比较值的步骤,包括:若所述多个输入数据的数量为N,将第i输入数据与第i输入数据之后的其他输入数据分别进行比较,以输出比较值{CO
i,i+1
,

,CO
i,j
,

,CO
i,N
},其中,i=1,2,

,N

1,j=i+1,i+2,

,N,Data_i n
i
表示第i输入数据,Data_i n
j
表示第j输入数据;
[0009][0010]在一实施方式中,根据每个输入数据对应的比较值获取对应的得分值的步骤,包括:若输入数据Data_i n
L
对应的得分值D
L
={D
L,1
,

,D
L,k
,

,D
L,N
},L=1,2,3,

,N,K=1,2,3,

,N,则:
[0011][0012]在一实施方式中,将每个输入数据对应的得分值进行累加,以得到每个输入数据的得分累计值的步骤,包括:将每个输入数据对应的得分值进行累加,以得到对应的得分累
计值,其中,若输入数据Data_i n
L
对应的得分累计值为CNT
L
,则:
[0013][0014]在一实施方式中,根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序的步骤包括:根据每个数据的得分累计值的大小,确认每个输入数据的排序位置,并将所述多个输入数据重新排序后,作为输出数据依次输出;
[0015]其中,重新排序后的第m输出数据Data_out
m
=Data_in
L
,其中m=CNT
L
,m=0,1,2,

N

1。
[0016]本专利技术提供一种数据排序电路,所述数据排序电路包括比较器、得分器、累加器以及重排序模块。所述比较器用于接收待排序的多个输入数据,并将所述多个输入数据两两进行比较后,输出对应的比较值,其中,所述多个输入数据分为至少一组输入数据,每组输入数据中的多个输入数据并行输入至所述比较器。所述得分器与所述比较器的输出端相连,用于根据每个输入数据对应的比较值获取对应的得分值。所述累加器与所述得分器的输出端相连用于将每个输入数据对应的得分值进行累加,以得到每个输其中,表示CO
k,
取反。
[0017]入数据的得分累计值。所述重排序模块与所述累加器的输出端相连,用于根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序。
[0018]在一实施方式中,所述多个输入数据分为一组输入数据,且同时并行输入至所述比较器。
[0019]在一实施方式中,若所述多个输入数据的数量为N,则所述比较器包括N

1个子比较器,第i子比较器中包括N

i个比较单元,第i子比较器中的比较单元用于将第i输入数据与第i输入数据之后的其他输入数据分别进行比较,以输出比较值{CO
i,i+1
,

,CO
i,j
,

,CO
i,N
},其中,i=1,2,

,N

1,j=i+1,i+2,

,N。
[0020]在一实施方式中,所述得分器包括N个子得分器,每个子得分器用于获取对应的一个输入数据与其他输入数据比较的得分值;其中,若输入数据Data_i n
L
对应的得分值D
L
={D
L,1
,

,D
L,k
,

,D
L,N
},L=1,2,3,

,N,K=1,2,3,

,N,则:
[0021]其中,表示CO
k,
取反。
[0022]在一实施方式中,所述累加器包括N个子累加器,所述子累加器与所述子得分器一一对应相连,每个子累加器用于将对应子得分器中的得分值进行累加,以得到对应的输入数据的得分累计值,其中,若输入数据Data_i n
L
对应的得分累计值为CNT
L
,则:
[0023][0024]在一实施方式中,所述重排序模块根据每个数据的得分累计值的大小,确认每个输入数据的排序位置,并将所述多个输入数据依次排列。
[0025]在一实施方式中,所述多个输入数据分为两组输入数据,且所述两组输入数据依次输入至所述比较器。
[0026]在一实施方式中,所述比较器包括第一半比较器和第二半比较器。所述第一半比较器用于在第一个时钟内,将第一组输入数据中的数据两两进行比较,并在第二个时钟内,将第二组输入数据中的数据两两进行比较;所述第二半比较器用于在第二个时钟内,将所
述第一组输入数据和第二组输入数据之间的数据两两进行比较。
[0027]在一实施方式中,若所述多个输入数据的数量为N,且N为偶数,第一组输入数据和第二组输入数据中分别包括N/2个输入数据,则所述第一半比较器包括N/2

1个子半比较器,所述第一半比较器中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据排序方法,其特征在于,所述排序方法包括:并行接收多个输入数据中的至少一组输入数据;将待排序的多个输入数据两两进行比较后,获取对应的比较值;根据每个输入数据对应的比较值获取对应的得分值;将每个输入数据对应的得分值进行累加,以得到每个输入数据的得分累计值;根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序。2.如权利要求1所述的数据排序方法,其特征在于,并行接收多个输入数据中的至少一组输入数据的步骤,包括:并行接收所述多个输入数据。3.如权利要求1或2所述的数据排序方法,其特征在于,将待排序的多个输入数据两两进行比较后,获取对应的比较值的步骤,包括:若所述多个输入数据的数量为N,将第i输入数据与第i输入数据之后的其他输入数据分别进行比较,以输出比较值{CO
i,i+1
,

,CO
i,j
,

,CO
i,N
},其中,i=1,2,

,N

1,j=i+1,i+2,

,N,Data_in
i
表示第i输入数据,Data_in
j
表示第j输入数据;4.如权利要求3所述的数据排序方法,其特征在于,根据每个输入数据对应的比较值获取对应的得分值的步骤,包括:若输入数据Data_in
L
对应的得分值D
L
={D
L,1
,

,D
L,k
,

,D
L,N
},L=1,2,3,

,N,K=1,2,3,

,N,则:其中,表示CO
k,
取反。5.如权利要求4所述的数据排序方法,其特征在于,将每个输入数据对应的得分值进行累加,以得到每个输入数据的得分累计值的步骤,包括:将每个输入数据对应的得分值进行累加,以得到对应的得分累计值,其中,若输入数据Data_in
L
对应的得分累计值为CNT
L
,则:6.如权利要求5所述的数据排序方法,其特征在于,根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序的步骤包括:根据每个数据的得分累计值的大小,确认每个输入数据的排序位置,并将所述多个输入数据重新排序后,作为输出数据依次输出;其中,重新排序后的第m输出数据Data_out
m
=Data_in
L
,其中m=CNT
L
,m=0,1,2,

N

1。7.一种数据排序电路,其特征在于,所述数据排序电路包括:比较器,所述比较器用于接收待排序的多个输入数据,并将所述多个输入数据两两进行比较后,输出对应的比较值,其中,所述多个输入数据分为至少一组输入数据,每组输入数据中的多个输入数据并行输入至所述比较器;得分器,与所述比较器的输出端相连,用于根据每个输入数据对应的比较值获取对应
的得分值;累加器,与所述得分器的输出端相连,用于将每个输入数据对应的得分值进行累加,以得到每个输入数据的得分累计值;重排序模块,与所述累加器的输出端相连,用于根据每个输入数据的得分累计值,对所述多个输入数据进行重新排序。8.如权利要求7所述的数据排序电路,其特征在于,所述多个输入数据分为一组输入数据,且同时并行输入至所述比较器。9.如权利要求8所述的数据排序电路,其特征在于,若所述多个输入数据的数量为N,则所述比较器包括N

1个子比较器,第i子比较器中包括N

i个比较单元,第i子比较器中的比较单元用于将第i输入数据与第i输入数据之后的其他输入数据分别进行比较,以输出比较值{CO
i,i+1
,

,CO
i,j
,

,CO
i,N
},其中,i=1,2,

,N

1,j=i+1,i+2,

,N。10.如权利要求9所述的数据排序电路,其特征在于,所述得分...

【专利技术属性】
技术研发人员:郭超伦建坤黄运新
申请(专利权)人:深圳大普微电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1