• Aucun résultat trouvé

HARQ protocol for PIA Receiver

5.3 Retransmission Protocols

5.3.1 HARQ protocol for PIA Receiver

The main checkpoints of the retransmission protocol are the ACK and NACK messages, which are sent by the UE on per-codeword basis and indicate the result of the deco-ding procedure. When the base station receives two acknowledging messages ACK0 and ACK1, the retransmissions are terminated and the new pair of codewords is prepared for a transmission. However, in poor channel conditions, a few retransmission rounds might be required to successfully decode both codewords. To illustrate the protocol handling, we introduce the retransmission algorithm for TM4 PIA detection (Algorithm 4) which describes the overall methodology. We then detail several procedures corresponding to single and dual codeword signal processing at the base station (Algorithm 7, Algorithm 5), and discuss the signal processing with HARQ at the UE (Algorithm 8, Algorithm 6).

When the base station receives two non-acknowledgment messages NACK0and NACK1, it means that the UE has failed to decode both codewords, and has requested a new redun-dancy version of both of them. In this case, the base station prepares a new retransmission via triggering the Dual Codeword eNodeB Proc procedure (Algorithm 5). This pro-cedure performs rate matching with the new redundancy version using the Cyclic Buffer that was constructed during the encoding process before the initial transmission. The rate matching is followed by the classic signal processing chain with the modulation, layer mapping and precoding.

In our scenario, we assume that the dual codeword transmission always uses CSI-based precoding, that is sent by the UE on PUSCH. The single codeword transmission is studied with a few precoding options.

Following the dual codeword signal processing at the base station, the UE also launches the corresponding Dual Codeword PIA Proc procedure (Algorithm 6). Given the received signal vector y, channel estimates, and TPMI (available from the DCI), the UE

Algorithm 4 Retransmission algorithm for TM4 PIA detection

1: r0, TPMI2,rmax4.

2: TB0 flagenabled, TB1 flagenabled, TB07−→CW0, TB17−→CW1

3: ACK0f alse, ACK1f alse 4: while (r(rmax1))do

5: if ACK0== false && ACK1== falsethen

6: [eNodeB]: callDual Codeword eNodeB Proc.

7: [UE]: measurements, feedback reporting on PUSCH.

8: [UE]: callprocedure Dual Codeword UE Proc.

9: else if ACK0 == true && ACK1== falsethen 10: [eNodeB]: callSingle Codeword eNodeB Proc.

11: [UE]: measurements, feedback reporting on PUSCH.

12: [UE]: callprocedure Single Codeword UE Proc.

13: else if ACK0 == false && ACK1 == truethen 14: [eNodeB]: callSingle Codeword eNodeB Proc.

15: [UE]: measurements, feedback reporting on PUSCH.

16: [UE]: callprocedure Single Codeword UE Proc.

17: else if ACK0 == true && ACK1== truethen

18: break .Move to the next package

19: end if 20: rr+ 1 21: end while

applies the Matched filter and demodulates the received signal:

yMF=HHeffy.

The demodulation is followed by the per-codeword LLR computation using the interference-aware LLR metricsM0_M1_llrand M1_M0_llrinitially proposed by [Ghaffar and Knopp, 2010a]. The calculated LLR values are then fed to two independent turbo decoders. De-pending on the results of the decoding process, the UE generates acknowledgment and non-acknowledgment messages that are then sent to the base station.

If one of the codewords is decoded while another one is in error, the base station receives one acknowledgment and one non-acknowledgment message. It would be a waste Algorithm 5 Dual Codeword eNodeB processing

1: procedure Dual Codeword eNodeB Proc(r) 2: if r== 0then

3: perform encoding of two TBs.

4: perform rate matching, modulation, layer mapping and precoding 5: transmit two spatially multiplexed CWs.

6: else if 0< r(rmax1)then

7: perform rate matching with new RVs using the same Cyclic Buffer.

8: perform modulation, layer mapping and precoding 9: transmit two spatially multiplexed CWs.

10: else

11: break .Move to the next package

12: end if 13: end procedure

Algorithm 6 Dual Codeword PIA processing

1: procedure Dual Codeword PIA Proc(y, channel estimates, TPMI)

2: demodulate both codewords by applying precoder matrix corresponding to TPMI.

3: compute LLR0 and LLR1, combine with LLRs from previous round if available.

4: forward updated LLR0and LLR1 to 2 turbo-decoders.

5: if TB0is decoded && TB1is decodedthen 6: ACK0true, ACK1true

