发明内容
本申请提供一种并行加扰装置及并行加扰方法,用以解决现有技术中存在的一个时钟周期产生的扰码位数太少,导致对设备工作能力要求过高,因而造成增加设备成本和设计难度的技术问题。
一方面,本申请实施例提供的一种并行加扰装置,包括:
并行扰码产生器,选择判断器,异或运算器;
所述并行扰码产生器的输出端与所述选择判断器的输入端相连;
所述选择判断器的输出端与所述异或运算器的输入端相连;
所述并行扰码产生器用于在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为大于1的整数,M为大于1的整数,N为大于1的整数。
可选地,所述选择判断器,用于接收所述并行扰码产生器发送的在K个时钟周期内产生的M个扰码,并根据接收到的控制指令,选择将所述M个扰码发送至异或运算器,或者将M个全零序列发送至所述异或运算器;其中,每个全零序列包含N位;
所述异或运算器,用于接收所述选择判断器发送的M个扰码或者M个全零序列,并将所述M个扰码或者M个全零序列与原始数据进行异或运算。
可选地,所述并行扰码产生器,具体包括:
多个移位寄存器,多个异或门电路;
一个异或门电路的两个输入端分别与两个移位寄存器的输出端连接;或者
一个异或门电路的两个输入端分别与一个移位寄存器的输出端和一个不同的异或门电路的输出端相连。
可选地,所述并行扰码产生器,具体用于:
接收31位扰码种子初始值,并分别装载到31位移位寄存器;
根据所述31位移位寄存器中的值,在K个时钟周期内生成M个扰码;
将所述M个扰码发送至所述选择判断器,并用所述M个扰码中的31位更新所述31位移位寄存器;其中,M*N不小于32。
可选地,所述K个时钟周期内产生的M个扰码中的M*N位分别为Z31=C3^C0,Z30=(C6^C3)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29);其中,Z31为第31位扰码,Zn为第n位扰码,Cn+4为第n+4位移位寄存器的值,Cn+1为第n+1位移位寄存器的值,C(n-27)+3为第(n-27)+3位移位寄存器的值,Cn-27为第n-27位移位寄存器的值,0≤n≤29,M*N=32。
可选地,所述K为1,所述M为1,所述N为32;
所述1个时钟周期内产生的1个扰码为[Z31:Z0],其中,[Z31:Z0]包含32位;或者
所述K为2,所述M为2,所述N为16;
所述2个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位;或者
所述K为4,所述M为4,所述N为8;
所述4个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位;或者
所述K为8,所述M为8,所述N为4;
所述8个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位;或者
所述K为16,所述M为16,所述N为2;
所述16个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位;或者
所述K为32,所述M为32,所述N为1;
所述32个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
可选地,所述K为1,所述M为2,所述N为16;
所述1个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位;或者
所述K为1,所述M为4,所述N为8;
所述1个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位;或者
所述K为1,所述M为8,所述N为4;
所述1个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位;或者
所述K为1,所述M为16,所述N为2;
所述1个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位;或者
所述K为1,所述M为32,所述N为1;
所述1个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
可选地,所述M为1,所述N为32*K;所述并行扰码产生器,具体用于:
分别将在K个时钟周期内产生的K个32位序列并缓存;
根据缓存的所述K个32位序列,生成一个扰码。
可选地,所述K为1,所述M为1;所述并行扰码产生器,具体用于:
在一个时钟周期内产生一个32位序列,并根据所述32位序列迭代生成(L-1)个32位序列;
根据所述生成的32位序列以及迭代生成的(L-1)个32位序列,生成一个扰码;其中,L为大于1的整数,且N=32*L。
可选地,所述并行扰码产生器,具体包括:
31个移位寄存器和37个异或门电路;
第i个移位寄存器的输出端和第i+3个移位寄存器的输出端与同一异或门电路的两个输入端分别相连,其中,1≤i≤27;
第(j-27+3)个移位寄存器的输出端和第(j-27)个移位寄存器的输出端与同一个异或门电路的两个输入端分别相连,且该异或门电路的输出端和第j个移位寄存器的输出端与一个不同的异或门电路的两个输入端分别相连,其中,28≤j≤31。
可选地,所述装置为CPRI光纤传输系统发送端并行加扰装置,所述装置还包括编码器;
所述编码器的输入端与所述异或运算器的输出端相连。
可选地,所述装置为CPRI光纤传输系统接收端并行加扰装置,所述装置还包括解码器;
所述解码器的输出端与所述异或运算器的输入端相连。
可选地,所述装置还包括同步器;
所述同步器的第一输出端与所述并行扰码产生器的输入端相连,所述同步器的第二输出端与所述选择器的输入端相连;
所述同步器的输入端与所述解码器相连。
另一方面,本申请实施例提供一种并行加扰方法,包括:
在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为正整数,M为正整数,N为正整数;
根据接收到的控制指令,选择将所述M个扰码或者M个全零序列与原始数据进行异或运算生成加扰数据;其中,每个全零序列包含N位。
可选地,所述在K个时钟周期内产生M个扰码,包括:
根据接收到的31位扰码种子初始值,在K个时钟周期内生成M个扰码;
根据所述M个扰码中的31位,更新所述31位扰码种子初始值;其中,M*N不小于32。
可选地,所述K个时钟周期内产生的M个扰码中的M*N位分别为Z31=C3^C0,Z30=(C6^C3)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29);其中,Z31为第31位扰码,Zn为第n位扰码,Cn+4为第n+4位移位寄存器的值,Cn+1为第n+1位移位寄存器的值,C(n-27)+3为第(n-27)+3位移位寄存器的值,Cn-27为第n-27位移位寄存器的值,0≤n≤29,M*N=32。
可选地,所述K为1,所述M为1,所述N为32;
所述1个时钟周期内产生的1个扰码为[Z31:Z0],其中,[Z31:Z0]包含32位;或者
所述K为2,所述M为2,所述N为16;
所述2个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位;或者
所述K为4,所述M为4,所述N为8;
所述4个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位;或者
所述K为8,所述M为8,所述N为4;
所述8个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位;或者
所述K为16,所述M为16,所述N为2;
所述16个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位;或者
所述K为32,所述M为32,所述N为1;
所述32个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
可选地,所述K为1,所述M为2,所述N为16;
所述1个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位;或者
所述K为1,所述M为4,所述N为8;
所述1个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位;或者
所述K为1,所述M为8,所述N为4;
所述1个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位;或者
所述K为1,所述M为16,所述N为2;
所述1个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位;或者
所述K为1,所述M为32,所述N为1;
所述1个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
可选地,所述M为1,所述N为32*K;所述根据接收到的31位扰码种子初始值,在K个时钟周期内生成M个扰码,包括:
分别将在K个时钟周期内产生的K个32位序列并缓存;
根据缓存的所述K个32位序列,生成一个扰码。
可选地,所述K为1,所述M为1;所述根据接收到的31位扰码种子初始值,在K个时钟周期内生成M个扰码,包括:
在一个时钟周期内产生一个32位序列,并根据所述32位序列迭代生成(L-1)个32位序列;
根据所述生成的32位序列以及迭代生成的(L-1)个32位序列,生成一个扰码;其中,L为大于1的整数,且N=32*L。
本发明实施例提供的并行加扰装置,包括:并行扰码产生器,选择判断器,异或运算器;所述并行扰码产生器的输出端与所述选择判断器的输入端相连;所述选择判断器的输出端与所述异或运算器的输入端相连;所述并行扰码产生器用于在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为正整数,M为正整数,N为正整数。该装置通过并行扰码产生器,可在K个时钟周期内产生M个扰码,其中,每个扰码包含N位,即在一个时钟周期内可产生(M*N)/K位扰码,增加了每时钟周期产生扰码的位数,在要求同等速率发送扰码的情况下,降低了扰码产生器的工作频率,因而降低了对设备工作能力的要求,进而降低了设备成本和涉及难度。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面结合说明书附图对本申请实施例作进一步详细描述。
如图1所示,为本申请实施例提供的并行加扰装置示意图,包括:
并行扰码产生器101,选择判断器102,异或运算器103;
所述并行扰码产生器101的输出端与所述选择判断器102的输入端相连;
所述选择判断器102的输出端与所述异或运算器103的输入端相连;
所述并行扰码产生器101用于在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为正整数,M为正整数,N为正整数。
可选地,所述选择判断器102,用于接收所述并行扰码产生器101发送的在K个时钟周期内产生的M个扰码,并根据接收到的控制指令,选择将所述M个扰码发送至异或运算器103,或者将M个全零序列发送至所述异或运算器103;其中,每个全零序列包含N位;
所述异或运算器103,用于接收所述选择判断器102发送的M个扰码或者M个全零序列,并将所述M个扰码或者M个全零序列与原始数据进行异或运算。
具体地,并行扰码产生器101中包含多个移位寄存器以及多个异或门电路,移位寄存器的个数视具体应用场景而定,例如移位寄存器的个数可以是7个,15个,31个,63个等等,以在CPRI光纤传输系统中应用本申请实施例给出的并行扰码产生器101为例,则移位寄存器的个数是31个,如图2所示,为本申请实施例提供的并行加扰装置中的并行扰码产生器101工作流程示意图,并行扰码产生器101包含31个移位寄存器,分别是Ci+0,Ci+1,……,Ci+30,其中表示Ci+0第1个移位寄存器,表示Ci+1第2个移位寄存器,表示Ci+30第31个移位寄存器,下标中的字母i没有明确的含义,也可以用j或者k等代替,主要是为了跟31个移位寄存器的值C0,C1,……,C30做区分,图2中的XOR表示异或运算符号。
图2中的阴影部分的31个移位寄存器和图上没有阴影的31个移位寄存器实际为同一套移位寄存器,阴影部分的31个移位寄存器是虚拟出来的。为描述方便,因此增加了阴影部分的移位寄存器。图中没有没阴影部分的31个移位寄存器[Ci+0:Ci+30]中的值为更新前的值,图中有阴影部分的31个移位寄存器[Ci+0:Ci+30]中的值为更新后的值。也可以理解为,无阴影部分的[Ci+0:Ci+30]中的值为Tn时刻31个移位寄存器中的值,有阴影部分的[Ci+0:Ci+30]中的值为Tn+1时刻31个移位寄存器中的值。Tn+1时刻的值,根据Tn时刻的值运算得出。
选择判断器102,接收并行扰码产生器101发送的在K个时钟周期内产生的M个扰码,并根据接收到的控制指令,判断是否要对当前的数据进行加扰,如果确定需要加扰,则将接收到的扰码发送至异或运算器103,如果确定不需要加扰,则将M个全零序列发送至异或运算器103,其中每个全零序列的位数与扰码的位数相同。
对于不需要加扰情形,例如可以是CPRI协议上规定的不需要加扰,或者是不能加扰的,比如CPRI协议的K28.5就不能加扰,因为接收端需要根据K28.5来进行同步并且识别是不是一个CPRI帧的开始,以及还可以是用户自己定义的不需要加扰的情形。
如果不需要加扰的数据,可以给选择判断器102一个控制脉冲,让它用全零代替当前的扰码就可以了,因为某个原始数据用全零进行异或运算后得出的数据还是原始数据本身,因此相当于没有加扰。
异或运算器103,接收选择判断器102发送的M个扰码或者M个全零序列,并将M个扰码或者M个全零序列与原始数据进行异或运算。
本发明实施例提供的并行加扰装置,包括:并行扰码产生器101,选择判断器102,异或运算器103;所述并行扰码产生器101的输出端与所述选择判断器102的输入端相连;所述选择判断器102的输出端与所述异或运算器103的输入端相连;所述并行扰码产生器101用于在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为正整数,M为正整数,N为正整数。该装置通过并行扰码产生器101,可在K个时钟周期内产生M个扰码,其中,每个扰码包含N位,即在一个时钟周期内可产生(M*N)/K位扰码,增加了每时钟周期产生扰码的位数,在要求同等速率发送扰码的情况下,降低了扰码产生器的工作频率,因而降低了对设备工作能力的要求,进而降低了设备成本和涉及难度。
对于并行扰码产生器101中的移位寄存器的个数不做限定,例如可以是7个,15个,31个等等,下面以CPRI协议中31个移位寄存器为例进行说明。
可选地,所述并行扰码产生器101,具体包括:
多个移位寄存器,多个异或门电路;
一个异或门电路的两个输入端分别与两个移位寄存器的输出端连接;或者
一个异或门电路的两个输入端分别与一个移位寄存器的输出端和一个不同的异或门电路的输出端相连。
可选地,所述并行扰码产生器101,具体包括:
31个移位寄存器和37个异或门电路;
第i个移位寄存器的输出端和第i+3个移位寄存器的输出端与同一异或门电路的两个输入端分别相连,其中,1≤i≤27;
第(j-27+3)个移位寄存器的输出端和第(j-27)个移位寄存器的输出端与同一个异或门电路的两个输入端分别相连,且该异或门电路的输出端和第j个移位寄存器的输出端与一个不同的异或门电路的两个输入端分别相连,其中,28≤j≤31。
参照图2,为并行扰码器示意图,其中包含31个移位寄存器和37个异或门电路,其中第i个移位寄存器的输出端和第i+3个移位寄存器的输出端与同一异或门电路的两个输入端分别相连,其中,1≤i≤27;第(j-27+3)个移位寄存器的输出端和第(j-27)个移位寄存器的输出端与同一个异或门电路的两个输入端分别相连,且该异或门电路的输出端和第j个移位寄存器的输出端与一个不同的异或门电路的两个输入端分别相连,其中,28≤j≤31。因而可以一次性产生至少一个包含31位的扰码。
可选地,所述并行扰码产生器101,具体用于:
接收31位扰码种子初始值,并分别装载到31位移位寄存器;
根据所述31位移位寄存器中的值,在K个时钟周期内生成M个扰码;
将所述M个扰码发送至所述选择判断器102,并用所述M个扰码中的31位更新所述31位移位寄存器;其中,M*N不小于32。
参照图2,并行扰码产生器101接收31位扰码种子初始值,即[C30:C0]的初始值,其中每位值为0或者1,初始值可以自定义,也可以通过CPRI协议接收产生,将31位扰码种子初始值分别装载到31位移位寄存器[Ci+30:Ci+0]中,然后由31位移位寄存器在K个时钟周期内生成M个扰码,其中每个扰码包含N位,即在K个时钟周期内生成M*N位,其中M*N不小于32。例如当K=1,M=1,N=32时,则在1个时钟周期内生成1个扰码,该扰码包含32位,如图2所示,产生扰码的32位为[Z31:Z0];当K=1,M=2,N=16时,则在1个时钟周期内生成2个扰码,每个扰码包含16位;当K=4,M=1,N=128,则在4个时钟周期内生成1个扰码,该扰码包含128位;当K=1,M=1,N=64,则在1个时钟周期内生成1个扰码,该扰码包含64位。具体K,M,N如何取值,视实际需要而定。
在产生M个扰码之后,将该M个扰码发送到选择判断器102,并用M个扰码中的31位更新31位移位寄存器。例如,K=1,M=1,N=32时,在1个时钟周期内生成1个扰码,该扰码包含32位,则可以使用该扰码的前31位更新移位寄存器,如图2所示,使用扰码[Z31:Z0]中[Z30:Z0]的来更新移位寄存器。
因而并行扰码产生器101可以根据接收到的31位扰码种子初始值在K个时钟周期内生成M个扰码,因而可以提高产生扰码的速率,从而在要求相同扰码发射速率的情形下,可以降低扰码产生器的工作频率,降低了扰码设备设计难度和成本。
对于使用并行扰码产生器101在K个时钟周期内产生M个扰码,每个扰码包含N位,下面分不同情形来加以说明。
情形一、K个时钟周期产生的M个扰码的总的位数M*N等于32
可选地,所述K个时钟周期内产生的M个扰码中的M*N位分别为Z31=C3^C0,Z30=(C3^C0)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29);其中,Z31为第31位扰码,Zn为第n位扰码,Cn+4为第n+4位移位寄存器的值,Cn+1为第n+1位移位寄存器的值,C(n-27)+3为第(n-27)+3位移位寄存器的值,Cn-27为第n-27位移位寄存器的值,0≤n≤29,M*N=32。
在K个时钟周期内产生的M个扰码包含M*N位,其中M*N=32,因此在K个时钟周期内供产生32个位,分别为Z31=C3^C0,Z30=(C3^C0)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29);其中^为异或运算符号。
下面以K=1,M=1,N=32为例进行说明产生扰码的过程,如图2所示,在1个时钟周期产生1个扰码,该扰码包含32位,分别为[Z31:Z0],具体运算过程如下:
Ci+0<=Ci+4^Ci+1;
Ci+1<=Ci+5^Ci+2;
Ci+2<=Ci+6^Ci+3;
Ci+3<=Ci+7^Ci+4;
Ci+4<=Ci+8^Ci+5;
Ci+5<=Ci+9^Ci+6;
Ci+6<=Ci+10^Ci+7;
Ci+7<=Ci+11^Ci+8;
Ci+8<=Ci+12^Ci+9;
Ci+9<=Ci+13^Ci+10;
Ci+10<=Ci+14^Ci+11;
Ci+11<=Ci+15^Ci+12;
Ci+12<=Ci+16^Ci+13;
Ci+13<=Ci+17^Ci+14;
Ci+14<=Ci+18^Ci+15;
Ci+15<=Ci+19^Ci+16;
Ci+16<=Ci+20^Ci+17;
Ci+17<=Ci+21^Ci+18;
Ci+18<=Ci+22^Ci+19;
Ci+19<=Ci+23^Ci+20;
Ci+20<=Ci+24^Ci+21;
Ci+21<=Ci+25^Ci+22;
Ci+22<=Ci+26^Ci+23;
Ci+23<=Ci+27^Ci+24;
Ci+24<=Ci+28^Ci+25;
Ci+25<=Ci+29^Ci+26;
Ci+26<=Ci+30^Ci+27;
Ci+27<=(Ci+3^Ci+0)^Ci+28;
Ci+28<=(Ci+4^Ci+1)^Ci+29;
Ci+29<=(Ci+5^Ci+2)^Ci+30;
Ci+30<=(Ci+6^Ci+3)^(Ci+3^Ci+0);
Z31=C3^C0。
上述运算过程是在一个时钟周期内完成,针对上述运算公式中的前31个,例如Ci+0<=Ci+4^Ci+1,表示的含义是将寄存器Ci+4和寄存器Ci+1中的值进行异或运算,在完成上述前31个运算以及计算出扰码的第32位,即Z31=Ci+3^Ci+0之后,一次性地用前31个运算得到的31个值更新移位寄存器,并将更新后的31个移位寄存器中的31个值和Z31组成一个扰码,该扰码包含32位,即扰码中的前31位需要通过更新后的移位寄存器得到,而第32位是直接计算得到的。具体地,前31个运算可以理解为,首先根据寄存器进行异或运算,得到[Z30:Z0],然后使用[Z30:Z0]更新寄存器[Ci+30:Ci+0]。因而当K=1,M=1,N=32时,表明该并行扰码生成器可以在一个时钟周期内生成32位扰码,因而可以提高产生扰码的速率,从而在要求相同扰码发射速率的情形下,可以降低扰码产生器的工作频率,降低了扰码设备设计难度和成本。
由于K,M,N的取值是可以根据实际需要而变化的,下面根据K,M,N不同的取值来举例说明情形一中K个时钟周期产生的M个扰码的总的位数M*N等于32的具体情况。
类型一、K为1,M为1,N为32
即在1个时钟周期内产生1个扰码,且该扰码包含32位,则所述1个时钟周期内产生的1个扰码为[Z31:Z0],其中,[Z31:Z0]包含32位。
类型二、K为2,M为2,N为16
即在2个时钟周期内2个扰码,每个扰码包含16位,所述2个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位。
该类型二中,例如可以是在第一个时钟周期内产生1个扰码,为[Z15:Z0],然后在第二个时钟周期内产生1个扰码,为[Z31:Z16]。
类型三、K为4,M为4,N为8
所述4个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位。
该类型三中,在4个时钟周期内产生4个扰码,例如可以是在第一个时钟周期内产生第一个扰码[Z7:Z0],在第二个时钟周期内产生第二个扰码[Z15:Z8],在第三个时钟周期内产生第三个扰码[Z23:Z16],在第四个时钟周期内产生第四个扰码[Z31:Z24]。
类型四、K为8,M为8,N为4
所述8个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位。
该类型四中,在8个时钟周期产生8个扰码,其中每个时钟周期内产生一个扰码。
类型五、K为16,M为16,N为2
所述16个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位。
该类型五中,在16个时钟周期产生16个扰码,其中每个时钟周期内产生一个扰码。
类型六、K为32,M为32,N为1
所述32个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
该类型四中,在32个时钟周期产生32个扰码,其中每个时钟周期内产生一个扰码。
类型七、K为1,M为2,N为16
所述1个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位。
该类型七中,在1个时钟周期产生2个扰码,每个扰码为16位。
类型八、K为1,M为4,N为8
所述1个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位。
该类型八中,在1个时钟周期产生4个扰码,每个扰码为8位。
类型九、K为1,M为8,N为4
所述1个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位。
该类型九中,在1个时钟周期产生8个扰码,每个扰码为4位。
类型十、K为1,M为16,N为2
所述1个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位。
该类型十中,在1个时钟周期产生16个扰码,每个扰码为4位。
类型十一、K为1,M为32,N为1
所述1个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
该类型十一中,在1个时钟周期产生32个扰码,每个扰码为1位。
情形二、K个时钟周期产生的M个扰码的总的位数M*N大于32
在该情形二中,在K个时钟周期产生的M个扰码的总的位数大于32,下面作为举例给出两种情形加以说明。
类型一、M为1,N为32*K
所述并行扰码产生器101,具体用于:
分别将在K个时钟周期内产生的K个32位序列并缓存;
根据缓存的所述K个32位序列,生成一个扰码。
在该类型一中,在1个时钟周期产生1个32位的扰码,在K个时钟周期产生32*K位的扰码,为了产生一个32*K位的扰码,首先将K个时钟周期产生的扰码缓存起来,然后在K个时钟周期到达时,从缓存中取出K*32位的数值,组成一个扰码,该扰码包含K*32位。例如,K=2时,可在第一个时钟周期产生一个32位的序列[Z31:Z0],其中Z31=C3^C0,Z30=(C6^C3)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29);然后使用[Z31:Z0]中的31位,例如[Z30:Z0]来更新移位寄存器,接着在第二时钟周期产生一个32位的序列[Z′31:Z'0],其中Z′31=C3^C0,Z3'0=(C6^C3)^(C3^C0),Z'n=Cn+4^Cn+1(0≤n≤26),Z′n=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29),最终在2个时钟周期生成的1个扰码为[A63:A0]=([Z′31:Z'0],[Z31:Z0])。
类型二、K为1,M为1
可选地,所述并行扰码产生器101,具体用于:
在一个时钟周期内产生一个32位序列,并根据所述32位序列迭代生成(L-1)个32位序列;
根据所述生成的32位序列以及迭代生成的(L-1)个32位序列,生成一个扰码;其中,L为大于1的整数,且N=32*L。
该类型二中,在一个时钟周期内生成一个扰码,且该扰码的位数为32*L,例如,K=2时,为了在一个时钟周期内产生一个64位的扰码[B63:B0],首先可产生一个32位的序列[Z31:Z0],其中Z31=C3^C0,Z30=(C6^C3)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29),然后使用[Z31:Z0]中的31位,例如[Z30:Z0]来产生一个另外32位的序列[Z′31:Z'0],其中Z′31=Z3^Z0,Z′30=(C6^C3)^(C3^C0),Z'n=Cn+4^Cn+1(0≤n≤26),Z′n=(C(n-27)+3^Cn-27)^Cn+1(27≤n≤29),,最终在1个时钟周期生成的1个扰码为[B63:B0]=([Z′31:Z'0],[Z31:Z0])。
本发明实施例提供的并行加扰装置,包括:并行扰码产生器101,选择判断器102,异或运算器103;所述并行扰码产生器101的输出端与所述选择判断器102的输入端相连;所述选择判断器102的输出端与所述异或运算器103的输入端相连;所述并行扰码产生器101用于在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为正整数,M为正整数,N为正整数。该装置通过并行扰码产生器101,可在K个时钟周期内产生M个扰码,其中,每个扰码包含N位,即在一个时钟周期内可产生(M*N)/K位扰码,增加了每时钟周期产生扰码的位数,在要求同等速率发送扰码的情况下,降低了扰码产生器的工作频率,因而降低了对设备工作能力的要求,进而降低了设备成本和涉及难度。
如图3所示,为本申请实施例提供的通用公共无线电接口CPRI光纤传输系统示意图,其包括数据数发送端和数据接收端。
可选地,当并行加扰装置是在数据发送端时,所述并行加扰装置还包括:编码器104;
所述编码器104的输入端与所述异或运算器103的输出端相连。
编码器104,用于接收异或运算器103发送的加扰后的数据,并将加扰后的数据进行编码,例如在CPRI协议中,可以使用8b/10b的方式进行编码,将8比特编码成10比特,因而如果按照编码器104以光口速率为9830.4Mbit/s发送数据到接收端,则需要异或运算器103以及并行扰码产生器101以7864.32Mbit/s的速率产生扰码才能满足要求。
可选地,当并行加扰装置是在数据接收端时,所述并行加扰装置还包括:解码器105;
所述解码器105的输出端与所述异或运算器103的输入端相连。
解码器105,与编码器104相反,用于将接收到的数据进行解码,例如在CPRI协议中,可以使用8b/10b的方式进行解码,将10比特解码成8比特。
所述装置还包括同步器106;
所述同步器106的第一输出端与所述并行扰码产生器101的输入端相连,所述同步器106的第二输出端与所述选择器的输入端相连;
所述同步器106的输入端与所述解码器105相连。
在数据发送端使用并行加扰装置将原始数据加扰以及编码后通过光纤传输到接收端,接收端接收到加扰编码后的数据,首先通过解码器105进行解码,例如通过CPRI协议8b/10b的解码方式,对接收到的数据进行解码,同时,根据CPRI协议或者用户事先自定义的方式,提取出解码后的数据中的K28.5CPRI帧头和加扰初始值送入同步器106,因而同步器106可控制接收端的并行扰码产生器101使用加扰初始值产生扰码,以及控制选择判断器102在哪些位置需要加扰,以及哪些位置不需要加扰,由于接收端的并行扰码产生器101与发送端的并行扰码产生器101相同,因而并行扰码产生器101可产生与发送端相同的扰码,因此接收端可根据与发送端加扰编码相反的方式对接收到的数据进行解码和解扰,异或运算器103用于使用发送的扰码或者全零序列对接收到的数据进行异或运算,因而通过对数据进行两次相同的异或运算而得到得到原始数据。
下面对本申请实施例提供的并行加扰方法做详细描述。参考图4,为本申请实施例提供的并行加扰方法流程图。
步骤401、在K个时钟周期内产生M个扰码;其中,每个扰码包含N位,K为正整数,M为正整数,N为正整数;
步骤402、根据接收到的控制指令,选择将所述M个扰码或者M个全零序列与原始数据进行异或运算生成加扰数据;其中,每个全零序列包含N位。
可选地,所述在K个时钟周期内产生M个扰码,包括:
根据接收到的31位扰码种子初始值,在K个时钟周期内生成M个扰码;
根据所述M个扰码中的31位,更新所述31位扰码种子初始值;其中,M*N不小于32。
可选地,所述K个时钟周期内产生的M个扰码中的M*N位分别为Z31=C3^C0,Z30=(C6^C3)^(C3^C0),Zn=Cn+4^Cn+1(0≤n≤26),Zn=C(n-27)+3^Cn-27^Cn+1(27≤n≤29);其中,Z31为第31位扰码,Zn为第n位扰码,Cn+4为第n+4位移位寄存器的值,Cn+1为第n+1位移位寄存器的值,C(n-27)+3为第(n-27)+3位移位寄存器的值,Cn-27为第n-27位移位寄存器的值,0≤n≤29,M*N=32。
可选地,所述K为1,所述M为1,所述N为32;
所述1个时钟周期内产生的1个扰码为[Z31:Z0],其中,[Z31:Z0]包含32位;或者
所述K为2,所述M为2,所述N为16;
所述2个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位;或者
所述K为4,所述M为4,所述N为8;
所述4个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位;或者
所述K为8,所述M为8,所述N为4;
所述8个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位;或者
所述K为16,所述M为16,所述N为2;
所述16个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位;或者
所述K为32,所述M为32,所述N为1;
所述32个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
可选地,所述K为1,所述M为2,所述N为16;
所述1个时钟周期内产生的2个扰码分别为[Z15:Z0]和[Z31:Z16],其中,[Z15:Z0]和[Z31:Z16]分别包含16位;或者
所述K为1,所述M为4,所述N为8;
所述1个时钟周期内产生的4个扰码分别为[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24],其中,[Z7:Z0],[Z15:Z8],[Z23:Z16]和[Z31:Z24]分别包含8位;或者
所述K为1,所述M为8,所述N为4;
所述1个时钟周期内产生的8个扰码分别为[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28],其中,[Z3:Z0],[Z7:Z4],[Z11:Z8],[Z15:Z12],[Z19:Z16],[Z23:Z20],[Z27:Z24]和[Z31:Z28]分别包含4位;或者
所述K为1,所述M为16,所述N为2;
所述1个时钟周期内产生的16个扰码分别为[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30],其中,[Z1:Z0],[Z3:Z2],[Z5:Z4],[Z7:Z6],[Z9:Z8],[Z11:Z10],[Z13:Z12],[Z15:Z14],[Z17:Z16],[Z19:Z18],[Z21:Z20],[Z23:Z22],[Z25:Z24],[Z27:Z26],[Z29:Z28]和[Z31:Z30]分别包含2位;或者
所述K为1,所述M为32,所述N为1;
所述1个时钟周期内产生的32个扰码分别为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30和Z31。
可选地,所述M为1,所述N为32*K;所述根据接收到的31位扰码种子初始值,在K个时钟周期内生成M个扰码,包括:
分别将在K个时钟周期内产生的K个32位序列并缓存;
根据缓存的所述K个32位序列,生成一个扰码。
可选地,所述K为1,所述M为1;所述根据接收到的31位扰码种子初始值,在K个时钟周期内生成M个扰码,包括:
在一个时钟周期内产生一个32位序列,并根据所述32位序列迭代生成(L-1)个32位序列;
根据所述生成的32位序列以及迭代生成的(L-1)个32位序列,生成一个扰码;其中,L为大于1的整数,且N=32*L。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。