osmo-gmr 0.2.104-2b98
Osmocom GMR-1

Files

file  punct.h
 Osmocom GMR-1 puncturing header.
 
file  punct.c
 Osmocom GMR-1 puncturing implementation.
 

Data Structures

struct  gmr1_puncturer
 structure describing a puncturing code More...
 

Functions

int gmr1_puncturer_generate (struct osmo_conv_code *code, const struct gmr1_puncturer *punct_pre, const struct gmr1_puncturer *punct_main, const struct gmr1_puncturer *punct_post, int repeat)
 Generate convolutional code puncturing array for a osmo_conv_code. More...
 

Variables

const struct gmr1_puncturer gmr1_punct_k5_12_P23
 GMR-1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P25
 GMR-1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_Ps25
 GMR-1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P311
 GMR-1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P412
 GMR-1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_Ps412
 GMR-1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P12
 GMR-1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_Ps12
 GMR-1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_A
 GMR-1 A puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_B
 GMR-1 B puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_C
 GMR-1 C puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_D
 GMR-1 D puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_E
 GMR-1 E puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P38
 GMR-1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P26
 GMR-1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P37
 GMR-1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_13_P16
 GMR-1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_13_P25
 GMR-1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_13_P15
 GMR-1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_13_Ps15
 GMR-1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_13_P78
 GMR-1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_15_P23
 GMR-1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_15_P53
 GMR-1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_15_Ps53
 GMR-1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P23
 GMR-1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P410
 GMR-1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P512
 GMR-1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P116
 GMR-1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P148
 GMR-1 P(1;48) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P184
 GMR-1 P(1;84) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P1152
 GMR-1 P(1;152) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P45
 GMR-1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P245
 GMR-1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P13
 GMR-1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P47
 GMR-1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P34
 GMR-1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P17
 GMR-1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P19
 GMR-1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P26
 GMR-1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P110
 GMR-1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P14
 GMR-1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P45
 GMR-1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_12_P234
 GMR-1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k6_14_P45
 GMR-1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_14_P148
 GMR-1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_14_P65
 GMR-1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_13_P12
 GMR-1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_13_P1213
 GMR-1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_13_P44
 GMR-1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_13_P33
 GMR-1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k9_13_P65
 GMR-1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k5_12_P23
 GMR-1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P25
 GMR-1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_Ps25
 GMR-1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P311
 GMR-1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P412
 GMR-1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_Ps412
 GMR-1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P12
 GMR-1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_Ps12
 GMR-1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_A
 GMR-1 A puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_B
 GMR-1 B puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_C
 GMR-1 C puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_D
 GMR-1 D puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_E
 GMR-1 E puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P38
 GMR-1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P26
 GMR-1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_12_P37
 GMR-1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_13_P16
 GMR-1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_13_P25
 GMR-1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_13_P15
 GMR-1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_13_Ps15
 GMR-1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_13_P78
 GMR-1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_15_P23
 GMR-1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_15_P53
 GMR-1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k5_15_Ps53
 GMR-1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k7_12_P23
 GMR-1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k7_12_P410
 GMR-1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k7_12_P512
 GMR-1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k7_12_P116
 GMR-1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k7_12_P148
 GMR-1 P(1;48) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P184
 GMR-1 P(1;84) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P1152
 GMR-1 P(1;152) puncturing code for the K=7 rate 1/2 conv coder.
 
const struct gmr1_puncturer gmr1_punct_k7_12_P45
 GMR-1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k7_12_P245
 GMR-1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P13
 GMR-1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P47
 GMR-1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P34
 GMR-1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P17
 GMR-1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P19
 GMR-1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P26
 GMR-1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P110
 GMR-1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P14
 GMR-1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P45
 GMR-1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_12_P234
 GMR-1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k6_14_P45
 GMR-1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_14_P148
 GMR-1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_14_P65
 GMR-1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_13_P12
 GMR-1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_13_P1213
 GMR-1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_13_P44
 GMR-1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_13_P33
 GMR-1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder. More...
 
const struct gmr1_puncturer gmr1_punct_k9_13_P65
 GMR-1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder. More...
 

Detailed Description

Function Documentation

◆ gmr1_puncturer_generate()

int gmr1_puncturer_generate ( struct osmo_conv_code *  code,
const struct gmr1_puncturer punct_pre,
const struct gmr1_puncturer punct_main,
const struct gmr1_puncturer punct_post,
int  repeat 
)

Generate convolutional code puncturing array for a osmo_conv_code.

