CN112165337B - 基于线性约束的卷积码随机交织序列交织关系估计方法 - Google Patents

基于线性约束的卷积码随机交织序列交织关系估计方法 Download PDF

Info

Publication number
CN112165337B
CN112165337B CN202011055077.0A CN202011055077A CN112165337B CN 112165337 B CN112165337 B CN 112165337B CN 202011055077 A CN202011055077 A CN 202011055077A CN 112165337 B CN112165337 B CN 112165337B
Authority
CN
China
Prior art keywords
interleaving
matrix
columns
column
relation
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
Application number
CN202011055077.0A
Other languages
English (en)
Other versions
CN112165337A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202011055077.0A priority Critical patent/CN112165337B/zh
Publication of CN112165337A publication Critical patent/CN112165337A/zh
Application granted granted Critical
Publication of CN112165337B publication Critical patent/CN112165337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明属于通信技术领域,具体是涉及一种基于线性约束的卷积码随机交织序列交织关系估计方法。本发明是在利用截获数据c,在已知(2,1,v)卷积码编码器参数、交织深度L与交织起点的情况下,完成交织关系的估计,恢复出随机交织器π。本发明首先利用接收序列按照一定的规则构造出一个含有两个交织块(每个交织块交织关系相同)、维数为2L×2L的数据矩阵C,利用伽罗华域上高斯行消元后的相关列统计特性来确定卷积码第一个约束长度内的交织关系,然后通过已确定的交织关系在数据矩阵C中选择相应的列来构成滑窗矩阵S,利用S和该卷积码校验向量相乘的结果继续求解后续的交织关系。

Description

