├── .gitignore ├── BlockDiagram.fig ├── BlockDiagram.svg ├── LICENSE ├── PBCH_decoder.m ├── PBCH_encoder.m ├── PDCCH_decoder.m ├── PDCCH_encoder.m ├── PUCCH_decoder.m ├── PUCCH_encoder.m ├── README.md ├── components ├── CA_polar_decoder.m ├── CA_polar_encoder.m ├── DCA_polar_decoder.m ├── DCA_polar_encoder.m ├── DCKA_polar_decoder.m ├── DS1CA_polar_decoder.m ├── DS1CA_polar_encoder.m ├── DS1CKA_polar_decoder.m ├── PCCA_polar_decoder.m ├── PCCA_polar_encoder.m ├── PC_polar_decoder.m ├── PC_polar_encoder.m ├── get_3GPP_N.m ├── get_3GPP_channel_interleaver_pattern.m ├── get_3GPP_crc_interleaver_pattern.m ├── get_3GPP_info_bit_pattern.m ├── get_3GPP_rate_matching_pattern.m ├── get_3GPP_sequence_pattern.m ├── get_BIVP_rate_matching_pattern.m ├── get_BIVS_rate_matching_pattern.m ├── get_G_N.m ├── get_NATP_rate_matching_pattern.m ├── get_NATS_rate_matching_pattern.m ├── get_PC_bit_pattern.m ├── get_PW_sequence_pattern.m ├── get_crc_generator_matrix.m ├── get_info_bit_pattern.m ├── minstar.m ├── phi.m ├── polar_decoder.m ├── polar_encoder.m ├── update_bit.m └── update_llr.m ├── custom1_decoder.m ├── custom1_encoder.m ├── main_BLER_vs_SNR.m ├── main_FAR.m ├── main_SNR_vs_A.m └── results ├── .gitignore ├── BLER_vs_SNR_PBCH_32_864_16_1_1000_0.txt ├── BLER_vs_SNR_PBCH_32_864_1_1_1000_0.txt ├── BLER_vs_SNR_PBCH_32_864_2_1_1000_0.txt ├── BLER_vs_SNR_PBCH_32_864_32_1_1000_0.txt ├── BLER_vs_SNR_PBCH_32_864_4_1_1000_0.txt ├── BLER_vs_SNR_PBCH_32_864_8_1_1000_0.txt ├── BLER_vs_SNR_PBCH_32_864_cap.txt ├── PBCH.fig ├── PBCH.svg ├── PDCCH.fig ├── PDCCH.svg ├── PUCCH.fig ├── PUCCH.svg ├── SNR_vs_A_PDCCH_0.001_108_16_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_108_8_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_108_cap.txt ├── SNR_vs_A_PDCCH_0.001_1728_16_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_1728_8_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_1728_cap.txt ├── SNR_vs_A_PDCCH_0.001_216_16_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_216_8_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_216_cap.txt ├── SNR_vs_A_PDCCH_0.001_432_16_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_432_8_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_432_cap.txt ├── SNR_vs_A_PDCCH_0.001_864_16_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_864_8_1_100_0.txt ├── SNR_vs_A_PDCCH_0.001_864_cap.txt ├── SNR_vs_A_PUCCH_0.001_108_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_108_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_108_cap.txt ├── SNR_vs_A_PUCCH_0.001_13824_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_13824_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_13824_cap.txt ├── SNR_vs_A_PUCCH_0.001_1728_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_1728_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_1728_cap.txt ├── SNR_vs_A_PUCCH_0.001_216_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_216_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_216_cap.txt ├── SNR_vs_A_PUCCH_0.001_3456_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_3456_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_3456_cap.txt ├── SNR_vs_A_PUCCH_0.001_432_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_432_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_432_cap.txt ├── SNR_vs_A_PUCCH_0.001_54_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_54_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_54_cap.txt ├── SNR_vs_A_PUCCH_0.001_6912_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_6912_8_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_6912_cap.txt ├── SNR_vs_A_PUCCH_0.001_864_16_1_100_0.txt ├── SNR_vs_A_PUCCH_0.001_864_8_1_100_0.txt └── SNR_vs_A_PUCCH_0.001_864_cap.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *.m~ 2 | .DS_Store 3 | *.bak 4 | -------------------------------------------------------------------------------- /BlockDiagram.fig: -------------------------------------------------------------------------------- 1 | #FIG 3.2 Produced by xfig version 3.2.5b 2 | Landscape 3 | Center 4 | Inches 5 | Letter 6 | 100.00 7 | Single 8 | -2 9 | 1200 2 10 | 0 32 #9c0000 11 | 0 33 #8c8c8c 12 | 0 34 #8c8c8c 13 | 0 35 #424242 14 | 0 36 #8c8c8c 15 | 0 37 #424242 16 | 0 38 #8c8c8c 17 | 0 39 #424242 18 | 0 40 #8c8c8c 19 | 0 41 #424242 20 | 0 42 #8c8c8c 21 | 0 43 #424242 22 | 0 44 #c2c2c2 23 | 0 45 #6e6e6e 24 | 0 46 #444444 25 | 0 47 #8e8f8e 26 | 0 48 #717171 27 | 0 49 #aeaeae 28 | 0 50 #333333 29 | 0 51 #949395 30 | 0 52 #747075 31 | 0 53 #555555 32 | 0 54 #b3b3b3 33 | 0 55 #c3c3c3 34 | 0 56 #6d6d6d 35 | 0 57 #454545 36 | 0 58 #8e8e8e 37 | 0 59 #e2e2ee 38 | 0 60 #94949a 39 | 0 61 #dbdbdb 40 | 0 62 #a1a1b7 41 | 0 63 #ededed 42 | 0 64 #e0e0e0 43 | 0 65 #86acff 44 | 0 66 #7070ff 45 | 0 67 #c6b797 46 | 0 68 #eff8ff 47 | 0 69 #dccba6 48 | 0 70 #404040 49 | 0 71 #808080 50 | 0 72 #c0c0c0 51 | 0 73 #aaaaaa 52 | 0 74 #c7c3c7 53 | 0 75 #565151 54 | 0 76 #d7d7d7 55 | 0 77 #85807d 56 | 0 78 #d2d2d2 57 | 0 79 #3a3a3a 58 | 0 80 #4573aa 59 | 0 81 #7b79a5 60 | 0 82 #73758c 61 | 0 83 #f7f7f7 62 | 0 84 #414541 63 | 0 85 #635dce 64 | 0 86 #bebebe 65 | 0 87 #515151 66 | 0 88 #e7e3e7 67 | 0 89 #000049 68 | 0 90 #797979 69 | 0 91 #303430 70 | 0 92 #414141 71 | 0 93 #c7b696 72 | 0 94 #dd9d93 73 | 0 95 #f1ece0 74 | 0 96 #e2c8a8 75 | 0 97 #e1e1e1 76 | 0 98 #da7a1a 77 | 0 99 #f1e41a 78 | 0 100 #887dc2 79 | 0 101 #b0a193 80 | 0 102 #837cdd 81 | 0 103 #d6d6d6 82 | 0 104 #8c8ca5 83 | 0 105 #4a4a4a 84 | 0 106 #8c6b6b 85 | 0 107 #5a5a5a 86 | 0 108 #636363 87 | 0 109 #b79b73 88 | 0 110 #4193ff 89 | 0 111 #bf703b 90 | 0 112 #db7700 91 | 0 113 #dab800 92 | 0 114 #006400 93 | 0 115 #5a6b3b 94 | 0 116 #d3d3d3 95 | 0 117 #8e8ea4 96 | 0 118 #f3b95d 97 | 0 119 #89996b 98 | 0 120 #646464 99 | 0 121 #b7e6ff 100 | 0 122 #86c0ec 101 | 0 123 #bdbdbd 102 | 0 124 #d39552 103 | 0 125 #98d2fe 104 | 0 126 #616161 105 | 0 127 #aeb2ae 106 | 0 128 #ff9a00 107 | 0 129 #8c9c6b 108 | 0 130 #f76b00 109 | 0 131 #5a6b39 110 | 0 132 #8c9c6b 111 | 0 133 #8c9c7b 112 | 0 134 #184a18 113 | 0 135 #adadad 114 | 0 136 #f7bd5a 115 | 0 137 #636b9c 116 | 0 138 #de0000 117 | 0 139 #adadad 118 | 0 140 #f7bd5a 119 | 0 141 #adadad 120 | 0 142 #f7bd5a 121 | 0 143 #636b9c 122 | 0 144 #526b29 123 | 0 145 #949494 124 | 0 146 #006300 125 | 0 147 #00634a 126 | 0 148 #7b844a 127 | 0 149 #e7bd7b 128 | 0 150 #a5b5c6 129 | 0 151 #6b6b94 130 | 0 152 #846b6b 131 | 0 153 #529c4a 132 | 0 154 #d6e7e7 133 | 0 155 #526363 134 | 0 156 #186b4a 135 | 0 157 #9ca5b5 136 | 0 158 #ff9400 137 | 0 159 #ff9400 138 | 0 160 #00634a 139 | 0 161 #7b844a 140 | 0 162 #63737b 141 | 0 163 #e7bd7b 142 | 0 164 #184a18 143 | 0 165 #f7bd5a 144 | 0 166 #000000 145 | 0 167 #f73829 146 | 0 168 #000000 147 | 0 169 #ffff52 148 | 0 170 #52794a 149 | 0 171 #639a5a 150 | 0 172 #c66142 151 | 0 173 #e76942 152 | 0 174 #ff7952 153 | 0 175 #dedede 154 | 0 176 #f3eed3 155 | 0 177 #f5ae5d 156 | 0 178 #95ce99 157 | 0 179 #b5157d 158 | 0 180 #eeeeee 159 | 0 181 #848484 160 | 0 182 #7b7b7b 161 | 0 183 #005a00 162 | 0 184 #e77373 163 | 0 185 #ffcb31 164 | 0 186 #29794a 165 | 0 187 #de2821 166 | 0 188 #2159c6 167 | 0 189 #f8f8f8 168 | 0 190 #e6e6e6 169 | 0 191 #21845a 170 | 6 2250 5250 3750 6150 171 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 172 | 2250 6150 3750 6150 3750 5250 2250 5250 2250 6150 173 | 4 1 0 50 -1 16 12 0.0000 6 165 510 3000 5550 Code\001 174 | 4 1 0 50 -1 16 12 0.0000 6 165 480 3000 5775 block\001 175 | 4 1 0 50 -1 16 12 0.0000 6 210 1275 3000 6000 segmentation\001 176 | -6 177 | 6 6750 5250 8250 6150 178 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 179 | 6750 6150 8250 6150 8250 5250 6750 5250 6750 6150 180 | 4 1 0 50 -1 16 12 0.0000 6 165 705 7500 5550 PC and\001 181 | 4 1 0 50 -1 16 12 0.0000 6 165 870 7500 5775 frozen bit\001 182 | 4 1 0 50 -1 16 12 0.0000 6 165 810 7500 6000 insertion\001 183 | -6 184 | 6 0 6150 1500 7050 185 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 186 | 0 7050 1500 7050 1500 6150 0 6150 0 7050 187 | 4 1 0 50 -1 16 12 0.0000 6 165 630 750 6450 UCI bit\001 188 | 4 1 0 50 -1 16 12 0.0000 6 165 915 750 6675 sequence\001 189 | 4 1 0 50 -1 16 12 0.0000 6 210 1020 750 6900 generation\001 190 | -6 191 | 6 2250 12450 3750 13350 192 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 193 | 2250 13350 3750 13350 3750 12450 2250 12450 2250 13350 194 | 4 1 0 50 -1 16 12 0.0000 6 165 510 3000 12750 Code\001 195 | 4 1 0 50 -1 16 12 0.0000 6 165 480 3000 12975 block\001 196 | 4 1 0 50 -1 16 12 0.0000 6 165 1335 3000 13200 concatenation\001 197 | -6 198 | 6 0 13350 1500 14250 199 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 200 | 0 14250 1500 14250 1500 13350 0 13350 0 14250 201 | 4 1 0 50 -1 16 12 0.0000 6 165 630 750 13650 UCI bit\001 202 | 4 1 0 50 -1 16 12 0.0000 6 165 915 750 13875 sequence\001 203 | 4 1 0 50 -1 16 12 0.0000 6 165 930 750 14100 extraction\001 204 | -6 205 | 6 11250 10650 12750 11550 206 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 207 | 11250 11550 12750 11550 12750 10650 11250 10650 11250 11550 208 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 12000 10950 Determination\001 209 | 4 1 0 50 -1 16 12 0.0000 6 165 1290 12000 11175 of information\001 210 | 4 1 0 50 -1 16 12 0.0000 6 210 1125 12000 11400 block length\001 211 | -6 212 | 6 9000 30450 10500 31350 213 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 214 | 9000 31350 10500 31350 10500 30450 9000 30450 9000 31350 215 | 4 1 0 50 -1 16 12 0.0000 6 165 450 9750 30825 CRC\001 216 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 9750 31050 interleaving\001 217 | -6 218 | 6 13500 30450 15000 31350 219 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 220 | 13500 31350 15000 31350 15000 30450 13500 30450 13500 31350 221 | 4 1 0 50 -1 16 12 0.0000 6 165 495 14250 30825 Polar\001 222 | 4 1 0 50 -1 16 12 0.0000 6 210 870 14250 31050 encoding\001 223 | -6 224 | 6 0 30450 1500 31350 225 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 226 | 0 31350 1500 31350 1500 30450 0 30450 0 31350 227 | 4 1 0 50 -1 16 12 0.0000 6 165 630 750 30750 DCI bit\001 228 | 4 1 0 50 -1 16 12 0.0000 6 165 915 750 30975 sequence\001 229 | 4 1 0 50 -1 16 12 0.0000 6 210 1020 750 31200 generation\001 230 | -6 231 | 6 6750 30450 8250 31350 232 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 233 | 6750 31350 8250 31350 8250 30450 6750 30450 6750 31350 234 | 4 1 0 50 -1 16 12 0.0000 6 165 450 7500 30825 CRC\001 235 | 4 1 0 50 -1 16 12 0.0000 6 210 1005 7500 31050 scrambling\001 236 | -6 237 | 6 0 19650 1500 20550 238 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 239 | 0 20550 1500 20550 1500 19650 0 19650 0 20550 240 | 4 1 0 50 -1 16 12 0.0000 6 165 570 750 19950 PBCH\001 241 | 4 1 0 50 -1 16 12 0.0000 6 210 750 750 20175 payload\001 242 | 4 1 0 50 -1 16 12 0.0000 6 210 1020 750 20400 generation\001 243 | -6 244 | 6 4500 19650 6000 20550 245 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 246 | 4500 20550 6000 20550 6000 19650 4500 19650 4500 20550 247 | 4 1 0 50 -1 16 12 0.0000 6 165 570 5250 19950 PBCH\001 248 | 4 1 0 50 -1 16 12 0.0000 6 210 750 5250 20175 payload\001 249 | 4 1 0 50 -1 16 12 0.0000 6 210 1005 5250 20400 scrambling\001 250 | -6 251 | 6 6750 19650 8250 20550 252 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 253 | 6750 20550 8250 20550 8250 19650 6750 19650 6750 20550 254 | 4 1 0 50 -1 16 12 0.0000 6 165 840 7500 20025 CRC24C\001 255 | 4 1 0 50 -1 16 12 0.0000 6 165 1050 7500 20250 attachment\001 256 | -6 257 | 6 9000 19650 10500 20550 258 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 259 | 9000 20550 10500 20550 10500 19650 9000 19650 9000 20550 260 | 4 1 0 50 -1 16 12 0.0000 6 165 450 9750 20025 CRC\001 261 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 9750 20250 interleaving\001 262 | -6 263 | 6 13500 19650 15000 20550 264 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 265 | 13500 20550 15000 20550 15000 19650 13500 19650 13500 20550 266 | 4 1 0 50 -1 16 12 0.0000 6 165 495 14250 20025 Polar\001 267 | 4 1 0 50 -1 16 12 0.0000 6 210 870 14250 20250 encoding\001 268 | -6 269 | 6 2250 17850 3750 18750 270 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 271 | 2250 18750 3750 18750 3750 17850 2250 17850 2250 18750 272 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 3000 18150 Determination\001 273 | 4 1 0 50 -1 16 12 0.0000 6 210 1365 3000 18375 of higher layer\001 274 | 4 1 0 50 -1 16 12 0.0000 6 195 1080 3000 18600 parameters\001 275 | -6 276 | 6 2250 19650 3750 20550 277 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 278 | 2250 20550 3750 20550 3750 19650 2250 19650 2250 20550 279 | 4 1 0 50 -1 16 12 0.0000 6 165 570 3000 19950 PBCH\001 280 | 4 1 0 50 -1 16 12 0.0000 6 210 750 3000 20175 payload\001 281 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 3000 20400 interleaving\001 282 | -6 283 | 6 2250 25050 4500 25950 284 | 6 2250 25050 3750 25950 285 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 286 | 2250 25950 3750 25950 3750 25050 2250 25050 2250 25950 287 | 4 1 0 50 -1 16 12 0.0000 6 165 570 3000 25350 PBCH\001 288 | 4 1 0 50 -1 16 12 0.0000 6 210 750 3000 25575 payload\001 289 | 4 1 0 50 -1 16 12 0.0000 6 210 1335 3000 25800 deinterleaving\001 290 | -6 291 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 292 | 1 1 1.00 60.00 120.00 293 | 4500 25500 3750 25500 294 | -6 295 | 6 0 25050 1500 25950 296 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 297 | 0 25950 1500 25950 1500 25050 0 25050 0 25950 298 | 4 1 0 50 -1 16 12 0.0000 6 165 570 750 25350 PBCH\001 299 | 4 1 0 50 -1 16 12 0.0000 6 210 750 750 25575 payload\001 300 | 4 1 0 50 -1 16 12 0.0000 6 165 930 750 25800 extraction\001 301 | -6 302 | 6 4500 25050 6000 25950 303 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 304 | 4500 25950 6000 25950 6000 25050 4500 25050 4500 25950 305 | 4 1 0 50 -1 16 12 0.0000 6 165 570 5250 25350 PBCH\001 306 | 4 1 0 50 -1 16 12 0.0000 6 210 750 5250 25575 payload\001 307 | 4 1 0 50 -1 16 12 0.0000 6 210 1245 5250 25800 descrambling\001 308 | -6 309 | 6 4500 23250 6750 25275 310 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 311 | 4500 24150 6000 24150 6000 23250 4500 23250 4500 24150 312 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 313 | 1 1 1.00 60.00 120.00 314 | 6000 23700 6375 23700 6375 25200 6750 25200 315 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 5250 23625 Determination\001 316 | 4 1 0 50 -1 16 12 0.0000 6 165 1230 5250 23850 of known bits\001 317 | -6 318 | 6 2250 23250 3750 24150 319 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 320 | 2250 24150 3750 24150 3750 23250 2250 23250 2250 24150 321 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 3000 23550 Determination\001 322 | 4 1 0 50 -1 16 12 0.0000 6 210 1365 3000 23775 of higher layer\001 323 | 4 1 0 50 -1 16 12 0.0000 6 195 1080 3000 24000 parameters\001 324 | -6 325 | 6 2250 30450 3750 31350 326 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 327 | 2250 31350 3750 31350 3750 30450 2250 30450 2250 31350 328 | 4 1 0 50 -1 16 12 0.0000 6 165 450 3000 30825 Zero\001 329 | 4 1 0 50 -1 16 12 0.0000 6 210 765 3000 31050 padding\001 330 | -6 331 | 6 13500 7050 15000 7950 332 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 333 | 13500 7950 15000 7950 15000 7050 13500 7050 13500 7950 334 | 4 1 0 50 -1 16 12 0.0000 6 165 450 14250 7425 Rate\001 335 | 4 1 0 50 -1 16 12 0.0000 6 210 855 14250 7650 matching\001 336 | -6 337 | 6 18000 5250 19500 6150 338 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 339 | 18000 6150 19500 6150 19500 5250 18000 5250 18000 6150 340 | 4 1 0 50 -1 16 12 0.0000 6 165 510 18750 5550 Code\001 341 | 4 1 0 50 -1 16 12 0.0000 6 165 480 18750 5775 block\001 342 | 4 1 0 50 -1 16 12 0.0000 6 165 1335 18750 6000 concatenation\001 343 | -6 344 | 6 20250 6150 21750 7050 345 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 346 | 20250 7050 21750 7050 21750 6150 20250 6150 20250 7050 347 | 4 1 0 50 -1 16 12 0.0000 6 210 1110 21000 6450 Multiplexing\001 348 | 4 1 0 50 -1 16 12 0.0000 6 165 1275 21000 6675 onto PUCCH/\001 349 | 4 1 0 50 -1 16 12 0.0000 6 165 720 21000 6900 PUSCH\001 350 | -6 351 | 6 15750 5250 17250 6150 352 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 353 | 15750 6150 17250 6150 17250 5250 15750 5250 15750 6150 354 | 4 1 0 50 -1 16 12 0.0000 6 165 795 16500 5625 Channel\001 355 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 16500 5850 interleaving\001 356 | -6 357 | 6 13350 5250 15750 6525 358 | 6 13500 5250 15000 6150 359 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 360 | 13500 6150 15000 6150 15000 5250 13500 5250 13500 6150 361 | 4 1 0 50 -1 16 12 0.0000 6 165 450 14250 5625 Rate\001 362 | 4 1 0 50 -1 16 12 0.0000 6 210 855 14250 5850 matching\001 363 | -6 364 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 365 | 1 1 1.00 60.00 120.00 366 | 15000 5700 15750 5700 367 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 14250 6450 (6.3.1.4.1/6.3.2.4.1)\001 368 | -6 369 | 6 11100 3450 13500 7275 370 | 6 11250 3450 12750 4350 371 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 372 | 11250 4350 12750 4350 12750 3450 11250 3450 11250 4350 373 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 12000 3750 Determination\001 374 | 4 1 0 50 -1 16 12 0.0000 6 165 1065 12000 3975 of encoded\001 375 | 4 1 0 50 -1 16 12 0.0000 6 210 1125 12000 4200 block length\001 376 | -6 377 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 3 378 | 1 1 1.00 60.00 120.00 379 | 13125 5400 13125 7200 13500 7200 380 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 381 | 1 1 1.00 60.00 120.00 382 | 12750 3900 13125 3900 13125 5400 13500 5400 383 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 12000 4650 (6.3.1.4.1/6.3.2.4.1)\001 384 | -6 385 | 6 9000 8475 9375 8775 386 | 5 1 0 1 0 7 60 -1 -1 4.000 0 1 0 0 9150.000 8550.000 9000 8550 9150 8700 9300 8550 387 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 388 | 9150 8475 9375 8475 9375 8775 9150 8775 9150 8475 389 | -6 390 | 6 14625 8475 15075 8775 391 | 5 1 0 1 0 7 60 -1 -1 4.000 0 0 0 0 14850.000 8550.000 15000 8550 14850 8700 14700 8550 392 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 393 | 14850 8475 14625 8475 14625 8775 14850 8775 14850 8475 394 | -6 395 | 6 11925 8625 12375 8925 396 | 5 1 0 1 0 7 60 -1 -1 4.000 0 0 0 0 12150.000 8850.000 12000 8850 12150 8700 12300 8850 397 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 398 | 12150 8925 12375 8925 12375 8625 12150 8625 12150 8925 399 | -6 400 | 6 11625 8625 12075 8925 401 | 5 1 0 1 0 7 60 -1 -1 4.000 0 1 0 0 11850.000 8850.000 12000 8850 11850 8700 11700 8850 402 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 403 | 11850 8925 11625 8925 11625 8625 11850 8625 11850 8925 404 | -6 405 | 6 13500 14250 15000 15150 406 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 407 | 13500 15150 15000 15150 15000 14250 13500 14250 13500 15150 408 | 4 1 0 50 -1 16 12 0.0000 6 165 450 14250 14625 Rate\001 409 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 14250 14850 dematching\001 410 | -6 411 | 6 18000 12450 19500 13350 412 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 413 | 18000 13350 19500 13350 19500 12450 18000 12450 18000 13350 414 | 4 1 0 50 -1 16 12 0.0000 6 165 510 18750 12750 Code\001 415 | 4 1 0 50 -1 16 12 0.0000 6 165 480 18750 12975 block\001 416 | 4 1 0 50 -1 16 12 0.0000 6 210 1275 18750 13200 segmentation\001 417 | -6 418 | 6 20250 13350 21750 14250 419 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 420 | 20250 14250 21750 14250 21750 13350 20250 13350 20250 14250 421 | 4 1 0 50 -1 16 12 0.0000 6 210 1365 21000 13650 Demultiplexing\001 422 | 4 1 0 50 -1 16 12 0.0000 6 165 1275 21000 13875 from PUCCH/\001 423 | 4 1 0 50 -1 16 12 0.0000 6 165 720 21000 14100 PUSCH\001 424 | -6 425 | 6 15750 12450 17250 13350 426 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 427 | 15750 13350 17250 13350 17250 12450 15750 12450 15750 13350 428 | 4 1 0 50 -1 16 12 0.0000 6 165 795 16500 12825 Channel\001 429 | 4 1 0 50 -1 16 12 0.0000 6 210 1335 16500 13050 deinterleaving\001 430 | -6 431 | 6 13500 12450 15750 13350 432 | 6 13500 12450 15000 13350 433 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 434 | 13500 13350 15000 13350 15000 12450 13500 12450 13500 13350 435 | 4 1 0 50 -1 16 12 0.0000 6 165 450 14250 12825 Rate\001 436 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 14250 13050 dematching\001 437 | -6 438 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 439 | 1 1 1.00 60.00 120.00 440 | 15750 12900 15000 12900 441 | -6 442 | 6 9000 15375 9375 15675 443 | 5 1 0 1 0 7 60 -1 -1 4.000 0 1 0 0 9150.000 15450.000 9000 15450 9150 15600 9300 15450 444 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 445 | 9150 15375 9375 15375 9375 15675 9150 15675 9150 15375 446 | -6 447 | 6 14625 15375 15075 15675 448 | 5 1 0 1 0 7 60 -1 -1 4.000 0 0 0 0 14850.000 15450.000 15000 15450 14850 15600 14700 15450 449 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 450 | 14850 15375 14625 15375 14625 15675 14850 15675 14850 15375 451 | -6 452 | 6 11925 15525 12375 15825 453 | 5 1 0 1 0 7 60 -1 -1 4.000 0 0 0 0 12150.000 15750.000 12000 15750 12150 15600 12300 15750 454 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 455 | 12150 15825 12375 15825 12375 15525 12150 15525 12150 15825 456 | -6 457 | 6 11625 15525 12075 15825 458 | 5 1 0 1 0 7 60 -1 -1 4.000 0 1 0 0 11850.000 15750.000 12000 15750 11850 15600 11700 15750 459 | 2 2 0 0 0 7 55 -1 20 2.000 0 0 -1 0 0 5 460 | 11850 15825 11625 15825 11625 15525 11850 15525 11850 15825 461 | -6 462 | 6 15000 30450 17250 31350 463 | 6 15750 30450 17250 31350 464 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 465 | 15750 31350 17250 31350 17250 30450 15750 30450 15750 31350 466 | 4 1 0 50 -1 16 12 0.0000 6 165 885 16500 30825 Sub-block\001 467 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 16500 31050 interleaving\001 468 | -6 469 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 470 | 1 1 1.00 60.00 120.00 471 | 15000 30900 15750 30900 472 | -6 473 | 6 18000 30450 19500 31350 474 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 475 | 18000 31350 19500 31350 19500 30450 18000 30450 18000 31350 476 | 4 1 0 50 -1 16 12 0.0000 6 165 450 18750 30825 Rate\001 477 | 4 1 0 50 -1 16 12 0.0000 6 210 855 18750 31050 matching\001 478 | -6 479 | 6 15750 28650 17250 29550 480 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 481 | 15750 29550 17250 29550 17250 28650 15750 28650 15750 29550 482 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 16500 28950 Determination\001 483 | 4 1 0 50 -1 16 12 0.0000 6 165 1065 16500 29175 of encoded\001 484 | 4 1 0 50 -1 16 12 0.0000 6 210 1125 16500 29400 block length\001 485 | -6 486 | 6 20250 30450 21750 31350 487 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 488 | 20250 31350 21750 31350 21750 30450 20250 30450 20250 31350 489 | 4 1 0 50 -1 16 12 0.0000 6 210 1110 21000 30825 Multiplexing\001 490 | 4 1 0 50 -1 16 12 0.0000 6 165 1215 21000 31050 onto PDCCH\001 491 | -6 492 | 6 18000 19650 19500 20550 493 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 494 | 18000 20550 19500 20550 19500 19650 18000 19650 18000 20550 495 | 4 1 0 50 -1 16 12 0.0000 6 165 450 18750 20025 Rate\001 496 | 4 1 0 50 -1 16 12 0.0000 6 210 855 18750 20250 matching\001 497 | -6 498 | 6 20250 25050 21750 25950 499 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 500 | 20250 25950 21750 25950 21750 25050 20250 25050 20250 25950 501 | 4 1 0 50 -1 16 12 0.0000 6 210 1365 21000 25425 Demultiplexing\001 502 | 4 1 0 50 -1 16 12 0.0000 6 165 1050 21000 25650 from PBCH\001 503 | -6 504 | 6 20250 19650 21750 20550 505 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 506 | 20250 20550 21750 20550 21750 19650 20250 19650 20250 20550 507 | 4 1 0 50 -1 16 12 0.0000 6 210 1110 21000 20025 Multiplexing\001 508 | 4 1 0 50 -1 16 12 0.0000 6 165 1050 21000 20250 onto PBCH\001 509 | -6 510 | 6 18000 25050 19500 25950 511 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 512 | 18000 25950 19500 25950 19500 25050 18000 25050 18000 25950 513 | 4 1 0 50 -1 16 12 0.0000 6 165 450 18750 25425 Rate\001 514 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 18750 25650 dematching\001 515 | -6 516 | 6 10500 12450 12750 13350 517 | 6 11250 12450 12750 13350 518 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 519 | 11250 13350 12750 13350 12750 12450 11250 12450 11250 13350 520 | 4 1 0 50 -1 16 12 0.0000 6 165 885 12000 12825 Sub-block\001 521 | 4 1 0 50 -1 16 12 0.0000 6 210 1335 12000 13050 deinterleaving\001 522 | -6 523 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 524 | 1 1 1.00 60.00 120.00 525 | 11250 12900 10500 12900 526 | -6 527 | 6 15000 25050 17250 25950 528 | 6 15750 25050 17250 25950 529 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 530 | 15750 25950 17250 25950 17250 25050 15750 25050 15750 25950 531 | 4 1 0 50 -1 16 12 0.0000 6 165 885 16500 25425 Sub-block\001 532 | 4 1 0 50 -1 16 12 0.0000 6 210 1335 16500 25650 deinterleaving\001 533 | -6 534 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 535 | 1 1 1.00 60.00 120.00 536 | 15750 25500 15000 25500 537 | -6 538 | 6 15750 34050 17250 34950 539 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 540 | 15750 34950 17250 34950 17250 34050 15750 34050 15750 34950 541 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 16500 34350 Determination\001 542 | 4 1 0 50 -1 16 12 0.0000 6 165 1290 16500 34575 of information\001 543 | 4 1 0 50 -1 16 12 0.0000 6 210 1125 16500 34800 block length\001 544 | -6 545 | 6 0 35850 1500 36750 546 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 547 | 0 36750 1500 36750 1500 35850 0 35850 0 36750 548 | 4 1 0 50 -1 16 12 0.0000 6 165 630 750 36150 DCI bit\001 549 | 4 1 0 50 -1 16 12 0.0000 6 165 915 750 36375 sequence\001 550 | 4 1 0 50 -1 16 12 0.0000 6 165 930 750 36600 extraction\001 551 | -6 552 | 6 20250 35850 21750 36750 553 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 554 | 20250 36750 21750 36750 21750 35850 20250 35850 20250 36750 555 | 4 1 0 50 -1 16 12 0.0000 6 210 1365 21000 36225 Demultiplexing\001 556 | 4 1 0 50 -1 16 12 0.0000 6 165 1215 21000 36450 from PDCCH\001 557 | -6 558 | 6 18000 35850 19500 36750 559 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 560 | 18000 36750 19500 36750 19500 35850 18000 35850 18000 36750 561 | 4 1 0 50 -1 16 12 0.0000 6 165 450 18750 36225 Rate\001 562 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 18750 36450 dematching\001 563 | -6 564 | 6 15000 35850 17250 36750 565 | 6 15750 35850 17250 36750 566 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 567 | 15750 36750 17250 36750 17250 35850 15750 35850 15750 36750 568 | 4 1 0 50 -1 16 12 0.0000 6 165 885 16500 36225 Sub-block\001 569 | 4 1 0 50 -1 16 12 0.0000 6 210 1335 16500 36450 deinterleaving\001 570 | -6 571 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 572 | 1 1 1.00 60.00 120.00 573 | 15750 36300 15000 36300 574 | -6 575 | 6 4500 28650 6750 30675 576 | 6 4500 28650 6000 29550 577 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 578 | 4500 29550 6000 29550 6000 28650 4500 28650 4500 29550 579 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 5250 29025 Determination\001 580 | 4 1 0 50 -1 16 12 0.0000 6 165 735 5250 29250 of RNTI\001 581 | -6 582 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 583 | 1 1 1.00 60.00 120.00 584 | 6000 29100 6375 29100 6375 30600 6750 30600 585 | -6 586 | 6 11250 5250 12750 6150 587 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 588 | 11250 6150 12750 6150 12750 5250 11250 5250 11250 6150 589 | 4 1 0 50 -1 16 12 0.0000 6 165 885 12000 5625 Sub-block\001 590 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 12000 5850 interleaving\001 591 | -6 592 | 6 15750 19650 17250 20550 593 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 594 | 15750 20550 17250 20550 17250 19650 15750 19650 15750 20550 595 | 4 1 0 50 -1 16 12 0.0000 6 165 885 16500 20025 Sub-block\001 596 | 4 1 0 50 -1 16 12 0.0000 6 210 1095 16500 20250 interleaving\001 597 | -6 598 | 6 9000 5250 10500 6150 599 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 600 | 9000 6150 10500 6150 10500 5250 9000 5250 9000 6150 601 | 4 1 0 50 -1 16 12 0.0000 6 165 495 9750 5625 Polar\001 602 | 4 1 0 50 -1 16 12 0.0000 6 210 870 9750 5850 encoding\001 603 | -6 604 | 6 18900 3150 21720 4260 605 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 606 | 18900 3840 19650 3840 607 | 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 608 | 18900 3540 19650 3540 609 | 4 0 0 50 -1 16 12 0.0000 6 165 1920 19800 4215 Section of TS38.212\001 610 | 4 0 0 50 -1 16 12 0.0000 6 210 705 18900 4215 (x.x.x.x)\001 611 | 4 0 0 50 -1 16 12 0.0000 6 165 1170 19800 3915 Not included\001 612 | 4 0 0 50 -1 16 12 0.0000 6 165 795 19800 3615 Included\001 613 | 4 0 0 50 -1 16 12 0.0000 6 210 405 18900 3315 Key:\001 614 | -6 615 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 616 | 1 1 1.00 60.00 120.00 617 | 1500 6600 1875 6600 1875 5700 2250 5700 618 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 619 | 1 1 1.00 60.00 120.00 620 | 8250 5700 9000 5700 621 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 622 | 1 1 1.00 60.00 120.00 623 | 6000 5700 6750 5700 624 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 625 | 1 1 1.00 60.00 120.00 626 | 3750 5700 4500 5700 627 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 628 | 1 1 1.00 60.00 120.00 629 | 10500 7500 13500 7500 630 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 3 631 | 1 1 1.00 60.00 120.00 632 | 1875 6600 1875 7500 9000 7500 633 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 634 | 9000 7950 10500 7950 10500 7050 9000 7050 9000 7950 635 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 636 | 9000 15150 10500 15150 10500 14250 9000 14250 9000 15150 637 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 638 | 4500 13350 10500 13350 10500 12450 4500 12450 4500 13350 639 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 640 | 1 1 1.00 60.00 120.00 641 | 4500 12900 3750 12900 642 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 643 | 1 1 1.00 60.00 120.00 644 | 13500 14700 10500 14700 645 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 1 4 646 | 1 1 1.00 60.00 120.00 647 | 1500 13650 1875 13650 1875 12900 2250 12900 648 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 1 4 649 | 1 1 1.00 60.00 120.00 650 | 1500 13950 1875 13950 1875 14700 9000 14700 651 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 652 | 1 1 1.00 60.00 120.00 653 | 8250 30900 9000 30900 654 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 655 | 1 1 1.00 60.00 120.00 656 | 10500 30900 11250 30900 657 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 658 | 1 1 1.00 60.00 120.00 659 | 12750 30900 13500 30900 660 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 661 | 11250 31350 12750 31350 12750 30450 11250 30450 11250 31350 662 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 663 | 1 1 1.00 60.00 120.00 664 | 6000 30900 6750 30900 665 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 666 | 1 1 1.00 60.00 120.00 667 | 6000 20100 6750 20100 668 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 669 | 1 1 1.00 60.00 120.00 670 | 1500 20100 2250 20100 671 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 672 | 1 1 1.00 60.00 120.00 673 | 8250 20100 9000 20100 674 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 675 | 1 1 1.00 60.00 120.00 676 | 10500 20100 11250 20100 677 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 678 | 1 1 1.00 60.00 120.00 679 | 12750 20100 13500 20100 680 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 681 | 11250 20550 12750 20550 12750 19650 11250 19650 11250 20550 682 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4 683 | 1 1 1.00 60.00 120.00 684 | 3750 18300 4125 18300 4125 19800 4500 19800 685 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 686 | 1 1 1.00 60.00 120.00 687 | 3750 20100 4500 20100 688 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 689 | 1 1 1.00 60.00 120.00 690 | 6750 25500 6000 25500 691 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 692 | 1 1 1.00 60.00 120.00 693 | 2250 25500 1500 25500 694 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 695 | 6750 25950 15000 25950 15000 25050 6750 25050 6750 25950 696 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4 697 | 1 1 1.00 60.00 120.00 698 | 3750 23700 4125 23700 4125 25200 4500 25200 699 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 700 | 1 1 1.00 60.00 120.00 701 | 1500 30900 2250 30900 702 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 703 | 1 1 1.00 60.00 120.00 704 | 3750 30900 4500 30900 705 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 706 | 4500 31350 6000 31350 6000 30450 4500 30450 4500 31350 707 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 708 | 4500 6150 6000 6150 6000 5250 4500 5250 4500 6150 709 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 710 | 1 1 1.00 60.00 120.00 711 | 17250 5700 18000 5700 712 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4 713 | 1 1 1.00 60.00 120.00 714 | 15000 7500 19800 7500 19800 6750 20250 6750 715 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 716 | 1 1 1.00 60.00 120.00 717 | 19500 5700 19800 5700 19800 6450 20250 6450 718 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 719 | 1 1 1.00 60.00 120.00 720 | 12750 5700 13500 5700 721 | 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 722 | 12150 8700 14850 8700 723 | 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 724 | 9150 8700 11850 8700 725 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 726 | 1 1 1.00 60.00 120.00 727 | 18000 12900 17250 12900 728 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 1 4 729 | 1 1 1.00 60.00 120.00 730 | 19500 12900 19800 12900 19800 13800 20250 13800 731 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 1 3 732 | 1 1 1.00 60.00 120.00 733 | 15000 14700 19800 14700 19800 13800 734 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 735 | 1 1 1.00 60.00 120.00 736 | 13500 12900 12750 12900 737 | 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 738 | 12150 15600 14850 15600 739 | 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 740 | 9150 15600 11850 15600 741 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 742 | 1 1 1.00 60.00 120.00 743 | 17250 30900 18000 30900 744 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 745 | 1 1 1.00 60.00 120.00 746 | 17250 29100 17625 29100 17625 30600 18000 30600 747 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 748 | 1 1 1.00 60.00 120.00 749 | 19500 30900 20250 30900 750 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 751 | 1 1 1.00 60.00 120.00 752 | 17250 20100 18000 20100 753 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 754 | 1 1 1.00 60.00 120.00 755 | 19500 20100 20250 20100 756 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 757 | 1 1 1.00 60.00 120.00 758 | 20250 25500 19500 25500 759 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 760 | 1 1 1.00 60.00 120.00 761 | 18000 25500 17250 25500 762 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 763 | 1 1 1.00 60.00 120.00 764 | 2250 36300 1500 36300 765 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 766 | 2250 36750 15000 36750 15000 35850 2250 35850 2250 36750 767 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 768 | 1 1 1.00 60.00 120.00 769 | 20250 36300 19500 36300 770 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 771 | 1 1 1.00 60.00 120.00 772 | 18000 36300 17250 36300 773 | 2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 774 | 4500 34950 6000 34950 6000 34050 4500 34050 4500 34950 775 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 776 | 1 1 1.00 60.00 120.00 777 | 6000 34500 6375 34500 6375 35850 778 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 779 | 1 1 1.00 60.00 120.00 780 | 10500 5700 11250 5700 781 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 782 | 1 1 1.00 60.00 120.00 783 | 15000 20100 15750 20100 784 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 785 | 1 1 1.00 60.00 120.00 786 | 12750 11100 13125 11100 13125 12600 13500 12600 787 | 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 3 788 | 1 1 1.00 60.00 120.00 789 | 13125 12600 13125 14400 13500 14400 790 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 791 | 1 1 1.00 60.00 120.00 792 | 17250 34500 17625 34500 17625 36000 18000 36000 793 | 4 2 0 50 -1 16 12 0.0000 6 210 1365 2025 5550 A in [12, 1706]\001 794 | 4 2 0 50 -1 16 12 0.0000 6 210 945 2025 7800 A in [1,11]\001 795 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 7500 6450 (6.3.1.3.1/6.3.2.3.1)\001 796 | 4 1 0 50 -1 16 12 0.0000 6 210 1440 750 7350 (6.3.1.1/6.3.2.1)\001 797 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 3000 6450 (6.3.1.2.1/6.3.2.2.1)\001 798 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 5250 6450 (6.3.1.2.1/6.3.2.2.1)\001 799 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 9750 6450 (6.3.1.3.1/6.3.2.3.1)\001 800 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 9750 8250 (6.3.1.3.2/6.3.2.3.2)\001 801 | 4 1 0 50 -1 16 12 0.0000 6 165 510 9750 7350 Short\001 802 | 4 1 0 50 -1 16 12 0.0000 6 165 480 9750 7575 block\001 803 | 4 1 0 50 -1 16 12 0.0000 6 210 870 9750 7800 encoding\001 804 | 4 2 0 50 -1 16 12 0.0000 6 210 1365 2025 12750 A in [12, 1706]\001 805 | 4 2 0 50 -1 16 12 0.0000 6 210 1005 2025 15000 A in [1, 11]\001 806 | 4 1 0 50 -1 16 12 0.0000 6 165 510 9750 14550 Short\001 807 | 4 1 0 50 -1 16 12 0.0000 6 165 480 9750 14775 block\001 808 | 4 1 0 50 -1 16 12 0.0000 6 210 870 9750 15000 decoding\001 809 | 4 1 0 50 -1 16 12 0.0000 6 165 1845 7500 12825 PC/CRC-aided SCL\001 810 | 4 1 0 50 -1 16 12 0.0000 6 210 1410 7500 13050 polar decoding\001 811 | 4 0 0 50 -1 16 12 0.0000 6 165 2355 0 10500 PUCCH/PUSCH decoder\001 812 | 4 0 0 50 -1 16 12 0.0000 6 165 2355 0 3300 PUCCH/PUSCH encoder\001 813 | 4 1 0 50 -1 16 12 0.0000 6 210 600 750 31650 (7.3.1)\001 814 | 4 1 0 50 -1 16 12 0.0000 6 210 600 9750 31650 (7.3.3)\001 815 | 4 1 0 50 -1 16 12 0.0000 6 210 600 12000 31650 (7.3.3)\001 816 | 4 1 0 50 -1 16 12 0.0000 6 165 930 12000 30825 Frozen bit\001 817 | 4 1 0 50 -1 16 12 0.0000 6 165 810 12000 31050 insertion\001 818 | 4 1 0 50 -1 16 12 0.0000 6 210 600 14250 31650 (7.3.3)\001 819 | 4 0 0 50 -1 16 12 0.0000 6 165 1575 0 28500 PDCCH encoder\001 820 | 4 0 0 50 -1 16 12 0.0000 6 165 1575 0 33900 PDCCH decoder\001 821 | 4 1 0 50 -1 16 12 0.0000 6 210 600 7500 31650 (7.3.2)\001 822 | 4 1 0 50 -1 16 12 0.0000 6 210 600 750 20850 (7.1.1)\001 823 | 4 1 0 50 -1 16 12 0.0000 6 210 600 5250 20850 (7.1.2)\001 824 | 4 1 0 50 -1 16 12 0.0000 6 210 600 7500 20850 (7.1.3)\001 825 | 4 1 0 50 -1 16 12 0.0000 6 210 600 9750 20850 (7.1.4)\001 826 | 4 1 0 50 -1 16 12 0.0000 6 210 600 12000 20850 (7.1.4)\001 827 | 4 1 0 50 -1 16 12 0.0000 6 165 930 12000 20025 Frozen bit\001 828 | 4 1 0 50 -1 16 12 0.0000 6 165 810 12000 20250 insertion\001 829 | 4 1 0 50 -1 16 12 0.0000 6 210 600 14250 20850 (7.1.4)\001 830 | 4 0 0 50 -1 16 12 0.0000 6 165 1410 0 17700 PBCH encoder\001 831 | 4 1 0 50 -1 16 12 0.0000 6 210 600 3000 20850 (7.1.1)\001 832 | 4 1 0 50 -1 16 12 0.0000 6 165 2550 10875 25425 Distributed-CRC-aided SCL\001 833 | 4 1 0 50 -1 16 12 0.0000 6 210 1410 10875 25650 polar decoding\001 834 | 4 0 0 50 -1 16 12 0.0000 6 165 1410 0 23100 PBCH decoder\001 835 | 4 1 0 50 -1 16 12 0.0000 6 210 600 3000 31650 (7.3.1)\001 836 | 4 1 0 50 -1 16 12 0.0000 6 210 600 5250 31650 (7.3.2)\001 837 | 4 1 0 50 -1 16 12 0.0000 6 165 1050 5250 31200 attachment\001 838 | 4 1 0 50 -1 16 12 0.0000 6 165 840 5250 30975 CRC24C\001 839 | 4 1 0 50 -1 16 12 0.0000 6 165 1440 5250 30750 Ones-initialised\001 840 | 4 1 0 50 -1 16 12 0.0000 6 165 1050 5250 6000 attachment\001 841 | 4 1 0 50 -1 16 12 0.0000 6 165 690 5250 5775 CRC11\001 842 | 4 1 0 50 -1 16 12 0.0000 6 165 825 5250 5550 CRC6 or\001 843 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 14250 8250 (6.3.1.4.2/6.3.2.4.2)\001 844 | 4 1 0 50 -1 16 12 0.0000 6 210 1440 18750 6450 (6.3.1.5/6.3.2.5)\001 845 | 4 1 0 50 -1 16 12 0.0000 6 210 1440 21000 7350 (6.3.1.6/6.3.2.6)\001 846 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 16500 6450 (6.3.1.4.1/6.3.2.4.1)\001 847 | 4 1 0 50 -1 16 12 0.0000 6 210 1770 12000 6450 (6.3.1.4.1/6.3.2.4.1)\001 848 | 4 1 0 50 -1 16 12 0.0000 6 165 1485 12000 9075 Identical to LTE\001 849 | 4 1 0 50 -1 16 12 0.0000 6 165 1485 12000 15975 Identical to LTE\001 850 | 4 1 0 50 -1 16 12 0.0000 6 210 600 18750 31650 (7.3.4)\001 851 | 4 1 0 50 -1 16 12 0.0000 6 210 600 16500 31650 (7.3.4)\001 852 | 4 1 0 50 -1 16 12 0.0000 6 210 600 16500 20850 (7.1.5)\001 853 | 4 1 0 50 -1 16 12 0.0000 6 210 600 18750 20850 (7.1.5)\001 854 | 4 1 0 50 -1 16 12 0.0000 6 165 2550 8625 36225 Distributed-CRC-aided SCL\001 855 | 4 1 0 50 -1 16 12 0.0000 6 210 1410 8625 36450 polar decoding\001 856 | 4 1 0 50 -1 16 12 0.0000 6 165 1320 5250 34425 Determination\001 857 | 4 1 0 50 -1 16 12 0.0000 6 165 735 5250 34650 of RNTI\001 858 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | {one line to give the program's name and a brief idea of what it does.} 635 | Copyright (C) {year} {name of author} 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | {project} Copyright (C) {year} {fullname} 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /PBCH_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/PBCH_decoder.m -------------------------------------------------------------------------------- /PBCH_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/PBCH_encoder.m -------------------------------------------------------------------------------- /PDCCH_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/PDCCH_decoder.m -------------------------------------------------------------------------------- /PDCCH_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/PDCCH_encoder.m -------------------------------------------------------------------------------- /PUCCH_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/PUCCH_decoder.m -------------------------------------------------------------------------------- /PUCCH_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/PUCCH_encoder.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # polar-3gpp-matlab 2 | Matlab simulations of the encoder and Successive Cancellation List (SCL) decoder for the New Radio polar code from 3GPP Release 15, as defined in [TS38.212 V15.2.0](http://www.3gpp.org/ftp//Specs/archive/38_series/38.212/38212-f20.zip) and used in the Public Broadcast Channel (PBCH), Physical Downlink Control Channel (PDCCH) and Physical Uplink Control Channel (PUCCH). 3 | 4 | This code is intended to provide a reference model for the standard and has been written with a focus on correctness, rather than on simulation speed. This code is also intended to provide a platform for research on enhancements to the New Radio polar code. This motivates the inclusion of the custom1_encoder and custom1_decoder, alongside encoders and decoders for the New Radio PBCH, PDCCH and PUCCH channels. In particular, custom1_encoder and custom1_decoder adapt the New Radio polar code for general purpose applications, enabling support for arbitrarily-high information block lengths A. By contrast, the longest block lengths supported in the New Radio PBCH, PDCCH and PUCCH channels are 32, 140 and 1706 bits, respectively. 5 | 6 | ![Block Diagram](BlockDiagram.svg) 7 | 8 | ![PBCH](./results/PBCH.svg) Plot of Block Error Rate (BLER) versus channel Signal to Noise Ratio (SNR) Es/N0 for the Public Broadcast Channel (PBCH) polar code of 3GPP New Radio, when using Quadrature Phase Shift Keying (QPSK) for communication over an Additive White Gaussian Noise (AWGN) channel. Here, A is the number of bits in each information block, E is the number of bits in each encoded block and L is the list size used during min-sum Successive Cancellation List (SCL) decoding. The simulation of each SNR was continued until 1000 block errors were observed. Capacity plots are provided by the O(n−2) metaconverse PPV upper bound. | ![PDCCH](./results/PDCCH.svg) Plot of Signal to Noise Ratio (SNR) Es/N0 required to achieve a Block Error Rate (BLER) of 10-3 versus number bits in each information block A for the Physical Downlink Control Channel (PDCCH) polar code of 3GPP New Radio, when using Quadrature Phase Shift Keying (QPSK) for communication over an Additive White Gaussian Noise (AWGN) channel. Here, E is the number of bits in each encoded block and L is the list size used during min-sum Successive Cancellation List (SCL) decoding. The simulation of each SNR was continued until 100 block errors were observed. Capacity plots are provided by the O(n−2) metaconverse PPV upper bound. 9 | :---: | :---: 10 | ![PUCCH](./results/PUCCH.svg) **Plot of Signal to Noise Ratio (SNR) Es/N0 required to achieve a Block Error Rate (BLER) of 10-3 versus number bits in each information block A for the Physical Uplink Control Channel (PUCCH) polar code of 3GPP New Radio, when using Quadrature Phase Shift Keying (QPSK) for communication over an Additive White Gaussian Noise (AWGN) channel. Here, G is the number of bits in each encoded block and L is the list size used during min-sum Successive Cancellation List (SCL) decoding. The simulation of each SNR was continued until 100 block errors were observed. Capacity plots are provided by the O(n−2) metaconverse PPV upper bound.** | 11 | 12 | The capacity plots in the Figures above were obtained using the O(n−2) metaconverse PPV upper bound from the [SPECTRE Short Packet Communication Toolbox](https://github.com/yp-mit/spectre). If you use these results, please acknowledge them with a reference to... 13 | 14 | T. Erseghe, "Coding in the Finite-Blocklength Regime: Bounds Based on Laplace Integrals and Their Asymptotic Approximations", IEEE Transactions on Information Theory, vol. 62, no. 12, pp. 6854 - 6883, Dec. 2016. 15 | 16 | Section of TS38.212 | Implemented in | Comment 17 | --- | --- | --- 18 | 5.1 | [components/get_crc_generator_matrix.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_crc_generator_matrix.m) | The CRC bits are generated using b = [a, mod(a*G_P, 2)]. 19 | 5.2.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | The first and second segments are obtained as a(1:floor(A/C)) and a(floor(A/C)+1:A), respectively. 20 | 5.3.1 | [components/get_3GPP_N.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_N.m) | 21 | 5.3.1.1 | [components/get_3GPP_crc_interleaver_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_crc_interleaver_pattern.m) | Interleaving is implemented using c_prime = c(Pi). 22 | 5.3.1.2 Q0N-1 | [components/get_3GPP_sequence_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_sequence_pattern.m) | The elements of Q0N-1 are incremented by 1, since indices begin at 1 in Matlab. 23 | 5.3.1.2 QPCN | [components/get_PC_bit_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_PC_bit_pattern.m) | Provides a vector of N elements, in which the elements with the indices QPCN are set to true and all other elements are set to false. 24 | 5.3.1.2 u | [components/PCCA_polar_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/PCCA_polar_encoder.m) | Other components/\*_polar_encoder.m files are also useful for special cases without PC bits, without CRC bits or with distributed CRC bits. 25 | 5.3.1.2 GN | [components/get_G_N.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_G_N.m) | Encoding is implemented using d = mod(u\*G_N, 2). 26 | 5.4.1.1 P(i) | [components/get_3GPP_rate_matching_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_rate_matching_pattern.m) | 27 | 5.4.1.1 QIN | [components/get_3GPP_info_bit_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_info_bit_pattern.m) | Provides a vector of N elements, in which the elements with the indices QIN are set to true and all other elements are set to false. 28 | 5.4.1.2 | [components/get_3GPP_rate_matching_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_rate_matching_pattern.m) | Rate matching is implemented using e = d(rate_matching_pattern). 29 | 5.4.1.3 | [components/get_3GPP_channel_interleaver_pattern.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/components/get_3GPP_channel_interleaver_pattern.m) | Interleaving is implemented using f = e(channel_interleaver_pattern). 30 | 5.5 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | The first and second segments are concatenated using f = [f, ...]. 31 | 6.3.1.2.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | 32 | 6.3.1.3.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | 33 | 6.3.1.4.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | Rate matching is implemented, but not the determination of EUCI. 34 | 6.3.1.5 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | 35 | 6.3.2.2.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | 36 | 6.3.2.3.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | 37 | 6.3.2.4.1 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | Rate matching is implemented, but not the determination of EUCI. 38 | 6.3.2.5 | [PUCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PUCCH_encoder.m) | 39 | 7.1.3 | [PBCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PBCH_encoder.m) | 40 | 7.1.4 | [PBCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PBCH_encoder.m) | 41 | 7.1.5 | [PBCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PBCH_encoder.m) | 42 | 7.3.1 | [PDCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PDCCH_encoder.m) | Only implements the zero padding of DCI formats, to increase their length to 12 bits. 43 | 7.3.2 | [PDCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PDCCH_encoder.m) | 44 | 7.3.3 | [PDCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PDCCH_encoder.m) | 45 | 7.3.4 | [PDCCH_encoder.m](https://github.com/robmaunder/polar-3gpp-matlab/blob/master/PDCCH_encoder.m) | 46 | 47 | Each of the \*_encoder.m files has corresponding \*_decoder.m files, for performing the corresponding operation of the receiver. 48 | 49 | Many thanks to my colleagues at [AccelerComm](http://www.accelercomm.com), who have spent lots of time double checking that this code matches the standard. 50 | 51 | Have fun! Rob. 52 | 53 | -------------------------------------------------------------------------------- /components/CA_polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/CA_polar_decoder.m -------------------------------------------------------------------------------- /components/CA_polar_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/CA_polar_encoder.m -------------------------------------------------------------------------------- /components/DCA_polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/DCA_polar_decoder.m -------------------------------------------------------------------------------- /components/DCA_polar_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/DCA_polar_encoder.m -------------------------------------------------------------------------------- /components/DCKA_polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/DCKA_polar_decoder.m -------------------------------------------------------------------------------- /components/DS1CA_polar_decoder.m: -------------------------------------------------------------------------------- 1 | function a_hat = DS1CA_polar_decoder(e_tilde, crc_polynomial_pattern, crc_scrambling_pattern, crc_interleaver_pattern, info_bit_pattern, rate_matching_pattern, mode, L, min_sum, P2) 2 | % DS1CA_POLAR_DECODER Distributed-Scrambled-and-1-initialised-CRC-Aided (DS1CA) polar decoder. 3 | % a_hat = DS1CA_POLAR_DECODER(e_tilde, crc_polynomial_pattern, crc_interleaver_pattern, info_bit_pattern, rate_matching_pattern, mode, L, min_sum, P2) 4 | % decodes the encoded LLR sequence e_tilde, in order to obtain the 5 | % recovered information bit sequence a_hat. 6 | % 7 | % e_tilde should be a real row vector comprising E number of Logarithmic 8 | % Likelihood Ratios (LLRS), each having a value obtained as LLR = 9 | % ln(P(bit=0)/P(bit=1)). 10 | % 11 | % crc_polynomial_pattern should be a binary row vector comprising P+1 12 | % number of bits, each having the value 0 or 1. These bits parameterise a 13 | % Cyclic Redundancy Check (CRC) comprising P bits. Each bit provides the 14 | % coefficient of the corresponding element in the CRC generator 15 | % polynomial. From left to right, the bits provide the coefficients for 16 | % the elements D^P, D^P-1, D^P-2, ..., D^2, D, 1. 17 | % 18 | % crc_scrambling_pattern should be a binary row vector, with each element 19 | % having the value 0 or 1. This vector is right-aligned with the 20 | % vector of CRC bits (before CRC interleaving in the encoder), then 21 | % applied using XOR operations. 22 | % 23 | % crc_interleaver_pattern should be a row vector comprising K number of 24 | % integers, each having a unique value in the range 1 to K. Each integer 25 | % identifies which one of the K information or CRC bits provides the 26 | % corresponding bit in the input to the polar encoder kernal. 27 | % 28 | % info_bit_pattern should be a row vector comprising N number of logical 29 | % elements, each having the value true or false. The number of elements 30 | % in info_bit_pattern having the value true should be K, where K = A+P. 31 | % These elements having the value true identify the positions of the 32 | % information and CRC bits within the input to the polar encoder kernal. 33 | % 34 | % rate_matching_pattern should be a row vector comprising E number of 35 | % integers, each having a value in the range 1 to N. Each integer 36 | % identifies which one of the N outputs from the polar encoder kernal 37 | % provides the corresponding bit in the encoded bit sequence e. 38 | % 39 | % mode should have the value 'repetition', 'puncturing' or 'shortening'. 40 | % This specifies how the rate matching has been achieved. 'repetition' 41 | % indicates that some outputs of the polar encoder kernal are repeated in 42 | % the encoded bit sequence two or more times. 'puncturing' and 43 | % 'shortening' indicate that some outputs of the polar encoder kernal 44 | % have been excluded from the encoded bit sequence. In the case of 45 | % 'puncturing' these excluded bits could have values of 0 or 1. In the 46 | % case of 'shortening' these excluded bits are guaranteed to have values 47 | % of 0. 48 | % 49 | % L should be a scalar integer. It specifies the list size to use during 50 | % Successive Cancellation List (SCL) decoding. 51 | % 52 | % min_sum shoular be a scalar logical. If it is true, then the SCL 53 | % decoding process will be completed using the min-sum approximation. 54 | % Otherwise, the log-sum-product will be used. The log-sum-product gives 55 | % better error correction capability than the min-sum, but it has higher 56 | % complexity. 57 | % 58 | % P2 should be a scalar integer. Although the CRC has P bits, only 59 | % P-min(P2,log2(L)) of these are used for error detection. The remaining 60 | % min(P2,log2(L)) of the CRC bits are used to improve error correction. 61 | % So the CRC needs to be min(P2,log2(L)) number of bits longer than CRCs 62 | % used in other codes, in order to achieve the same error detection 63 | % capability. 64 | % 65 | % a_hat will normally be a binary row vector comprising A number of bits, 66 | % each having the value 0 or 1. However, in cases where the CRC check 67 | % fails, a_hat will be an empty vector. 68 | % 69 | % See also DS1CA_POLAR_ENCODER 70 | % 71 | % Copyright ? 2017 Robert G. Maunder. This program is free software: you 72 | % can redistribute it and/or modify it under the terms of the GNU General 73 | % Public License as published by the Free Software Foundation, either 74 | % version 3 of the License, or (at your option) any later version. This 75 | % program is distributed in the hope that it will be useful, but WITHOUT 76 | % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 77 | % FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 78 | % more details. 79 | 80 | E = length(e_tilde); 81 | N = length(info_bit_pattern); 82 | K = length(crc_interleaver_pattern); 83 | P = length(crc_polynomial_pattern)-1; 84 | A = K-P; 85 | 86 | if log2(N) ~= round(log2(N)) 87 | error('N should be a power of 2'); 88 | end 89 | if sum(info_bit_pattern) ~= K 90 | error('info_bit_pattern should contain K number of ones.'); 91 | end 92 | if max(rate_matching_pattern) > N 93 | error('rate_matching_pattern is not compatible with N'); 94 | end 95 | if strcmp(mode,'repetition') 96 | if E < N 97 | error('mode is not compatible with E'); 98 | end 99 | elseif strcmp(mode,'puncturing') 100 | if E >= N 101 | error('mode is not compatible with E'); 102 | end 103 | elseif strcmp(mode,'shortening') 104 | if E >= N 105 | error('mode is not compatible with E'); 106 | end 107 | else 108 | error('Unsupported mode'); 109 | end 110 | if P < length(crc_scrambling_pattern) 111 | error('polar_3gpp_matlab:UnsupportedBlockLength','P should be no less than the length of the scrambing pattern'); 112 | end 113 | 114 | % This global variable is used by the minstar and phi functions. 115 | global approx_minstar 116 | approx_minstar=min_sum; 117 | 118 | %% Characterise the interleaved CRC 119 | 120 | % Get the CRC generator matrix, which has dimensions A+P by P. 121 | G_P = get_crc_generator_matrix(A+P,crc_polynomial_pattern); 122 | 123 | % Extend the CRC generator matrix by append an identity matrix to 124 | % represent the CRC bits, giving dimenstions K by P. 125 | G_P2 = [G_P(P+1:end,:);eye(P)]; 126 | 127 | % Interleave the rows of the extended CRC generator matrix, according to 128 | % the CRC interleaver. 129 | G_P3 = G_P2(crc_interleaver_pattern,:); 130 | 131 | % Determine where the last 1-valued bit appears in each column. When the 132 | % SCL decoding process reaches the corresponding interleaved CRC bit, we 133 | % will terminate the decoding process if all list entries have failed the 134 | % checks assocated with at least one of this or the preceeding CRC bits. 135 | last_one_index = zeros(1,P); 136 | for p = 1:P 137 | last_one_index(p) = find(G_P3(:,p) == 1, 1, 'last'); 138 | end 139 | 140 | % Extend the scrambling pattern to match the length of the CRC 141 | extended_crc_scrambling_pattern = [zeros(1,P-length(crc_scrambling_pattern)), crc_scrambling_pattern]; 142 | 143 | %% Rate matching 144 | if strcmp(mode,'repetition') 145 | % LLRs for repeated bits are added together. 146 | d_tilde = zeros(1,N); 147 | for i=1:E 148 | d_tilde(rate_matching_pattern(i)) = d_tilde(rate_matching_pattern(i)) + e_tilde(i); 149 | end 150 | else 151 | if strcmp(mode,'puncturing') 152 | % Zero valued LLRs are used for punctured bits, because the decoder 153 | % doesn't know if they have values of 0 or 1. 154 | d_tilde = zeros(1,N); 155 | elseif strcmp(mode,'shortening') 156 | % Infinite valued LLRs are used for shortened bits, because the 157 | % decoder knows that they have values of 0. 158 | d_tilde = inf(1,N); 159 | else 160 | error('Unknown rate matching mode'); 161 | end 162 | 163 | d_tilde(rate_matching_pattern) = e_tilde; 164 | end 165 | 166 | %% Perform the SCL polar decoder kernal operation. 167 | % This is achieved according to the algorithm described in 168 | % http://ieeexplore.ieee.org/abstract/document/7114328/ 169 | 170 | global bits % Matrix to store bit throughout the polar code graph 171 | global bits_updated % Matrix to identify which bits in the polar code graph have been calculated so far 172 | global llrs % Matrix to store LLRs throughout the polar code graph 173 | global llrs_updated % Matrix to identify which LLRs in the polar code graph have been calculated so far 174 | 175 | bits = zeros(N, log2(N)+1); % Initialse all bits to zero. The left-most column corresponds to the decoded information, CRC and frozen bits 176 | bits_updated = [~info_bit_pattern',false(N,log2(N))]; % The zero values that have initialised the frozen bits are known to be correct 177 | llrs = [zeros(N,log2(N)),d_tilde']; % Initialse the LLRs. The right-most column corresponds to the received LLRS 178 | llrs_updated = [false(N,log2(N)),true(N,1)]; % The received LLRs have been updated. 179 | 180 | PM = zeros(1,1,1); % Initialise the path metrics 181 | L_prime = 1; % Initialise the list size to 1. This will grow as the decoding proceeds 182 | 183 | % We will calculate the CRC checksums alongside the SCL decoding process. 184 | % Initialise the checksums with P number of 1s. 185 | crc_checksums = mod(sum(G_P(1:P,:)),2)'; 186 | % We will keep track of whether any of the checks associated with the CRC 187 | % bits have failed. 188 | crc_okay = true; 189 | % We need a counter to keep track of which information or CRC bit we are 190 | % working on. 191 | i2=1; 192 | % We will return an empty vector if all list entries have failed the checks 193 | % assocated with at least one of the CRC bits. 194 | a_hat = []; 195 | 196 | % Consider each bit in turn 197 | for i = 1:N 198 | % Make recursive function calls to perform the XOR, g and f functions 199 | % necessary to obtain the corresponding LLR 200 | update_llr(i,1); 201 | 202 | if info_bit_pattern(i) == 0 % Frozen bit 203 | PM = phi(PM, llrs(i,1,:), 0); 204 | else % Information or CRC bit 205 | % Double the list size, using 0-valued bits for the first half and 1-valued bits for the other half 206 | PM = cat(3,phi(PM, llrs(i,1,:), 0), phi(PM, llrs(i,1,:), 1)); 207 | llrs = cat(3,llrs,llrs); 208 | bits = cat(3,bits,bits); 209 | bits(i,1,1:L_prime) = 0; 210 | bits(i,1,L_prime+1:2*L_prime) = 1; 211 | bits_updated(i,1) = true; 212 | 213 | % We use the interleaved CRC generator matrix to update the CRC 214 | % check sums whenever an information or CRC bit adopts a value of 215 | % 1. 216 | crc_checksums = cat(3,crc_checksums,mod(crc_checksums+repmat(G_P3(i2,:)',[1 1 L_prime]),2)); 217 | % We need to keep track of whether any of the checks associated 218 | % with the previous CRC bits have failed. 219 | crc_okay = cat(3,crc_okay,crc_okay); 220 | 221 | % If the list size has grown above L, then we need to find and keep only the best L entries in the list 222 | L_prime = size(bits,3); 223 | if L_prime > L 224 | [~,max_indices] = sort(PM,3); 225 | PM = PM(:,:,max_indices(1:L)); 226 | bits = bits(:,:,max_indices(1:L)); 227 | llrs = llrs(:,:,max_indices(1:L)); 228 | crc_checksums = crc_checksums(:,:,max_indices(1:L)); 229 | crc_okay = crc_okay(:,:,max_indices(1:L)); 230 | L_prime = L; 231 | end 232 | 233 | % We check the corresponding CRC checksums whenever we reach the 234 | % last 1-valued bit in a column of the interleaved CRC generator 235 | % matrix. 236 | check_crc_bits = find(last_one_index == i2); 237 | for crc_bit_index = 1:length(check_crc_bits) 238 | for list_index = 1:L_prime 239 | % The checksum should equal the value of the corresponding 240 | % CRC scrambling pattern bit. If not, then the CRC 241 | % check has failed. Note that we should not prune these 242 | % entries from the list, even though we know that they will 243 | % fail the CRC. We should continue the decoding of this 244 | % list entries, otherwise we will damage the error 245 | % detection capability of the CRC. 246 | if crc_checksums(check_crc_bits(crc_bit_index),1,list_index) ~= extended_crc_scrambling_pattern(check_crc_bits(crc_bit_index)) 247 | % We keep track of the failing check. 248 | crc_okay(1,1,list_index) = false; 249 | end 250 | end 251 | end 252 | 253 | % We terminate the decoding process if all list entries have failed 254 | % the checks assocated with at least one of this or the preceeding 255 | % CRC bits. 256 | if ~any(crc_okay) 257 | return; 258 | end 259 | 260 | % Increment the counter of information and CRC bits 261 | i2 = i2+1; 262 | end 263 | end 264 | 265 | %% Information bit extraction 266 | 267 | % We use the list entry with a passing CRC that has the best metric. But we 268 | % only consider the best min(L,2^P2) entries in the list, to avoid 269 | % degrading the CRC's error detection capability. 270 | [~,max_indices] = sort(PM,3); 271 | b_hat = zeros(1,K); 272 | for list_index = 1:min(L,2^P2) 273 | % Consider the next best list entry. 274 | 275 | % We already checked the CRC during the SCL decoding process. 276 | if crc_okay(max_indices(list_index)) 277 | u_hat = bits(:,1,max_indices(list_index))'; 278 | 279 | % Extract the information bits from the output of the polar decoder 280 | % kernal. 281 | c_hat = u_hat(info_bit_pattern); 282 | 283 | % Deinterleave the information and CRC bits. 284 | b_hat(crc_interleaver_pattern) = c_hat; 285 | 286 | % Remove the CRC and output the information bits. 287 | a_hat = b_hat(1:end-P); 288 | return; 289 | end 290 | end 291 | end -------------------------------------------------------------------------------- /components/DS1CA_polar_encoder.m: -------------------------------------------------------------------------------- 1 | function e = DS1CA_polar_encoder(a, crc_polynomial_pattern, crc_scrambling_pattern, crc_interleaver_pattern, info_bit_pattern, rate_matching_pattern) 2 | % DS1CA_POLAR_ENCODER Distributed-Scrambled-and-1-initialised-CRC-Aided (DS1CA) polar encoder. 3 | % e = DS1CA_POLAR_ENCODER(a, crc_polynomial_pattern, crc_interleaver_pattern, info_bit_pattern, rate_matching_pattern) 4 | % encodes the information bit sequence a, in order to obtain the encoded 5 | % bit sequence e. 6 | % 7 | % a should be a binary row vector comprising A number of bits, each 8 | % having the value 0 or 1. 9 | % 10 | % crc_polynomial_pattern should be a binary row vector comprising P+1 11 | % number of bits, each having the value 0 or 1. These bits parameterise a 12 | % Cyclic Redundancy Check (CRC) comprising P bits. Each bit provides the 13 | % coefficient of the corresponding element in the CRC generator 14 | % polynomial. From left to right, the bits provide the coefficients for 15 | % the elements D^P, D^P-1, D^P-2, ..., D^2, D, 1. 16 | % 17 | % crc_scrambling_pattern should be a binary row vector, with each element 18 | % having the value 0 or 1. This vector is right-aligned with the 19 | % vector of CRC bits (before CRC interleaving in the encoder), then 20 | % applied using XOR operations. 21 | % 22 | % crc_interleaver_pattern should be a row vector comprising K number of 23 | % integers, each having a unique value in the range 1 to K. Each integer 24 | % identifies which one of the K information or CRC bits provides the 25 | % corresponding bit in the input to the polar encoder kernal. 26 | % 27 | % info_bit_pattern should be a row vector comprising N number of logical 28 | % elements, each having the value true or false. The number of elements 29 | % in info_bit_pattern having the value true should be K, where K = A+P. 30 | % These elements having the value true identify the positions of the 31 | % information and CRC bits within the input to the polar encoder kernal. 32 | % 33 | % rate_matching_pattern should be a row vector comprising E number of 34 | % integers, each having a value in the range 1 to N. Each integer 35 | % identifies which one of the N outputs from the polar encoder kernal 36 | % provides the corresponding bit in the encoded bit sequence e. 37 | % 38 | % e will be a binary row vector comprising E number of bits, each having 39 | % the value 0 or 1. 40 | % 41 | % See also DS1CA_POLAR_DECODER 42 | % 43 | % Copyright ? 2017 Robert G. Maunder. This program is free software: you 44 | % can redistribute it and/or modify it under the terms of the GNU General 45 | % Public License as published by the Free Software Foundation, either 46 | % version 3 of the License, or (at your option) any later version. This 47 | % program is distributed in the hope that it will be useful, but WITHOUT 48 | % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 49 | % FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 50 | % more details. 51 | 52 | A = length(a); 53 | P = length(crc_polynomial_pattern)-1; 54 | K = length(crc_interleaver_pattern); 55 | N = length(info_bit_pattern); 56 | 57 | if A+P ~= K 58 | error('A+P should equal K'); 59 | end 60 | if log2(N) ~= round(log2(N)) 61 | error('N should be a power of 2'); 62 | end 63 | if sum(info_bit_pattern) ~= K 64 | error('info_bit_pattern should contain K number of ones.'); 65 | end 66 | if max(rate_matching_pattern) > N 67 | error('rate_matching_pattern is not compatible with N'); 68 | end 69 | if P < length(crc_scrambling_pattern) 70 | error('polar_3gpp_matlab:UnsupportedBlockLength','K should be no less than the length of the scrambing pattern'); 71 | end 72 | 73 | 74 | % Generate the CRC bits. 75 | G_P = get_crc_generator_matrix(A+P,crc_polynomial_pattern); 76 | crc_bits = mod([ones(1,P),a]*G_P,2); 77 | 78 | % Scramble the CRC bits. 79 | scrambled_crc_bits = xor(crc_bits,[zeros(1,P-length(crc_scrambling_pattern)),crc_scrambling_pattern]); 80 | 81 | % Append the scrambled CRC bits to the information bits. 82 | b = [a, scrambled_crc_bits]; 83 | 84 | % Interleave the information and CRC bits. 85 | c = b(crc_interleaver_pattern); 86 | 87 | % Position the information and CRC bits within the input to the polar 88 | % encoder kernal. 89 | u = zeros(1,N); 90 | u(info_bit_pattern) = c; 91 | 92 | % Perform the polar encoder kernal operation. 93 | G_N = get_G_N(N); 94 | d = mod(u*G_N,2); 95 | 96 | % Extract the encoded bits from the output of the polar encoder kernal. 97 | e = d(rate_matching_pattern); 98 | 99 | end -------------------------------------------------------------------------------- /components/DS1CKA_polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/DS1CKA_polar_decoder.m -------------------------------------------------------------------------------- /components/PCCA_polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/PCCA_polar_decoder.m -------------------------------------------------------------------------------- /components/PCCA_polar_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/PCCA_polar_encoder.m -------------------------------------------------------------------------------- /components/PC_polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/PC_polar_decoder.m -------------------------------------------------------------------------------- /components/PC_polar_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/PC_polar_encoder.m -------------------------------------------------------------------------------- /components/get_3GPP_N.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_3GPP_N.m -------------------------------------------------------------------------------- /components/get_3GPP_channel_interleaver_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_3GPP_channel_interleaver_pattern.m -------------------------------------------------------------------------------- /components/get_3GPP_crc_interleaver_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_3GPP_crc_interleaver_pattern.m -------------------------------------------------------------------------------- /components/get_3GPP_info_bit_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_3GPP_info_bit_pattern.m -------------------------------------------------------------------------------- /components/get_3GPP_rate_matching_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_3GPP_rate_matching_pattern.m -------------------------------------------------------------------------------- /components/get_3GPP_sequence_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_3GPP_sequence_pattern.m -------------------------------------------------------------------------------- /components/get_BIVP_rate_matching_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_BIVP_rate_matching_pattern.m -------------------------------------------------------------------------------- /components/get_BIVS_rate_matching_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_BIVS_rate_matching_pattern.m -------------------------------------------------------------------------------- /components/get_G_N.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_G_N.m -------------------------------------------------------------------------------- /components/get_NATP_rate_matching_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_NATP_rate_matching_pattern.m -------------------------------------------------------------------------------- /components/get_NATS_rate_matching_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_NATS_rate_matching_pattern.m -------------------------------------------------------------------------------- /components/get_PC_bit_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_PC_bit_pattern.m -------------------------------------------------------------------------------- /components/get_PW_sequence_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_PW_sequence_pattern.m -------------------------------------------------------------------------------- /components/get_crc_generator_matrix.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_crc_generator_matrix.m -------------------------------------------------------------------------------- /components/get_info_bit_pattern.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/get_info_bit_pattern.m -------------------------------------------------------------------------------- /components/minstar.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/minstar.m -------------------------------------------------------------------------------- /components/phi.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/phi.m -------------------------------------------------------------------------------- /components/polar_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/polar_decoder.m -------------------------------------------------------------------------------- /components/polar_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/polar_encoder.m -------------------------------------------------------------------------------- /components/update_bit.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/update_bit.m -------------------------------------------------------------------------------- /components/update_llr.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/components/update_llr.m -------------------------------------------------------------------------------- /custom1_decoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/custom1_decoder.m -------------------------------------------------------------------------------- /custom1_encoder.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/custom1_encoder.m -------------------------------------------------------------------------------- /main_BLER_vs_SNR.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/main_BLER_vs_SNR.m -------------------------------------------------------------------------------- /main_FAR.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/main_FAR.m -------------------------------------------------------------------------------- /main_SNR_vs_A.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/main_SNR_vs_A.m -------------------------------------------------------------------------------- /results/.gitignore: -------------------------------------------------------------------------------- 1 | *.txt 2 | !BLER_vs_SNR_PBCH_32_864_32_1_1000_0.txt 3 | !BLER_vs_SNR_PBCH_32_864_1_1_1000_0.txt 4 | !BLER_vs_SNR_PBCH_32_864_4_1_1000_0.txt 5 | !BLER_vs_SNR_PBCH_32_864_16_1_1000_0.txt 6 | !BLER_vs_SNR_PBCH_32_864_2_1_1000_0.txt 7 | !BLER_vs_SNR_PBCH_32_864_8_1_1000_0.txt 8 | !SNR_vs_A_PDCCH_0.001_108_8_1_100_0.txt 9 | !SNR_vs_A_PDCCH_0.001_108_16_1_100_0.txt 10 | !SNR_vs_A_PDCCH_0.001_216_8_1_100_0.txt 11 | !SNR_vs_A_PDCCH_0.001_216_16_1_100_0.txt 12 | !SNR_vs_A_PDCCH_0.001_432_8_1_100_0.txt 13 | !SNR_vs_A_PDCCH_0.001_432_16_1_100_0.txt 14 | !SNR_vs_A_PDCCH_0.001_864_8_1_100_0.txt 15 | !SNR_vs_A_PDCCH_0.001_864_16_1_100_0.txt 16 | !SNR_vs_A_PDCCH_0.001_1728_8_1_100_0.txt 17 | !SNR_vs_A_PDCCH_0.001_1728_16_1_100_0.txt 18 | !SNR_vs_A_PUCCH_0.001_54_8_1_100_0.txt 19 | !SNR_vs_A_PUCCH_0.001_54_16_1_100_0.txt 20 | !SNR_vs_A_PUCCH_0.001_108_8_1_100_0.txt 21 | !SNR_vs_A_PUCCH_0.001_108_16_1_100_0.txt 22 | !SNR_vs_A_PUCCH_0.001_216_8_1_100_0.txt 23 | !SNR_vs_A_PUCCH_0.001_216_16_1_100_0.txt 24 | !SNR_vs_A_PUCCH_0.001_432_8_1_100_0.txt 25 | !SNR_vs_A_PUCCH_0.001_432_16_1_100_0.txt 26 | !SNR_vs_A_PUCCH_0.001_864_8_1_100_0.txt 27 | !SNR_vs_A_PUCCH_0.001_864_16_1_100_0.txt 28 | !SNR_vs_A_PUCCH_0.001_1728_8_1_100_0.txt 29 | !SNR_vs_A_PUCCH_0.001_1728_16_1_100_0.txt 30 | !SNR_vs_A_PUCCH_0.001_3456_8_1_100_0.txt 31 | !SNR_vs_A_PUCCH_0.001_3456_16_1_100_0.txt 32 | !SNR_vs_A_PUCCH_0.001_6912_8_1_100_0.txt 33 | !SNR_vs_A_PUCCH_0.001_6912_16_1_100_0.txt 34 | !SNR_vs_A_PUCCH_0.001_13824_8_1_100_0.txt 35 | !SNR_vs_A_PUCCH_0.001_13824_16_1_100_0.txt 36 | !BLER_vs_SNR_PBCH_32_864_cap.txt 37 | !SNR_vs_A_PDCCH_0.001_108_cap.txt 38 | !SNR_vs_A_PDCCH_0.001_216_cap.txt 39 | !SNR_vs_A_PDCCH_0.001_432_cap.txt 40 | !SNR_vs_A_PDCCH_0.001_864_cap.txt 41 | !SNR_vs_A_PDCCH_0.001_1728_cap.txt 42 | !SNR_vs_A_PUCCH_0.001_54_cap.txt 43 | !SNR_vs_A_PUCCH_0.001_108_cap.txt 44 | !SNR_vs_A_PUCCH_0.001_216_cap.txt 45 | !SNR_vs_A_PUCCH_0.001_432_cap.txt 46 | !SNR_vs_A_PUCCH_0.001_864_cap.txt 47 | !SNR_vs_A_PUCCH_0.001_1728_cap.txt 48 | !SNR_vs_A_PUCCH_0.001_3456_cap.txt 49 | !SNR_vs_A_PUCCH_0.001_6912_cap.txt 50 | !SNR_vs_A_PUCCH_0.001_13824_cap.txt -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_16_1_1000_0.txt: -------------------------------------------------------------------------------- 1 | -15.000000 1.000000e+000 2 | -14.900000 1.000000e+000 3 | -14.800000 1.000000e+000 4 | -14.700000 9.980040e-001 5 | -14.600000 9.980040e-001 6 | -14.500000 9.990010e-001 7 | -14.400000 9.990010e-001 8 | -14.300000 9.990010e-001 9 | -14.200000 9.990010e-001 10 | -14.100000 9.980040e-001 11 | -14.000000 9.950249e-001 12 | -13.900000 9.970090e-001 13 | -13.800000 9.970090e-001 14 | -13.700000 9.950249e-001 15 | -13.600000 9.900990e-001 16 | -13.500000 9.960159e-001 17 | -13.400000 9.920635e-001 18 | -13.300000 9.881423e-001 19 | -13.200000 9.794319e-001 20 | -13.100000 9.861933e-001 21 | -13.000000 9.871668e-001 22 | -12.900000 9.803922e-001 23 | -12.800000 9.718173e-001 24 | -12.700000 9.813543e-001 25 | -12.600000 9.652510e-001 26 | -12.500000 9.624639e-001 27 | -12.400000 9.469697e-001 28 | -12.300000 9.363296e-001 29 | -12.200000 9.425071e-001 30 | -12.100000 9.250694e-001 31 | -12.000000 9.174312e-001 32 | -11.900000 8.833922e-001 33 | -11.800000 8.718396e-001 34 | -11.700000 8.635579e-001 35 | -11.600000 8.680556e-001 36 | -11.500000 8.375209e-001 37 | -11.400000 8.097166e-001 38 | -11.300000 7.662835e-001 39 | -11.200000 7.581501e-001 40 | -11.100000 7.336757e-001 41 | -11.000000 6.983240e-001 42 | -10.900000 6.684492e-001 43 | -10.800000 6.439150e-001 44 | -10.700000 6.215040e-001 45 | -10.600000 5.727377e-001 46 | -10.500000 5.316321e-001 47 | -10.400000 5.065856e-001 48 | -10.300000 4.849661e-001 49 | -10.200000 4.349717e-001 50 | -10.100000 3.955696e-001 51 | -10.000000 3.552398e-001 52 | -9.900000 3.226847e-001 53 | -9.800000 3.135779e-001 54 | -9.700000 2.527806e-001 55 | -9.600000 2.289377e-001 56 | -9.500000 1.898975e-001 57 | -9.400000 1.744592e-001 58 | -9.300000 1.506932e-001 59 | -9.200000 1.271941e-001 60 | -9.100000 1.047998e-001 61 | -9.000000 8.324315e-002 62 | -8.900000 7.535227e-002 63 | -8.800000 5.720497e-002 64 | -8.700000 5.035500e-002 65 | -8.600000 3.557833e-002 66 | -8.500000 2.927658e-002 67 | -8.400000 2.426654e-002 68 | -8.300000 1.762829e-002 69 | -8.200000 1.361304e-002 70 | -8.100000 9.768582e-003 71 | -8.000000 7.774962e-003 72 | -7.900000 5.758113e-003 73 | -7.800000 3.729339e-003 74 | -7.700000 2.687305e-003 75 | -7.600000 1.830938e-003 76 | -7.500000 1.290306e-003 77 | -7.400000 8.522396e-004 78 | -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_1_1_1000_0.txt: -------------------------------------------------------------------------------- 1 | -15.000000 1.000000e+000 2 | -14.900000 1.000000e+000 3 | -14.800000 1.000000e+000 4 | -14.700000 1.000000e+000 5 | -14.600000 1.000000e+000 6 | -14.500000 1.000000e+000 7 | -14.400000 9.990010e-001 8 | -14.300000 1.000000e+000 9 | -14.200000 1.000000e+000 10 | -14.100000 1.000000e+000 11 | -14.000000 9.990010e-001 12 | -13.900000 9.990010e-001 13 | -13.800000 1.000000e+000 14 | -13.700000 1.000000e+000 15 | -13.600000 9.990010e-001 16 | -13.500000 1.000000e+000 17 | -13.400000 9.990010e-001 18 | -13.300000 9.990010e-001 19 | -13.200000 9.990010e-001 20 | -13.100000 9.990010e-001 21 | -13.000000 1.000000e+000 22 | -12.900000 1.000000e+000 23 | -12.800000 1.000000e+000 24 | -12.700000 9.970090e-001 25 | -12.600000 1.000000e+000 26 | -12.500000 9.970090e-001 27 | -12.400000 9.980040e-001 28 | -12.300000 9.940358e-001 29 | -12.200000 9.940358e-001 30 | -12.100000 9.920635e-001 31 | -12.000000 9.920635e-001 32 | -11.900000 9.930487e-001 33 | -11.800000 9.900990e-001 34 | -11.700000 9.881423e-001 35 | -11.600000 9.784736e-001 36 | -11.500000 9.852217e-001 37 | -11.400000 9.737098e-001 38 | -11.300000 9.680542e-001 39 | -11.200000 9.643202e-001 40 | -11.100000 9.624639e-001 41 | -11.000000 9.532888e-001 42 | -10.900000 9.380863e-001 43 | -10.800000 9.469697e-001 44 | -10.700000 9.149131e-001 45 | -10.600000 9.216590e-001 46 | -10.500000 9.009009e-001 47 | -10.400000 8.968610e-001 48 | -10.300000 8.865248e-001 49 | -10.200000 8.665511e-001 50 | -10.100000 8.613264e-001 51 | -10.000000 8.077544e-001 52 | -9.900000 7.987220e-001 53 | -9.800000 7.843137e-001 54 | -9.700000 7.770008e-001 55 | -9.600000 7.610350e-001 56 | -9.500000 7.336757e-001 57 | -9.400000 6.858711e-001 58 | -9.300000 7.017544e-001 59 | -9.200000 6.540222e-001 60 | -9.100000 6.345178e-001 61 | -9.000000 5.882353e-001 62 | -8.900000 5.595971e-001 63 | -8.800000 5.194805e-001 64 | -8.700000 4.730369e-001 65 | -8.600000 4.668534e-001 66 | -8.500000 4.180602e-001 67 | -8.400000 3.907776e-001 68 | -8.300000 3.465003e-001 69 | -8.200000 3.233107e-001 70 | -8.100000 2.983294e-001 71 | -8.000000 2.740477e-001 72 | -7.900000 2.447980e-001 73 | -7.800000 2.171553e-001 74 | -7.700000 1.902950e-001 75 | -7.600000 1.716444e-001 76 | -7.500000 1.534684e-001 77 | -7.400000 1.332090e-001 78 | -7.300000 1.115449e-001 79 | -7.200000 1.019368e-001 80 | -7.100000 7.963051e-002 81 | -7.000000 7.349699e-002 82 | -6.900000 6.155361e-002 83 | -6.800000 5.150922e-002 84 | -6.700000 4.110659e-002 85 | -6.600000 3.499318e-002 86 | -6.500000 2.920305e-002 87 | -6.400000 2.402864e-002 88 | -6.300000 1.981257e-002 89 | -6.200000 1.594337e-002 90 | -6.100000 1.228109e-002 91 | -6.000000 1.016622e-002 92 | -5.900000 7.454898e-003 93 | -5.800000 5.834510e-003 94 | -5.700000 4.491556e-003 95 | -5.600000 3.442376e-003 96 | -5.500000 2.668175e-003 97 | -5.400000 2.047481e-003 98 | -5.300000 1.505550e-003 99 | -5.200000 1.116738e-003 100 | -5.100000 8.406314e-004 101 | -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_2_1_1000_0.txt: -------------------------------------------------------------------------------- 1 | -15.000000 1.000000e+000 2 | -14.900000 1.000000e+000 3 | -14.800000 1.000000e+000 4 | -14.700000 1.000000e+000 5 | -14.600000 1.000000e+000 6 | -14.500000 1.000000e+000 7 | -14.400000 1.000000e+000 8 | -14.300000 1.000000e+000 9 | -14.200000 1.000000e+000 10 | -14.100000 1.000000e+000 11 | -14.000000 9.990010e-001 12 | -13.900000 9.990010e-001 13 | -13.800000 9.990010e-001 14 | -13.700000 9.990010e-001 15 | -13.600000 9.960159e-001 16 | -13.500000 1.000000e+000 17 | -13.400000 9.990010e-001 18 | -13.300000 9.980040e-001 19 | -13.200000 9.950249e-001 20 | -13.100000 9.960159e-001 21 | -13.000000 9.980040e-001 22 | -12.900000 9.980040e-001 23 | -12.800000 9.970090e-001 24 | -12.700000 9.940358e-001 25 | -12.600000 9.920635e-001 26 | -12.500000 9.900990e-001 27 | -12.400000 9.852217e-001 28 | -12.300000 9.813543e-001 29 | -12.200000 9.823183e-001 30 | -12.100000 9.765625e-001 31 | -12.000000 9.794319e-001 32 | -11.900000 9.775171e-001 33 | -11.800000 9.652510e-001 34 | -11.700000 9.643202e-001 35 | -11.600000 9.505703e-001 36 | -11.500000 9.505703e-001 37 | -11.400000 9.372071e-001 38 | -11.300000 9.293680e-001 39 | -11.200000 9.090909e-001 40 | -11.100000 8.920607e-001 41 | -11.000000 8.849558e-001 42 | -10.900000 8.605852e-001 43 | -10.800000 8.726003e-001 44 | -10.700000 8.496177e-001 45 | -10.600000 8.244023e-001 46 | -10.500000 8.032129e-001 47 | -10.400000 7.662835e-001 48 | -10.300000 7.547170e-001 49 | -10.200000 7.122507e-001 50 | -10.100000 6.821282e-001 51 | -10.000000 6.877579e-001 52 | -9.900000 6.644518e-001 53 | -9.800000 6.191950e-001 54 | -9.700000 5.727377e-001 55 | -9.600000 5.330490e-001 56 | -9.500000 5.040323e-001 57 | -9.400000 4.840271e-001 58 | -9.300000 4.330879e-001 59 | -9.200000 4.199916e-001 60 | -9.100000 3.654971e-001 61 | -9.000000 3.327787e-001 62 | -8.900000 3.094059e-001 63 | -8.800000 2.632272e-001 64 | -8.700000 2.400384e-001 65 | -8.600000 2.214839e-001 66 | -8.500000 1.929012e-001 67 | -8.400000 1.671123e-001 68 | -8.300000 1.398015e-001 69 | -8.200000 1.265022e-001 70 | -8.100000 1.043841e-001 71 | -8.000000 8.798170e-002 72 | -7.900000 7.274314e-002 73 | -7.800000 6.455361e-002 74 | -7.700000 4.988278e-002 75 | -7.600000 4.091318e-002 76 | -7.500000 3.226951e-002 77 | -7.400000 2.753759e-002 78 | -7.300000 2.123593e-002 79 | -7.200000 1.669784e-002 80 | -7.100000 1.332108e-002 81 | -7.000000 1.043667e-002 82 | -6.900000 7.407517e-003 83 | -6.800000 5.882422e-003 84 | -6.700000 4.360338e-003 85 | -6.600000 3.293786e-003 86 | -6.500000 2.309906e-003 87 | -6.400000 1.839436e-003 88 | -6.300000 1.191102e-003 89 | -6.200000 8.927551e-004 90 | -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_32_1_1000_0.txt: -------------------------------------------------------------------------------- 1 | -15.000000 1.000000e+000 2 | -14.900000 1.000000e+000 3 | -14.800000 1.000000e+000 4 | -14.700000 9.980040e-001 5 | -14.600000 9.990010e-001 6 | -14.500000 9.980040e-001 7 | -14.400000 9.990010e-001 8 | -14.300000 9.980040e-001 9 | -14.200000 9.970090e-001 10 | -14.100000 9.990010e-001 11 | -14.000000 9.940358e-001 12 | -13.900000 9.950249e-001 13 | -13.800000 9.970090e-001 14 | -13.700000 9.940358e-001 15 | -13.600000 9.891197e-001 16 | -13.500000 9.920635e-001 17 | -13.400000 9.900990e-001 18 | -13.300000 9.881423e-001 19 | -13.200000 9.803922e-001 20 | -13.100000 9.823183e-001 21 | -13.000000 9.861933e-001 22 | -12.900000 9.775171e-001 23 | -12.800000 9.737098e-001 24 | -12.700000 9.784736e-001 25 | -12.600000 9.596929e-001 26 | -12.500000 9.551098e-001 27 | -12.400000 9.442871e-001 28 | -12.300000 9.302326e-001 29 | -12.200000 9.233610e-001 30 | -12.100000 9.199632e-001 31 | -12.000000 9.099181e-001 32 | -11.900000 8.733624e-001 33 | -11.800000 8.643042e-001 34 | -11.700000 8.554320e-001 35 | -11.600000 8.598452e-001 36 | -11.500000 8.285004e-001 37 | -11.400000 7.880221e-001 38 | -11.300000 7.429421e-001 39 | -11.200000 7.418398e-001 40 | -11.100000 7.037298e-001 41 | -11.000000 6.793478e-001 42 | -10.900000 6.596306e-001 43 | -10.800000 6.207325e-001 44 | -10.700000 5.797101e-001 45 | -10.600000 5.537099e-001 46 | -10.500000 5.073567e-001 47 | -10.400000 4.852014e-001 48 | -10.300000 4.444444e-001 49 | -10.200000 3.984064e-001 50 | -10.100000 3.723008e-001 51 | -10.000000 3.341129e-001 52 | -9.900000 2.974420e-001 53 | -9.800000 2.693240e-001 54 | -9.700000 2.338634e-001 55 | -9.600000 2.000400e-001 56 | -9.500000 1.730104e-001 57 | -9.400000 1.598977e-001 58 | -9.300000 1.276650e-001 59 | -9.200000 1.063830e-001 60 | -9.100000 8.925384e-002 61 | -9.000000 7.692899e-002 62 | -8.900000 5.995204e-002 63 | -8.800000 5.206164e-002 64 | -8.700000 3.810250e-002 65 | -8.600000 3.116041e-002 66 | -8.500000 2.362447e-002 67 | -8.400000 1.914205e-002 68 | -8.300000 1.429041e-002 69 | -8.200000 1.065712e-002 70 | -8.100000 8.070764e-003 71 | -8.000000 5.924416e-003 72 | -7.900000 3.908861e-003 73 | -7.800000 3.104260e-003 74 | -7.700000 2.036697e-003 75 | -7.600000 1.364232e-003 76 | -7.500000 9.793303e-004 77 | -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_4_1_1000_0.txt: -------------------------------------------------------------------------------- 1 | -15.000000 1.000000e+000 2 | -14.900000 9.990010e-001 3 | -14.800000 1.000000e+000 4 | -14.700000 1.000000e+000 5 | -14.600000 9.990010e-001 6 | -14.500000 1.000000e+000 7 | -14.400000 9.990010e-001 8 | -14.300000 1.000000e+000 9 | -14.200000 1.000000e+000 10 | -14.100000 1.000000e+000 11 | -14.000000 9.990010e-001 12 | -13.900000 9.990010e-001 13 | -13.800000 9.980040e-001 14 | -13.700000 9.980040e-001 15 | -13.600000 9.930487e-001 16 | -13.500000 9.980040e-001 17 | -13.400000 9.980040e-001 18 | -13.300000 9.900990e-001 19 | -13.200000 9.900990e-001 20 | -13.100000 9.960159e-001 21 | -13.000000 9.940358e-001 22 | -12.900000 9.930487e-001 23 | -12.800000 9.900990e-001 24 | -12.700000 9.852217e-001 25 | -12.600000 9.842520e-001 26 | -12.500000 9.794319e-001 27 | -12.400000 9.727626e-001 28 | -12.300000 9.624639e-001 29 | -12.200000 9.671180e-001 30 | -12.100000 9.587728e-001 31 | -12.000000 9.652510e-001 32 | -11.900000 9.514748e-001 33 | -11.800000 9.276438e-001 34 | -11.700000 9.216590e-001 35 | -11.600000 9.242144e-001 36 | -11.500000 9.208103e-001 37 | -11.400000 8.936550e-001 38 | -11.300000 8.680556e-001 39 | -11.200000 8.496177e-001 40 | -11.100000 8.417508e-001 41 | -11.000000 8.130081e-001 42 | -10.900000 7.942812e-001 43 | -10.800000 7.680492e-001 44 | -10.700000 7.541478e-001 45 | -10.600000 7.331378e-001 46 | -10.500000 6.821282e-001 47 | -10.400000 6.711409e-001 48 | -10.300000 6.169031e-001 49 | -10.200000 5.948840e-001 50 | -10.100000 5.892752e-001 51 | -10.000000 5.367687e-001 52 | -9.900000 4.909180e-001 53 | -9.800000 4.616805e-001 54 | -9.700000 4.194631e-001 55 | -9.600000 3.906250e-001 56 | -9.500000 3.621876e-001 57 | -9.400000 3.209243e-001 58 | -9.300000 2.864509e-001 59 | -9.200000 2.581978e-001 60 | -9.100000 2.244165e-001 61 | -9.000000 2.001601e-001 62 | -8.900000 1.772107e-001 63 | -8.800000 1.558118e-001 64 | -8.700000 1.218324e-001 65 | -8.600000 1.112595e-001 66 | -8.500000 9.072764e-002 67 | -8.400000 7.584951e-002 68 | -8.300000 6.299609e-002 69 | -8.200000 5.217573e-002 70 | -8.100000 4.236570e-002 71 | -8.000000 3.214194e-002 72 | -7.900000 2.558461e-002 73 | -7.800000 2.111754e-002 74 | -7.700000 1.594286e-002 75 | -7.600000 1.287283e-002 76 | -7.500000 9.488836e-003 77 | -7.400000 6.938518e-003 78 | -7.300000 5.293330e-003 79 | -7.200000 3.651047e-003 80 | -7.100000 2.773910e-003 81 | -7.000000 1.836294e-003 82 | -6.900000 1.357613e-003 83 | -6.800000 8.937517e-004 84 | -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_8_1_1000_0.txt: -------------------------------------------------------------------------------- 1 | -15.000000 1.000000e+000 2 | -14.900000 9.990010e-001 3 | -14.800000 1.000000e+000 4 | -14.700000 9.990010e-001 5 | -14.600000 9.990010e-001 6 | -14.500000 1.000000e+000 7 | -14.400000 9.990010e-001 8 | -14.300000 9.990010e-001 9 | -14.200000 1.000000e+000 10 | -14.100000 9.960159e-001 11 | -14.000000 9.960159e-001 12 | -13.900000 9.990010e-001 13 | -13.800000 9.970090e-001 14 | -13.700000 9.950249e-001 15 | -13.600000 9.920635e-001 16 | -13.500000 9.970090e-001 17 | -13.400000 9.950249e-001 18 | -13.300000 9.891197e-001 19 | -13.200000 9.861933e-001 20 | -13.100000 9.891197e-001 21 | -13.000000 9.891197e-001 22 | -12.900000 9.871668e-001 23 | -12.800000 9.756098e-001 24 | -12.700000 9.803922e-001 25 | -12.600000 9.746589e-001 26 | -12.500000 9.708738e-001 27 | -12.400000 9.560229e-001 28 | -12.300000 9.469697e-001 29 | -12.200000 9.478673e-001 30 | -12.100000 9.372071e-001 31 | -12.000000 9.372071e-001 32 | -11.900000 9.132420e-001 33 | -11.800000 9.082652e-001 34 | -11.700000 8.841733e-001 35 | -11.600000 8.960573e-001 36 | -11.500000 8.688097e-001 37 | -11.400000 8.361204e-001 38 | -11.300000 8.257638e-001 39 | -11.200000 7.739938e-001 40 | -11.100000 7.855460e-001 41 | -11.000000 7.278020e-001 42 | -10.900000 7.283321e-001 43 | -10.800000 7.047216e-001 44 | -10.700000 6.662225e-001 45 | -10.600000 6.207325e-001 46 | -10.500000 6.013229e-001 47 | -10.400000 5.558644e-001 48 | -10.300000 5.443658e-001 49 | -10.200000 5.022602e-001 50 | -10.100000 4.524887e-001 51 | -10.000000 4.271679e-001 52 | -9.900000 3.813883e-001 53 | -9.800000 3.481894e-001 54 | -9.700000 3.201024e-001 55 | -9.600000 2.858776e-001 56 | -9.500000 2.498126e-001 57 | -9.400000 2.133561e-001 58 | -9.300000 1.869159e-001 59 | -9.200000 1.710571e-001 60 | -9.100000 1.495215e-001 61 | -9.000000 1.209921e-001 62 | -8.900000 1.007252e-001 63 | -8.800000 8.489685e-002 64 | -8.700000 7.049203e-002 65 | -8.600000 5.730659e-002 66 | -8.500000 4.690432e-002 67 | -8.400000 3.555556e-002 68 | -8.300000 3.016409e-002 69 | -8.200000 2.388630e-002 70 | -8.100000 1.722890e-002 71 | -8.000000 1.386616e-002 72 | -7.900000 9.880642e-003 73 | -7.800000 7.845537e-003 74 | -7.700000 5.703043e-003 75 | -7.600000 3.842740e-003 76 | -7.500000 2.768480e-003 77 | -7.400000 1.912982e-003 78 | -7.300000 1.336898e-003 79 | -7.200000 8.664077e-004 80 | -------------------------------------------------------------------------------- /results/BLER_vs_SNR_PBCH_32_864_cap.txt: -------------------------------------------------------------------------------- 1 | -9.512459 1.000000e-01 2 | -9.493219 9.549926e-02 3 | -9.474125 9.120108e-02 4 | -9.455175 8.709636e-02 5 | -9.436372 8.317638e-02 6 | -9.417713 7.943282e-02 7 | -9.399199 7.585776e-02 8 | -9.380829 7.244360e-02 9 | -9.362603 6.918310e-02 10 | -9.344520 6.606934e-02 11 | -9.326578 6.309573e-02 12 | -9.308777 6.025596e-02 13 | -9.291115 5.754399e-02 14 | -9.273592 5.495409e-02 15 | -9.256207 5.248075e-02 16 | -9.238957 5.011872e-02 17 | -9.221842 4.786301e-02 18 | -9.204860 4.570882e-02 19 | -9.188010 4.365158e-02 20 | -9.171290 4.168694e-02 21 | -9.154699 3.981072e-02 22 | -9.138236 3.801894e-02 23 | -9.121899 3.630781e-02 24 | -9.105687 3.467369e-02 25 | -9.089598 3.311311e-02 26 | -9.073630 3.162278e-02 27 | -9.057782 3.019952e-02 28 | -9.042053 2.884032e-02 29 | -9.026441 2.754229e-02 30 | -9.010945 2.630268e-02 31 | -8.995562 2.511886e-02 32 | -8.980293 2.398833e-02 33 | -8.965135 2.290868e-02 34 | -8.950086 2.187762e-02 35 | -8.935146 2.089296e-02 36 | -8.920312 1.995262e-02 37 | -8.905585 1.905461e-02 38 | -8.890961 1.819701e-02 39 | -8.876440 1.737801e-02 40 | -8.862021 1.659587e-02 41 | -8.847701 1.584893e-02 42 | -8.833481 1.513561e-02 43 | -8.819358 1.445440e-02 44 | -8.805331 1.380384e-02 45 | -8.791399 1.318257e-02 46 | -8.777560 1.258925e-02 47 | -8.763814 1.202264e-02 48 | -8.750160 1.148154e-02 49 | -8.736595 1.096478e-02 50 | -8.723119 1.047129e-02 51 | -8.709731 1.000000e-02 52 | -8.696430 9.549926e-03 53 | -8.683213 9.120108e-03 54 | -8.670082 8.709636e-03 55 | -8.657033 8.317638e-03 56 | -8.644067 7.943282e-03 57 | -8.631182 7.585776e-03 58 | -8.618376 7.244360e-03 59 | -8.605650 6.918310e-03 60 | -8.593003 6.606934e-03 61 | -8.580432 6.309573e-03 62 | -8.567937 6.025596e-03 63 | -8.555518 5.754399e-03 64 | -8.543172 5.495409e-03 65 | -8.530901 5.248075e-03 66 | -8.518701 5.011872e-03 67 | -8.506573 4.786301e-03 68 | -8.494516 4.570882e-03 69 | -8.482529 4.365158e-03 70 | -8.470610 4.168694e-03 71 | -8.458760 3.981072e-03 72 | -8.446977 3.801894e-03 73 | -8.435260 3.630781e-03 74 | -8.423610 3.467369e-03 75 | -8.412024 3.311311e-03 76 | -8.400502 3.162278e-03 77 | -8.389044 3.019952e-03 78 | -8.377648 2.884032e-03 79 | -8.366315 2.754229e-03 80 | -8.355042 2.630268e-03 81 | -8.343831 2.511886e-03 82 | -8.332679 2.398833e-03 83 | -8.321586 2.290868e-03 84 | -8.310552 2.187762e-03 85 | -8.299575 2.089296e-03 86 | -8.288656 1.995262e-03 87 | -8.277793 1.905461e-03 88 | -8.266987 1.819701e-03 89 | -8.256235 1.737801e-03 90 | -8.245538 1.659587e-03 91 | -8.234896 1.584893e-03 92 | -8.224307 1.513561e-03 93 | -8.213771 1.445440e-03 94 | -8.203287 1.380384e-03 95 | -8.192855 1.318257e-03 96 | -8.182474 1.258925e-03 97 | -8.172144 1.202264e-03 98 | -8.161864 1.148154e-03 99 | -8.151634 1.096478e-03 100 | -8.141453 1.047129e-03 101 | -8.131320 1.000000e-03 102 | -------------------------------------------------------------------------------- /results/PBCH.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/results/PBCH.fig -------------------------------------------------------------------------------- /results/PBCH.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | -12-11-10-9-8-7-6-5Es/N0 [dB]10-310-210-1100BLERPBCH polar code, A = 32, E = 864, minsum = 1, errors = 1000, QPSK, AWGNL=1L=2L=4L=8L=16L=32capacity 294 | -------------------------------------------------------------------------------- /results/PDCCH.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/results/PDCCH.fig -------------------------------------------------------------------------------- /results/PUCCH.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robmaunder/polar-3gpp-matlab/ca941039d72652a8c75b82caf096d1c96dd6807c/results/PUCCH.fig -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_108_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 0.103825 2 | 9 0.205969 3 | 10 0.389735 4 | 11 0.425164 5 | 12 0.526864 6 | 13 0.639863 7 | 14 0.816268 8 | 15 0.961651 9 | 16 1.115009 10 | 18 1.348408 11 | 20 1.571566 12 | 22 1.839693 13 | 24 2.077405 14 | 26 2.200561 15 | 28 2.424759 16 | 30 2.666391 17 | 32 2.852853 18 | 36 3.251515 19 | 40 3.663775 20 | 44 4.131726 21 | 48 4.454718 22 | 52 4.884045 23 | 56 5.259011 24 | 60 5.678069 25 | 64 6.151688 26 | 72 7.223625 27 | 80 8.687837 28 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_108_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 0.188498 2 | 9 0.214359 3 | 10 0.452150 4 | 11 0.509489 5 | 12 0.627217 6 | 13 0.742369 7 | 14 0.900316 8 | 15 1.038956 9 | 16 1.196014 10 | 18 1.469057 11 | 20 1.731136 12 | 22 2.033133 13 | 24 2.215358 14 | 26 2.457776 15 | 28 2.550882 16 | 30 2.832406 17 | 32 3.087482 18 | 36 3.391389 19 | 40 3.846279 20 | 44 4.219976 21 | 48 4.566170 22 | 52 5.058961 23 | 56 5.390799 24 | 60 5.779942 25 | 64 6.193220 26 | 72 7.341387 27 | 80 8.686512 28 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_108_cap.txt: -------------------------------------------------------------------------------- 1 | 1 -1.671186 2 | 2 -1.501521 3 | 3 -1.336884 4 | 4 -1.176868 5 | 5 -1.021110 6 | 6 -0.869285 7 | 7 -0.721102 8 | 8 -0.576297 9 | 9 -0.434630 10 | 10 -0.295885 11 | 11 -0.159861 12 | 12 -0.026378 13 | 13 0.104734 14 | 14 0.233629 15 | 15 0.360451 16 | 16 0.485333 17 | 18 0.729765 18 | 20 0.967828 19 | 22 1.200318 20 | 24 1.427946 21 | 26 1.651357 22 | 28 1.871139 23 | 30 2.087839 24 | 32 2.301967 25 | 36 2.724440 26 | 40 3.142276 27 | 44 3.559135 28 | 48 3.978837 29 | 52 4.405639 30 | 56 4.844595 31 | 60 5.302113 32 | 64 5.786885 33 | 72 6.896669 34 | 80 8.435841 35 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_1728_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -12.295116 2 | 9 -12.214830 3 | 10 -12.143431 4 | 11 -12.088518 5 | 12 -12.043524 6 | 13 -11.962204 7 | 14 -11.877015 8 | 15 -11.649747 9 | 16 -11.481255 10 | 18 -11.422562 11 | 20 -11.246417 12 | 22 -11.026451 13 | 24 -10.869748 14 | 26 -10.645841 15 | 28 -10.612247 16 | 30 -10.508387 17 | 32 -10.367406 18 | 36 -10.043942 19 | 40 -9.765002 20 | 44 -9.471636 21 | 48 -9.231773 22 | 52 -9.055243 23 | 56 -8.797743 24 | 60 -8.636589 25 | 64 -8.337544 26 | 72 -7.961904 27 | 80 -7.638516 28 | 88 -7.295527 29 | 96 -7.024645 30 | 104 -6.720503 31 | 112 -6.447609 32 | 120 -6.162137 33 | 128 -5.878854 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_1728_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -12.204736 2 | 9 -12.182244 3 | 10 -12.123525 4 | 11 -12.066440 5 | 12 -11.913146 6 | 13 -11.868848 7 | 14 -11.703065 8 | 15 -11.552555 9 | 16 -11.449056 10 | 18 -11.308701 11 | 20 -11.135568 12 | 22 -10.885639 13 | 24 -10.723985 14 | 26 -10.587328 15 | 28 -10.449168 16 | 30 -10.256807 17 | 32 -10.155742 18 | 36 -9.799087 19 | 40 -9.615097 20 | 44 -9.309198 21 | 48 -9.118946 22 | 52 -8.911219 23 | 56 -8.675512 24 | 60 -8.398291 25 | 64 -8.223195 26 | 72 -7.827624 27 | 80 -7.500995 28 | 88 -7.201743 29 | 96 -6.843037 30 | 104 -6.542533 31 | 112 -6.253215 32 | 120 -6.008967 33 | 128 -5.765941 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_1728_cap.txt: -------------------------------------------------------------------------------- 1 | 1 -14.123551 2 | 2 -13.983782 3 | 3 -13.849261 4 | 4 -13.719587 5 | 5 -13.594405 6 | 6 -13.473398 7 | 7 -13.356282 8 | 8 -13.242801 9 | 9 -13.132723 10 | 10 -13.025840 11 | 11 -12.921962 12 | 12 -12.820913 13 | 13 -12.722537 14 | 14 -12.626687 15 | 15 -12.533229 16 | 16 -12.442040 17 | 18 -12.266022 18 | 20 -12.097821 19 | 22 -11.936732 20 | 24 -11.782145 21 | 26 -11.633527 22 | 28 -11.490408 23 | 30 -11.352371 24 | 32 -11.219047 25 | 36 -10.965252 26 | 40 -10.726760 27 | 44 -10.501728 28 | 48 -10.288628 29 | 52 -10.086184 30 | 56 -9.893313 31 | 60 -9.709095 32 | 64 -9.532735 33 | 72 -9.200925 34 | 80 -8.893349 35 | 88 -8.606473 36 | 96 -8.337492 37 | 104 -8.084139 38 | 112 -7.844557 39 | 120 -7.617201 40 | 128 -7.400778 41 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_216_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -3.159643 2 | 9 -3.101384 3 | 10 -3.046718 4 | 11 -2.981935 5 | 12 -2.894470 6 | 13 -2.735226 7 | 14 -2.644584 8 | 15 -2.557950 9 | 16 -2.440084 10 | 18 -2.211774 11 | 20 -1.973749 12 | 22 -1.882106 13 | 24 -1.595620 14 | 26 -1.466753 15 | 28 -1.298515 16 | 30 -1.160397 17 | 32 -0.952257 18 | 36 -0.613466 19 | 40 -0.322540 20 | 44 0.022446 21 | 48 0.320254 22 | 52 0.580674 23 | 56 0.816640 24 | 60 1.151039 25 | 64 1.353771 26 | 72 1.815022 27 | 80 2.217287 28 | 88 2.653687 29 | 96 3.065706 30 | 104 3.507433 31 | 112 3.893204 32 | 120 4.280793 33 | 128 4.684302 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_216_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -3.101443 2 | 9 -3.000860 3 | 10 -3.000551 4 | 11 -2.901790 5 | 12 -2.717483 6 | 13 -2.673977 7 | 14 -2.461690 8 | 15 -2.315546 9 | 16 -2.260205 10 | 18 -2.123388 11 | 20 -1.695425 12 | 22 -1.623952 13 | 24 -1.476523 14 | 26 -1.249736 15 | 28 -1.119077 16 | 30 -0.906980 17 | 32 -0.771178 18 | 36 -0.450834 19 | 40 -0.115279 20 | 44 0.185456 21 | 48 0.531190 22 | 52 0.696676 23 | 56 1.025936 24 | 60 1.333438 25 | 64 1.551464 26 | 72 2.030520 27 | 80 2.401693 28 | 88 2.847528 29 | 96 3.254766 30 | 104 3.694025 31 | 112 4.035144 32 | 120 4.467757 33 | 128 4.873992 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_216_cap.txt: -------------------------------------------------------------------------------- 1 | 1 -4.919606 2 | 2 -4.766850 3 | 3 -4.619302 4 | 4 -4.476560 5 | 5 -4.338269 6 | 6 -4.204113 7 | 7 -4.073805 8 | 8 -3.947089 9 | 9 -3.823735 10 | 10 -3.703532 11 | 11 -3.586289 12 | 12 -3.471832 13 | 13 -3.360001 14 | 14 -3.250651 15 | 15 -3.143647 16 | 16 -3.038864 17 | 18 -2.835514 18 | 20 -2.639781 19 | 22 -2.450956 20 | 24 -2.268422 21 | 26 -2.091637 22 | 28 -1.920126 23 | 30 -1.753466 24 | 32 -1.591278 25 | 36 -1.279004 26 | 40 -0.980981 27 | 44 -0.695298 28 | 48 -0.420358 29 | 52 -0.154807 30 | 56 0.102514 31 | 60 0.352614 32 | 64 0.596379 33 | 72 1.067970 34 | 80 1.522723 35 | 88 1.965240 36 | 96 2.399619 37 | 104 2.829715 38 | 112 3.259378 39 | 120 3.692704 40 | 128 4.134341 41 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_432_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -6.238259 2 | 9 -6.246491 3 | 10 -6.119727 4 | 11 -6.048778 5 | 12 -6.050222 6 | 13 -5.992115 7 | 14 -5.771262 8 | 15 -5.635716 9 | 16 -5.461928 10 | 18 -5.390111 11 | 20 -5.213351 12 | 22 -5.002000 13 | 24 -4.784182 14 | 26 -4.647516 15 | 28 -4.553140 16 | 30 -4.410247 17 | 32 -4.286916 18 | 36 -3.997155 19 | 40 -3.711714 20 | 44 -3.393043 21 | 48 -3.200486 22 | 52 -2.982416 23 | 56 -2.754700 24 | 60 -2.519834 25 | 64 -2.265454 26 | 72 -1.873681 27 | 80 -1.542737 28 | 88 -1.130578 29 | 96 -0.832289 30 | 104 -0.528002 31 | 112 -0.230483 32 | 120 0.066796 33 | 128 0.320481 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_432_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -6.190352 2 | 9 -6.144455 3 | 10 -6.076209 4 | 11 -6.001584 5 | 12 -5.910674 6 | 13 -5.810602 7 | 14 -5.643580 8 | 15 -5.544916 9 | 16 -5.419019 10 | 18 -5.256550 11 | 20 -5.050358 12 | 22 -4.882986 13 | 24 -4.676485 14 | 26 -4.494720 15 | 28 -4.377323 16 | 30 -4.137070 17 | 32 -4.078041 18 | 36 -3.729254 19 | 40 -3.489148 20 | 44 -3.199125 21 | 48 -3.008995 22 | 52 -2.781545 23 | 56 -2.567771 24 | 60 -2.344401 25 | 64 -2.141623 26 | 72 -1.721419 27 | 80 -1.358705 28 | 88 -0.963499 29 | 96 -0.653455 30 | 104 -0.341134 31 | 112 -0.072840 32 | 120 0.267746 33 | 128 0.474568 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_432_cap.txt: -------------------------------------------------------------------------------- 1 | 1 -8.033891 2 | 2 -7.888745 3 | 3 -7.748837 4 | 4 -7.613765 5 | 5 -7.483176 6 | 6 -7.356752 7 | 7 -7.234210 8 | 9 -6.999770 9 | 10 -6.887432 10 | 11 -6.778090 11 | 12 -6.671569 12 | 13 -6.567711 13 | 14 -6.466371 14 | 15 -6.367413 15 | 16 -6.270716 16 | 18 -6.083655 17 | 20 -5.904374 18 | 22 -5.732169 19 | 24 -5.566430 20 | 26 -5.406623 21 | 28 -5.252276 22 | 30 -5.102974 23 | 32 -4.958347 24 | 36 -4.681825 25 | 40 -4.420445 26 | 44 -4.172357 27 | 48 -3.936028 28 | 52 -3.710174 29 | 56 -3.493709 30 | 60 -3.285704 31 | 64 -3.085360 32 | 72 -2.704960 33 | 80 -2.347920 34 | 88 -2.010649 35 | 96 -1.690283 36 | 104 -1.384491 37 | 112 -1.091350 38 | 120 -0.809245 39 | 128 -0.536806 40 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_864_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -9.252285 2 | 9 -9.220358 3 | 10 -9.099063 4 | 11 -9.065977 5 | 12 -8.988680 6 | 13 -8.948290 7 | 14 -8.787497 8 | 15 -8.657787 9 | 16 -8.491407 10 | 18 -8.412996 11 | 20 -8.254580 12 | 22 -7.998266 13 | 24 -7.821948 14 | 26 -7.650491 15 | 28 -7.587313 16 | 30 -7.504629 17 | 32 -7.283875 18 | 36 -7.024925 19 | 40 -6.712254 20 | 44 -6.460450 21 | 48 -6.249352 22 | 52 -6.023363 23 | 56 -5.788273 24 | 60 -5.600672 25 | 64 -5.368678 26 | 72 -4.933158 27 | 80 -4.570172 28 | 88 -4.281486 29 | 96 -3.969316 30 | 104 -3.656166 31 | 112 -3.385839 32 | 120 -3.077680 33 | 128 -2.838606 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_864_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 8 -9.223123 2 | 9 -9.166073 3 | 10 -9.109408 4 | 11 -8.982661 5 | 12 -8.988474 6 | 13 -8.815015 7 | 14 -8.703265 8 | 15 -8.599625 9 | 16 -8.440510 10 | 18 -8.287824 11 | 20 -8.177402 12 | 22 -7.887884 13 | 24 -7.731801 14 | 26 -7.502391 15 | 28 -7.461171 16 | 30 -7.233775 17 | 32 -7.107359 18 | 36 -6.750306 19 | 40 -6.543914 20 | 44 -6.241251 21 | 48 -6.052006 22 | 52 -5.834597 23 | 56 -5.636802 24 | 60 -5.393690 25 | 64 -5.215466 26 | 72 -4.783509 27 | 80 -4.459185 28 | 88 -4.145954 29 | 96 -3.795297 30 | 104 -3.475486 31 | 112 -3.187464 32 | 120 -2.912043 33 | 128 -2.703281 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PDCCH_0.001_864_cap.txt: -------------------------------------------------------------------------------- 1 | 1 -11.091288 2 | 2 -10.949762 3 | 3 -10.813481 4 | 4 -10.682045 5 | 5 -10.555098 6 | 6 -10.432324 7 | 7 -10.313437 8 | 8 -10.198184 9 | 9 -10.086332 10 | 10 -9.977672 11 | 11 -9.872015 12 | 12 -9.769185 13 | 13 -9.669026 14 | 14 -9.571391 15 | 15 -9.476146 16 | 16 -9.383169 17 | 18 -9.203569 18 | 20 -9.031777 19 | 22 -8.867091 20 | 24 -8.708901 21 | 26 -8.556672 22 | 28 -8.409935 23 | 30 -8.268275 24 | 32 -8.131320 25 | 36 -7.870243 26 | 40 -7.624444 27 | 44 -7.392077 28 | 48 -7.171615 29 | 52 -6.961781 30 | 56 -6.761493 31 | 60 -6.569828 32 | 64 -6.385994 33 | 72 -6.039145 34 | 80 -5.716407 35 | 88 -5.414242 36 | 96 -5.129838 37 | 104 -4.860925 38 | 112 -4.605639 39 | 120 -4.362432 40 | 128 -4.130002 41 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_108_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -2.360705 2 | 13 -2.256965 3 | 14 -1.996474 4 | 15 -1.784671 5 | 16 -1.613795 6 | 18 -1.400423 7 | 20 -0.218175 8 | 22 0.053000 9 | 24 0.347298 10 | 26 0.657602 11 | 28 0.937889 12 | 30 1.188571 13 | 32 1.508942 14 | 36 2.013372 15 | 40 2.351186 16 | 44 2.787002 17 | 48 3.138847 18 | 52 3.590044 19 | 56 3.981820 20 | 60 4.335350 21 | 64 4.757687 22 | 72 5.623351 23 | 80 6.559227 24 | 88 7.688201 25 | 96 9.574532 26 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_108_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -2.344928 2 | 13 -2.203608 3 | 14 -1.787314 4 | 15 -1.671181 5 | 16 -1.539671 6 | 18 -1.172513 7 | 20 -0.108220 8 | 22 0.175479 9 | 24 0.545732 10 | 26 0.780823 11 | 28 1.047359 12 | 30 1.342768 13 | 32 1.595208 14 | 36 2.085981 15 | 40 2.520450 16 | 44 3.054663 17 | 48 3.316530 18 | 52 3.770512 19 | 56 4.159284 20 | 60 4.472727 21 | 64 4.913354 22 | 72 5.698285 23 | 80 6.571588 24 | 88 7.739109 25 | 96 9.612953 26 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_108_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -3.047779 2 | 13 -2.825564 3 | 14 -2.613436 4 | 15 -2.410309 5 | 16 -2.215260 6 | 18 -1.846338 7 | 20 -0.721102 8 | 22 -0.434630 9 | 24 -0.159861 10 | 26 0.104734 11 | 28 0.360451 12 | 30 0.608399 13 | 32 0.849541 14 | 36 1.314698 15 | 40 1.761667 16 | 44 2.195194 17 | 48 2.619399 18 | 52 3.038053 19 | 56 3.454808 20 | 60 3.873423 21 | 64 4.298015 22 | 72 5.185569 23 | 80 6.175766 24 | 88 7.395897 25 | 96 9.317233 26 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_13824_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 384 -10.941342 2 | 416 -10.563861 3 | 448 -10.286216 4 | 480 -9.971449 5 | 512 -9.615807 6 | 576 -9.042103 7 | 640 -8.511925 8 | 704 -8.142018 9 | 768 -7.690113 10 | 832 -7.309520 11 | 896 -6.908601 12 | 960 -6.434172 13 | 1024 -6.122202 14 | 1152 -5.436478 15 | 1280 -4.715527 16 | 1408 -3.964976 17 | 1536 -3.166228 18 | 1664 -2.364586 19 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_13824_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 384 -10.802755 2 | 416 -10.409095 3 | 448 -10.124198 4 | 480 -9.793655 5 | 512 -9.488228 6 | 576 -8.934482 7 | 640 -8.438988 8 | 704 -7.991744 9 | 768 -7.566493 10 | 832 -7.178374 11 | 896 -6.747329 12 | 960 -6.346692 13 | 1024 -6.014595 14 | 1152 -5.286803 15 | 1280 -4.578206 16 | 1408 -3.818616 17 | 1536 -3.054501 18 | 1664 -2.249761 19 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_13824_cap.txt: -------------------------------------------------------------------------------- 1 | 384 -12.940016 2 | 416 -12.628066 3 | 448 -12.337291 4 | 480 -12.064903 5 | 512 -11.808634 6 | 576 -11.337275 7 | 640 -10.911589 8 | 704 -10.523177 9 | 768 -10.165774 10 | 832 -9.834574 11 | 896 -9.525815 12 | 960 -9.236493 13 | 1024 -8.964169 14 | 1152 -8.462836 15 | 1280 -8.009393 16 | 1408 -7.594903 17 | 1536 -7.212718 18 | 1664 -6.857755 19 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_1728_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -14.709932 2 | 13 -14.538358 3 | 14 -14.358605 4 | 15 -14.119458 5 | 16 -13.980385 6 | 18 -13.520000 7 | 20 -12.584657 8 | 22 -12.418610 9 | 24 -12.231182 10 | 26 -11.963721 11 | 28 -11.620573 12 | 30 -11.481060 13 | 32 -11.430463 14 | 36 -11.008344 15 | 40 -10.622635 16 | 44 -10.437140 17 | 48 -10.138454 18 | 52 -9.834597 19 | 56 -9.706605 20 | 60 -9.449508 21 | 64 -9.212733 22 | 72 -8.841707 23 | 80 -8.338441 24 | 88 -8.064404 25 | 96 -7.669651 26 | 104 -7.429297 27 | 112 -7.171538 28 | 120 -6.906525 29 | 128 -6.660626 30 | 144 -6.190209 31 | 160 -5.706938 32 | 176 -5.326622 33 | 192 -5.005272 34 | 208 -4.660305 35 | 224 -4.307880 36 | 240 -3.979029 37 | 256 -3.667253 38 | 288 -3.121821 39 | 320 -2.596421 40 | 352 -2.121834 41 | 384 -1.776886 42 | 416 -1.411901 43 | 448 -1.035577 44 | 480 -0.705134 45 | 512 -0.408225 46 | 576 0.217683 47 | 640 0.701611 48 | 704 1.267147 49 | 768 1.676155 50 | 832 2.116212 51 | 896 2.563469 52 | 960 2.959457 53 | 1024 3.360618 54 | 1152 4.195170 55 | 1280 5.091682 56 | 1408 6.021130 57 | 1536 7.249155 58 | 1664 9.262244 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_1728_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -14.490852 2 | 13 -14.168190 3 | 14 -14.068192 4 | 15 -13.929937 5 | 16 -13.799442 6 | 18 -13.235346 7 | 20 -12.513793 8 | 22 -12.295042 9 | 24 -12.039248 10 | 26 -11.794219 11 | 28 -11.591528 12 | 30 -11.403549 13 | 32 -11.204163 14 | 36 -10.843416 15 | 40 -10.495692 16 | 44 -10.210282 17 | 48 -9.855820 18 | 52 -9.649212 19 | 56 -9.500420 20 | 60 -9.292984 21 | 64 -9.061075 22 | 72 -8.663137 23 | 80 -8.254446 24 | 88 -7.950091 25 | 96 -7.569846 26 | 104 -7.290130 27 | 112 -6.980780 28 | 120 -6.696112 29 | 128 -6.470673 30 | 144 -6.014643 31 | 160 -5.558760 32 | 176 -5.143436 33 | 192 -4.798240 34 | 208 -4.500921 35 | 224 -4.137175 36 | 240 -3.798403 37 | 256 -3.528475 38 | 288 -3.000916 39 | 320 -2.495519 40 | 352 -1.953711 41 | 384 -1.558263 42 | 416 -1.246241 43 | 448 -0.866182 44 | 480 -0.512814 45 | 512 -0.243695 46 | 576 0.355181 47 | 640 0.855615 48 | 704 1.433207 49 | 768 1.825457 50 | 832 2.311449 51 | 896 2.715163 52 | 960 3.110676 53 | 1024 3.515139 54 | 1152 4.320680 55 | 1280 5.211074 56 | 1408 6.158425 57 | 1536 7.363558 58 | 1664 9.308983 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_1728_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -15.296503 2 | 13 -15.102815 3 | 14 -14.919395 4 | 15 -14.745159 5 | 16 -14.579191 6 | 18 -14.269020 7 | 20 -13.356282 8 | 22 -13.132723 9 | 24 -12.921962 10 | 26 -12.722537 11 | 28 -12.533229 12 | 30 -12.353006 13 | 32 -12.180991 14 | 36 -11.858661 15 | 40 -11.561307 16 | 44 -11.285142 17 | 48 -11.027185 18 | 52 -10.785055 19 | 56 -10.556813 20 | 60 -10.340858 21 | 64 -10.135858 22 | 72 -9.754383 23 | 80 -9.405204 24 | 88 -9.082953 25 | 96 -8.783509 26 | 104 -8.503640 27 | 112 -8.240761 28 | 120 -7.992771 29 | 128 -7.757940 30 | 144 -7.322208 31 | 160 -6.924477 32 | 176 -6.558071 33 | 192 -6.217939 34 | 208 -5.900161 35 | 224 -5.601635 36 | 240 -5.319860 37 | 256 -5.052794 38 | 288 -4.556278 39 | 320 -4.101495 40 | 352 -3.680729 41 | 384 -3.288178 42 | 416 -2.919361 43 | 448 -2.570739 44 | 480 -2.239463 45 | 512 -1.923201 46 | 576 -1.328266 47 | 640 -0.773714 48 | 704 -0.250460 49 | 768 0.248558 50 | 832 0.729086 51 | 896 1.196017 52 | 960 1.653731 53 | 1024 2.106373 54 | 1152 3.013414 55 | 1280 3.956503 56 | 1408 4.997425 57 | 1536 6.274816 58 | 1664 8.393739 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_216_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -5.686780 2 | 13 -5.448289 3 | 14 -5.293366 4 | 15 -5.123406 5 | 16 -4.892095 6 | 18 -4.501022 7 | 20 -3.521600 8 | 22 -3.223530 9 | 24 -3.009724 10 | 26 -2.724314 11 | 28 -2.535354 12 | 30 -2.307817 13 | 32 -2.081946 14 | 36 -1.724714 15 | 40 -1.375310 16 | 44 -1.046243 17 | 48 -0.675474 18 | 52 -0.371239 19 | 56 -0.028399 20 | 60 0.242846 21 | 64 0.510718 22 | 72 1.067802 23 | 80 1.557353 24 | 88 1.947509 25 | 96 2.376664 26 | 104 2.839911 27 | 112 3.224773 28 | 120 3.634313 29 | 128 4.041770 30 | 144 4.839354 31 | 160 5.750493 32 | 176 6.755380 33 | 192 8.189649 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_216_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -5.431942 2 | 13 -5.098929 3 | 14 -4.980079 4 | 15 -4.852145 5 | 16 -4.677517 6 | 18 -4.191329 7 | 20 -3.349618 8 | 22 -3.130638 9 | 24 -2.918996 10 | 26 -2.615709 11 | 28 -2.273655 12 | 30 -2.181893 13 | 32 -1.941983 14 | 36 -1.564366 15 | 40 -1.151788 16 | 44 -0.905277 17 | 48 -0.539865 18 | 52 -0.221621 19 | 56 0.117149 20 | 60 0.443725 21 | 64 0.717868 22 | 72 1.230005 23 | 80 1.672899 24 | 88 2.145338 25 | 96 2.585165 26 | 104 3.011811 27 | 112 3.396433 28 | 120 3.793402 29 | 128 4.223570 30 | 144 5.054952 31 | 160 5.871325 32 | 176 6.868059 33 | 192 8.229747 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_216_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -6.182314 2 | 13 -5.975932 3 | 14 -5.779773 4 | 15 -5.592755 5 | 16 -5.413963 6 | 18 -5.078022 7 | 20 -4.073805 8 | 22 -3.823735 9 | 24 -3.586289 10 | 26 -3.360001 11 | 28 -3.143647 12 | 30 -2.936189 13 | 32 -2.736742 14 | 36 -2.358938 15 | 40 -2.005250 16 | 44 -1.671834 17 | 48 -1.355653 18 | 52 -1.054262 19 | 56 -0.765654 20 | 60 -0.488164 21 | 64 -0.220381 22 | 72 0.290716 23 | 80 0.775521 24 | 88 1.240214 25 | 96 1.689873 26 | 104 2.128876 27 | 112 2.561202 28 | 120 2.990678 29 | 128 3.421213 30 | 144 4.303205 31 | 160 5.253100 32 | 176 6.356198 33 | 192 7.849312 34 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_3456_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -17.783353 2 | 13 -17.463744 3 | 14 -17.327086 4 | 15 -17.114556 5 | 16 -17.019406 6 | 18 -16.587314 7 | 20 -15.622420 8 | 22 -15.374602 9 | 24 -15.237245 10 | 26 -14.948540 11 | 28 -14.689370 12 | 30 -14.502816 13 | 32 -14.397995 14 | 36 -13.955427 15 | 40 -13.657689 16 | 44 -13.452840 17 | 48 -13.200384 18 | 52 -12.855483 19 | 56 -12.650346 20 | 60 -12.455019 21 | 64 -12.239549 22 | 72 -11.839238 23 | 80 -11.394242 24 | 88 -11.067167 25 | 96 -10.699481 26 | 104 -10.467434 27 | 112 -10.180299 28 | 120 -9.931815 29 | 128 -9.661345 30 | 144 -9.205351 31 | 160 -8.764468 32 | 176 -8.373168 33 | 192 -8.007771 34 | 208 -7.685081 35 | 224 -7.360611 36 | 240 -7.070050 37 | 256 -6.733298 38 | 288 -6.164430 39 | 320 -5.637964 40 | 352 -5.218347 41 | 384 -4.857622 42 | 416 -4.532391 43 | 448 -4.196439 44 | 480 -3.867434 45 | 512 -3.582718 46 | 576 -2.990939 47 | 640 -2.458072 48 | 704 -1.998876 49 | 768 -1.562561 50 | 832 -1.163144 51 | 896 -0.733279 52 | 960 -0.317188 53 | 1024 0.067012 54 | 1152 0.786287 55 | 1280 1.558743 56 | 1408 2.335367 57 | 1536 3.191871 58 | 1664 4.081711 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_3456_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -17.463138 2 | 13 -17.233274 3 | 14 -17.044553 4 | 15 -16.902296 5 | 16 -16.746219 6 | 18 -16.187393 7 | 20 -15.489602 8 | 22 -15.344480 9 | 24 -15.114724 10 | 26 -14.856707 11 | 28 -14.629135 12 | 30 -14.401865 13 | 32 -14.262056 14 | 36 -13.896433 15 | 40 -13.519211 16 | 44 -13.194425 17 | 48 -12.910118 18 | 52 -12.686252 19 | 56 -12.526938 20 | 60 -12.269849 21 | 64 -12.065843 22 | 72 -11.677433 23 | 80 -11.294774 24 | 88 -10.953406 25 | 96 -10.623430 26 | 104 -10.297358 27 | 112 -10.036298 28 | 120 -9.758723 29 | 128 -9.514941 30 | 144 -9.055583 31 | 160 -8.567878 32 | 176 -8.211491 33 | 192 -7.892738 34 | 208 -7.518400 35 | 224 -7.199053 36 | 240 -6.906660 37 | 256 -6.582823 38 | 288 -6.053755 39 | 320 -5.530270 40 | 352 -5.060015 41 | 384 -4.687427 42 | 416 -4.374864 43 | 448 -4.027023 44 | 480 -3.726047 45 | 512 -3.433900 46 | 576 -2.886837 47 | 640 -2.366735 48 | 704 -1.861694 49 | 768 -1.429602 50 | 832 -1.014978 51 | 896 -0.574907 52 | 960 -0.198171 53 | 1024 0.203885 54 | 1152 0.947677 55 | 1280 1.698249 56 | 1408 2.463958 57 | 1536 3.312707 58 | 1664 4.194410 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_3456_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -18.311325 2 | 13 -18.118486 3 | 14 -17.935915 4 | 15 -17.762533 5 | 16 -17.597420 6 | 18 -17.288964 7 | 20 -16.382277 8 | 22 -16.160457 9 | 24 -15.951438 10 | 26 -15.753759 11 | 28 -15.566199 12 | 30 -15.387728 13 | 32 -15.217467 14 | 36 -14.898652 15 | 40 -14.604823 16 | 44 -14.332189 17 | 48 -14.077773 18 | 52 -13.839190 19 | 56 -13.614501 20 | 60 -13.402107 21 | 64 -13.200673 22 | 72 -12.826351 23 | 80 -12.484350 24 | 88 -12.169301 25 | 96 -11.877085 26 | 104 -11.604469 27 | 112 -11.348867 28 | 120 -11.108182 29 | 128 -10.880681 30 | 144 -10.459690 31 | 160 -10.076812 32 | 176 -9.725376 33 | 192 -9.400334 34 | 208 -9.097773 35 | 224 -8.814595 36 | 240 -8.548305 37 | 256 -8.296865 38 | 288 -7.832050 39 | 320 -7.409601 40 | 352 -7.021849 41 | 384 -6.663038 42 | 448 -6.015457 43 | 480 -5.720407 44 | 512 -5.441311 45 | 576 -4.923782 46 | 640 -4.451195 47 | 704 -4.015104 48 | 768 -3.609187 49 | 832 -3.228590 50 | 896 -2.869491 51 | 960 -2.528827 52 | 1024 -2.204098 53 | 1152 -1.594496 54 | 1280 -1.027684 55 | 1408 -0.494057 56 | 1536 0.013807 57 | 1664 0.501906 58 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_432_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -8.724059 2 | 13 -8.479534 3 | 14 -8.324649 4 | 15 -8.103365 5 | 16 -7.953044 6 | 18 -7.500028 7 | 20 -6.550932 8 | 22 -6.317648 9 | 24 -6.162740 10 | 26 -5.960161 11 | 28 -5.608964 12 | 30 -5.428585 13 | 32 -5.317476 14 | 36 -4.938153 15 | 40 -4.580014 16 | 44 -4.344937 17 | 48 -4.106862 18 | 52 -3.767678 19 | 56 -3.481178 20 | 60 -3.287041 21 | 64 -2.996249 22 | 72 -2.548881 23 | 80 -2.116667 24 | 88 -1.698392 25 | 96 -1.367615 26 | 104 -1.052172 27 | 112 -0.726879 28 | 120 -0.432981 29 | 128 -0.097358 30 | 144 0.454183 31 | 160 0.959389 32 | 176 1.478718 33 | 192 1.869430 34 | 208 2.332464 35 | 224 2.757701 36 | 240 3.159409 37 | 256 3.577919 38 | 288 4.365876 39 | 320 5.274664 40 | 352 6.225026 41 | 384 7.494135 42 | 416 9.908338 43 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_432_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -8.515841 2 | 13 -8.199563 3 | 14 -8.026031 4 | 15 -7.911917 5 | 16 -7.749813 6 | 18 -7.178559 7 | 20 -6.427050 8 | 22 -6.234333 9 | 24 -6.028260 10 | 26 -5.786193 11 | 28 -5.585403 12 | 30 -5.392439 13 | 32 -5.212545 14 | 36 -4.809999 15 | 40 -4.434896 16 | 44 -4.131516 17 | 48 -3.760130 18 | 52 -3.546595 19 | 56 -3.262611 20 | 60 -3.045043 21 | 64 -2.820624 22 | 72 -2.370075 23 | 80 -2.001197 24 | 88 -1.553050 25 | 96 -1.200144 26 | 104 -0.856199 27 | 112 -0.538748 28 | 120 -0.224900 29 | 128 0.065217 30 | 144 0.647539 31 | 160 1.153004 32 | 176 1.655582 33 | 192 2.095830 34 | 208 2.483599 35 | 224 2.904273 36 | 240 3.332039 37 | 256 3.761618 38 | 288 4.519099 39 | 320 5.431682 40 | 352 6.378417 41 | 384 7.570078 42 | 416 9.894238 43 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_432_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -9.244137 2 | 13 -9.045164 3 | 14 -8.856442 4 | 15 -8.676891 5 | 16 -8.505593 6 | 18 -8.184726 7 | 20 -7.234210 8 | 22 -6.999770 9 | 24 -6.778090 10 | 26 -6.567711 11 | 28 -6.367413 12 | 30 -6.176165 13 | 32 -5.993088 14 | 36 -5.648526 15 | 40 -5.328794 16 | 44 -5.030098 17 | 48 -4.749455 18 | 52 -4.484478 19 | 56 -4.233221 20 | 60 -3.994081 21 | 64 -3.765718 22 | 72 -3.336958 23 | 80 -2.939707 24 | 88 -2.568544 25 | 96 -2.219294 26 | 104 -1.888666 27 | 112 -1.574014 28 | 120 -1.273174 29 | 128 -0.984346 30 | 144 -0.436888 31 | 160 0.078087 32 | 176 0.567993 33 | 192 1.038749 34 | 208 1.495303 35 | 224 1.942002 36 | 240 2.382876 37 | 256 2.821880 38 | 288 3.711338 39 | 320 4.652140 40 | 352 5.715475 41 | 384 7.077020 42 | 416 9.725133 43 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_54_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 0.814383 2 | 13 1.080852 3 | 14 1.296602 4 | 15 1.537771 5 | 16 1.677504 6 | 18 2.227038 7 | 20 3.589873 8 | 22 3.944070 9 | 24 4.313519 10 | 26 4.786036 11 | 28 5.283556 12 | 30 5.689881 13 | 32 6.093577 14 | 36 6.859502 15 | 40 8.074023 16 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_54_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 0.917908 2 | 13 1.268732 3 | 14 1.548831 4 | 15 1.649144 5 | 16 1.954562 6 | 18 2.402362 7 | 20 3.805764 8 | 22 4.098885 9 | 24 4.462427 10 | 26 4.814115 11 | 28 5.258633 12 | 30 5.681052 13 | 32 6.141636 14 | 36 7.046654 15 | 40 8.048118 16 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_54_cap.txt: -------------------------------------------------------------------------------- 1 | 12 0.272329 2 | 13 0.531508 3 | 14 0.781549 4 | 15 1.023606 5 | 16 1.258675 6 | 18 1.711220 7 | 20 3.177057 8 | 22 3.578756 9 | 24 3.979290 10 | 26 4.382184 11 | 28 4.791304 12 | 30 5.211156 13 | 32 5.647329 14 | 36 6.601206 15 | 40 7.766057 16 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_6912_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -20.759499 2 | 13 -20.521275 3 | 14 -20.322532 4 | 15 -20.143850 5 | 16 -19.968403 6 | 18 -19.572616 7 | 20 -18.603437 8 | 22 -18.371052 9 | 24 -18.263433 10 | 26 -18.034775 11 | 28 -17.666883 12 | 30 -17.464525 13 | 32 -17.371244 14 | 36 -16.977333 15 | 40 -16.622936 16 | 44 -16.451980 17 | 48 -16.171838 18 | 52 -15.874292 19 | 56 -15.661949 20 | 60 -15.491647 21 | 64 -15.228027 22 | 72 -14.844636 23 | 80 -14.418553 24 | 88 -14.077920 25 | 96 -13.729194 26 | 104 -13.463308 27 | 112 -13.203978 28 | 120 -12.950040 29 | 128 -12.703961 30 | 144 -12.228785 31 | 160 -11.769457 32 | 176 -11.391566 33 | 192 -11.047851 34 | 208 -10.717870 35 | 224 -10.390859 36 | 240 -10.057704 37 | 256 -9.734853 38 | 288 -9.203126 39 | 320 -8.667154 40 | 352 -8.256442 41 | 384 -7.899226 42 | 416 -7.582713 43 | 448 -7.248993 44 | 480 -6.921490 45 | 512 -6.607424 46 | 576 -6.052466 47 | 640 -5.497968 48 | 704 -5.129897 49 | 768 -4.648693 50 | 832 -4.264851 51 | 896 -3.852981 52 | 960 -3.379911 53 | 1024 -3.090639 54 | 1152 -2.380375 55 | 1280 -1.659651 56 | 1408 -0.905739 57 | 1536 -0.091576 58 | 1664 0.701096 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_6912_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -20.485868 2 | 13 -20.238980 3 | 14 -20.129386 4 | 15 -19.912314 5 | 16 -19.830564 6 | 18 -19.302457 7 | 20 -18.466453 8 | 22 -18.279011 9 | 24 -18.130990 10 | 26 -17.880380 11 | 28 -17.621979 12 | 30 -17.423261 13 | 32 -17.269592 14 | 36 -16.862208 15 | 40 -16.492237 16 | 44 -16.237268 17 | 48 -15.895541 18 | 52 -15.703198 19 | 56 -15.538139 20 | 60 -15.280687 21 | 64 -15.114639 22 | 72 -14.713446 23 | 80 -14.292986 24 | 88 -13.954054 25 | 96 -13.634778 26 | 104 -13.293169 27 | 112 -13.033075 28 | 120 -12.758081 29 | 128 -12.517989 30 | 144 -12.065624 31 | 160 -11.608168 32 | 176 -11.233746 33 | 192 -10.894376 34 | 208 -10.591203 35 | 224 -10.238221 36 | 240 -9.885950 37 | 256 -9.612532 38 | 288 -9.104537 39 | 320 -8.582488 40 | 352 -8.101301 41 | 384 -7.755503 42 | 416 -7.421230 43 | 448 -7.092666 44 | 480 -6.772293 45 | 512 -6.485966 46 | 576 -5.940063 47 | 640 -5.426333 48 | 704 -4.983537 49 | 768 -4.529266 50 | 832 -4.128655 51 | 896 -3.712208 52 | 960 -3.310904 53 | 1024 -2.963174 54 | 1152 -2.243264 55 | 1280 -1.527110 56 | 1408 -0.784443 57 | 1536 0.028642 58 | 1664 0.820954 59 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_6912_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -21.323787 2 | 13 -21.131366 3 | 14 -20.949216 4 | 15 -20.776255 5 | 16 -20.611565 6 | 18 -20.303958 7 | 20 -19.400262 8 | 22 -19.179301 9 | 24 -18.971143 10 | 26 -18.774327 11 | 28 -18.587631 12 | 30 -18.410025 13 | 32 -18.240630 14 | 36 -17.923551 15 | 40 -17.631461 16 | 44 -17.360569 17 | 48 -17.107898 18 | 52 -16.871062 19 | 56 -16.648122 20 | 60 -16.437480 21 | 64 -16.237801 22 | 72 -15.866993 23 | 80 -15.528512 24 | 88 -15.216991 25 | 96 -14.928308 26 | 104 -14.659231 27 | 112 -14.407176 28 | 120 -14.170041 29 | 128 -13.946098 30 | 144 -13.532239 31 | 160 -13.156516 32 | 176 -12.812257 33 | 192 -12.494417 34 | 208 -12.199080 35 | 224 -11.923152 36 | 240 -11.664137 37 | 256 -11.419996 38 | 288 -10.969859 39 | 320 -10.562197 40 | 352 -10.189344 41 | 384 -9.845552 42 | 416 -9.526394 43 | 448 -9.228387 44 | 480 -8.948742 45 | 512 -8.685191 46 | 576 -8.199194 47 | 640 -7.758762 48 | 704 -7.355494 49 | 768 -6.983115 50 | 832 -6.636820 51 | 896 -6.312837 52 | 1024 -5.720341 53 | 1152 -5.187584 54 | 1280 -4.702102 55 | 1408 -4.254912 56 | 1536 -3.839319 57 | 1664 -3.450194 58 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_864_16_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -11.697071 2 | 13 -11.537658 3 | 14 -11.351805 4 | 15 -11.069273 5 | 16 -10.989610 6 | 18 -10.483753 7 | 20 -9.552080 8 | 22 -9.353490 9 | 24 -9.208642 10 | 26 -9.003531 11 | 28 -8.644599 12 | 30 -8.459225 13 | 32 -8.418363 14 | 36 -7.950525 15 | 40 -7.611665 16 | 44 -7.390477 17 | 48 -7.105259 18 | 52 -6.842612 19 | 56 -6.601625 20 | 60 -6.415500 21 | 64 -6.163386 22 | 72 -5.805003 23 | 80 -5.364792 24 | 88 -5.008405 25 | 96 -4.664333 26 | 104 -4.367032 27 | 112 -4.095139 28 | 120 -3.846084 29 | 128 -3.602793 30 | 144 -3.102194 31 | 160 -2.625379 32 | 176 -2.248312 33 | 192 -1.872491 34 | 208 -1.525689 35 | 224 -1.173631 36 | 240 -0.806080 37 | 256 -0.539195 38 | 288 0.072956 39 | 320 0.587472 40 | 352 1.184273 41 | 384 1.603191 42 | 416 2.042905 43 | 448 2.465107 44 | 480 2.850851 45 | 512 3.256996 46 | 576 4.096988 47 | 640 4.995330 48 | 704 5.920009 49 | 768 7.147418 50 | 832 9.183232 51 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_864_8_1_100_0.txt: -------------------------------------------------------------------------------- 1 | 12 -11.456674 2 | 13 -11.217254 3 | 14 -11.027106 4 | 15 -10.904446 5 | 16 -10.779451 6 | 18 -10.233655 7 | 20 -9.419829 8 | 22 -9.261183 9 | 24 -9.075634 10 | 26 -8.842585 11 | 28 -8.555396 12 | 30 -8.351736 13 | 32 -8.163200 14 | 36 -7.827718 15 | 40 -7.473541 16 | 44 -7.182852 17 | 48 -6.862285 18 | 52 -6.611922 19 | 56 -6.481333 20 | 60 -6.235902 21 | 64 -6.032081 22 | 72 -5.604945 23 | 80 -5.235895 24 | 88 -4.851041 25 | 96 -4.567951 26 | 104 -4.172954 27 | 112 -3.940617 28 | 120 -3.662620 29 | 128 -3.386611 30 | 144 -2.918774 31 | 160 -2.449184 32 | 176 -2.075152 33 | 192 -1.719519 34 | 208 -1.350356 35 | 224 -0.899872 36 | 240 -0.610510 37 | 256 -0.348586 38 | 288 0.238858 39 | 320 0.733628 40 | 352 1.303324 41 | 384 1.755831 42 | 416 2.184307 43 | 448 2.633086 44 | 480 3.018948 45 | 512 3.394508 46 | 576 4.244240 47 | 640 5.132321 48 | 704 6.063611 49 | 768 7.304110 50 | 832 9.230016 51 | -------------------------------------------------------------------------------- /results/SNR_vs_A_PUCCH_0.001_864_cap.txt: -------------------------------------------------------------------------------- 1 | 12 -12.276432 2 | 13 -12.081016 3 | 14 -11.895862 4 | 15 -11.719889 5 | 16 -11.552178 6 | 18 -11.238510 7 | 20 -10.313437 8 | 22 -10.086332 9 | 24 -9.872015 10 | 26 -9.669026 11 | 28 -9.476146 12 | 30 -9.292345 13 | 32 -9.116743 14 | 36 -8.787219 15 | 40 -8.482645 16 | 44 -8.199231 17 | 48 -7.934000 18 | 52 -7.684568 19 | 56 -7.448998 20 | 60 -7.225688 21 | 64 -7.013305 22 | 80 -6.252838 23 | 88 -5.915502 24 | 96 -5.600849 25 | 104 -5.305641 26 | 112 -5.027289 27 | 120 -4.763685 28 | 128 -4.513096 29 | 144 -4.045388 30 | 160 -3.615034 31 | 176 -3.215311 32 | 192 -2.841117 33 | 208 -2.488484 34 | 224 -2.154255 35 | 240 -1.835875 36 | 256 -1.531238 37 | 288 -0.956434 38 | 320 -0.418685 39 | 352 0.090380 40 | 384 0.577336 41 | 416 1.047586 42 | 448 1.505783 43 | 480 1.956152 44 | 512 2.402746 45 | 576 3.301539 46 | 640 4.242262 47 | 704 5.289893 48 | 768 6.595379 49 | 832 8.872424 50 | --------------------------------------------------------------------------------