|
1 | 1 | function a_hat = PUCCH_decoder(f_tilde, A, L, min_sum) |
2 | | -% PUCCH_DECODER Physical Uplink Control Channel (PUCCH) polar decoder from 3GPP New |
3 | | -% Radio, as specified in Section 6.3.1 of TS 38.212 v1.1.1 |
| 2 | +% PUCCH_DECODER Polar decoder for the Physical Uplink Control Channel (PUCCH) and the |
| 3 | +% Physical Uplink Shared Channel (PUSCH) of 3GPP New Radio, as defined in |
| 4 | +% Section 6.3 of TS38.212 V1.2.1. Implements the code block segmentation and |
| 5 | +% Cyclic Redudancy Check (CRC) attachment of Sections 6.3.1.2.1 and 6.3.2.2.1, |
| 6 | +% the channel coding of Sections 6.3.1.3.1 and 6.3.2.3.2, the rate matching of |
| 7 | +% Sections 6.3.1.4.1 and 6.3.2.4.1, as well as the code block concatenation of |
| 8 | +% Sections 6.3.1.5.1 and 6.3.2.5.1. Note that this code does not implement the |
| 9 | +% UCI bit sequence generation of Sections 6.3.1.1 and 6.3.2.1, the |
| 10 | +% determination of the encoded block length E_UCI of Sections 6.3.1.4.1 and |
| 11 | +% 6.3.2.4.1, or the multiplexing of Sections 6.3.1.6 and 6.3.2.6. Also, this |
| 12 | +% code does not implement the small block lengths, which are detailed in |
| 13 | +% Sections 6.3.1.2.2, 6.3.1.3.2, 6.3.1.4.2, 6.3.2.2.2, 6.3.2.3.2 and 6.3.2.4.2. |
4 | 14 | % a_hat = PUCCH_DECODER(f_tilde, A, L, min_sum) decodes the encoded LLR sequence |
5 | 15 | % f_tilde, in order to obtain the recovered information bit sequence |
6 | 16 | % a_hat. |
7 | 17 | % |
8 | 18 | % f_tilde should be a real row vector comprising G number of Logarithmic |
9 | 19 | % Likelihood Ratios (LLRS), each having a value obtained as LLR = |
10 | 20 | % ln(P(bit=0)/P(bit=1)), where G should be no greater than 8192 if A<360 |
11 | | -% and no greater than 16384 if A>=360. |
| 21 | +% and no greater than 16384 if A>=360. The first LLR corresponds to g_0 |
| 22 | +% from Sections 6.3.1.5 and 6.3.2.5 of TS38.212 V1.2.1, while the last |
| 23 | +% LLR corresponds to g_G-1. |
12 | 24 | % |
13 | 25 | % A should be an integer scalar. It specifies the number of bits in the |
14 | 26 | % information bit sequence, where A should be in the range 12 to 1706. |
|
23 | 35 | % complexity. |
24 | 36 | % |
25 | 37 | % a_hat will be a binary row vector comprising A number of bits, each |
26 | | -% having the value 0 or 1. |
| 38 | +% having the value 0 or 1. The first output bit corresponds to a_0 from |
| 39 | +% Sections 6.3.1.2 and 6.3.2.2 of TS38.212 V1.2.1, while the last output |
| 40 | +% bit corresponds to a_A-1. |
27 | 41 | % |
28 | 42 | % See also PUCCH_ENCODER |
29 | 43 | % |
|
0 commit comments