基于线性约束的卷积码随机交织序列交织关系估计方法
技术领域
本发明属于通信技术领域,具体是涉及一种基于线性约束的卷积码随机交织序列交织关系估计方法。
背景技术
纠错编码技术通过添加冗余比特,使系统具备检测或者纠正错误的能力。但信号在信道传输过程中,可能会产生由长持续时间衰落造成的连续错误,纠错编码只能检测或纠正单个错误或较短的连续错误,而对于由脉冲干扰、同频干扰、多径衰落等因素引起的突发差错,仅仅依靠纠错码并不能纠正。
交织器的引入较好地解决了上述问题,实际工程应用中一般采取纠错码和交织器相级联的方式,交织技术通过拆分原本相邻的码元,使得连续突发差错在时间上扩散开来,将连续突发的差错分散成单个的随机差错,使译码器将其看作随机错误处理,让纠错编码技术能够有效发挥作用,从而增强译码的准确率,保证通信的可靠性。目前,交织技术已在实际通信中大量使用。但交织技术的引入,给非合作通信的侦察方的编码估计分析带来了巨大困难。一方面,交织技术的应用改变了信道编码的原始顺序,给估计编码参数的方法带来了困难;另一方面大交织深度的交织技术的应用,进一步增大了估计的运算量和难度。因此,如何在含错信息码流条件下快速正确的求解交织参数成为了亟待解决的关键问题。
国内外针对交织估计技术的研究成果已经较为丰富,但基本集中于分组交织和卷积交织,对随机交织估计鲜有涉及,并且目前现有的少量针对随机交织估计的研究主要集中在Turbo码交织支路中,很少有针对卷积码为底码随机交织估计的研究。总结国内外公开发表的文献资料来看,目前对于卷积码随机交织估计方法主要是涂榫等人提出了一种针对(2,1,v)卷积码随机交织参数进行估计的方法,该方法在估计出编码参数和交织深度的基础上,通过删除矩阵的秩特性确定卷积码码组的先后顺序,进而利用基构造法和穷举比对确定随机交织的置换关系,但是该方法估计性能较差,该方法1‰误码率下估计成功率达到70%,但适应的交织深度仅仅在20以内,这样的交织深度显然难以满足实际需求。
发明内容
为了解决目前针对随机交织估计的研究成果主要集中在Turbo码的交织支路,对卷积码随机交织的估计研究十分欠缺的问题,本发明提出了一种(2,1,v)卷积码随机交织的估计方法,适应的交织深度可以达到500,在无误码的条件下,用时97秒左右就能正确完成对交织深度的估计,在0.01%误码率的条件下成功估计的概率达到54%。
实际工程应用中一般采取纠错码编码器和交织器相级联的方式如图1所示,本发明的目的是利用截获数据c,在已知c对应的(2,1,v)卷积码编码器参数、交织深度L与交织起点的情况下,完成交织关系的估计,恢复出随机交织器π。本发明首先利用接收序列按照一定的规则构造出一个含有两个交织块(每个交织块交织关系相同)、维数为2L×2L的数据矩阵C,利用伽罗华域上高斯行消元后的相关列统计特性来确定卷积码第一个约束长度内的交织关系,然后通过已确定的交织关系在数据矩阵C中选择相应的列来构成滑窗矩阵S,利用S和该卷积码校验向量相乘的结果继续求解后续的交织关系。
本发明的技术方案为:
基于线性约束的卷积码随机交织序列交织关系估计方法,设截取到的随机交织后的卷积码c,并已知截获数据c对应的(2,1,v)卷积码编码器参数、交织深度L和交织起点;包括以下步骤:
S1、构造数据矩阵:
S11、利用截获数据c按照给定起点与交织深度L构造(2L+1)×L的数据矩阵C1:
S12、取出矩阵C1的第二行,将其拼接在矩阵C1的第一行后面,取出矩阵C1的第三行,将其拼接在矩阵C1的第二行后面,依次类推,直到取出矩阵C1的最后一行,将其拼接在矩阵C1的倒数第二行后面,最后删除掉矩阵C1的最后一行得到维数为2L×2L的矩阵C,记C的前L列为第一个交织块U1,后L列为第二个交织块U2;矩阵C的构造示意图如图3所示。
S2、将U2的列划分为两个集合:
S21、对矩阵C进行伽罗华域上的高斯行消元得到矩阵D,找到D第二个交织块中汉明重量不为1的列j,根据高斯行消元的结果,列j由其前面的列k1、k2、……、kn线性表出,若k1、k2、……、kn中含有第一个交织块中的列,则称列j与第一个交织块中的列存在相关关系,统计出D第二个交织块中所有与第一个交织块中的列存在相关关系的列,记这些列号的集合为A1,初始化i=1;
S22、对矩阵C中所包含的两个交织块进行相同的随机列置换P:
C×P=D1
对D1进行高斯行消元,统计第二个交织块中与D第一个交织块中的列存在相关关系的列,记这些列号的集合为A2,根据已知的P对A2进行反排列置换:
A2×P1-1=A3
更新A1=A1∪A3,i=i+1,若i<N,重复步骤S22,否则进入步骤S23;
S23、对A1取C中第二个交织块列号的补集得到集合B1;构造集合A1、B1的流程图如图4所示。
S3、确定卷积码第一个约束长度内组间交织关系,初始化i=1:
S31、在S1中选取没有被选取过的两个列号j,k,若所有选取方式都已被选择,则在S1中选取一个列号j,在B1中选取一个列号k,若所有选取方式都已被选择,则在B1中选取没有被选取过的两个列号j,k;在U2中找到对应的两列(pj,qk),令M=[U1,pj,qk],对M的前[L+2(i+1)]行做二进制高斯行消元得到M0
S32、计算M0倒数第二列的汉明重量T1,倒数第一列的汉明重量T2,若T1=1且T2>1进入步骤S33,否则,回到步骤S31;
S33、令U1=M,添加交织关系:(π2i+12i+2)=[j,k],在S1和B1中删除元素j,k,i=i+1,若i<v+2,回到步骤S31,否则,进入步骤S4;第一个约束长度内的组间交织关系估计流程图如图5所示。
S4、确定卷积码第一个约束长度内组内交织关系:
S41、确定卷积码第二个约束长度内组间交织关系,初始化i=1:
S411、利用已经得到的部分交织关系,在U2中选取解交织后的第2i+1列到2(i+1+v)列组成矩阵D;
S412、在S1中选取没有被选取过的两个列号j,k,若所有组合方式都已被选择,则在S1中选取一个列号j,在B1中选取一个列号k,若所有组合方式都已被选择,则在B1中选取没有被选取过的两个列号j,k;
S413、在U2中找到对应的两列(pj,qk),令M=[D,pj,qk],对M的前6v行做二进制高斯行消元得到M1
S414、计算M0倒数第二列的汉明重量R1,倒数第一列的汉明重量R2,若R1=1且R2>1,进入步骤S415,否则,进入步骤S42;
S415、添加交织关系(π2i+1+2v2i+2+2v)=[j,k],在A1和A2中删除元素j,k,i=i+1,若i<v+2回到步骤S411,否则,进入步骤S42;
S42、分析组内关系:
S421、将卷积码校验向量h的每两位分为一组,找到其中0,1或1,0的码组位置,如图6所示,假定有β个这样的码组:
β=#{εi=(0,1)or(1,0),i=1,2,…v+1}
码组在校验向量中的位置记为:[kj,1,kj,2],j=1,2…,β;
S422、取U2前W行(W一般取30以上便足以保证算法的准确率)作为测试矩阵B,针对矩阵B,按照已经得到的前两个约束长度内的交织关系解交织,每个码组的组内顺序暂时均按照[pi,qi]的顺序排列,设经过排列后的矩阵B为:
B=(b1,b2,b3,…bL)
bi为W×1的列向量,i=1,2,…L,初始化w_flag=1;
S423、取矩阵B的第2×w_flag-1列到第2×w_flag+2v列,构成滑窗矩阵S:
S=(b2×w_flag-1,b2×w_flag,…b2×w_flag+2v)
根据对偶向量中β组01或10的位置[kj,1,kj,2],j=1,2…,β,列出滑窗矩阵S在这β组对应位置的所有可能顺序的矩阵(每组有两种可能的顺序,有β组就有2β种可能);
S424、将得到的2β个矩阵分别与卷积码的校验向量h相乘得到:
Ei=Si·hT,i=1,2,…2β
求所有Ei重量的最小值:
式中weight()表示求汉明重量;
S425、找到tmin所对应Ei所对应的Si,按照Si中的β组位置的顺序更新所得的交织关系π中相应位置的顺序,同时,将矩阵B中对应滑窗矩阵的地方替换为矩阵Si,w_flag=w_flag+1,若w_flag<v+2,回到步骤S423,否则,第一个约束长度内的交织关系P2估计结束,第一个约束长度组内交织关系P2的估计流程图如图7所示,进入步骤S5;
S5、后续列交织关系恢复:
S51、根据P2后2v个交织关系在U2中进行解交织,在U2中对应的这2v个列构成初始滑窗矩阵B1;
S52、从U2中未确定交织关系所在的列中选取没有选过的2列[pj,qk]拼接在B1的右边构成矩阵w1,测试与卷积码的校验向量h是否满足:
weight(w1*h)<T
若满足则进入步骤S53,否则,若π的长度小于L-2,进入步骤S52,若π的长度等于L-2,交织关系估计结束,输出估计的交织关系π,第一个约束长度后续交织关系的估计流程图如图8所示。
S53、将选取的两列以[pj,qk]和[pk,qj]的顺序拼接在B1的右边得到矩阵B3,B4,取二者的第3到2*v+2列构成矩阵C1,C2,再从U2中未确定交织关系的列除去[pj,qk]后剩下的列中任意选取2列拼接在C1,C2的右边得到矩阵D1,D2,测试与卷积码的校验向量h0是否满足:
weight(D1*h0)<T
或者
weight(D2*h0)<T
1≤T≤5
若满足则进入步骤S54,否则重复步骤S53;
S54、记
D1*h0=E1
D2*h0=E2
判定二者所对应的重量较小者为正确的顺序,即
更新矩阵B1为C1,C2中对应重量较小的那一个,回到步骤S52。整体交织关系的估计流程图如图2所示。
本发明的有益效果是:适应的交织深度可以达到500,在无误码的条件下,用时97秒左右就能正确完成对交织深度的估计,在0.01%误码率的条件下成功估计的概率达到54%。
附图说明
图1是卷积编码交织过程的模型图。
图2:整体交织关系的估计流程图。
图3是矩阵C构造过程的示意图。
图4:集合A1、A2构造流程图。
图5:第一个约束长度组间交织关系估计流程图。
图6:校验向量拆解示意图。
图7:第一个约束长度组内交织关系的估计流程图。
图8:第一个约束长度后续交织关系的估计流程图。
具体实施方式
下面结合附图及实施例,详细描述本发明的技术方案。
实施例1
以一个生成多项式为(171,133)的(2,1,6)卷积码为例,交织深度为500,误码率0.01‰条件下,按照本发明的方法进行估计。
具体执行如下:
S1:构造数据矩阵:
S1.1:利用截获数据c按照给定起点与交织深度500构造1001×500的数据矩阵C1:
S1.2:取出矩阵C1的第二行,将其拼接在矩阵C1的第一行后面,取出矩阵C1的第三行,将其拼接在矩阵C1的第二行后面,依次类推,直到取出矩阵C1的最后一行,将其拼接在矩阵C1的倒数第二行后面,最后删除掉矩阵C1的最后一行得到维数为1000×1000的矩阵C,记C的前500列为第一个交织块U1,后500列为第二个交织块U2。
S2:将U2的列划分为两个集合:
S2.1:对矩阵C进行伽罗华域上的高斯行消元得到矩阵D,统计出D第二个交织块中与D第一个交织块中的列存在相关关系的列,记这些列号的集合为A1,初始化i=1。
S2.2:对矩阵C中所包含的两个交织块进行相同的随机列置换P:
C×P=D1
对D1进行高斯行消元,统计第二个交织块中与D第一个交织块中的列存在相关关系的列,记这些列号的集合为A2,根据已知的P对A2进行反排列置换:
A2×P1-1=A3
,A1=A1∪A3,i=i+1,若i<3,进入S2.2,反之进入S2.3。
S2.3:对A1取C第二个交织块列号的补集得到集合B1。
S3:确定卷积码第一个约束长度内组间交织关系
初始化i=1。
S3.1:在A1中选取没有被选取过的两个列号j,k,若所有选取方式都已被选择,则在A1中选取一个列号j,在B1中选取一个列号k,若所有选取方式都已被选择,则在B1中选取没有被选取过的两个列号j,k。在U2中找到对应的两列(pj,qk),令M=[U1,pj,qk],对M的前[500+2(i+1)]行做二进制高斯行消元得到M0
S3.2:计算M0倒数第二列的汉明重量T1,倒数第一列的汉明重量T2,若T1=1且T2>1进入步骤S3.3,反之,进入步骤S3.1。
S3.3:令U1=M,添加交织关系:(π2i+12i+2)=[j,k],在S1和B1中删除元素j,k,i=i+1,若i<8进入步骤S3.1,反之,进入步骤S4。
S4:确定卷积码第一个约束长度内组内交织关系
S4.1:确定卷积码第二个约束长度内组间交织关系
初始化i=1
S4.1.1:利用已经得到的部分交织关系,在U2中选取解交织后的第2i+1列到2(i+7)列组成矩阵D。
S4.1.2:在A1中选取没有被选取过的两个列号j,k,若所有组合方式都已被选择,则在A1中选取一个列号j,在B1中选取一个列号k,若所有组合方式都已被选择,则在B1中选取没有被选取过的两个列号j,k。
S4.1.3:在U2中找到对应的两列(pj,qk),令M=[D,pj,qk],对M的前36行做二进制高斯行消元得到M0
S4.1.4:计算M0倒数第二列的汉明重量R1,倒数第一列的汉明重量R2,若T1=1且R2>1进入步骤S4.1.5,反之,进入步骤S4.2。
S4.1.5:添加交织关系(π2i+1+2v2i+2+2v)=[j,k],在A1和A2中删除元素j,k,i=i+1,若i<8进入步骤S4.1.1,反之,进入步骤S4.2。
S4.2分析组内关系:
S4.2.1:将卷积码校验向量h=[1 1 1 0 0 0 1 1 1 1 0 1 1 1]的每两位分为一组,找到其中0,1或1,0的码组位置,假定有2个这样的码组,码组在校验向量中的位置记为:[3,4]、[11,12]。
S4.2.2:取U2前30行作为测试矩阵B,针对矩阵B,按照已经得到的前两个约束长度内的交织关系解交织,每个码组的组内顺序暂时均按照[pi,qi]的顺序排列,设经过排列后的矩阵B为:
B=(b1,b2,b3,…b500)
初始化w_flag=1。
S4.2.3:取矩阵B的第2×w_flag-1列到第2×w_flag+12列,构成滑窗矩阵S:
S=(b2×w_flag-1,b2×w_flag,…b2×w_flag+12)
根据对偶向量中β组01或10的位置[kj,1,kj,2],j=1,2…,β,列出滑窗矩阵S在这β组对应位置的所有可能顺序的矩阵S1,S2,…S4
S4.2.4:将S4.2.3得到的4个矩阵分别与卷积码的校验向量h相乘得到:
Ei=Si·hT,i=1,2,3,4
求所有Ei重量的最小值:
式中weight()表示求汉明重量。
S4.2.5:找到tmin所对应Ei所对应的Si,按照Si中的β组位置的顺序更新所得的交织关系π中相应位置的顺序,同时,将矩阵B中对应滑窗矩阵的地方替换为矩阵Si,w_flag=w_flag+1,若w_flag<8,进入步骤S4.2.3,反之,第一个约束长度内的交织关系P1估计结束,进入步骤S5。
S5后续列交织关系恢复:
S5.1:根据P2后12个交织关系在U2中进行解交织,在U2中对应的这12个列构成初始滑窗矩阵B1。
S5.2:从U2中未确定交织关系所在的列中选取没有选过的2列[pj,qk]拼接在B1的右边构成矩阵w1,测试与卷积码的校验向量h是否满足:
weight(w1*h)<5
若满足进入步骤S5.3,反之,若π的长度小于498,进入步骤S5.2,若π的长度等于498,交织关系估计结束,输出估计的交织关系π=[331 51 68 263 200 96 71 290 345165 496 203 207 309 241 353 389 493 136 171 221 40 35 75 429 360 378 257 243186 490 37 337 430 12 44 422 67 17 433 407 34 367 161 374 30 355 174 299 418463 50 202 388 21 100 417 39 278 447 258 101 65 483 31 343 86 66 409 473 187453 477 99 377 94 305 185 137 206 213 285 78 425 456 36 27 329 351 83 128 176338 394 123 432 384 437 238 465 223 471 332 492 269 130 262 401 451 304 145307 226 448 117 87 189 275 484 85 105 268 361 446 240 144 195 79 89 310 272248 162 170 214 182 184 261 183 350 390 210 277 375 478 77 489 330 385 114376 254 143 302 372 316 445 178 126 358 260 279 283 146 133 250 59 205 131169 229 251 270 344 274 106 458 276 368 386 197 297 341 80 334 19 462 393 287399 476 72 135 412 175 154 247 147 244 382 90 138 324 348 301 76 181 57 320 2396 416 253 443 113 190 466 387 62 296 218 233 119 32 318 193 291 110 222 9333 271 230 235 141 49 323 54 234 180 298 97 156 45 421 172 188 61 139 371 82220 124 347 112 486 482 120 118 88 436 151 406 129 369 92 177 342 109 364 49723 159 459 370 467 199 415 328 3 397 435 303 440 306 111 24 256 295 457 227115 423 308 52 402 488 468 357 455 204 127 273 300 201 5 449 441 63 420 472431 103 395 356 198 354 191 42 196 365 107 313 315 208 60 499 325 500 155 249179 153 292 192 404 73 450 452 314 346 166 340 461 215 475 246 15 217 7 34955 428 125 41 439 379 33 20 487 460 64 410 414 326 259 95 38 167 286 289 464479 81 264 322 29 311 419 91 173 46 444 373 134 408 426 53 69 413 132 469 366140 400 266 336 255 28 327 293 102 163 93 281 491 216 219 16 405 152 14 10391 228 454 363 6 339 1 160 427 158 157 48 232 8 148 11 321 209 13 319 265116 150 225 4 104 194 352 74 43 434 224 383 470 212 312 495 424 317 26 70 237485 47 380 164 335 442 242 438 22 122 288 211 392 58 98 498 239 284 25 403121 411 381 142 149 236 84 18 231 168 282 362 56 398 480 108 267 359 280 474252 294 494 481 245],与原交织关系对比,估计正确。
S5.3:将选取的两列以[pj,qk]和[pk,qj]的顺序拼接在B1的右边得到矩阵B3,B4,取二者的第3到14列构成矩阵C1,C2,再从U2中未确定交织关系的列除去[pj,qk]后剩下的列中任意选取2列拼接在C1,C2的右边得到矩阵D1,D2,测试与卷积码的校验向量h0是否满足:
weight(D1*h0)<5
或者
weight(D2*h0)<5
若满足进入步骤S5.4,反之进入S5.3。
S5.4:记
D1*h0=E1
D2*h0=E2
判定二者所对应的重量较小者为正确的顺序,即
更新矩阵B1为C1,C2中对应重量较小的那一个,进入S5.2。
实施例2
本实施例对生成多项式为(171,133)的(2,1,6)的卷积码在误码率为0.0001到0.0007,交织深度为100、200、300、400、500时分别进行100次交织关系估计蒙特卡洛实验,统计出成功估计的概率,实验结果如下:
表1随机交织置换关系估计成功率-误码率统计表
可以看到随着交织深度的增加,算法能够适应的误码率也逐渐降低,这是因为交织深度越高,构造的数据矩阵中的数据就越多,包含错误数据的可能性也就越大,并且算法的成功与否很大程度上取决于能否正确搜索到前(v+1)个码组,只要这部分码组搜索正确,基本就能估计成功,因为后续交织关系的估计用的是选取的滑窗矩阵和校验向量相乘的结果与设定的门限比较进行分析判断,具有抗误码性,而搜索前(v+1)个码组的时候如果相关关系由于误码被破坏,就不会出现高斯行消元后矩阵倒数第一列汉明重量大于1、倒数第二列汉明重量等于1的情况,交织关系就直接估计失败,并不具有抗误码性。
实施例3
本实施例对生成多项式为(171,133)的(2,1,6)的卷积码在交织深度为500时,进行算法的复杂度分析。
算法的运算量主要集中在四个地方:第一处就是需要搜索前7码组顺序时,需要进行多次高斯消元,第二处是搜索第8个到14个码组顺序时,也需要进行多次高斯消元,不过此时进行高斯消元的矩阵的维数与第一处相比大大减小,第三处是确定前7个码组组内顺序时每移动一次滑窗需要进行4次矩阵与向量的乘法,第四处是确定后续所有交织关系时也需要进行多次矩阵与向量的乘法。
首先讨论矩阵高斯消元部分的复杂度。对于一个500×500的方阵,每一行有500个元素,由于是在二进制上进行的运算,不需要乘法,只需将某一行的500个元素加到另一行,需要500次加法运算。对于第一主元的消零,最坏的情况下,一共有499行需要进行运算,所以要产生的加法运算次数是500×499。接下来保持第二行不变,来消除第二个主元下面所有的元素为零。由于第一行不参与运算,且第一主元下都是零了。所以实现第二主元下面的数字为零的工作需要499×498次加法运算。依次类推,对于一个500×500的方阵,完成二进制上的高斯消元,需要进行的二进制加法运算次数总数经计算为:
搜索第一个码组的时候,需要从500列中选取2列,有种组合方式,选出来之后需要进行约为500×500维的矩阵高斯消元,所以搜索第一个码组的运算量约为:
总共需要搜索7码组,第一处高斯消元部分的算法复杂度约为:Ο(5005)。
搜索第8到14个码组时,由于前面已经搜索到了一个完整的约束关系,那么可以把第一个交织块丢弃掉,仅利用这7个码组对应的14列作为确定部分搜索后面的码组顺序,并且之后每搜索到一个码组,将该码组添加进确定的部分内,再将最前面的1码组丢弃(因为丢弃了这个码组,又刚刚在尾部添加了一个码组,可以保证完整的约束关系),此时高斯消元的矩阵维数为14×14,所以搜索第8到14个码组的运算量约为:
此处算法的复杂度约为Ο(5002)。
现在分析确定第一个约束长度内组内顺序的计算量,此时滑窗总共需要移动7次,最坏的情况下每次需要做4个维数为30×14的矩阵与维数为14×1的向量的乘法运算,总的运算量约为:
num3=7×30×14×4
与矩阵高斯消元部分相比,此处的复杂度可以忽略。
现在来分析确定后续所有交织关系的计算量,此时滑窗总共需要移动243次,搜索下一个组间顺序时最坏情况下每次需要做个维数为30×14的矩阵与维数为14×1的向量的乘法运算,确定下一个组内顺序时最坏情况下每次需要做/>个维数为30×14矩阵与维数为14×1的向量的乘法运算,总的运算量约为:
此处算法的复杂度约为O(5002)
根据相同的分析方法,下表给出交织深度为100、200、300、500时的复杂度对比:
表2不同交织深度下算法三个步骤的复杂度
可以看到算法的第一个步骤也就是搜索第一个约束长度内的组间顺序占据了该算法极大的计算量,并且这一步也是存在误码时能否成功估计出交织关系的关键,只要正确的搜索到了第一个约束长度内的组间顺序,那么接下来就可以很快的估计出剩下的所有交织关系。

Claims (1)

1.基于线性约束的卷积码随机交织序列交织关系估计方法,设截取到的随机交织后的卷积码c,并已知截获数据c对应的(2,1,v)卷积码编码器参数、交织深度L和交织起点,目标为估计交织关系π;其特征在于,包括以下步骤:
S1、构造数据矩阵:
S11、利用截获数据c按照给定起点与交织深度L构造(2L+1)×L的数据矩阵C1:
S12、取出矩阵C1的第二行,将其拼接在矩阵C1的第一行后面,取出矩阵C1的第三行,将其拼接在矩阵C1的第二行后面,依次类推,直到取出矩阵C1的最后一行,将其拼接在矩阵C1的倒数第二行后面,最后删除掉矩阵C1的最后一行得到维数为2L×2L的矩阵C,记C的前L列为第一个交织块U1,后L列为第二个交织块U2;
S2、将U2的列划分为两个集合:
S21、对矩阵C进行伽罗华域上的高斯行消元得到矩阵D,找到D第二个交织块中汉明重量不为1的列j,根据高斯行消元的结果,列j由其前面的列k1、k2、……、kn线性表出,若k1、k2、……、kn中含有第一个交织块中的列,则称列j与第一个交织块中的列存在相关关系,统计出D第二个交织块中所有与第一个交织块中的列存在相关关系的列,记这些列号的集合为A1,初始化i=1;
S22、对矩阵C中所包含的两个交织块进行相同的随机列置换P:
C×P=D1
对D1进行高斯行消元,统计第二个交织块中与D第一个交织块中的列存在相关关系的列,记这些列号的集合为A2,根据已知的P对A2进行反排列置换:
A2×P1-1=A3
更新A1=A1∪A3,i=i+1,若i<N,重复步骤S22,否则进入步骤S23;
S23、对A1取C中第二个交织块列号的补集得到集合B1;
S3、确定卷积码第一个约束长度内组间交织关系,初始化i=1:
S31、在S1中选取没有被选取过的两个列号j,k,若所有选取方式都已被选择,则在S1中选取一个列号j,在B1中选取一个列号k,若所有选取方式都已被选择,则在B1中选取没有被选取过的两个列号j,k;在U2中找到对应的两列(pj,qk),令M=[U1,pj,qk],对M的前[L+2(i+1)]行做二进制高斯行消元得到M0
S32、计算M0倒数第二列的汉明重量T1,倒数第一列的汉明重量T2,若T1=1且T2>1进入步骤S33,否则,回到步骤S31;
S33、令U1=M,添加交织关系:(π2i+12i+2)=[j,k],在S1和B1中删除元素j,k,i=i+1,若i<v+2,回到步骤S31,否则,进入步骤S4;
S4、确定卷积码第一个约束长度内组内交织关系:
S41、确定卷积码第二个约束长度内组间交织关系,初始化i=1:
S411、利用已经得到的部分交织关系,在U2中选取解交织后的第2i+1列到2(i+1+v)列组成矩阵D;
S412、在S1中选取没有被选取过的两个列号j,k,若所有组合方式都已被选择,则在S1中选取一个列号j,在B1中选取一个列号k,若所有组合方式都已被选择,则在B1中选取没有被选取过的两个列号j,k;
S413、在U2中找到对应的两列(pj,qk),令M=[D,pj,qk],对M的前6v行做二进制高斯行消元得到M1
S414、计算M1倒数第二列的汉明重量R1,倒数第一列的汉明重量R2,若R1=1且R2>1,进入步骤S415,否则,进入步骤S42;
S415、添加交织关系(π2i+1+2v2i+2+2v)=[j,k],在A1和A2中删除元素j,k,i=i+1,若i<v+2回到步骤S411,否则,进入步骤S42;
S42、分析组内关系:
S421、将卷积码校验向量h的每两位分为一组,找到其中0,1或1,0的码组位置,假定有β个这样的码组,码组在校验向量中的位置记为:[kj,1,kj,2],j=1,2…,β;
S422、取U2前W行作为测试矩阵B,针对矩阵B,按照已经得到的前两个约束长度内的交织关系解交织,每个码组的组内顺序暂时均按照[pi,qi]的顺序排列,设经过排列后的矩阵B为:
B=(b1,b2,b3,…bL)
bi为W×1的列向量,i=1,2,…L,初始化w_flag=1;
S423、取矩阵B的第2×w_flag-1列到第2×w_flag+2v列,构成滑窗矩阵S:
S=(b2×w_flag-1,b2×w_flag,…b2×w_flag+2v)
根据对偶向量中β组01或10的位置[kj,1,kj,2],j=1,2…,β,列出滑窗矩阵S在这β组对应位置的所有可能顺序的矩阵S1,S2,…
S424、将得到的2β个矩阵分别与卷积码的校验向量h相乘得到:
Ei=Si·hT,i=1,2,…2β
求所有Ei重量的最小值:
式中weight()表示求汉明重量;
S425、找到tmin所对应Ei所对应的Si,按照Si中的β组位置的顺序更新所得的交织关系π中相应位置的顺序,同时,将矩阵B中对应滑窗矩阵的地方替换为矩阵Si,w_flag=w_flag+1,若w_flag<v+2,回到步骤S423,否则,第一个约束长度内的交织关系P2估计结束,进入步骤S5;
S5、后续列交织关系恢复:
S51、根据P2后2v个交织关系在U2中进行解交织,在U2中对应的这2v个列构成初始滑窗矩阵B1;
S52、从U2中未确定交织关系所在的列中选取没有选过的2列[pj,qk]拼接在B1的右边构成矩阵w1,测试与卷积码的校验向量h是否满足:
weight(w1*h)<T
1≤T≤5
若满足则进入步骤S53,否则,若π的长度小于L-2,进入步骤S52,若π的长度等于L-2,交织关系估计结束,输出估计的交织关系π;
S53、将选取的两列以[pj,qk]和[pk,qj]的顺序拼接在B1的右边得到矩阵B3,B4,取二者的第3到2*v+2列构成矩阵C1,C2,再从U2中未确定交织关系的列除去[pj,qk]后剩下的列中任意选取2列拼接在C1,C2的右边得到矩阵D1,D2,测试与卷积码的校验向量h0是否满足:
weight(D1*h0)<T
或者
weight(D2*h0)<T
1≤T≤5
若满足则进入步骤S54,否则重复步骤S53;
S54、记
D1*h0=E1
D2*h0=E2
判定二者所对应的重量较小者为正确的顺序,即
更新矩阵B1为C1,C2中对应重量较小的那一个,回到步骤S52。
CN202011055077.0A 2020-09-30 2020-09-30 基于线性约束的卷积码随机交织序列交织关系估计方法 Active CN112165337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011055077.0A CN112165337B (zh) 2020-09-30 2020-09-30 基于线性约束的卷积码随机交织序列交织关系估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011055077.0A CN112165337B (zh) 2020-09-30 2020-09-30 基于线性约束的卷积码随机交织序列交织关系估计方法

Publications (2)

Publication Number Publication Date
CN112165337A CN112165337A (zh) 2021-01-01
CN112165337B true CN112165337B (zh) 2024-01-26

Family

ID=73861446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011055077.0A Active CN112165337B (zh) 2020-09-30 2020-09-30 基于线性约束的卷积码随机交织序列交织关系估计方法

Country Status (1)

Country Link
CN (1) CN112165337B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113659994B (zh) * 2021-08-26 2023-09-01 电子科技大学 一种低复杂度的卷积码随机交织关系的估计方法
CN114416424B (zh) * 2022-03-30 2022-06-17 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2173036A2 (en) * 1998-08-17 2010-04-07 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
CN102244554A (zh) * 2010-05-11 2011-11-16 中国电子科技集团公司第三十六研究所 一种删余Turbo码编码参数的盲识别方法
CN105391455A (zh) * 2015-10-31 2016-03-09 电子科技大学 一种归零Turbo码起点及深度盲识别方法
CN105763205A (zh) * 2016-03-16 2016-07-13 重庆邮电大学 基于高斯列消元的螺旋形交织器参数盲估计方法
CN107370566A (zh) * 2017-07-28 2017-11-21 西安电子科技大学 一种误码条件下的删余Turbo码盲识别方法
CN110690907A (zh) * 2019-09-27 2020-01-14 电子科技大学 一种已知支路信息turbo码删除模式估计方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512863B2 (en) * 2005-10-12 2009-03-31 Qualcomm Corporation Turbo code interleaver for low frame error rate
IN2012DE00954A (zh) * 2012-03-29 2015-09-11 Samsung India Electronics Pvt Ltd

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2173036A2 (en) * 1998-08-17 2010-04-07 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
CN102244554A (zh) * 2010-05-11 2011-11-16 中国电子科技集团公司第三十六研究所 一种删余Turbo码编码参数的盲识别方法
CN105391455A (zh) * 2015-10-31 2016-03-09 电子科技大学 一种归零Turbo码起点及深度盲识别方法
CN105763205A (zh) * 2016-03-16 2016-07-13 重庆邮电大学 基于高斯列消元的螺旋形交织器参数盲估计方法
CN107370566A (zh) * 2017-07-28 2017-11-21 西安电子科技大学 一种误码条件下的删余Turbo码盲识别方法
CN110690907A (zh) * 2019-09-27 2020-01-14 电子科技大学 一种已知支路信息turbo码删除模式估计方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Blind Estimation of Communication Emitter Feature Parameters;Jia Yong-qiang等;《2012 IEEE 12th International Conference on Computer and Information Technology》;281-285 *
Joint Random Linear Network Coding and Convolutional Code with Interleaving for Multihop Wireless Network;Misfa Susanto等;《2013 27th International Conference on Advanced Information Networking and Applications Workshops》;114-119 *
基于统计特性的交织识别技术研究;甘雨;《中国优秀硕士学位论文全文数据库信息科技辑》(第07期);I136-192 *
复杂编码识别技术研究;陆玉可;《中国优秀硕士学位论文全文数据库信息科技辑》(第1期);I136-377 *

