fd?d@dg!d dAd dBdCddgedDe d d ddd!dEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWd'dXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjd-dkdldmdndodpdqdrdsdtddudvdwdxdydzd{d|d3d}d~dddddddddddddddddd9dddddddddddddddddddd?ddddddddddddddddddddddddddddddgd dd ddddgede d d dd dgede d d ddddJdd#dgd dd dgede d d dd dgedDe d d dEdFddddddLdMdNdddd%dddTdVddddddd[d\d]d)dddddcdddedddddd-dkdldddddddrdtdddd1dddydzd{ddddddddd5dddddddddddddd9ddddddddddddd=dddddd d d d d dddddddddddddddddddddddddddgd dd d ddged!e d d dEdd"dddHdIddd#d#dLdMd$d%dddPdQd%dd&d'dTdUd(d)ddd'dXddd*d+d[d\d,d-d)d.d_d`ddd/d0dcddd+d1dddgdhdd2d3d4d-dkd5d6dddndoddd/d7drdsd8d9dddudvd1dd:d;dydzd<d=dd>d3d}ddd?d@dddAdBd5dddddCdDdEddd7dFdddddddGdHd9ddIdJddddddd;dKdddLdMddNddd=ddOdPdddQdRd d d?dd dSdTdUdddVdWdddddddXdYdddZd[ddddddd\d]ddd^d_dd`dddddadbddcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dgd dd dddgedDe d d dd dddged!e d d dd dddgeddeefgd dddDdEdd7dFddddddGdHddIddJdddddd;dKdddLdMddddddOdPdddQdRdd d?dddTd dUddVdWddddddddddg=d dd ddddgedeefeefdgd ddddddFdddddddddNdddddddddVddddddddd]dddddddddedddddddddldddddddddtddddddddd{ddddddddddddddddd!ddddddddddddddddddddddddddddddddddddddddddd dddd dddddddddddddddddddddddddddddddddddddddddddddidddddmdddodddqdd d dsd dgd d d d dddged1deefe efgd ddddddddddddddddd!d7ddd8ddGddddddddddddLddddddOdddddd?d dd@dddVddddddddddXdddgBd dd ddddgedeefeefdgd ddddddddddddddddddddd ddddSddgd d d d!dddged"eefeefddgd dddd!dEdddNddddd[d.ddddddlddrdddzd>ddddddd5ddddCdddddddddddHd9ddIddddddddd;ddddddMddNddd=ddddPdddQdd dd d dd dSdTd dddddWdddddddddYdddZddddddddd\dd]dddd^dd_ddd`dddddgd d#d d$ddddgedee fee fddgd dddddd!dEddLddddd]ddddd-ddddd{ddddCddddddddddddddddddNdd=dddd d d d dSd dddddddddXdddYdd%dddgId d&d d'd(d)d*d+d+gedYeefeefeefddgd dddd,dddEd-d.d/ddd0dOdd1d2dd3d4dd"dbdd5d6dd7ddd8ddd9d:ddDd;ddd<ddd!ddd=dFd>d?dd@ddGddAdddddBdddddKdCdDddddddEddFdGddHdd ddIddJdd dKddVddLdddMddddddNd[ddOdPdddQdd\d]ddRdddSddgvd dTd dUdddddged'ee fee fee fddgd ddddddd,dEd.dd#dNdPddVddXdd,d.dadcd1dd3dkdWdd7dtduddXdd}ddAddddFddGdddddKdCddddddFddHd d dddJd ddKdVddddddXddddddYdNd[ddddOdddPdgXd dZd d[d)d)d*d+d+ged3e d d d\d d]ged^edfedfe dfgd ddddd_ddFdd.ddddJdddd`ddNddaddddRddddVddVddbddddYddddcdd]dddddddaddddeddeddfddddiddddgddlddWddddpddddhddtddiddddwddddXdd{ddjdddddkddddgfd dld dmged-deefgd ddddd!dEdFddddddLdMdNdddd%ddTdUdVdddddd[d\d]d)d.ddddcdddeddddhdd2d3dd-dgdkd5dlddWdddoddd/ddrdhdsd8dtddidddvd1dd:dd;dydXdgOd dnd dogedpdeefgd dddd!dFddddddMdNddd%ddTdUdVddddd[d\d)d.dddddcdddeddddd2dd-dkdldddddd/ddrdhdsdtd9dddudd1dwdd:ddgAd dqd drged(deefgd ddd,dFdHdd`ddQdd(ddYd[d-dd/ddddfdhddd4d5dldddndodpdddrdhdsd8dtd9ddg)d dsd dtgedudeefgd ddEd%d]dddedddkddddd/ddgd dvd dwgedbeefeefdgd dddddd,dxdEdyd"ddIdd#dMdzd%ddQdd'dUd2d)ddXdd+d\dpd-d.d`dd0ddd{d1dfdd|dhd6d2djd4d}dkd~d6dmdddodddqd7ddsdd9dddddvddddxd;ddzdd:d=d|d>ddd}dd~dddd@dd;dkdg\d dd dged(deefe efgd dddddddd_dddddddddddddddddddddddddddedddddddddldddddddddtddiddddwddddXdd{dddjddd3dddgJd dd dged`eefeefddgd dd dddddgede d d dddd dddddgede d d dddd dddddgede d d dd dddddgede d d dd dddddgede d d dd dddddgede d d dd dddddgedIe d d dddd dddddged#e d d dddd dddddgede d d dd dddddgede d d dd dddddged#e d d dddd dddddgedze d d dddd dddddgede d d dd dddddgede d d dd dddddgede d d dd dddddgg-Z dS()ConvolutionalCode)polyZxcchZmcsname descriptionzxCCH convolutional code:z 228 bits blocks, rate 1/2, k = 5zG0 = 1 + D3 + D4zG1 = 1 + D + D3 + D4HZtch_f24zTCH/F2.4 convolutional code:z72 bits blocks, rate 1/6, k = 5zG2 = 1 + D2 + D4zG3 = 1 + D + D2 + D3 + D4Ztch_h24zTCH/H2.4 convolutional code:z72 bits blocks, rate 1/3, k = 5Ztch_f48zTCH/F4.8 convolutional code:z 148 bits blocks, rate 1/3, k = 5puncture )8GVeti ii(i7iFiUidisiiiiiiiZtch_f96zTCH/F9.6 convolutional code:z 240 bits blocks, rate 1/2, k = 5i"!%*/37<AEINSW[`imrw{iii iiii!i&i+i/i3i8i=iAiEiJiOiSiWi\iaieiiiniwi{iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiii"i'i+i/i4i9i=iAiFiHiKZtch_f144zTCH/F14.4 convolutional code:z 290 bits blocks, rate 1/2, k = 5ZrachzRACH convolutional code'Zrach_extz)Extended RACH (11 bit) convolutional code#ZschzSCH convolutional code+;?CKO_cgkosiiiii#i'i;i?iCiKi[i_icigikioiiiiiiiiiiiiiiiiiiiiiiiiiii#i3i;i?iCiGZcs2zCS2 convolutional code:iN-59MQY]qu}iii iii%i)i1i5iGiIiMiYimiqiyi}iiiiiiiiiiiiiiii i i!i%i-i1i7iEiIiOiQiUiWi[i]iaicigiiimioisiuiyi{iiiiiiiiiiiiZcs3zCS3 convolutional code:Zcs2_npz'CS2 convolutional code (non-punctured):Zcs3_npz'CS3 convolutional code (non-punctured):iQi]iuiiiiiiiZ tch_afs_12_2z&TCH/AFS 12.2 kbits convolutional code:z#250 bits block, rate 1/2, puncturedz G0/G0 = 1z%G1/G0 = 1 + D + D3 + D4 / 1 + D3 + D4 "(.4:@FLRX^djpv|ii iiii$i*i0i6i<iBiHiTiZi`ifilirixi~iiiiiiiiiiiiiiiiiiiiiiiiiiiii i&i)i,i2i5i8i>iDiJiMiPiSiViYi\i_ibieihikiniqitiwizi|i}iZ tch_afs_10_2z&TCH/AFS 10.2 kbits convolutional code:z.G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4z.G2/G3 = 1 + D2 + D4 / 1 + D + D2 + D3 + D4z G3/G3 = 1iLi|iiiiiiZ tch_afs_7_95z&TCH/AFS 7.95 kbits convolutional code:z G4/G4 = 1z9G5/G4 = 1 + D + D4 + D6 / 1 + D2 + D3 + D5 + D6z9G6/G4 = 1 + D + D2 + D3 + D4 + D6 / 1 + D2 + D3 + D5 + D6iZ tch_afs_7_4z%TCH/AFS 7.4 kbits convolutional code:Z tch_afs_6_7z%TCH/AFS 6.7 kbits convolutional code:iZ tch_afs_5_9z%TCH/AFS 5.9 kbits convolutional code:z124 bitsz9G4/G6 = 1 + D2 + D3 + D5 + D6 / 1 + D + D2 + D3 + D4 + D6z9G5/G6 = 1 + D + D4 + D6 / 1 + D + D2 + D3 + D4 + D6z G6/G6 = 1 2PZnxiii,i@iXi^ibihiviiiiiiiiiiiii iiii*i0Z tch_afs_5_15z&TCH/AFS 5.15 kbits convolutional code:Ui i Z tch_afs_4_75z&TCH/AFS 4.75 kbits convolutional code:Ztch_frzTCH/F convolutional codeb 1=ayii-Ztch_hrzTCH/H convolutional codeZ tch_ahs_7_95z%TCH/AHS 7.95 kbits convolutional code~Z tch_ahs_7_4z$TCH/AHS 7.4 kbits convolutional codeZ tch_ahs_6_7z$TCH/AHS 6.7 kbits convolutional codelZ tch_ahs_5_9z$TCH/AHS 5.9 kbits convolutional code 6iii Z tch_ahs_5_15z%TCH/AHS 5.15 kbits convolutional codeiiZ tch_ahs_4_75z%TCH/AHS 4.75 kbits convolutional codeZtch_axs_sid_updatez2TCH/AFS and TCH/AHS SID UPDATE convolutional code:$Z mcs1_dl_hdr term_typeZCONV_TERM_TAIL_BITINGz(EDGE MCS-1 DL header convolutional code:z42 bits blocks, rate 1/3, k = 7zG4 = 1 + D2 + D3 + D5 + D6zG7 = 1 + D + D2 + D3 + D6zG5 = 1 + D + D4 + D6Z mcs1_ul_hdrz(EDGE MCS-1 UL header convolutional code:z45 bits blocks, rate 1/3, k = 7Zmcs1z#EDGE MCS-1 data convolutional code:z 196 bits blocks, rate 1/3, k = 7Zmcs2z#EDGE MCS-2 data convolutional code:z 244 bits blocks, rate 1/3, k = 7Zmcs3z#EDGE MCS-3 data convolutional code:z 316 bits blocks, rate 1/3, k = 7Zmcs4z#EDGE MCS-4 data convolutional code:z 372 bits blocks, rate 1/3, k = 7Z mcs5_dl_hdrz(EDGE MCS-5 DL header convolutional code:z39 bits blocks, rate 1/3, k = 7Z mcs5_ul_hdrz(EDGE MCS-5 UL header convolutional code:z51 bits blocks, rate 1/3, k = 7iZmcs5z#EDGE MCS-5 data convolutional code:z 468 bits blocks, rate 1/3, k = 7i^Zmcs6z#EDGE MCS-6 data convolutional code:z 612 bits blocks, rate 1/3, k = 7Z mcs7_dl_hdrz(EDGE MCS-7 DL header convolutional code:Z mcs7_ul_hdrz(EDGE MCS-7 UL header convolutional code:z60 bits blocks, rate 1/3, k = 7Zmcs7z#EDGE MCS-7 data convolutional code:i.Zmcs8z#EDGE MCS-8 data convolutional code:z 564 bits blocks, rate 1/3, k = 7Zmcs9z#EDGE MCS-9 data convolutional code:Nrrrr)rrr)rrr)rrr)rrr)rr)rrr)rr)rrr)rr)rrr)rr)rrrr)rrr)rrr)rrr)rrr)rrr)rrr)rr)rr) Zconv_genrrZG0ZG1ZG2ZG3ZG4ZG5ZG6ZG7 shared_polys conv_codesrrn/home/osmocom-build/jenkins/workspace/osmo-gsm-tester_build-osmo-bts-sysmo/libosmocore/utils/conv_codes_gsm.pyst                   $$!  $$$$$$$$$$$         *********  ***************'     $$$$$     $$$$$$$$$$$$$$$$  $$$$$    $$    $$$$$$$$$$!    $$$$$$      $$$$$$$$$$     $$$$$$$     $$$$$$$$ $$$$$$ $$$$$ $$$ $    $$$$$$$  $$$$$$