7: send ACK0and ACK1 message

8: break

9: else if TB0 is decoded && TB1 is not decodedthen 10: ACK0true, ACK1f alse

11: send ACK0and NACK1

12: else if TB0 is not decoded && TB1is decodedthen 13: ACK0f alse,ACK1true

14: send NACK0and ACK1

15: else if TB0 is not decoded && TB1is not decodedthen 16: ACK0f alse,ACK1f alse

17: send NACK0and NACK1

18: end if 19: end procedure

of the resources to transmit two codewords again. Therefore, the base station deactivates the decoded transport block and switches to single codeword transmission by triggering the Single Codeword eNodeB Proc procedure (Algorithm 7).

As we discussed in the beginning of this section, if only one transport block is trans-mitted, it should be mapped onto the first codeword. After making the corresponding changes in the DCI, the UE preforms rate matching for the transport block that is still active using a new redundancy version, modulation and precoding. In the last CSI report, the base station received the Precoder Matrix Indicator that corresponds to the dual layer transmission (Table 5.1), and thus cannot use it directly. The eNodeB may impose the precoding according to its own choice from the Table 5.2, such as Alamouti precoding of beamforming, or use the first or the second column of the precoding matrix P suggested by the UE in the CSI report. The eNodeB precoder choice is encoded in the DCI.

To let the UE know that the decoded codeword is deactivated, the base station sets the corresponding MCS value to zero, and the redundancy version to one. After decoding the DCI, the UE understands that only one codeword was transmitted, and triggers the Single Codeword UE Procprocedure (Algorithm 8). After interpreting the TPMI bit field according to the Table 5.2 and selecting a corresponding precoder, the UE performs the Matched Filter based demodulation of the active codeword. After Maximum Ratio Combining, the LLR can be computed using interference-free LLR metrics M0_llr or M1_llr, depending on which transport block is disabled. The computed values of LLRs are then combined with the values of LLRs from the previous round and are fed to the turbo-decoder. Based on the results of the decoding procedure, the UE generates acknowledgment or non-acknowledgment messages and sends them to the base station.

The HARQ protocol handling with the SIC receiver has common steps with the stra-tegy applied by our PIA receiver, such as codeword processing at the base station.

How-Algorithm 7 Single Codeword eNodeB processing

1: procedure Single Codeword eNodeB Proc(r, ACK0, ACK1) 2: if 0< r(rmax1)then

3: if ACK0==truethen

4: [eNodeB]: TB0 flagdisabled, TB1 flagenabled 5: [eNodeB]: MCS0= 0,RV0= 1

6: TB17−→CW0.

7: perform rate matching with new RVs using the same Cyclic Buffer.

8: perform modulation and precoding 9: transmit CW0.

10: else

11: [eNodeB]: TB0 flagenabled, TB1 flagdisabled 12: [eNodeB]: MCS1= 0,RV1= 1

13: TB07−→CW0.

14: perform rate matching with new RVs using the same Cyclic Buffer.

15: perform modulation and precoding 16: transmit CW0.

17: end if 18: else

19: break .Move to the next package

20: end if 21: end procedure

Algorithm 8 Single Codeword UE processing

1: procedure Single Codeword PIA Proc(y, channel estimates, TPMI, TB0 flag, TB1 flag) 2: if TB0 flag == enabledthen

3: demodulate CW0 by applying precoder vector corresponding to TPMI.

4: compute LLR0 and combine with LLRs from previous rounds.

5: forward combined LLR0to turbo-decoder.

6: if TB0 is decodedthen

7: ACK0true

8: send ACK0

9: break

10: else if TB0 is not decodedthen

11: ACK0f alse

12: send NACK0

13: end if

14: else if TB1 flag == enabledthen

15: demodulate CW0 applying precoder vector corresponding to TPMI.

16: compute LLR1 and combine with LLRs from previous rounds.

17: forward combined LLR1to turbo-decoder.

18: if TB1 is decodedthen

19: ACK1true

20: send ACK1

21: break

22: else if TB1 is not decodedthen

23: ACK0f alse

24: send NACK1

25: end if 26: end if 27: end procedure

ever, since the decodability of the second codeword is tightly coupled with the successful decoding of the first codeword, the SIC receiver treats retransmission differently. The orig-inality comes from the so-called multi-round SIC procedure, where once the first codeword is decoded, the second codeword can be reconstructed from all the previous rounds and the LLR values for the second codeword are immediately combined. In the next section, we will detail this methodology.