Also Published As

Publication number Publication date
CN112165337A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN112165337B (zh) 基于线性约束的卷积码随机交织序列交织关系估计方法
EP2453578A1 (en) Method and device for decoding reed-solomon (rs) code
CN103762991B (zh) 一种bch码译码方法及系统
CN104025459A (zh) 译码处理方法及译码器
CN1327653A (zh) 移动通信系统中的分量解码器及其方法
CN109347487A (zh) 基于比特冻结辅助的极化码scl译码方法
Garcia-Herrero et al. High-speed RS (255, 239) decoder based on LCC decoding
CN105812000B (zh) 一种改进的bch软判决译码方法
CN112367087A (zh) 一种高速rs译码器
KR100346529B1 (ko) 디지탈신호프로세서
CN112165338B (zh) 一种卷积码随机交织序列交织关系的估计方法
CN112332864A (zh) 一种自适应有序移动剪枝列表的极化码译码方法及系统
WO2007053126A1 (en) Methods and devices for decoding and encoding data
Ding et al. An improved blind recognition method for synchronization position and coding parameters of k/n rate convolutional codes in a noisy environment
RU2438252C1 (ru) Декодер с повышенной корректирующей способностью
CN110995279A (zh) 一种极化码联合scf球形列表翻转译码方法
CN109672498B (zh) 译码方法和装置
RU2379841C1 (ru) Декодер с исправлением стираний
CN111130567B (zh) 添加噪声扰动和比特翻转的极化码置信传播列表译码方法
CN113659994B (zh) 一种低复杂度的卷积码随机交织关系的估计方法
Zhang An efficient interpolation-based chase BCH decoder
CN107959650B (zh) 一种面向低码率bch码的盲帧同步方法
Su et al. Error rate analysis for random linear streaming codes in the finite memory length regime
Bocharova et al. BEAST decoding for block codes
JP2010130271A (ja) 復号器および復号方法

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