Parameters
[in,out]codeThe code for which to generate the puncturing array
[in]punct_preThe puncturing scheme for first block (can be NULL)
[in]punct_mainThe puncturing scheme
[in]punct_postThe puncturing scheme for last block (can be NULL)
[in]repeatHow many time to apply main punctured (0 = auto)
Returns
0 for success, <0 for error codes.

The array is allocated with malloc and must be free'd by the caller when no longer required.

References gmr1_puncturer::L, gmr1_puncturer::mask, gmr1_puncturer::N, and gmr1_puncturer::r.

Variable Documentation

◆ gmr1_punct_k5_12_A

const struct gmr1_puncturer gmr1_punct_k5_12_A
Initial value:
= {
.r = 0,
.L = 4,
.N = 2,
.mask = {
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 A puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_B

const struct gmr1_puncturer gmr1_punct_k5_12_B
Initial value:
= {
.r = 1,
.L = 4,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 B puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_C

const struct gmr1_puncturer gmr1_punct_k5_12_C
Initial value:
= {
.r = 2,
.L = 4,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 0,
1, 1,
},
}

GMR-1 C puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_D

const struct gmr1_puncturer gmr1_punct_k5_12_D
Initial value:
= {
.r = 3,
.L = 4,
.N = 2,
.mask = {
0, 1,
1, 0,
0, 1,
1, 1,
},
}

GMR-1 D puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_E

const struct gmr1_puncturer gmr1_punct_k5_12_E
Initial value:
= {
.r = 1,
.L = 4,
.N = 2,
.mask = {
1, 2,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 E puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P12

const struct gmr1_puncturer gmr1_punct_k5_12_P12
Initial value:
= {
.r = 1,
.L = 2,
.N = 2,
.mask = {
1, 1,
1, 0,
},
}

GMR-1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P23

const struct gmr1_puncturer gmr1_punct_k5_12_P23
Initial value:
= {
.r = 2,
.L = 3,
.N = 2,
.mask = {
0, 1,
1, 0,
1, 1,
},
}

GMR-1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P25

const struct gmr1_puncturer gmr1_punct_k5_12_P25
Initial value:
= {
.r = 2,
.L = 5,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 0,
1, 1,
1, 1,
},
}

GMR-1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P26

const struct gmr1_puncturer gmr1_punct_k5_12_P26
Initial value:
= {
.r = 2,
.L = 6,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
1, 0,
1, 1,
1, 1,
},
}

GMR-1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P311

const struct gmr1_puncturer gmr1_punct_k5_12_P311
Initial value:
= {
.r = 3,
.L = 11,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 0,
1, 1,
1, 1,
1, 0,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P37

const struct gmr1_puncturer gmr1_punct_k5_12_P37
Initial value:
= {
.r = 3,
.L = 7,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 1,
},
}

GMR-1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P38

const struct gmr1_puncturer gmr1_punct_k5_12_P38
Initial value:
= {
.r = 3,
.L = 8,
.N = 2,
.mask = {
0, 1,
1, 1,
0, 1,
1, 1,
1, 1,
1, 1,
1, 0,
1, 1,
},
}

GMR-1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_P412

const struct gmr1_puncturer gmr1_punct_k5_12_P412
Initial value:
= {
.r = 4,
.L = 12,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_Ps12

const struct gmr1_puncturer gmr1_punct_k5_12_Ps12
Initial value:
= {
.r = 1,
.L = 2,
.N = 2,
.mask = {
1, 0,
1, 1,
},
}

GMR-1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_Ps25

const struct gmr1_puncturer gmr1_punct_k5_12_Ps25
Initial value:
= {
.r = 2,
.L = 5,
.N = 2,
.mask = {
1, 1,
1, 1,
1, 0,
1, 1,
1, 0,
},
}

GMR-1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_12_Ps412

const struct gmr1_puncturer gmr1_punct_k5_12_Ps412
Initial value:
= {
.r = 4,
.L = 12,
.N = 2,
.mask = {
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
},
}

GMR-1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder.

◆ gmr1_punct_k5_13_P15

const struct gmr1_puncturer gmr1_punct_k5_13_P15
Initial value:
= {
.r = 1,
.L = 5,
.N = 3,
.mask = {
1, 0, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
},
}

GMR-1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder.

◆ gmr1_punct_k5_13_P16

const struct gmr1_puncturer gmr1_punct_k5_13_P16
Initial value:
= {
.r = 1,
.L = 6,
.N = 3,
.mask = {
1, 1, 0,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
},
}

GMR-1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder.

◆ gmr1_punct_k5_13_P25

const struct gmr1_puncturer gmr1_punct_k5_13_P25
Initial value:
= {
.r = 2,
.L = 5,
.N = 3,
.mask = {
1, 1, 1,
1, 1, 1,
1, 0, 1,
1, 1, 1,
1, 0, 1,
},
}

GMR-1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder.

◆ gmr1_punct_k5_13_P78

const struct gmr1_puncturer gmr1_punct_k5_13_P78
Initial value:
= {
.r = 7,
.L = 8,
.N = 3,
.mask = {
0, 0, 1,
1, 1, 0,
1, 1, 1,
0, 1, 1,
1, 1, 1,
1, 1, 0,
1, 0, 1,
1, 0, 1,
},
}

GMR-1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder.

◆ gmr1_punct_k5_13_Ps15

const struct gmr1_puncturer gmr1_punct_k5_13_Ps15
Initial value:
= {
.r = 1,
.L = 5,
.N = 3,
.mask = {
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 0, 1,
},
}

GMR-1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder.

◆ gmr1_punct_k5_15_P23

const struct gmr1_puncturer gmr1_punct_k5_15_P23
Initial value:
= {
.r = 2,
.L = 3,
.N = 5,
.mask = {
1, 1, 1, 1, 1,
1, 1, 0, 1, 1,
1, 1, 1, 1, 0,
},
}

GMR-1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder.

◆ gmr1_punct_k5_15_P53

const struct gmr1_puncturer gmr1_punct_k5_15_P53
Initial value:
= {
.r = 5,
.L = 3,
.N = 5,
.mask = {
1, 1, 1, 0, 1,
1, 0, 0, 1, 1,
1, 1, 1, 0, 0,
},
}

GMR-1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder.

◆ gmr1_punct_k5_15_Ps53

const struct gmr1_puncturer gmr1_punct_k5_15_Ps53
Initial value:
= {
.r = 5,
.L = 3,
.N = 5,
.mask = {
1, 1, 1, 0, 0,
1, 0, 0, 1, 1,
1, 1, 1, 0, 1,
},
}

GMR-1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder.

◆ gmr1_punct_k6_14_P45

const struct gmr1_puncturer gmr1_punct_k6_14_P45
Initial value:
= {
.r = 4,
.L = 5,
.N = 4,
.mask = {
1, 0, 1, 1,
1, 0, 1, 1,
1, 1, 1, 0,
1, 1, 1, 1,
1, 1, 1, 0,
},
}

GMR-1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder.

◆ gmr1_punct_k7_12_P116

const struct gmr1_puncturer gmr1_punct_k7_12_P116
Initial value:
= {
.r = 1,
.L = 16,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder.

◆ gmr1_punct_k7_12_P23

const struct gmr1_puncturer gmr1_punct_k7_12_P23
Initial value:
= {
.r = 2,
.L = 3,
.N = 2,
.mask = {
1, 1,
1, 0,
0, 1,
},
}

GMR-1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder.

◆ gmr1_punct_k7_12_P245

const struct gmr1_puncturer gmr1_punct_k7_12_P245
Initial value:
= {
.r = 4,
.L = 5,
.N = 2,
.mask = {
1, 0,
0, 1,
1, 0,
0, 1,
1, 1,
},
}

GMR-1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder.

◆ gmr1_punct_k7_12_P410

const struct gmr1_puncturer gmr1_punct_k7_12_P410
Initial value:
= {
.r = 4,
.L = 10,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 1,
1, 1,
1, 0,
1, 1,
},
}

GMR-1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder.

◆ gmr1_punct_k7_12_P45

const struct gmr1_puncturer gmr1_punct_k7_12_P45
Initial value:
= {
.r = 4,
.L = 5,
.N = 2,
.mask = {
0, 1,
1, 1,
1, 0,
0, 1,
1, 0,
},
}

GMR-1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder.

◆ gmr1_punct_k7_12_P512

const struct gmr1_puncturer gmr1_punct_k7_12_P512
Initial value:
= {
.r = 5,
.L = 12,
.N = 2,
.mask = {
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 1,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
},
}

GMR-1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P110

const struct gmr1_puncturer gmr1_punct_k9_12_P110
Initial value:
= {
.r = 1,
.L = 10,
.N = 2,
.mask = {
0, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P13

const struct gmr1_puncturer gmr1_punct_k9_12_P13
Initial value:
= {
.r = 1,
.L = 3,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
},
}

GMR-1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P14

const struct gmr1_puncturer gmr1_punct_k9_12_P14
Initial value:
= {
.r = 1,
.L = 4,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P17

const struct gmr1_puncturer gmr1_punct_k9_12_P17
Initial value:
= {
.r = 1,
.L = 7,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P19

const struct gmr1_puncturer gmr1_punct_k9_12_P19
Initial value:
= {
.r = 1,
.L = 9,
.N = 2,
.mask = {
0, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
1, 1,
},
}

GMR-1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P234

const struct gmr1_puncturer gmr1_punct_k9_12_P234
Initial value:
= {
.r = 3,
.L = 4,
.N = 2,
.mask = {
1, 0,
0, 1,
1, 0,
1, 1,
},
}

GMR-1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P26

const struct gmr1_puncturer gmr1_punct_k9_12_P26
Initial value:
= {
.r = 2,
.L = 6,
.N = 2,
.mask = {
1, 0,
1, 1,
1, 1,
1, 0,
1, 1,
1, 1,
},
}

GMR-1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P34

const struct gmr1_puncturer gmr1_punct_k9_12_P34
Initial value:
= {
.r = 3,
.L = 4,
.N = 2,
.mask = {
1, 1,
1, 0,
0, 1,
1, 0,
},
}

GMR-1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P45

const struct gmr1_puncturer gmr1_punct_k9_12_P45
Initial value:
= {
.r = 4,
.L = 5,
.N = 2,
.mask = {
0, 1,
1, 1,
0, 1,
1, 0,
1, 0,
},
}

GMR-1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_12_P47

const struct gmr1_puncturer gmr1_punct_k9_12_P47
Initial value:
= {
.r = 4,
.L = 7,
.N = 2,
.mask = {
0, 1,
1, 1,
1, 0,
1, 1,
1, 0,
1, 1,
1, 0,
},
}

GMR-1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder.

◆ gmr1_punct_k9_13_P12

const struct gmr1_puncturer gmr1_punct_k9_13_P12
Initial value:
= {
.r = 1,
.L = 2,
.N = 3,
.mask = {
1, 1, 1,
0, 1, 1,
},
}

GMR-1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder.

◆ gmr1_punct_k9_13_P1213

const struct gmr1_puncturer gmr1_punct_k9_13_P1213
Initial value:
= {
.r = 12,
.L = 13,
.N = 3,
.mask = {
1, 1, 0,
1, 0, 1,
0, 1, 1,
1, 1, 0,
1, 0, 1,
0, 1, 1,
1, 1, 0,
1, 0, 1,
0, 1, 1,
1, 1, 0,
1, 0, 1,
0, 1, 1,
1, 1, 1,
},
}

GMR-1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder.

◆ gmr1_punct_k9_13_P33

const struct gmr1_puncturer gmr1_punct_k9_13_P33
Initial value:
= {
.r = 3,
.L = 3,
.N = 3,
.mask = {
0, 1, 1,
1, 0, 1,
1, 1, 0,
},
}

GMR-1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder.

◆ gmr1_punct_k9_13_P44

const struct gmr1_puncturer gmr1_punct_k9_13_P44
Initial value:
= {
.r = 4,
.L = 4,
.N = 3,
.mask = {
1, 1, 0,
0, 1, 1,
1, 0, 1,
1, 1, 0,
},
}

GMR-1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder.

◆ gmr1_punct_k9_13_P65

const struct gmr1_puncturer gmr1_punct_k9_13_P65
Initial value:
= {
.r = 6,
.L = 5,
.N = 3,
.mask = {
1, 0, 1,
0, 1, 1,
1, 0, 0,
0, 1, 1,
1, 1, 0,
},
}

GMR-1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder.

◆ gmr1_punct_k9_14_P148

const struct gmr1_puncturer gmr1_punct_k9_14_P148
Initial value:
= {
.r = 14,
.L = 8,
.N = 4,
.mask = {
1, 0, 0, 1,
1, 0, 1, 0,
1, 0, 1, 0,
1, 0, 0, 1,
1, 1, 0, 1,
1, 0, 0, 1,
1, 0, 0, 1,
1, 1, 0, 1,
},
}

GMR-1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder.

◆ gmr1_punct_k9_14_P65

const struct gmr1_puncturer gmr1_punct_k9_14_P65
Initial value:
= {
.r = 6,
.L = 5,
.N = 4,
.mask = {
0, 1, 1, 1,
1, 0, 1, 1,
1, 1, 1, 1,
0, 0, 1, 0,
1, 0, 1, 1,
},
}

GMR-1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder.