CN107431672B - 一种数据加扰方法和加扰装置 - Google Patents
一种数据加扰方法和加扰装置 Download PDFInfo
- Publication number
- CN107431672B CN107431672B CN201580002380.5A CN201580002380A CN107431672B CN 107431672 B CN107431672 B CN 107431672B CN 201580002380 A CN201580002380 A CN 201580002380A CN 107431672 B CN107431672 B CN 107431672B
- Authority
- CN
- China
- Prior art keywords
- scrambling
- data
- circuit
- scrambling circuit
- data block
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004364 calculation method Methods 0.000 claims description 421
- 239000011159 matrix material Substances 0.000 claims description 158
- 230000017105 transposition Effects 0.000 claims 4
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
- H04L25/03872—Parallel scrambling or descrambling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种数据加扰方法和加扰装置。在数据加扰方法中,加扰装置可以对包含第一数据块和第二数据块的数据流进行加扰。第一数据块和第二数据块可以属于相同的子数据流,也可以属于不同的子数据流。当第一数据块和第二数据块属于相同的子数据流时数据流的规格不同于当第一数据块和第二数据块属于不同的子数据流时数据流的规格。因此,加扰装置可以对不同规格的数据流进行加扰。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种数据加扰方法和加扰装置。
背景技术
随着互联网的发展,对以太网的接口带宽的需求增长。以太网的接口带宽也从10吉比特每秒(Gigabit per second,Gpbs)增长到100Gbps,并向400Gbps和1兆兆比特每秒(terabit per second,Tbps)演进。为了提高信道的利用率,出现了灵活网格光传送网(Flexible Grid Optical Transmission Network)技术。以太网接口的光层可根据待传输的数据的传输距离以及用于传输数据的信道的质量动态地调整数据的发送速率。网络设备的接口标准可以是10Gbps、40Gbps或者100Gbps。为了实现互联,通信双方的接口需要采用相匹配的接口标准。为了降低硬件成本,存在一个发送器或者接收器中包含具有不同的接口标准的以太网接口的设计需求。上述场景中需要使用可变带宽接口。可变带宽的光层技术也要求电层包含可变带宽接口。
在以太网通信协议中,为了保证时钟数据恢复(Clock Data Recover,CDR)电路工作正常,通常采用加扰算法以减少被传输的串行数据中出现连续的0或者出现连续的1的概率。
现有技术中,一个加扰装置只能对某一规格的数据流进行加扰,不能对另一规格的数据流进行加扰。加扰装置的使用场景受到了限制。例如,不能较好的满足灵活以太网的场景的需求。举例来说,现有技术中,某个加扰装置若配置为用于对2个子数据流组成的数据流进行加扰,则该加扰装置就只能对由2个子数据流组成的数据流进行加扰,不能用于对由3个子数据流组成的数据流进行加扰,也不能对仅包含1个子数据流的数据流进行加扰。
发明内容
本发明实施例提供了一种数据加扰方法和加扰装置,能够对不同规格的数据流加扰,有助于扩展加扰装置的应用场景。
第一方面,本发明实施例提供一种数据加扰方法,所述方法由加扰装置执行,所述加扰装置包括多个加扰电路,所述多个加扰电路包括第一加扰电路以及第二加扰电路,所述方法包括:
所述第一加扰电路根据第一加扰因子对第一数据块进行数据计算从而得到所述第一加扰电路生成的数据计算结果,所述第一加扰因子是由加扰多项式确定的加扰因子,所述第一数据块属于第一子数据流,所述第一子数据流属于传输到所述加扰装置的数据流;
所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,其中,所述第二数据块是被串行传输时在所述数据流中位于所述第一数据块之后且与所述第一数据块相邻的数据块,所述第二数据块属于第二子数据流,所述第二子数据流属于所述数据流,当所述第二子数据流和所述第一子数据流是同一个子数据流时,所述第一参数为所述第一加扰电路生成的数据计算结果,当所述第二子数据流和所述第一子数据流为两个不同的子数据流时,所述第一参数为零;
所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,所述第三加扰电路为所述多个加扰电路中的一个加扰电路,所述第二子数据流中的多个数据块被所述多个加扰电路在一个时钟周期获取,所述第二子数据流中的多个数据块中的最后一个数据块被所述第三加扰电路获取,所述最后一个数据块是所述多个数据块将被串行传输时最后被传输的数据块,所述第二加扰因子是由所述加扰多项式以及所述第二数据块在所述第二子数据流中的位置确定的加扰因子,所述反馈数据包括对所述第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据,或者,所述反馈数据包括对被执行了一个时钟周期的寄存的由所述第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及所述第三加扰电路生成的数据计算结果进行异或计算得到的结果;
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,所述第二加扰电路将所述第二加扰电路生成的加扰数据输出。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,包括:
所述第二加扰电路使用所述第一加扰因子中的第一加扰参量和所述第一参数进行相乘,得到所述第二加扰电路生成的第一相乘结果;
所述第二加扰电路使用所述第一加扰因子中的第二加扰参量和所述第二数据块进行相乘,得到所述第二加扰电路生成的第二相乘结果;
所述第二加扰电路将所述第一相乘结果和所述第二相乘结果进行异或计算从而得到所述第二加扰电路生成的数据计算结果。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,包括:
所述第二加扰电路根据所述第二加扰因子中的常数矩阵以及所述常数矩阵的幂指数对所述第三加扰电路提供的反馈数据进行异或计算从而得到所述第二加扰电路生成的异或结果,所述幂指数根据所述第二数据块在所述第二子数据流中的位置确定;
所述第二加扰电路根据所述第二数据块在所述第二子数据流中的位置对所述异或结果进行移位操作,得到所述第二加扰电路生成的反馈计算结果。
结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,包括:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,D′n,j=M×Nj-1+F×Dn,j;
其中,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,j为所述第二数据块,Nj-1为所述第一参数,M为所述第一加扰因子中的第一加扰参量,F为所述第一加扰因子中的第二加扰参量,
其中,所述Pnext为所述加扰装置中的状态寄存器的下一个时钟周期的状态取值,所述Pcurr为所述状态寄存器的当前时钟周期的状态取值,所述为所述数据流中di对应的加扰数据,所述di为所述数据流中的第i个比特;
M=H×J;
其中,J为逆序计算参量,
所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,包括:
其中,D″n,j为所述第二加扰电路生成的反馈计算结果,为所述第三加扰电路生成的加扰数据,Mj为所述第二加扰因子中的第三加扰参量;
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
结合第一方面或第一方面的第一种可能或第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,包括:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
其中,V′n,j=T-1×D′n,j,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,i为所述第二子数据流中的一个数据块,G=T-1×F,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Pcurr+B×di;
An=T-1×M×T;
M=H×J;
其中,J为逆序计算参量,
所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,包括:
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
其中,V′n,j=T-1×D′n,j,V″n,j=T-1×Dn″,j,为所述第二加扰电路生成的加扰数据,D′n,j为所述第二加扰电路生成的数据计算结果,D″n,j为所述第二加扰电路生成的反馈计算结果。
第二方面,本发明实施例提供一种加扰装置,所述加扰装置包括多个加扰电路,所述多个加扰电路包括第一加扰电路以及第二加扰电路,其中,
所述第一加扰电路,用于执行如下步骤:
根据第一加扰因子对第一数据块进行数据计算从而得到所述第一加扰电路生成的数据计算结果,所述第一加扰因子是由加扰多项式确定的加扰因子,所述第一数据块属于第一子数据流,所述第一子数据流属于传输到所述加扰装置的数据流;
所述第二加扰电路,用于执行如下步骤:
根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,其中,所述第二数据块是被串行传输时在所述数据流中位于所述第一数据块之前且与所述第一数据块相邻的数据块,所述第二数据块属于第二子数据流,所述第二子数据流属于所述数据流,当所述第二子数据流和所述第一子数据流是同一个子数据流时,所述第一参数为所述第一加扰电路生成的数据计算结果,当所述第二子数据流和所述第一子数据流为两个不同的子数据流时,所述第一参数为零;
根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,所述第三加扰电路为所述多个加扰电路中的一个加扰电路,所述第二子数据流中的多个数据块被所述多个加扰电路在一个时钟周期获取,所述第二子数据流中的多个数据块中的最后一个数据块被所述第三加扰电路获取,所述最后一个数据块是所述多个数据块将被串行传输时最后被传输的数据块,所述第二加扰因子是由所述加扰多项式以及所述第二数据块在所述第二子数据流中的位置确定的加扰因子,所述反馈数据包括对所述第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据,或者,所述反馈数据包括对被执行了一个时钟周期的寄存的由所述第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及所述第三加扰电路生成的数据计算结果进行异或计算得到的结果;
对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据;
将所述第二加扰电路生成的加扰数据输出。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二加扰电路,具体用于执行如下步骤:
使用所述第一加扰因子中的第一加扰参量和所述第一参数进行相乘,得到所述第二加扰电路生成的第一相乘结果;
使用所述第一加扰因子中的第二加扰参量和所述第二数据块进行相乘,得到所述第二加扰电路生成的第二相乘结果;
将所述第一相乘结果和所述第二相乘结果进行异或计算从而得到所述第二加扰电路生成的数据计算结果。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二加扰电路,具体用于执行步骤:
根据所述第二加扰因子中的常数矩阵以及所述常数矩阵的幂指数对所述第三加扰电路提供的反馈数据进行异或计算从而得到所述第二加扰电路生成的异或结果,所述幂指数根据所述第二数据块在所述第二子数据流中的位置确定;
根据所述第二数据块在第二子数据流中的位置对所述异或结果进行移位操作,得到所述第二加扰电路生成的反馈计算结果。
结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二加扰电路,具体用于执行如下步骤:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
D′n,j=M×Nj-1+F×Dn,j;
其中,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,j为所述第二数据块,Nj-1为所述第一参数,M为所述第一加扰因子中的第一加扰参量,F为所述第一加扰因子中的第二加扰参量,
其中,所述Pnext为所述加扰装置中的状态寄存器的下一个时钟周期的状态取值,所述Pcurr为所述状态寄存器的当前时钟周期的状态取值,所述为所述数据流中di对应的加扰数据,所述di为所述数据流中的第i个比特;
M=H×J;
其中,J为逆序计算参量,
通过如下方式对第三加扰电路生成的反馈数据进行反馈计算:
通过如下方式对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算:
结合第二方面或第二方面的第一种可能或第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二加扰电路,具体用于执行如下步骤:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
其中,V′n,j=T-1×D′n,j,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,i为所述第二数据块所属的子数据流中的一个数据块,G=T-1×F,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Pcurr+B×di;
An=T-1×M×T;
M=H×J;
其中,J为逆序计算参量,
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
其中,V′n,j=T-1×D′n,j,V′n,j=T-1×D″n,j,为所述第二加扰电路生成的加扰数据,D′n,j为所述第二加扰电路生成的数据计算结果,D″n,j为所述第二加扰电路生成的反馈计算结果。
可选地,第一方面、第一方面的第一种可能至第四种可能的实现方式、第二方面以及第二方面的第一种可能至第四种可能的实现方式中,数据流中不同的子数据流可以根据需要发往不同的目的设备进行区分。同一个子数据流中包括的所有数据块都是需要发往相同的目的设备。一个子数据流可以包含一个或多个数据块。
可选地,第一方面、第一方面的第一种可能至第四种可能的实现方式、第二方面以及第二方面的第一种可能至第四种可能的实现方式中,第一加扰电路对第一数据块执行数据计算时,由加扰多项式确定的第一加扰因子可以指数据计算时需要使用的一个或多个加扰参量。第一加扰电路进行的数据计算指的是针对待加扰的数据块(例如第一数据块)进行的计算方式,数据计算中需要使用待加扰的数据块,而不需要使用反馈数据和反馈计算结果。
可选地,第一方面、第一方面的第一种可能至第四种可能的实现方式、第二方面以及第二方面的第一种可能至第四种可能的实现方式中,第二加扰电路对第二数据块执行数据计算时,由加扰多项式确定的第一加扰因子可以指数据计算时需要使用的一个或多个加扰参量。第二加扰电路进行的数据计算指的是针对待加扰的数据块(例如第二数据块)进行的计算方式,数据计算中需要使用待加扰的数据块,而不需要使用反馈数据和反馈计算结果。
可选地,第一方面、第一方面的第一种可能至第四种可能的实现方式、第二方面以及第二方面的第一种可能至第四种可能的实现方式中,数据流中包括的相邻的第一数据块和第二数据块可以分属于不同的子数据流。第一数据块和第二数据块也可以分属于同一个子数据流。第一数据块和第二数据块是否属于同一个子数据流具体可以根据第一数据块和第二数据块是否发往相同的目的设备来确定。一个子数据流可以包含一个或多个的数据块。
可选地,第一方面、第一方面的第一种可能至第四种可能的实现方式、第二方面以及第二方面的第一种可能至第四种可能的实现方式中,将用于处理第二子数据流中包括的多个数据块中的最后一个数据块的加扰电路定义为第三加扰电路。在第二子数据流中只包括第二数据块时,第三加扰电路和第二加扰电路指的是同一个加扰电路。该第三加扰电路提供的反馈数据可以有两种实现方式:一种实现方式是,反馈数据包括对第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据。另一种实现方式是,反馈数据包括对被执行了一个时钟周期的寄存的由第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及第三加扰电路生成的数据计算结果进行异或计算得到的结果。
可选地,第一方面、第一方面的第一种可能至第四种可能的实现方式、第二方面以及第二方面的第一种可能至第四种可能的实现方式中,反馈计算中使用的由加扰多项式确定的第二加扰因子具体表现形式可以是某个常数矩阵和以及该常数矩阵的幂指数。在这种情况下,反馈计算就可以通过使用第三加扰电路提供的反馈数据和一个常数矩阵的幂指数对第三加扰电路提供的反馈数据进行异或计算实现。
从以上技术方案可以看出,本发明实施例具有以下优点:
上述技术方案中,加扰装置可以对包含第一数据块和第二数据块的数据流进行加扰。所述第一数据块和所述第二数据块可以属于相同的子数据流,也可以属于不同的子数据流。当所述第一数据块和所述第二数据块属于相同的子数据流时所述数据流的规格不同于当所述第一数据块和所述第二数据块属于不同的子数据流时所述数据流的规格。因此,所述加扰装置可以对不同规格的数据流进行加扰。本发明实施例提供的上述技术方案扩展了加扰装置的应用场景。
附图说明
图1为本发明实施例提供的一种数据加扰方法的流程示意图;
图2为本发明实施例提供的一种加扰装置的结构示意图;
图3为本发明实施例提供的加扰处理在以太网接口中的位置示意图;
图4-a为本发明实施例提供的一种对一个数据块进行加扰处理的电路示意图;
图4-b为对l个数据块进行并行的加扰处理的一种加扰装置的结构示意图;
图5-a为本发明实施例提供的另一种对一个数据块进行加扰处理的电路示意图;
图5-b为对l个数据块进行并行加扰处理的另一种加扰装置的结构示意图;
图6为本发明实施例提供的幂乘计算中的异或计算电路示意图;
图7-a为本发明实施例提供的另一种对一个数据块进行加扰处理的电路示意图;
图7-b为对l个数据块进行并行加扰处理的另一种加扰装置的结构示意图;
图8为本发明实施例提供的一种加扰装置的结构示意图。
具体实施方式
本发明实施例提供了一种数据加扰方法和加扰装置,能够对多种不同规格的数据流进行加扰,有助于扩展加扰装置的应用场景。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本申请提供的实施例,本领域的技术人员可以获得其他实施例。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。
以下分别进行详细说明。
本发明数据加扰方法的一个实施例,该数据加扰方法由加扰装置执行,该方法可应用于加扰装置对数据流中的多个数据块的加扰处理中。该加扰装置包括多个加扰电路。多个加扰电路包括第一加扰电路以及第二加扰电路。请参阅图1,本发明一个实施例提供的数据加扰方法,可以包括如下步骤:
101、第一加扰电路根据第一加扰因子对第一数据块进行数据计算从而得到所述第一加扰电路生成的数据计算结果。
其中,该第一加扰因子是由加扰多项式确定的加扰因子,第一数据块属于第一子数据流,第一子数据流属于传输到所述加扰装置的数据流。
本发明实施例可以用于CDR电路的场景中。具体来说,CDR电路接收的数据需要具备随机性。CDR电路对数据的需求是,数据中的0和1均衡,尽可能减少出现连续的0以及出现连续的1的可能性。对数据进行编码后可对数据进行加扰,以实现数据的随机性。例如,在100Gbps以太网标准中,对数据进行64b/66b编码之后需要对数据进行加扰。当然也可以采用其它的编码方式对数据进行编码,本发明实施例中不做限定。
在本发明实施例中,对于执行编码后的数据流进行加扰。加扰装置获取到上述编码后的数据流。该数据流中包括至少一个子数据流,数据流中不同的子数据流可以根据需要发往不同的目的设备进行区分。同一个子数据流中包括的所有数据块都是需要发往相同的目的设备。一个子数据流可以包含一个或多个数据块。子数据流和数据块的包含关系是灵活可配的,一个数据流中包括的子数据流的个数也是灵活可配的。当数据流1中的子数据流包括的数据块个数不同于数据流2中的子数据流包括的数据块个数时,数据流1与数据流2是不同规格的数据流。或者,当数据流1中包括的子数据流的个数不同于数据流2中包括的子数据流的个数时,数据流1与数据流2是不同规格的数据流。本发明实施例中数据流都包括多个数据块,接下来对该数据流中相邻的任意两个数据块(分别称为第一数据块和第二数据块)的加扰处理进行说明。
将第一数据块所在的子数据流定义为第一子数据流,该第一子数据流属于传输到加扰装置的数据流,其中,第一子数据流中包括的所有数据块是发往同一个目的设备。将第二数据块所在的子数据流定义为第二子数据流,该第二子数据流属于传输到加扰装置的数据流,其中,第二子数据流中包括的所有数据块是发往同一个目的设备。第一数据块所在的第一子数据流和第二数据块所在的第二子数据流可能是同一个子数据流,第一数据块所在的第一子数据流和第二数据块所在的第二子数据流也可能是两个不同的子数据流。另外,第一数据块和第二数据块是相邻的两个数据块指的是数据流在被串行传输时第一数据块和第二数据块在数据流中的位置是相邻的,并且第二数据块在数据流中位于第一数据块所在的位置之后。第二数据块被传输的时间晚于第一数据块被传输的时间。本发明后续实施例中均以第二数据块的加扰处理进行详细说明,传输到加扰装置的数据流中包括的其它数据块的加扰处理也可以参照本发明实施例中对第二数据块的加扰处理来实现,其它数据块的加扰处理过程与第二数据块的加扰处理过程都类似,对其它数据块的加扰处理不再逐一进行详细说明。
在本发明实施例中,加扰装置中的第一加扰电路获取到待加扰的第一数据块之后,第一加扰电路获取由加扰多项式确定的第一加扰因子。其中加扰多项式可以由加扰装置实现的加扰算法来确定。以100Gbps以太网接口标准为例进行说明。100Gbps以太网接口标准采用自同步加扰。电气和电子工程师学会(Institute of Electrical andElectronics Engineers,IEEE)802.3标准中定义的加扰多项式为:G(x)=1+x39+x58。在步骤101中第一加扰电路对第一数据块执行数据计算时,由加扰多项式确定的第一加扰因子可以指数据计算时需要使用的一个或多个加扰参量。由加扰多项式确定的第一加扰因子的具体实现形式有多种,在不同的加扰多项式的取值情况下可以存在不同的表现形式。另外该第一加扰因子包括的加扰参量的具体形式以及取值结果均需要结合具体的场景来实现。第一加扰电路进行的数据计算指的是针对待加扰的数据块(例如第一数据块)进行的计算方式,数据计算中需要使用待加扰的数据块,而不需要使用后续实施例中描述的反馈数据和反馈计算结果。数据计算的具体过程以及第一加扰因子的具体取值在不同的应用场景下有不同的实现,此处不做限定。为便于后续实施例中描述,将步骤101中第一加扰电路执行数据计算得到的结果定义为第一加扰电路生成的数据计算结果。
需要说明的是,步骤101中第一加扰电路执行的数据计算是针对数据流中输入到第一加扰电路的第一数据块进行的。此处描述的数据计算需要使用到第一加扰因子。若第一数据块在第一子数据流中是第一个数据块(这里指的是在子数据流中的位置排序是第一个),则第一加扰电路可以使用第一加扰因子就可以得到第一加扰电路生成的数据计算结果。若第二数据块在第一子数据流中不是第一个数据块,则第一加扰电路还需要使用该第一数据块的上一个数据块进行数据计算之后生的的数据计算结果。当第一加扰电路对第一数据块执行数据计算后,第一加扰电路还需要将第一加扰电路生成的数据计算结果向用于处理第一数据块的下一个数据块的加扰电路传递。在第一加扰电路得到数据计算结果之后还需要将该数据计算结果传递到用于对第一数据块的下一个数据块进行处理的加扰电路,从而参与到用于对第一数据块的下一个数据块进行处理的加扰电路的数据计算。加扰装置中的多个加扰电路之间实现流水线操作。通过加扰电路之间的数据计算结果的传递,可以达到快速计算的目的,从而节省逻辑计算资源。第一数据块和第一数据块的下一个数据块是相邻的数据块。
在第一加扰电路执行数据计算时使用由加扰多项式确定的第一加扰因子,第一加扰电路对第一加扰因子的使用可以指的是直接使用上述第一加扰因子,或者,第一加扰电路对第一加扰因子的使用是在确定出第一加扰因子之后根据第一加扰因子进行形式变换得到的加扰因子。本发明实施例中第一加扰因子的具体参数内容需要结合数据传输遵循的具体协议、加扰算法以及传输网络涉及的具体带宽标准,在后续实施例中进行举例说明。
102、第二加扰电路根据第一加扰因子对数据流中的第二数据块和第一参数进行数据计算从而得到第二加扰电路生成的数据计算结果。
其中,第二数据块是被串行传输时在数据流中位于第一数据块之后且与第一数据块相邻的数据块,第二数据块属于第二子数据流,第二子数据流属于数据流,当第二子数据流和第一子数据流是同一个子数据流时,第一参数为第一加扰电路生成的数据计算结果,当第二子数据流和第一子数据流为两个不同的子数据流时,第一参数为零。
在本发明实施例中,加扰装置包括的多个加扰电路中,第一加扰电路和第二加扰电路是在同一个时钟周期内并行进行加扰处理的。第二加扰电路是用于对第二数据块进行加扰处理的加扰电路。由前述第一数据块和第二数据块的关系可知,在数据流中第一数据块和第二数据块是相邻的两个数据块,那么第一加扰电路和第二加扰电路在加扰装置中也是相邻的两个加扰电路。这两个加扰电路之间可以通过一个开关连接。当第二子数据流和第一子数据流是同一个子数据流时,即第一数据块和第二数据块来自同一个子数据流,该开关闭合。第一加扰电路生成的数据计算结果可以通过该开关传递给第二加扰电路。第二加扰电路在对第二数据块进行数据计算时使用的第一参数就是该第一加扰电路生成的数据计算结果。当第二子数据流和第一子数据流为两个不同的子数据流时,该开关打开。第二加扰电路不需要使用第一加扰电路传递的数据计算结果。此时第二加扰电路在对第二数据块进行数据计算时使用的第一参数为零。
在本发明实施例中,加扰装置中的第二加扰电路获取到待加扰的第二数据块之后,第二加扰获电路获取由加扰多项式确定的第一加扰因子。其中加扰多项式可以由加扰装置实现的加扰算法来确定例如,加扰多项式可以是G(x)=1+x39+x58。在步骤102中第二加扰电路对第二数据块执行数据计算时,由加扰多项式确定的第一加扰因子可以指数据计算时需要使用的一个或多个加扰参量。由加扰多项式确定的第一加扰因子的具体实现形式有多种,在不同的加扰多项式的取值情况下可以存在不同的表现形式。另外该第一加扰因子包括的加扰参量的具体形式以及取值结果均需要结合具体的场景来实现。第二加扰电路进行的数据计算指的是针对待加扰的数据块(例如第二数据块)进行的计算方式,数据计算中需要使用待加扰的数据块,而不需要使用后续实施例中描述的反馈数据和反馈计算结果,数据计算的具体过程以及第一加扰因子的具体取值在不同的应用场景下有不同的具体实现,此处不做限定。为便于后续实施例中描述,将步骤102中第二加扰电路执行数据计算得到的结果定义为第二加扰电路生成的数据计算结果。
在本发明实施例中,数据流中包括的相邻的第一数据块和第二数据块可以分属于不同的子数据流。第一数据块和第二数据块也可以分属于同一个子数据流。第一数据块和第二数据块是否属于同一个子数据流具体可以根据第一数据块和第二数据块是否发往相同的目的设备来确定。一个子数据流可以包含一个或多个的数据块。子数据流和数据块的包含关系是灵活可配的。第二加扰电路对第二数据块执行的数据计算具体包括:若第一数据块和第二数据块属于同一个子数据流,第二加扰电路需要使用第一加扰电路生成的数据计算结果。若第一数据块和第二数据块属于不同的两个子数据流,则在第二数据块在第二子数据流中属于第一个数据块。第一参数的取值为零。本发明实施例中第一参数取值为零的意思是第二加扰电路不需要使用第一参数也可以完成对第二数据块的数据计算。
在本发明的一些实施例中,步骤102第二加扰电路根据第一加扰因子对数据流中的第二数据块和第一参数进行数据计算从而得到第二加扰电路生成的数据计算结果,可包括如下步骤:
A1、第二加扰电路使用第一加扰因子中的第一加扰参量和第一参数进行相乘,得到第二加扰电路生成的第一相乘结果;
A2、第二加扰电路使用第一加扰因子中的第二加扰参量和第二数据块进行相乘,得到第二加扰电路生成的第二相乘结果;
A3、第二加扰电路将第一相乘结果和第二相乘结果进行异或计算从而得到第二加扰电路生成的数据计算结果。
其中,由加扰多项式确定的第一加扰因子可以包括第一加扰参量和第二加扰参量。第一加扰参量和第二加扰参量的具体实现与数据传输遵循的协议、加扰算法以及传输网络涉及的具体带宽有关,可以根据具体的应用场景确定。第二加扰电路对第二数据块进行数据计算可以通过如下方式实现:先计算出第一相乘结果和第二相乘结果,再通过对第一相乘结果和第二相乘结果进行异或计算得到第二加扰电路生成的数据计算结果。
需要说明的是,本发明实施例中数据计算可以指基于加扰多项式的G(x)=1+x39+x58的GF域计算,当然也可以其他加扰多项式。不同的多项式对应的加扰因子的值不同。另外在步骤102中第二加扰电路对第二数据块进行数据计算时使用的由加扰多项式确定的第一加扰因子与数据传输遵循的协议、加扰算法以及传输网络涉及的具体带宽有关,可以结合具体的应用场景来确定第一加扰因子的具体取值或者具体变形。
103、第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到第二加扰电路生成的反馈计算结果。
其中,第三加扰电路为多个加扰电路中的一个加扰电路。第二子数据流中的多个数据块被多个加扰电路在一个时钟周期获取。第二子数据流中的多个数据块中的最后一个数据块被第三加扰电路获取,最后一个数据块是多个数据块将被串行传输时最后被传输的数据块。第二加扰因子是由加扰多项式以及第二数据块在第二子数据流中的位置确定的加扰因子。反馈数据包括对第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据。或者,反馈数据包括对被执行了一个时钟周期的寄存的由第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及第三加扰电路生成的数据计算结果进行异或计算得到的结果。
在本发明实施例中,第二数据块所在的第二子数据流中可以包括多个数据块。第二子数据流中包括的多个数据块可以分别被加扰装置中的多个加扰电路进行加扰处理。多个加扰电路可以分别生成多个加扰数据。已经完成加扰的加扰电路可以输出加扰数据。步骤102中描述了第二加扰电路对第二数据块进行的数据计算,得到第二加扰电路生成的数据计算结果,然后第二加扰电路还需要执行步骤103第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到第二加扰电路生成的反馈计算结果。第二子数据流中除了包括第二数据块,还可以包括多个数据块。第二子数据流中包括的所有数据块同时被加扰装置中的多个加扰电路进行加扰处理。每个加扰电路对第二子数据流中的一个数据块进行加扰处理。每个加扰电路在执行加扰处理后会输出加扰数据。其中,将用于处理第二子数据流中包括的多个数据块中的最后一个数据块的加扰电路定义为第三加扰电路。在第二子数据流中只包括第二数据块时,第三加扰电路和第二加扰电路指的是同一个加扰电路。该第三加扰电路提供的反馈数据可以有两种实现方式:一种实现方式是,反馈数据包括对第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据。另一种实现方式是,反馈数据包括对被执行了一个时钟周期的寄存的由第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及第三加扰电路生成的数据计算结果进行异或计算得到的结果。
需要说明的是,本发明实施例中,步骤103中对第三加扰电路提供的反馈数据进行反馈计算需要使用由加扰多项式确定的第二加扰因子。第二加扰电路进行反馈计算时使用第二加扰因子,举例说明如下,第二加扰电路直接使用第二加扰因子,或者根据第二加扰因子进行形式变换得到的加扰因子。使用由加扰多项式确定的第二加扰因子的具体参数可以结合数据传输遵循的协议、加扰多项式以及传输网络涉及的具体带宽确定。在后续实施例中将对第二加扰因子的具体参数进行举例说明。并且步骤102中的数据计算和步骤103中的反馈计算时用到的由加扰多项式确定的第一加扰因子和由加扰多项式确定的第二加扰因子需要结合具体的数据计算和反馈计算的需要来分别设置各自加扰因子的实现方式和具体取值。具体可结合应用场景来确定第一加扰因子和第二加扰因子的具体取值或者具体变形。
在本发明的一些实施例中,步骤103中的反馈计算需要使用由加扰多项式确定的第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算。通过前述内容的说明可知,本实施例中反馈数据可以由第三加扰电路提供。步骤103第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到第二加扰电路生成的反馈计算结果,包括:
B1、第二加扰电路根据第二加扰因子中的常数矩阵以及常数矩阵的幂指数对第三加扰电路提供的反馈数据进行异或计算从而得到第二加扰电路生成的异或结果,幂指数根据第二数据块在第二子数据流中的位置确定;
B2、第二加扰电路根据第二数据块在第二子数据流中的位置对异或结果进行移位操作,得到第二加扰电路生成的反馈计算结果。
其中,反馈计算中使用的由加扰多项式确定的第二加扰因子具体表现形式可以是某个常数矩阵和以及该常数矩阵的幂指数。在这种情况下,反馈计算就可以通过使用第三加扰电路提供的反馈数据和一个常数矩阵的幂指数对第三加扰电路提供的反馈数据进行异或计算实现。常数矩阵是根据加扰算法(即加扰多项式)确定的第二加扰因子中包括的加扰参量。幂指数是根据第二数据块在第二子数据流中的位置确定。为了减少加扰装置中反馈计算的计算量,将反馈计算转换为移位计算。即可以在加扰装置中设置移位电路,通过移位电路实现由加扰多项式确定的第二加扰因子对从第三加扰电路提供的反馈数据进行反馈计算。在具体应用中,需要结合具体的应用场景来设置移位电路。另外反馈计算时使用到的由加扰多项式确定的第二加扰因子也需要根据具体的应用场景来选择其具体的参数或者对选择出的参数进行变形等。
104、第二加扰电路对第二加扰电路生成的数据计算结果和第二加扰电路生成的反馈计算结果进行异或计算从而得到第二加扰电路生成的加扰数据;第二加扰电路将第二加扰电路生成的加扰数据输出。
在本发明实施例中,通过前述步骤101至103的执行,加扰装置可分别获取到第二加扰电路生成的数据计算结果和第二加扰电路生成的反馈计算结果。根据第二加扰电路生成的数据计算结果和第二加扰电路生成的反馈计算结果获取第二加扰电路生成的加扰数据。从而完成对第二数据块的加扰处理。完成加扰之后,将第二加扰电路生成的加扰数据输出以供反馈计算的选择。另外,得到第二加扰电路生成的加扰数据还可以进行多通道分发(Muiti Lane Distribution,MLD)。
需要说明的是,在本发明实施例中第二数据块的加扰处理包括步骤102中描述的数据计算和步骤103中描述的反馈计算。第二数据块的加扰处理还包括,在数据计算和反馈计算的基础上对第二加扰电路生成的数据计算结果和第二加扰电路生成的反馈计算结果进行异或计算。其中,异或计算指的是进行GF2域加法。
在本发明的一些实施例中,前述步骤102第二加扰电路根据第一加扰因子对数据流中的第二数据块和第一参数进行数据计算从而得到第二加扰电路生成的数据计算结果,可以包括:
若数据流中每个数据块为n个比特,第二数据块为数据流中的第j个数据块,第一数据块为数据流中的第j-1个数据块,D′n,j=M×Nj-1+F×Dn,j;
其中,D′n,j为第二加扰电路生成的数据计算结果,Dn,j为第二数据块,Nj-1为第一参数,M为第一加扰因子中的第一加扰参量,F为第一加扰因子中的第二加扰参量,
M=H×J;
其中,J为逆序计算参量,
步骤103第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到第二加扰电路生成的反馈计算结果,包括:
第二加扰电路对第二加扰电路生成的数据计算结果和第二加扰电路生成的反馈计算结果进行异或计算从而得到第二加扰电路生成的加扰数据,包括:
在本发明的另一些实施例中,步骤102第二加扰电路根据第一加扰因子对数据流中的第二数据块和第一参数进行数据计算从而得到第二加扰电路生成的数据计算结果,包括:
若数据流中每个数据块为n个比特,第二数据块为数据流中的第j个数据块,第一数据块为数据流中的第j-1个数据块,
其中,V′n,j=T-1×D′n,j,D′n,j为第二加扰电路生成的数据计算结果,Dn,i为第二子数据流中的一个数据块,G=T-1×F,F为第一加扰因子中的第二加扰参量,
Pnext=A×Pcurr+B×di;
An=T-1×M×T;
M=H×J;
其中,J为逆序计算参量,
第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到第二加扰电路生成的反馈计算结果,包括:
步骤103第二加扰电路对第二加扰电路生成的数据计算结果和第二加扰电路生成的反馈计算结果进行异或计算从而得到第二加扰电路生成的加扰数据,包括:
通过对本发明实施例的描述可知,加扰装置可以对包含第一数据块和第二数据块的数据流进行加扰。所述第一数据块和所述第二数据块可以属于相同的子数据流,也可以属于不同的子数据流。当所述第一数据块和所述第二数据块属于相同的子数据流时所述数据流的规格不同于当所述第一数据块和所述第二数据块属于不同的子数据流时所述数据流的规格。因此,所述加扰装置可以对不同规格的数据流进行加扰。因此,上述技术方案扩展了加扰装置的应用场景。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。接下来以100Gbps以太网接口标准为例进行说明。100Gbps以太网接口标准采用自同步加扰。IEEE802.3标准中定义的加扰多项式如下:
G(x)=1+x39+x58
(1)
其中,加扰可采用线性反馈移位寄存器(Linear Feedback Shift Register,LFSR)实现。图2为本发明实施例提供的一种加扰装置的结构示意图。S0~S57为状态寄存器,将待加扰的串行数据与S57、S38中存储的数据相加,得到加扰数据。然后将加扰数据存入S0。S0~S57向右移位。上述操作可以实现对一个比特的加扰。此处中的加法是模2相加,相当于执行异或操作。
图3为本发明实施例提供的加扰处理在以太网接口中的位置示意图。图3可以是100Gbps以太网接口的结构示意图。加扰处理可以由物理编码子层(Physical CodingSublayer,PCS)执行。具体来说,加扰处理由加扰电路执行。加扰处理是数据处理的一个步骤。数据处理可以包括如下步骤。适配子层(Reconciliation Sublayer,RS)通过400Gb媒介无关接口(400Gigabit per second Media Independent Interface,CDGMII)向PCS传输数据。其中,CD对应罗马数字400。根据图3可以看出,加扰处理发生在对数据进行64b/66b编码之后,以及对数据进行多通道分发(Multi-Lane Distribution,MLD)处理之前。在对同一数据流中的数据块加扰时,首先按虚拟通道(Virtual lane,VL)进行编码处理和加扰操作,然后分发到物理通道(Physical Lane,PL)上。如果是灵活以太网,VL可以分属不同的子数据流(即一条或多条VL可以对应一条子数据流),不同子数据流的数据(对应不同VL)需要分开加扰。MLD处理可以由MLD电路执行。完成MLD处理之后,物理编码子层将数据通过n个通道传送到物理媒介附加(Physical Medium Attachment,PMA)电路和物理媒介相关(PhysicalMedia Dependent,PMD)电路。PMD电路通过m个通道向物理媒介发送处理后的数据。物理媒介将处理后的数据传输至目的设备。物理媒介可以通过光模块或者光纤实现。PMD电路可以通过媒介依赖接口(Medium Dependent Interface,MDI)与物理媒介耦合。另外,此处所述的n和m为非零自然数,n和m的具体取值可以结合应用场景来确定。
在前述的加扰处理中,加扰的过程就是将状态寄存器的第39比特(bit)和第58bit进行异或操作,然后再和当前bit进行异或操作,从而生成并输出已加扰数据。写成数学表达式可以为如下的公式(2)和(3):
Pnext=A×Pcurr+B×di
(2)
其中,Pnext为状态寄存器的下一个时钟周期状态,Pcurr为状态寄存器的当前时钟周期的状态,di为未加扰数据,为未加扰数据di对应的加扰数据,下标i是数据的标号。例如,Pcurr具体可以为图2中的状态寄存器(S0~S57)中某个状态寄存器的状态取值。
在上述公式(2)和公式(3)中,A、B、C为常数,以图2所示的状态寄存器和加扰多项式为公式(1)为例,则A、B、C具体可以为如下矩阵:
B=[0 … 0 1]′
(5)
其中,公式(4)中,矩阵C如果按左侧为高,右侧为低的顺序标识。第57(最高位)和第38位为1,其他位为0。公式(6)中矩阵A的最后一行和矩阵C相同,矩阵A的右上角为一个单位阵。公式(5)中,矩阵B中的“′”表示转置,矩阵B的最后一位为1,矩阵B的其他位为0。
如果需要执行n bits数据并行计算,假设状态寄存器能够保存m个状态中的任意一个状态。在某个时间,所述状态寄存器只能保存一个状态。这m个状态组成的状态矩阵p满足如下关系:
其中,p0、p1、pm-1分别为状态寄存器中第1、2、…、m个状态,在802.3标准下,m可以为58。
将上述公式(2)迭代n次,可以得到如下公式:
P(n)=An×P+W×Dn
(8)
其中,状态矩阵p中每个状态分别对应的下一个时钟周期的状态组成输出矩阵P(n),Dn为编码后的数据中n个数据组成的未加扰数据矩阵。
将上述公式(3)迭代n次,可以得到如下公式:
其中,为已加扰数据中n个数据组成的已加扰数据矩阵,Dn为编码后的数据中n个数据组成的未加扰数据矩阵,p为状态寄存器中m个状态组成的状态矩阵。
其中,在上述公式(8)和公式(9)中,W、H、F具体可以为如下矩阵:
W=[B AB … An-1×B]
(10)
其中,公式(8)和(9)中的Dn可以表示为如下的公式(13):
公式(8)中的P(n)表示经过n比特的迭代处理之后状态寄存器P里存储的状态值。公式(9)中表示n比特的加扰数据。根据上述公式(8)和公式(9)可以看出,状态寄存器中存储的状态值是不断移位的,状态寄存器中低位的状态值由加扰数据填充。因此公式(8)可以进一步写成如下的公式:
以图2所示的状态寄存器和加扰多项式为公式(1)为例,将矩阵A、矩阵B、矩阵C分别代入到矩阵W、矩阵H、矩阵F中,可得到矩阵E、矩阵J的如下公式:
或,
公式(15)中,矩阵E的次对角线的元素为1,其他元素都是为0。公式(14)中,矩阵E的n次幂左乘矩阵P,表示对矩阵P移n位。矩阵J是m×n阶的矩阵,如果m<n,则矩阵J由公式(16)表示,否则矩阵J由公式(17)表示。
在100Gbps的以太网中采用64b/66b编码,因此64bits为最小的数据块。本发明实施例接下来以m<n为例进行说明,特别是n=64的情况为例。其他情况可以依本发明提供的数据加扰方法类推。此时并行计算公式可以简化为如下的公式(18):
其中,M满足如下的公式(19):
M=H×J (19)
如果以太网中的某个子数据流包括有l个数据块,若以n个数据为一个数据块,对l个数据块并行的进行加扰计算,那么公式(18)中的j的取值为1~l。为第j个加扰数据矩阵Dn,j为第j个未加扰数据矩阵Dn。当j=1时,表示上一个时钟周期最后一个数据块的计算结果,即可以表示为l个数据块并行的进行加扰计算,对j>0的情况,将公式(18)进行迭代展开,可以得到如下公式:
Nj+1=M×Nj+F×Dn,j+1 (22)
通过公式(21)和公式(22),公式(20)可变换为如下的公式(23):
通过公式(23)可知,对未加扰数据进行加扰计算(即前述的加扰处理)可以包括数据计算和反馈计算两个部分。通过公式(23)可知,以j作为本级,以j-1作为上一级,数据计算分为上一级的数据计算(即M×Nj-1)和本级的数据计算(即F×Dn,j),反馈计算可通过得到。图4-a为本发明实施例提供的一种对一个数据块进行加扰处理的电路示意图,例如,以图4-a为第二加扰电路对第二数据块的加扰处理为例,第二加扰电路执行的数据计算可以包括:通过M×Nj-1+F×Dn,i完成数据计算,可以得到第二加扰电路生成的数据计算结果,第二加扰电路执行的反馈计算可以包括:通过完成反馈计算,可以得到第二加扰电路生成的反馈计算结果,j表示数据块的编号,k表示数据块Dn,j在子数据流中的编号,Z-1表示一个单位延迟,对应于公式(23),未加扰数据中以n个数据为一个数据块,第j个数据块为Dn,j,经过Z-1输出的数据为本级的数据计算结果,为本级的加扰数据,选通器从加扰装置包括的多个加扰电路中,获取到多个加扰电路生成的加扰数据中进行选择,将选择的数据定义为第三加扰电路提供的反馈数据。第三加扰电路提供的反馈数据和M的k次方相乘后,得到本级的反馈计算结果,本级的数据计算结果和本级的反馈计算结果进行异或计算后,得到本级的加扰数据
第二加扰电路可以执行图4-a中所示的加扰处理,首先数据Dn,j和矩阵F做矩阵相乘计算(即GF(2)下计算),同时上一个时钟周期的数据计算结果Nj-1与矩阵M做相乘计算,然后将二者结果做异或计算(即GF(2)域下的加法),得出本级的数据计算结果Nj,该数据计算结果Nj传递给下一级使用,同时在本级向后传递Nj继续参与加扰计算。反馈计算是将第三加扰电路提供的反馈数据和矩阵M的k次幂相乘,然后和本级的数据计算结果Nj进行异或计算,从而可以得到最终的加扰数据。
图4-a中对Dn,j进行加扰处理的第二加扰电路进行了说明,接下来请参阅如图4-b所示,为对l个数据块进行并行的加扰处理的一种加扰装置的结构示意图,编码后的数据块Dn,1、Dn,2、...、Dn,j按照时钟周期并行的进行加扰处理,从数据块Dn,1开始直至数据块Dn,j-1的数据计算结果向下一级传递,反馈计算从选通器中选择某个级的加扰数据,从而可以得到反馈计算结果,由各个级的数据计算结果和反馈计算结果进行异或计算后,可得到各个级的加扰数据
如果是带宽可变的加扰计算,上述的加扰装置包括的各个加扰电路的电路结构可以保持基本不变,只需要做如下的三方面的配置即可适用于其它规格的数据流。第一、与矩阵M进行相乘计算时使用的开关。如果上一级的加扰电路处理的数据块和本级的加扰电路处理的数据块属于同一个子数据流,则开关需要闭合,即允许上一级的数据计算结果传递到本级来,参与本级进行的数据计算,若上一级的加扰电路处理的数据块和本级的加扰电路处理的数据块属于两个不同的子数据流,则开关需要断开(即可以置上一级的数据计算结果为0),即上一级的数据计算结果不参与本级的数据计算,本级作为所属子数据流的第一级。第二,矩阵M的幂指数k的取值。k的取值是本级作为所属子数据流的级数。例如,如果是子数据流的第一级,那么k取1,第二级取2,依此类推,k是相对于子数据流内数据块的位置来确定的。第三反馈数据的来源,反馈数据是同一子数据流的最后一级的反馈计算结果。如果本级为所属子数据流的最后一级,则反馈数据来自本级的加扰数据,即选通器选取本级的加扰数据,如果本级不是子数据流的最后一级,则反馈数据来自下面的最后一级的加扰数据,选通器最多有l个来源,即本级的加扰数据和本级以下的各级加扰数据。通过前述的三个配置可以使加扰装置适用于多种规格的数据流加扰,扩展加扰装置的应用场景。
需要说明的是,图4-b为加扰装置的整体结构。所述加扰装置由多个加扰电路连接而成。前述加扰处理中的数据计算可以用流水线结构实现,即可以寄存多个时钟周期,根据具体的时序情况而定。加扰处理的反馈计算需要在一个时钟周期内完成。
接下来以另一个应用场景为例进行说明本发明实施例提供的加扰装置。
为了对上述图4-a和图4-b所示的加扰装置进行优化,可对处在反馈计算的关键路径进行优化。矩阵M的秩为58。且矩阵M和公式(6)中的矩阵A具有相同的特征多项式。因此可以构造出矩阵T,使其满足如下的公式(24):
An=T-1×M×T
(24)
矩阵T的求解可以按照如下的计算方式实现:
首先将矩阵AnA和矩阵M进行分块处理,得到如下的公式(25)和(26):
其中,上述公式(26)中的t满足如下的关系:t=n-m。
以图2所示的状态寄存器和加扰多项式为公式(1)为例,矩阵An是将58阶的矩阵A扩展成64阶的矩阵,相对于矩阵A,扩展的行以及列的元素等于0。矩阵M可以表示成分块形式,如公式(26)。矩阵T也可以用分块表示,例如公式(27):
其中,b、Tm、Wm、Tb、Ta分别满足如下的关系:
b=[1 0 … 0]T (28)
Ta=Om×b
(32)
矩阵Ib为b阶的单位阵。由此,可以用上述公式的公式(28)至公式(32)得出矩阵T,矩阵T-1可以通过计算矩阵T的伴随矩阵的方式来得到。将公式(24)代入公式(20),可以得到如下的公式(33):
对公式(33)的两端中每一个变量都左乘一个矩阵T-1,可以得到如下的公式(34):
G=T-1×F (37)
通过公式(34)可知,对未加扰数据进行加扰计算(即前述的加扰处理)可以分为数据计算和反馈计算两个部分,数据计算通过得到,反馈计算可通过得到。图5-a为本发明实施例提供的另一种对数据块进行加扰处理的电路示意图。例如,以图5-a为第二加扰电路对第二数据块的加扰处理为例,第二加扰电路执行的数据计算可以包括:通过完成数据计算,可以得到第二加扰电路生成的数据计算结果,第二加扰电路执行的反馈计算可以包括:通过完成反馈计算,可以得到第二加扰电路生成的反馈计算结果,j表示数据块的编号,k表示数据块Dn,j在子数据流中的编号,Z-1表示一个单位延迟。选通器从加扰装置包括的多个加扰电路中,获取到多个加扰电路生成的加扰数据中进行选择,将选择的数据定义为第三加扰电路提供的反馈数据。第三加扰电路提供的反馈数据和矩阵A的k次方相乘后,得到本级的反馈计算结果,本级的数据计算结果和本级的反馈计算结果进行异或计算后,得到本级的加扰数据
第二加扰电路可以执行图5-a中所示的加扰处理。经过本级的数据计算后输出本级的数据计算结果,为本级的加扰数据,选通器从多个加扰电路生成的加扰数据(即)中选择出第三加扰电路提供的反馈数据和A的k次方相乘后,得到本级的反馈计算结果,本级的数据计算结果和本级的反馈计算结果的异或计算得到本级的加扰数据。接下来请参阅如图5-b所示,为对l个数据块进行并行加扰处理的另一种加扰装置的结构示意图,编码后的数据块Dn,1、Dn,2、…、Dn,j按照时钟周期并行的加扰处理,从数据块Dn,1开始直至数据块Dn,j-1数据计算结果向下一级传递,反馈计算从选通器中选择某个级的加扰数据,从而可以得到反馈计算结果,由各个级的数据计算结果和反馈计算结果可得到各个级的加扰中间结果然后对各个级的加扰中间结果 分别乘以矩阵T,得到加扰数据
进一步的,由于矩阵A是稀疏矩阵,所以矩阵A的k次幂可以简化。加扰中间结果V和矩阵A的相乘计算得到的结果为加扰中间结果V的移位。请参阅如图6所示,为本发明实施例提供的幂乘计算中的异或计算电路示意图,可构造数据流f,采用图6所示的异或计算电路,输出数据f的前58bits是输入的数据V,把f的最高位表示成f(57),后面沿用递减规则。则f(-1)可以表示成V(57)^V(38),f(-2)可以表示成V(56)^V(37),依此类推直到f(-39)。计算加扰中间计算结果V乘以矩阵A的k次幂,就可以表示成f序列的移位。当k=0时,结果为f(57:0),k=1时,结果为f(56:-1),依此类推。通过图6所示的异或计算电路加上移位电路实现矩阵的幂乘计算。
需要说明的是,前述实施例中可以用选通电路选取加扰中间计算结果V,使用异或计算电路生成f,最后再使用移位电路来完成幂乘计算,可以得到反馈计算结果,根据反馈计算结果和数据计算结果进行异或计算,可以完成加扰处理。
接下来以另一个应用场景为例进行说明:
图5-a的加扰电路和图5-b的加扰装置中,都利用矩阵An和矩阵M构成相似矩阵,相对于图4-a和图4-b简化了反馈计算。当带宽比较大时,还可以采用如下的方式进一步简化反馈计算。由于只有处理子数据流中的最后一级的数据块的加扰电路才会生成有效的反馈数据,因此可以采用图7-a为本发明实施例提供的另一种对Dn,j进行加扰处理的电路示意图。其中,Z-1表示一个单位延迟,未加扰数据中以n个数据为一个数据块,第j个数据块为Dn,j。
如图7-a所示,以第二加扰电路对第二数据块的加扰处理为例,第二加扰电路首先通过数据计算,得到第二加扰电路生成的数据计算结果,并将第二加扰电路生成的数据计算结果向后一级的加扰电路传递,前一时钟周期的第二加扰电路生成的反馈数据与矩阵A的k次幂进行相乘计算,得到第二加扰电路生成的第一结果,第二加扰电路生成的第一结果和第二加扰电路生成的数据计算结果进行异或计算,可以得到第二加扰电路生成的反馈数据,将第二加扰电路生成的反馈数据输入到选通器,则选通器可以收到来自加扰装置的多个加扰电路生成的反馈数据,选通器输出第三加扰电路提供的反馈数据,然后第三加扰电路提供的反馈数据和矩阵A的k次幂进行相乘计算,可以得到第二加扰电路生成的反馈计算结果,再将第二加扰电路生成的反馈计算结果和第二加扰电路生成的数据计算结果进行异或计算,可以生成加扰中间结果将加扰中间结果和矩阵T进行相乘计算,可以得到加扰数据
接下来请参阅如图7-b所示,为对l个数据块进行并行加扰处理的另一种加扰装置的结构示意图,编码后的数据块Dn,1、Dn,2、…、Dn,j按照时钟周期并行的进行加扰处理,从数据块Dn,1开始直至数据块Dn,j-1的数据计算结果向下一级传递,反馈计算从选通器选择某个级的加扰数据计算得到反馈计算结果,由各个级的数据计算结果和反馈计算结果可得到加扰数据
图7-a和图7-b的实现方式中,反馈计算可以分解为反馈数据的选通操作和反馈数据与矩阵A的k次幂的相乘计算,因此反馈数据的选通操作和反馈数据与矩阵A的k次幂的相乘计算,这两部分可以用流水线结构,反馈数据的选通操作和反馈数据与矩阵A的k次幂的相乘计算之间还可以用寄存器寄存,从而可以解决时序问题。相对于图5-a和图5-b的实现方式,图7-a和图7-b中加扰装置可以实现对反馈计算的简化。
如图5-a和图5-b、图7-a和图7-b的举例说明可知,接收到数据块后和矩阵G间相乘操作,以及输出加扰数据之前和矩阵T进行相乘计算,其中,矩阵之间的相乘计算可以用于乘累加器实现。矩阵A为稀疏矩阵,和矩阵A相乘后的累加计算所占资源很少。假若一条通道需要2个矩阵相乘计算,一个和矩阵A的k次幂相乘计算,共需要2X+Y个资源,总共n条通道,总资源为R=2*n*X+n*Y。X为一个m bits矩阵相乘计算的资源,Y为矩阵A的幂与反馈poly乘计算的资源。在Xilinx V7下X为0.1K查找表(Look-Up-Table,LUT),Y最大为1.5K LUT,当通道数不大于16时X为0.1K。n为16时,所需要的总资源≈10K LUT。如果是固定带宽加扰,Y和X资源差不多,总资源≈5K LUT。
通过以上实施例对本发明的举例说明可知,数据加扰方法可适用于多种规格的数据流中各个数据块的加扰,可以对多条子数据流流进行同时加扰。相对于现有技术的加扰方法需要更少的资源,且能运行在较高的时钟频率下。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合。但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。因为某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图8所示,本发明实施例提供的一种加扰装置800的结构示意图,可以用于执行图1所示的方法。关于加扰装置800的具体实现,可以参考图1对应的实施例。加扰装置800可以包括:多个加扰电路,所述多个加扰电路包括第一加扰电路801以及第二加扰电路802,其中,
所述第一加扰电路801,用于执行如下步骤:
根据第一加扰因子对第一数据块进行数据计算从而得到所述第一加扰电路生成的数据计算结果,所述第一加扰因子是由加扰多项式确定的加扰因子,所述第一数据块属于第一子数据流,所述第一子数据流属于传输到所述加扰装置的数据流;
所述第二加扰电路802,用于执行如下步骤:
根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,其中,所述第二数据块是被串行传输时在所述数据流中位于所述第一数据块之前且与所述第一数据块相邻的数据块,所述第二数据块属于第二子数据流,所述第二子数据流属于所述数据流,当所述第二子数据流和所述第一子数据流是同一个子数据流时,所述第一参数为所述第一加扰电路生成的数据计算结果,当所述第二子数据流和所述第一子数据流为两个不同的子数据流时,所述第一参数为零;
根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,所述第三加扰电路为所述多个加扰电路中的一个加扰电路,所述第二子数据流中的多个数据块被所述多个加扰电路在一个时钟周期获取,所述第二子数据流中的多个数据块中的最后一个数据块被所述第三加扰电路获取,所述最后一个数据块是所述多个数据块将被串行传输时最后被传输的数据块,所述第二加扰因子是由所述加扰多项式以及所述第二数据块在所述第二子数据流中的位置确定的加扰因子,所述反馈数据包括对所述第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据,或者,所述反馈数据包括对被执行了一个时钟周期的寄存的由所述第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及所述第三加扰电路生成的数据计算结果进行异或计算得到的结果;
对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据;
将所述第二加扰电路生成的加扰数据输出。
在本发明的一些实施例中,所述第二加扰电路802,具体用于执行如下步骤:
使用所述第一加扰因子中的第一加扰参量和所述第一参数进行相乘,得到所述第二加扰电路生成的第一相乘结果;
使用所述第一加扰因子中的第二加扰参量和所述第二数据块进行相乘,得到所述第二加扰电路生成的第二相乘结果;
将所述第一相乘结果和所述第二相乘结果进行异或计算从而得到所述第二加扰电路生成的数据计算结果。
在本发明的一些实施例中,所述第二加扰电路,具体用于执行步骤:
根据所述第二加扰因子中的常数矩阵以及所述常数矩阵的幂指数对所述第三加扰电路提供的反馈数据进行异或计算从而得到所述第二加扰电路生成的异或结果,所述幂指数根据所述第二数据块在所述第二子数据流中的位置确定;
根据所述第二数据块在第二子数据流中的位置对所述异或结果进行移位操作,得到所述第二加扰电路生成的反馈计算结果。
在本发明的一些实施例中,所述第二加扰电路,具体用于执行如下步骤:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
D′n,j=M×Nj-1+F×Dn,j;
其中,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,j为所述第二数据块,Nj-1为所述第一参数,M为所述第一加扰因子中的第一加扰参量,F为所述第一加扰因子中的第二加扰参量,
其中,所述Pnext为所述加扰装置中的状态寄存器的下一个时钟周期的状态取值,所述Pcurr为所述状态寄存器的当前时钟周期的状态取值,所述为所述数据流中di对应的加扰数据,所述di为所述数据流中的第i个比特;
M=H×J;
其中,J为逆序计算参量,
通过如下方式对第三加扰电路生成的反馈数据进行反馈计算:
通过如下方式对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算:
在本发明的一些实施例中,所述第二加扰电路,具体用于执行如下步骤:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
其中,V′n,j=T-1×D′n,j,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,i为所述第二数据块所属的子数据流中的一个数据块,G=T-1×F,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Pcurr+B×di;
其中,Pnext为状态寄存器的下一个时钟周期的状态取值,Pcurr为所述状态寄存器的当前时钟周期的状态取值,为所述数据流中di对应的加扰数据,di为所述数据流中的第i个比特;
An=T-1×M×T;
M=H×J;
其中,J为逆序计算参量,
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
其中,V′n,j=T-1×D′n,j,V″n,j=T-1×D″n,j,为所述第二加扰电路生成的加扰数据,D′n,j为所述第二加扰电路生成的数据计算结果,D″n,j为所述第二加扰电路生成的反馈计算结果。
通过对本发明实施例的描述可知,加扰装置可以对包含第一数据块和第二数据块的数据流进行加扰。所述第一数据块和所述第二数据块可以属于相同的子数据流,也可以属于不同的子数据流。当所述第一数据块和所述第二数据块属于相同的子数据流时所述数据流的规格不同于当所述第一数据块和所述第二数据块属于不同的子数据流时所述数据流的规格。因此,所述加扰装置可以对不同规格的数据流进行加扰。因此,上述技术方案扩展了加扰装置的应用场景。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助硬件,或者软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下数字电路实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以硬件,例如特定用途集成电路(ASIC,Application SpecificIntegrated Circuit)或现场可编程门阵列(FPGA,Field Programmable Gate Array)相关的形态来实现,包括若干硬件结构模块以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改。
Claims (10)
1.一种数据加扰方法,其特征在于,所述方法由加扰装置执行,所述加扰装置包括多个加扰电路,所述多个加扰电路包括第一加扰电路以及第二加扰电路,所述方法包括:
所述第一加扰电路根据第一加扰因子对第一数据块进行数据计算从而得到所述第一加扰电路生成的数据计算结果,所述第一加扰因子是由加扰多项式确定的加扰因子,所述第一数据块属于第一子数据流,所述第一子数据流属于传输到所述加扰装置的数据流;
所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,其中,所述第二数据块是被串行传输时在所述数据流中位于所述第一数据块之后且与所述第一数据块相邻的数据块,所述第二数据块属于第二子数据流,所述第二子数据流属于所述数据流,当所述第二子数据流和所述第一子数据流是同一个子数据流时,所述第一参数为所述第一加扰电路生成的数据计算结果,当所述第二子数据流和所述第一子数据流为两个不同的子数据流时,所述第一参数为零;
所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,所述第三加扰电路为所述多个加扰电路中的一个加扰电路,所述第二子数据流中的多个数据块被所述多个加扰电路在一个时钟周期获取,所述第二子数据流中的多个数据块中的最后一个数据块被所述第三加扰电路获取,所述最后一个数据块是所述多个数据块将被串行传输时最后被传输的数据块,所述第二加扰因子是由所述加扰多项式以及所述第二数据块在所述第二子数据流中的位置确定的加扰因子,所述反馈数据包括对所述第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据,或者,所述反馈数据包括对被执行了一个时钟周期的寄存的由所述第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及所述第三加扰电路生成的数据计算结果进行异或计算得到的结果;
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,所述第二加扰电路将所述第二加扰电路生成的加扰数据输出。
2.根据权利要求1所述的方法,其特征在于,所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,包括:
所述第二加扰电路使用所述第一加扰因子中的第一加扰参量和所述第一参数进行相乘,得到所述第二加扰电路生成的第一相乘结果;
所述第二加扰电路使用所述第一加扰因子中的第二加扰参量和所述第二数据块进行相乘,得到所述第二加扰电路生成的第二相乘结果;
所述第二加扰电路将所述第一相乘结果和所述第二相乘结果进行异或计算从而得到所述第二加扰电路生成的数据计算结果。
3.根据权利要求1或2所述的方法,其特征在于,所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,包括:
所述第二加扰电路根据所述第二加扰因子中的常数矩阵以及所述常数矩阵的幂指数对所述第三加扰电路提供的反馈数据进行异或计算从而得到所述第二加扰电路生成的异或结果,所述幂指数根据所述第二数据块在所述第二子数据流中的位置确定;
所述第二加扰电路根据所述第二数据块在所述第二子数据流中的位置对所述异或结果进行移位操作,得到所述第二加扰电路生成的反馈计算结果。
4.根据权利要求1或2所述的方法,其特征在于,所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,包括:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,D′n,j=M×Nj-1+F×Dn,j;
其中,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,j为所述第二数据块,Nj-1为所述第一参数,M为所述第一加扰因子中的第一加扰参量,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Rcurr+B×di;
其中,所述Pnext为所述加扰装置中的状态寄存器的下一个时钟周期的状态取值,所述Pcurr为所述状态寄存器的当前时钟周期的状态取值,所述为所述数据流中di对应的加扰数据,所述di为所述数据流中的第i个比特;
所述C以矩阵形式表示为:
所述B以矩阵形式表示为:
B=[0…0 1]′;矩阵B中的’表示转置,所述矩阵B的最后一位为1,其他位为0;
所述A以矩阵形式表示为:
其中,矩阵A的最后一行和所述矩阵C相同,所述矩阵A的右上角为一个单位矩阵;
M=H×J;
其中,J为逆序计算参量,所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,包括:
其中,D″n,j为所述第二加扰电路生成的反馈计算结果,为所述第三加扰电路生成的加扰数据,Mj为所述第二加扰因子中的第三加扰参量;
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
5.根据权利要求1或2所述的方法,其特征在于,所述第二加扰电路根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,包括:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
其中,V′n,j=T-1×D′n,j,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,i为所述第二子数据流中的一个数据块,G=T-1×F,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Pcurr+B×di;
所述C以矩阵形式表示为:
所述B以矩阵形式表示为:
B=[0…0 1]′;矩阵B中的’表示转置,所述矩阵B的最后一位为1,其他位为0;
所述A以矩阵形式表示为:
其中,矩阵A的最后一行和所述矩阵C相同,所述矩阵A的右上角为一个单位矩阵;
An=T-1×M×T;
M=H×J;
其中,J为逆序计算参量,
所述第二加扰电路根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,包括:
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
6.一种加扰装置,其特征在于,所述加扰装置包括多个加扰电路,所述多个加扰电路包括第一加扰电路以及第二加扰电路,其中,
所述第一加扰电路,用于执行如下步骤:
根据第一加扰因子对第一数据块进行数据计算从而得到所述第一加扰电路生成的数据计算结果,所述第一加扰因子是由加扰多项式确定的加扰因子,所述第一数据块属于第一子数据流,所述第一子数据流属于传输到所述加扰装置的数据流;
所述第二加扰电路,用于执行如下步骤:
根据所述第一加扰因子对所述数据流中的第二数据块和第一参数进行数据计算从而得到所述第二加扰电路生成的数据计算结果,其中,所述第二数据块是被串行传输时在所述数据流中位于所述第一数据块之前且与所述第一数据块相邻的数据块,所述第二数据块属于第二子数据流,所述第二子数据流属于所述数据流,当所述第二子数据流和所述第一子数据流是同一个子数据流时,所述第一参数为所述第一加扰电路生成的数据计算结果,当所述第二子数据流和所述第一子数据流为两个不同的子数据流时,所述第一参数为零;
根据第二加扰因子对第三加扰电路提供的反馈数据进行反馈计算从而得到所述第二加扰电路生成的反馈计算结果,所述第三加扰电路为所述多个加扰电路中的一个加扰电路,所述第二子数据流中的多个数据块被所述多个加扰电路在一个时钟周期获取,所述第二子数据流中的多个数据块中的最后一个数据块被所述第三加扰电路获取,所述最后一个数据块是所述多个数据块将被串行传输时最后被传输的数据块,所述第二加扰因子是由所述加扰多项式以及所述第二数据块在所述第二子数据流中的位置确定的加扰因子,所述反馈数据包括对所述第三加扰电路生成的加扰数据进行一个时钟周期的寄存后得到的数据,或者,所述反馈数据包括对被执行了一个时钟周期的寄存的由所述第三加扰电路提供的反馈数据进行反馈计算得到的第一结果以及所述第三加扰电路生成的数据计算结果进行异或计算得到的结果;
对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据;
将所述第二加扰电路生成的加扰数据输出。
7.根据权利要求6所述的加扰装置,其特征在于,所述第二加扰电路,具体用于执行如下步骤:
使用所述第一加扰因子中的第一加扰参量和所述第一参数进行相乘,得到所述第二加扰电路生成的第一相乘结果;
使用所述第一加扰因子中的第二加扰参量和所述第二数据块进行相乘,得到所述第二加扰电路生成的第二相乘结果;
将所述第一相乘结果和所述第二相乘结果进行异或计算从而得到所述第二加扰电路生成的数据计算结果。
8.根据权利要求6所述的加扰装置,其特征在于,所述第二加扰电路,具体用于执行步骤:
根据所述第二加扰因子中的常数矩阵以及所述常数矩阵的幂指数对所述第三加扰电路提供的反馈数据进行异或计算从而得到所述第二加扰电路生成的异或结果,所述幂指数根据所述第二数据块在所述第二子数据流中的位置确定;
根据所述第二数据块在第二子数据流中的位置对所述异或结果进行移位操作,得到所述第二加扰电路生成的反馈计算结果。
9.根据权利要求6或7所述的加扰装置,其特征在于,所述第二加扰电路,具体用于执行如下步骤:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
D′n,j=M×Nj-1+F×Dn,j;
其中,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,j为所述第二数据块,Nj-1为所述第一参数,M为所述第一加扰因子中的第一加扰参量,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Rcurr+B×di;
其中,所述Pnext为所述加扰装置中的状态寄存器的下一个时钟周期的状态取值,所述Pcurr为所述状态寄存器的当前时钟周期的状态取值,所述为所述数据流中di对应的加扰数据,所述di为所述数据流中的第i个比特;
所述C以矩阵形式表示为:
所述B以矩阵形式表示为:
B=[0…0 1]′;矩阵B中的’表示转置,所述矩阵B的最后一位为1,其他位为0;
所述A以矩阵形式表示为:
其中,矩阵A的最后一行和所述矩阵C相同,所述矩阵A的右上角为一个单位矩阵;
M=H×J;
其中,J为逆序计算参量,
通过如下方式对第三加扰电路生成的反馈数据进行反馈计算:
通过如下方式对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算:
10.根据权利要求6或7所述的加扰装置,其特征在于,所述第二加扰电路,具体用于执行如下步骤:
若所述数据流中每个数据块为n个比特,所述第二数据块为所述数据流中的第j个数据块,所述第一数据块为所述数据流中的第j-1个数据块,
其中,V′n,j=T-1×D′n,j,D′n,j为所述第二加扰电路生成的数据计算结果,Dn,i为所述第二数据块所属的子数据流中的一个数据块,G=T-1×F,F为所述第一加扰因子中的第二加扰参量,
Pnext=A×Pcurr+B×di;
所述C以矩阵形式表示为:
矩阵C中各位按照左侧高右侧低的顺序标识,第57位为最高位,所述第57位和第38位为1,其他位为0;
所述B以矩阵形式表示为:
B=[0…0 1]′;矩阵B中的’表示转置,所述矩阵B的最后一位为1,其他位为0;
所述A以矩阵形式表示为:
其中,矩阵A的最后一行和所述矩阵C相同,所述矩阵A的右上角为一个单位矩阵;
An=T-1×M×T;
M=H×J;
其中,J为逆序计算参量,
所述第二加扰电路对所述第二加扰电路生成的数据计算结果和所述第二加扰电路生成的反馈计算结果进行异或计算从而得到所述第二加扰电路生成的加扰数据,包括:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/096032 WO2017091958A1 (zh) | 2015-11-30 | 2015-11-30 | 一种数据加扰方法和加扰装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107431672A CN107431672A (zh) | 2017-12-01 |
CN107431672B true CN107431672B (zh) | 2020-02-14 |
Family
ID=58796046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580002380.5A Active CN107431672B (zh) | 2015-11-30 | 2015-11-30 | 一种数据加扰方法和加扰装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10715360B2 (zh) |
EP (1) | EP3376725B1 (zh) |
CN (1) | CN107431672B (zh) |
WO (1) | WO2017091958A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3376725B1 (en) * | 2015-11-30 | 2020-06-10 | Huawei Technologies Co., Ltd. | Data scrambling method and scrambling apparatus |
EP4000294A1 (en) * | 2019-07-16 | 2022-05-25 | Nokia Technologies Oy | Apparatus, method, and computer program for scrambling a transport blocked based on whether a previous transport block was successfully received |
CN110661622A (zh) * | 2019-10-10 | 2020-01-07 | 北京淳中科技股份有限公司 | 数据包加密方法及解密方法、数据包发送端及接收端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022283A (zh) * | 2007-03-15 | 2007-08-22 | 中兴通讯股份有限公司 | 一种比特加扰并行处理方法和装置 |
CN101599811A (zh) * | 2008-06-02 | 2009-12-09 | 华为技术有限公司 | 一种数据处理装置,通信设备以及数据处理方法 |
CN102869097A (zh) * | 2011-07-07 | 2013-01-09 | 华为技术有限公司 | 一种上行控制信令的发送、接收方法和相关设备 |
CN103475452A (zh) * | 2013-09-10 | 2013-12-25 | 电子科技大学 | 一种针对信道码与扰码复合的扰码抵消方法 |
WO2015100621A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种加扰方法及加扰装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02184970A (ja) * | 1989-01-11 | 1990-07-19 | Ricoh Co Ltd | 3次式演算装置 |
US6519738B1 (en) * | 2000-03-07 | 2003-02-11 | International Business Machines Corporation | Method and apparatus for high-speed CRC computation based on state-variable transformation |
US6628725B1 (en) * | 2001-03-28 | 2003-09-30 | Ciena Corporation | Method and system for encoding data for transmission over a serial link |
US7492291B2 (en) * | 2006-10-20 | 2009-02-17 | Agere Systems Inc. | Methods and apparatus for interfacing a plurality of encoded serial data streams to a serializer/deserializer circuit |
US20090103727A1 (en) * | 2007-10-17 | 2009-04-23 | Heywood Gareth M | Sync-bit Insertion for Timing Reference Signals to Prevent Long Runs of Static Data in Serial Digital Interfaces |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US8588426B2 (en) * | 2011-02-21 | 2013-11-19 | Blackberry Limited | Methods and apparatus to secure communications in a mobile network |
US9165677B2 (en) * | 2011-05-17 | 2015-10-20 | Maxlinear, Inc. | Method and apparatus for memory fault tolerance |
US10390333B2 (en) * | 2013-05-02 | 2019-08-20 | Huawei Technologies Co., Ltd. | System and method for transmission source identification |
CN104185094A (zh) | 2013-05-24 | 2014-12-03 | 华为技术有限公司 | 传输数据的方法、装置和系统 |
CN103745746A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 数据处理方法、加扰器和存储控制器 |
CN103931146B (zh) * | 2014-01-03 | 2016-11-16 | 华为技术有限公司 | 数据处理的方法和装置 |
EP3376725B1 (en) * | 2015-11-30 | 2020-06-10 | Huawei Technologies Co., Ltd. | Data scrambling method and scrambling apparatus |
-
2015
- 2015-11-30 EP EP15909475.4A patent/EP3376725B1/en active Active
- 2015-11-30 WO PCT/CN2015/096032 patent/WO2017091958A1/zh active Application Filing
- 2015-11-30 CN CN201580002380.5A patent/CN107431672B/zh active Active
-
2018
- 2018-05-29 US US15/991,477 patent/US10715360B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022283A (zh) * | 2007-03-15 | 2007-08-22 | 中兴通讯股份有限公司 | 一种比特加扰并行处理方法和装置 |
CN101599811A (zh) * | 2008-06-02 | 2009-12-09 | 华为技术有限公司 | 一种数据处理装置,通信设备以及数据处理方法 |
CN102869097A (zh) * | 2011-07-07 | 2013-01-09 | 华为技术有限公司 | 一种上行控制信令的发送、接收方法和相关设备 |
CN103475452A (zh) * | 2013-09-10 | 2013-12-25 | 电子科技大学 | 一种针对信道码与扰码复合的扰码抵消方法 |
WO2015100621A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种加扰方法及加扰装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017091958A1 (zh) | 2017-06-08 |
EP3376725A4 (en) | 2018-12-05 |
EP3376725B1 (en) | 2020-06-10 |
EP3376725A1 (en) | 2018-09-19 |
US20180278443A1 (en) | 2018-09-27 |
US10715360B2 (en) | 2020-07-14 |
CN107431672A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105264778B (zh) | 一种crc计算方法及装置 | |
Farashahi et al. | FPGA based fast and high-throughput 2-slow retiming 128-bit AES encryption algorithm | |
US10237782B2 (en) | Hardware acceleration for batched sparse codes | |
CN107431672B (zh) | 一种数据加扰方法和加扰装置 | |
JP6539765B2 (ja) | トランシーバのためのフレキシブルprbsアーキテクチャ | |
Cui et al. | A real-time design based on FPGA for expeditious error reconciliation in QKD system | |
CN105009540A (zh) | 一种加扰方法及加扰装置 | |
CN107992283B (zh) | 一种基于降维实现有限域乘法的方法和装置 | |
WO2015180545A1 (zh) | 加扰装置及加扰配置方法 | |
CN102184088A (zh) | 一种基于串并结合实现有限域乘法的方法及装置 | |
CN102684870B (zh) | 祖冲之算法密钥生成装置及方法 | |
Al-Doori et al. | A multi polynomial CRC circuit for LTE-Advanced communication standard | |
Jena et al. | A novel bit stuffing technique for Controller Area Network (CAN) protocol | |
Rakesh et al. | Linear-code multicast on parallel architectures | |
Wu et al. | Improving common subexpression elimination algorithm with a new gate-level delay computing method | |
Rais et al. | A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box | |
WO2014066773A1 (en) | Flexible scrambler/descrambler architecture for a transceiver | |
Salvador et al. | 100 Gbit/s scrambler architectures for OTN protocol: FPGA implementation and result comparison | |
Georgis et al. | FPGA design of the decoding functions in the physical layer adaptation subsystem of the XG-PON optical network unit/terminal | |
TW202242692A (zh) | 單回合高階加密標準電路模組 | |
Puligunta et al. | Squeezing Area of the Versatile GF (2 m) GNB Arithmetic Operators | |
Javad et al. | On benefits of vector network coding | |
Tian et al. | Hardware implementation of a high speed self-synchronizing cipher mode | |
Chorage et al. | Efficient data coding schemes to reduce power consumption in NoC | |
Denning et al. | An implementation of a gigabit ethernet AES encryption engine for application processing in SDR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |