DATA RETRANSMISSION IN WIRELESS NETWORK
20210336719 · 2021-10-28
Inventors
Cpc classification
H03M13/1111
ELECTRICITY
H03M13/2707
ELECTRICITY
H03M13/275
ELECTRICITY
H04L1/1812
ELECTRICITY
H03M13/6306
ELECTRICITY
H03M13/6356
ELECTRICITY
International classification
H04L1/00
ELECTRICITY
H04L1/16
ELECTRICITY
Abstract
Methods and devices are disclosed for transmitting data, including segmenting a group of information bits into a set of information blocks that each include a respective plurality of the information bits; encoding, using low density parity check (LDPC) encoding, each of the information blocks to generate corresponding codewords; transmitting the codewords to a destination station; receiving a feedback message indicating that at least one of the codewords has not been successfully decoded by the destination station; interleaving the information bits of the information block that corresponds to the at least one of the codewords; encoding, using low density parity check (LDPC) encoding, the interleaved information bits to generate an interleaved codeword; and transmitting the interleaved codeword to the destination station.
Claims
1. A method of transmitting data, comprising: segmenting a group of information bits into a set of information blocks that each include a respective plurality of the information bits; encoding, using low density parity check (LDPC) encoding, each of the information blocks to generate corresponding codewords; transmitting the codewords to a destination station; receiving a feedback message indicating that at least one of the codewords has not been successfully decoded by the destination station; interleaving the information bits of the information block that corresponds to the at least one of the codewords; encoding, using low density parity check (LDPC) encoding, the interleaved information bits to generate an interleaved codeword; and transmitting the interleaved codeword to the destination station.
2. The method of claim 1 comprising selecting an interleaver to use for the interleaving based on an LDPC code used for the LDPC encoding.
3. The method of claim 1 comprising selecting an interleaver to use for the interleaving based on a number of times the information bits of the information block that corresponds to the at least one codeword have been previously included in codewords sent to the destination station.
4. The method of claim 1 wherein the feedback message includes a codeword bitmap field containing a decoding status bit for each codeword indicating whether the codeword was successfully decoded.
5. A station enabled for use in a wireless area local area network (WLAN), the station being configured to: segment a group of information bits into a set of information blocks that each include a respective plurality of the information bits; encode, using low density parity check (LDPC) encoding, each of the information blocks to generate corresponding codewords; transmit the codewords to a destination station; receive a feedback message indicating that at least one of the codewords has not been successfully decoded by the destination station; interleave the information bits of the information block that corresponds to the at least one of the codewords; encode, using low density parity check (LDPC) encoding, the interleaved information bits to generate an interleaved codeword; and transmit the interleaved codeword to the destination station.
6. The station of claim 5, wherein the station is configured to select an interleaver to use for the interleaving based on an LDPC code used for the LDPC encoding.
7. The station of claim 5 wherein the station is configured to select an interleaver to use for the interleaving based on a number of times the information bits of the information block that corresponds to the at least one codeword have been previously included in codewords sent to the destination station.
8. The station of claim 5 wherein the feedback message includes a codeword bitmap field containing a decoding status bit for each codeword indicating whether the codeword was successfully decoded.
9. A method for decoding codewords at a station of a wireless local area network (WLAN), comprising: receiving at the station, through a wireless medium, a first packet that includes a plurality of low density parity check (LDPC) encoded codewords; and transmitting a feedback message that includes a codeword bitmap field containing a decoding status bit for each codeword indicating whether the codeword was successfully decoded.
10. The method of claim 9 wherein the feedback message comprises a frame that includes, in the following order: a frame control field, a duration field, the codeword bitmap field, and a frame check sequence (FCS) field.
11. The method of claim 10 wherein the frame control field and the duration field each have a size of 2 octets, the codeword bitmap field has a size of 6 octets, and the FCS field has a size of 4 octets.
12. The method of claim 9 wherein the feedback message comprises a frame that includes, in the following order: a frame control field, a duration field, a receiver address field, the codeword bitmap field and a frame check sequence (FCS) field.
13. The method of claim 12 wherein the frame control field and the duration field each have a size of 2 octets, the receiver address field has a size of 6 octets or less, the codeword bitmap field has a size of 1 octet or greater based on the number of codewords transmitted in PPDU, and the FCS field has a size of 4 octets.
14. The method of claim 9 wherein the first packet includes multiple data units that each include a respective plurality of LDPC encoded codewords, the codeword bitmap including a decoding status bit for each of the codewords included in the data units.
15. The method of claim 14 wherein the feedback message comprises a block acknowledgement (BA) frame that includes, in the following order: a frame control field, a duration field, a receiver address field, a transmitter address field, a BA control field, BA bitmap field that indicates a respective status bit for each of the data units, a codeword bitmap field for the codeword bitmap, and a frame check sequence (FCS) field.
16. The method of claim 9 comprising, after transmitting the feedback message, receiving at the station, through the wireless medium, a second packet including an LDPC encoded codeword generated at a source station by interleaving the information bits used to generate a corresponding codeword included in the first packet and indicated in the message as having an unsuccessful decoding status; and decoding the LDPC codeword included in the second packet.
17. The method of claim 16 wherein decoding the LDPC codeword included in the second packet includes combing information from LDPC codeword included in the second packet with information from the corresponding codeword included in the first packet.
18. The method of claim 17 wherein combining information includes: soft combining log-likelihood ratio (LLR) values obtained in respect of information bits included in the LDPC codeword included in the second packet with LLR values obtained in respect of corresponding information bits included the corresponding codeword included in the first packet.
19. The method of claim 18 wherein combining information includes concatenating the soft combined LLR values for the information bits with values obtained in respect of parity check bits included in the LDPC codeword included in the second packet and concatenating the soft combined LLR values for the information bits with values obtained in respect of parity check bits included in the LDPC codeword included in the first packet.
20. The method of claim 18 wherein combining information includes: soft combining channel bit values obtained in respect of information bits included in the LDPC codeword included in the second packet with channel bit values obtained in respect of corresponding information bits included the corresponding codeword included in the first packet.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Reference will now be made, by way of example, to the accompanying figures which show example embodiments of the present application, and in which:
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038] Like reference numerals are used throughout the Figures to denote similar elements and features. While aspects of the invention will be described in conjunction with the illustrated embodiments, it will be understood that it is not intended to limit the invention to such embodiments.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0039] The present disclosure teaches methods, devices, and systems for retransmitting data in a wireless network. Next generation WLAN systems, including for example next generation Wi-Fi systems, will require higher data rates and higher reliability than prior generation systems. HARQ error control methods may help achieve high data rate and reliability goals. As noted above, HARQ error control includes a combination of ARQ and FEC error control methods. In at least some Wi-Fi systems (for examples IEEE 802.11/n/ac/ax compliant systems), low-density parity-check (LDPC) codes are employed for FEC. Example embodiments of a HARQ error control method are presented in this disclosure that combine LPDC code based FEC error control procedures with Nack error control procedures in a WLAN system.
[0040] An example of an environment in which the error control procedures described below can operate will be provided with reference to
[0041] Each STA 102 may be a laptop, a desktop PC, PDA, Wi-Fi phone, wireless transmit/receive unit (WTRU), mobile station (MS), mobile terminal, smartphone, mobile telephone, sensor, internet of things (IOT) device, or other wireless enabled computing or mobile device. In some embodiments, a STA 102 comprises a machine which has the capability to send, receive, or send and receive data in the communications network 100 but which performs primary functions other than communications. In some embodiments, a machine includes an apparatus or device with means to transmit and/or receive data through the communications network 100 but such apparatus or device is not typically operated by a user for the primary purpose of communications. The AP-STA 104 may comprise a network access interface which functions as a wireless transmission and/or reception point for STAs 102 in the network 100. The AP-STA 104 may be connected to a backhaul network 110 which enables data to be exchanged between the AP-STA 104 and other remote networks (including for example the Internet), nodes, APs, and devices (not shown). The AP-STA 104 may support communications through unlicensed radio frequency spectrum wireless medium 106 with each STA 102 by establishing uplink and downlink communications channels with each STA 102, as represented by the arrows in
[0042]
[0043] The processing system 150 may include one or more processing devices 152, such as a processor, a microprocessor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a dedicated logic circuitry, or combinations thereof. The processing system 150 may also include one or more input/output (I/O) interfaces 154, which may enable interfacing with one or more appropriate input devices and/or output devices (not shown). One or more of the input devices and/or output devices may be included as a component of the processing system 150 or may be external to the processing system 150. The processing system 150 may include one or more network interfaces 158 for wired or wireless communication with a network. In example embodiments, network interfaces 158 include one or more wireless transceivers that enable communications in a WLAN such as network 100. Network interfaces 158 may also include interfaces for wired or wireless communication with networks, such as but not limited to, an intranet, the Internet, a P2P network, a WAN, LAN, and/or a cellular or mobile communications network such as a 5G NR, 4G LTE or other network as noted above. The network interface(s) 158 may include interfaces for wired links (e.g., Ethernet cable) and/or wireless links (e.g., one or more radio frequency links) for intra-network and/or inter-network communications. The network interface(s) 158 may provide wireless communication via one or more transmitters or transmitting antennas, one or more receivers or receiving antennas, and various signal processing hardware and software, for example. In this regard, some network interface(s) 158 may include respective processing systems that are similar to processing system 150. In this example, a single antenna 160 is shown, which may serve as both transmitting and receiving antenna. However, in other examples there may be separate antennas for transmitting and receiving. The network interface(s) 158 may be configured for sending and receiving data to the backhaul network 110 or to other STAs, user devices, access points, reception points, transmission points, network nodes, gateways or relays (not shown) in the network 100.
[0044] The processing system 150 may also include one or more storage units 170, which may include a mass storage unit such as a solid state drive, a hard disk drive, a magnetic disk drive and/or an optical disk drive. The processing system 150 may include one or more memories 172, which may include a volatile or non-volatile memory (e.g., a flash memory, a random access memory (RAM), and/or a read-only memory (ROM)). The non-transitory memory(ies) 172 may store instructions for execution by the processing device(s) 152, such as to carry out the present disclosure. The memory(ies) 172 may include other software instructions, such as for implementing an operating system and other applications/functions. In some examples, one or more data sets and/or module(s) may be provided by an external memory (e.g., an external drive in wired or wireless communication with the processing system 150) or may be provided by a transitory or non-transitory computer-readable medium. Examples of non-transitory computer readable media include a RAM, a ROM, an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a CD-ROM, or other portable memory storage.
[0045] In example embodiments the processing system 150 includes one or more encoders 162 for encoding source words to codewords and a modulator 164 for modulating codewords to symbols. As explained below, the encoder 162 performs LDPC encoding on source words to generate codewords in bits. The modulator 164 performs modulation on the codewords (e.g., by modulation techniques such as BPSK, QPSK, 16QAM, or 64QAM). In some examples, instructions coded in the memory 172 may configure processing device 152 to perform the functions of the encoder 162 and/or the modulator 164, such that the encoder 162 and/or the modulator 164 may not be distinct physical modules of the processing system 150. In some examples, the encoder 162 and the modulator 164 may be embodied within a transmitter module that is part of a network interface 158 of the processing system 150. In some examples, the transmitting antenna 160, the encoder 162, and the modulator 164 may be embodied as a transmitter component external to the processing system 150, and may simply communicate the source words from the processing system 150.
[0046] The processing system 150 may include a demodulator 180 and one or more decoders 190 for processing a received signal. The demodulator 180 may perform demodulation on a received modulated signal (e.g., a BPSK, QPSK, 16QAM, or 64QAM signal). The decoder 190 may then perform appropriate decoding on the demodulated signal, in order to recover the original source words contained in the received signal. In some examples, instructions coded in the memory 172 may configure processing device 152 to perform the functions of the demodulator 180 and/or the decoder 190, such that the demodulator 180 and/or the decoder 190 may not be distinct physical modules of the processing system 150. In some examples, the demodulator 180 and the decoder 190 may be embodied within a receiver module of a network interface 158 of the processing system 150. In some examples, the receiving antenna 160, demodulator 180 and decoder 190 may be embodied as a receiver component external to the processing system 150, and may simply communicate the signal decoded from the received signal to the processing system 150.
[0047] There may be a bus 192 providing communication among components of the processing system 150, including the processing device(s) 152, I/O interface(s) 154, network interface(s) 158, storage unit(s) 170, memory(ies) 172, encoder 162, modulator 164, demodulator 180 and decoder 190. The bus 192 may be any suitable bus architecture including, for example, a memory bus, a peripheral bus or a video bus.
[0048] In example embodiments, communications between STAs, including for example between a STA 102 and the AP-STA 104, in the network 100 may be implemented by encoding source words using low density parity check (LDPC) encoding techniques to generate codewords. The codewords resulting from LDPC encoding of respective source words are embedded in packets that are modulated and transmitted over a wireless medium between AP-STA 104 and STA 102. In example embodiments, the physical layer packet structure used for communications in network 100 corresponds to the PPDU packet structure defined in IEEE std 802.11™-2016, an example of which is shown in
[0049] As illustrated in
[0050]
[0051] As illustrated in
[0052] In example embodiments, the LDPC encoding 504 applied in example embodiments uses LDPC codes that are specified in one or more of the IEEE 802.11n/ac/ax protocols, including for example the code rates and codeword block sizes specified in Sec. 19.3.11.7.2 of IEEE std 802.11™-2016 and the parity check matrices specified in Sec. 19.3.11.7.4 of IEEE std 802.11™-2016.
[0053] Accordingly, in encoding procedure 500, the data bits that are to be included in the PSDU 312 of PPDU 300 are segmented into Ncw information blocks IB.sub.1 to IB.sub.NCW, which correspond to NCW k-bit source words s.sub.1 to s.sub.NCW. Each k-bit source word s.sub.j may be considered as a 1×k row vector or a one-dimensional binary 1×k matrix s.sub.j=[s.sub.1, . . . , s.sub.k]. Each k-bit source word s.sub.j is then encoded to respective n-bit codeword b.sub.j=[b.sub.1, . . . , b.sub.n] by multiplying the source word with a generator matrix G (e.g. b=s.Math.G). The n-bit codeword b.sub.j includes k information bits and n-k parity check bits. In example embodiments, known procedures for generating LDPC codewords from source words using generator matrix G can be applied to perform LDPC encoding 504.
[0054] Codewords b.sub.1 to b.sub.NCW may each be subjected to respective puncturing and repeating operations 506, and combined into a bitstream for inclusion in a PPDU 300. The codewords b.sub.1 to b.sub.NCW in a PPDU 300 are modulated onto an RF signal 401 and transmitted to destination STA 403. As noted above, in some examples, PPDU 300 payload 312 may include a set of codewords generated from a single MPDU 302, and in some examples PPDU 300 payload 312 may include multiple codewords generated from multiple MPDUs 302 aggregated into an A-MPDU 304. The encoding procedure 500 is performed in the same manner as described above to generate a set of codewords for the bits in A-MPDU 304.
[0055] Referring again to
[0056] As noted above, each set of codewords b.sub.1.sup.T to b.sub.NCW.sup.T corresponds to a MPDU 302, and thus the recovered source words obtained from decoding the codewords b.sub.1.sup.T to b.sub.NCW.sup.T correspond to the bits of an MPDU 302, which as indicated above includes a MAC header 314, an MSDU 316, and an FCS 318. In example embodiments, the decoder 190 is configured to determine a decoding status for the MPDU 302 based on whether an FCS calculated at the destination STA 102 in respect of the bits of the recovered MAC header 314 and MSDU 316 bits matches the recovered FCS 318. Accordingly, in example embodiments, decoder 190 provides a decoding status for MPDU 302 recovered from the received PPDU 300, along with the a decoding status for each of the codewords b.sub.1.sup.T to b.sub.NCW.sup.T that correspond to each MPDU 302.
[0057] In example embodiments, the destination STA 102 is configured to store the interim and final decoding results for any codewords b.sub.1.sup.T to b.sub.NCW.sup.T that are unsuccessfully decoded and thus labelled as unsuccessfully decoded. By way of example, destination STA 102 may provide a codeword decoding log that identifies, for each unsuccessfully decoded codeword b.sub.j.sup.T, one or both of: the soft channel bit values output by demodulator 180; and the LLR values output by LLR calculator 192. The soft bit LDPC decoding values generated during the iterations of the MPA performed by LDPC decoder 194 may also be stored. As described in greater detail below, in example embodiments, these values can be combined with corresponding values generated in respect of retransmitted codewords to assist in decoding of the retransmitted codewords.
[0058] Referring again to
[0059] In some examples, in the case where the FCS decoding status in respect of at least one MPDU indicates that an error has occurred, the feedback message 413 uses a HARQ frame format to provide a negative acknowledgement (Nack) message to the source AP-STA 104. In example embodiments, different types of HARQ frame formats are used for Nack-type feedback messages 413 in respect of PPDUs 300 that include a single MPDU 302 and PPDUs 300 that includes an A-MPDU 304. Examples of HARQ frame formats used to acknowledge a PPDU 300 that embeds a single MPDU 302 will be described first with respect to
[0060]
[0061] The HARQ frame 600A has the same length, 14 octets, as the current Ack frame format specified in Sec. 9.3.1.4 IEEE std 802.11™-2016. The use of a HARQ frame that is the same size as an Ack frame may in some examples facilitate an accurate estimation of the Duration time that is included in the Duration field.
[0062]
[0063] In an example embodiment, the respective fields are used as follows: (A) Frame control field: the Frame control field includes Type and Subtype subfields that indicate that HARQ frame 600B is type of control frame that is not currently specified in IEEE std 802.11™-2016, namely a Control frame—“HARQ” (e.g., combination of Type value B3 B2=01 and Subtype value B7 B6 B5 B4=0011 in Frame control field indicates a “HARQ” type frame). (B) Duration field: the duration field includes a duration value is the total estimated time required for: (i) transmission of a pending data including any codewords to be retransmitted, which are identified in the CW Bitmap as being unsuccessfully decoded and new data to be transmitted from the source AP-STA 104 to the destination STA 102; (ii) a further HARQ frame or Ack frame to be transmitted; and (iii) two SIFS. (C) RA field: the RA field is the same as that defined for the Ack frame format specified in Sec. 9.3.1.4 of IEEE std 802.11™-2016 (i.e. address of the nonbandwidth signaling TA from the Address 2 field of the immediately previous individually addressed data frames—e.g., the address of source AP-STA 104 in the present example).) (D) FCS field: specifies an FCS calculated over all of the fields of the MAC header and the Frame Body field (for example, as specified in Sec. 9.2.4.8 of IEEE std 802.11™-2016). (E) CW Bitmap field: provides a bit map indication of the decoding status of each of the codewords b.sub.1.sup.T to b.sub.NCW.sup.T decoding status, e.g. “1” means the codeword was successfully decoded; “0” means the codeword was unsuccessfully decoded.
[0064] As indicated above, the CW Bitmap field of HARQ frame 600B has a length of 6 octets, thus allowing the decoding status for up to 48 codewords to be indicated. In some examples, an alternative format may be used for HARQ frame 600B in which the CW Bitmap field has a length greater than 6 octets, for example K octets, where KK is greater than or equal to 1, and the value of K is specified or selected based on the number of codewords. In some examples, the destination STA 102 may by configured to use HARQ frame 600B with a 6-octet CW Bitmap field, and in some examples STA 102 will use a HARQ frame 600B with a K-octet CW Bitmap field when NCW≤8*K.
[0065] In some example embodiments, the source station AP-STA 104 and destination station STA 102 may be configured to also use HARQ frame 600A or 600B instead of an Ack frame to indicate a completely successful decoding. In such cases, CW Bitmap field of the HARQ frame 600A or 600B will be set to indicate a successful decoding for all received codewords. Accordingly, in example embodiments, a HARQ frame 600A or 600B can function as an Ack frame (e.g. CW Bitmap set to indicate all codewords are successfully decoded) and as a Nack Frame (e.g. at least some bits in CW Bitmap indicate unsuccessfully decoded codewords).
[0066] In some cases, a situation may occur in where all codewords are successfully decoded at destination STA 102, however the FCS decoding status does not pass, and in some examples the destination STA 102 is configured to respond to such situations by not sending any feedback message 413. As specified in existing IEEE Std 802.11™-2016, if the source STA does not receive an acknowledgement within a timeout period, it interprets that a failure of PPDU transmission has occurred and may retransmit the PPDU.
[0067] An example format used for a HARQ-type frame in feedback message 413 to acknowledge a PPDU 300 that includes an A-MPDU 304 having MPDUs 302 will be described with respect to
[0068] As shown in
[0069] Referring again to
[0070] In example embodiments, if the feedback message 413 is received before the expiration of the time-out period is an Ack frame (or a HARQ frame indicating a completely successful decoding) no data retransmission is required. Otherwise, the source AP-STA 104 is configured to identify, based on CW bitmap(s) included in the feedback message 413 which codewords were unsuccessfully decoded at the destination STA 102 and then retransmit the unsuccessfully decoded codewords (or versions of the incorrectly codewords) in a new PPDU 300R (Action 414). Retransmission procedures carried out as part of Action 414 will now be described in greater detail according to some example embodiments.
[0071] In at least some example embodiments, the retransmission procedures performed by the source AP-STA 104 to retransmit unsuccessfully decoded codewords and the subsequent decoding procedures performed at destination STA 102 are configured to increase the chance of success based on information known from the failed transmission. By way of background, the extent to which LDPC encoding enables transmission errors to be corrected is impacted by the distribution of combinatorial configurations embedded in the parity-check matrix, such as short cycles, stopping sets for binary erasure channel (BEC) and trapping sets for binary symmetric channel (BSC) and additive white Guassian noise (AWGN) channel. Error events at the high SNR region can be related to smaller stopping sets and trapping sets. Stopping sets and trapping sets are determined by the design of a parity-check matrix and its corresponding Tanner graph for an LDPC code. Forward error rate (FER) in an LDPC based system can be improved by: (1) reducing trapping sets in LDPC code design, (2) avoiding decoder inputs (error patterns) that could fall into trapping sets, and (3) improving the reliability of inputs provided to the decoder. Given that LDPC code designs are already well defined in the art, including for example in IEEE std 802.11™-2016, example embodiments described below are directed to improving FER in retransmitted LPDC codewords by addressing the last two points noted above, namely: (2) avoiding decoder inputs that could fall into trapping sets, and (3) improving the reliability of inputs provided to the decoder.
[0072] In this regard, for each failed codeword b.sub.j, the source AP-STA 104 knows the bit order and content of the failed codeword b.sub.j and its corresponding source word s.sub.j (which as indicated above corresponds to an information block IB.sub.j information bits segmented from an input data stream). In order to mitigate against patterns in the codeword bits that could fall into trapping sets, in example embodiments the source AP-STA 104 is configured to apply an interleaving procedure to re-order the information bits included in the original information block IB.sub.j to generate a revised source word s′.sub.j which is then LDPC encoded to generate a revised codeword b′.sub.j. The revised codeword b′.sub.j can then be transmitted, which in at least some cases may improve the reliability of inputs provided to the decoder 190 of the destination STA 102.
[0073] In this regard,
[0074] In example embodiments, the revised codeword b′.sub.j is then subjected to puncturing/repeating 1012. In some example embodiments, the puncturing/repeating 1012 applied in procedure 1000 is the same as that performed in the puncturing/repeating 506 applied during the original encoding procedure 500. It will be appreciated that using the same puncturing/repeating sequence for the re-transmission as used for the original transmission corresponds to known chase combining (CC) retransmission techniques. In some example embodiments, the puncturing/repeating 1012 applied in procedure 1000 is different than that performed in the puncturing/repeating 506 applied of the original encoding procedure 500. In particular, fewer or different parity check bits may be punctured in puncturing/repeating 1012 than in the puncturing/repeating 506 applied of the original encoding procedure 500. It will be appreciated that using different puncturing for re-transmission of FEC encoded data than that used for the original transmission corresponds to known incremental redundancy (IR) retransmission techniques.
[0075] As shown in
[0076] In example embodiments, interleaving 1008 is performed by an interleaver implemented by encoder 162. In at least some embodiments, the interleaving procedure used for the retransmission of LDPC codewords is selected based on the specific LDPC code applied by LDPC encoding. For example, different interleaving properties may be applied for LPDC codes with different rates and codeword lengths. Furthermore, in some example embodiments it is possible that multiple retransmissions may occur, and the specific interleaving procedure that is applied may be selected based on the particular retransmission iteration. In this regard, in some examples the MPDU retransmission encoding procedure 1000 includes a select interleaver action 1006 that selects an interleaving process to use for interleaving 1008 based on one or more of: the LPDC code being applied, and the retransmission iteration.
[0077] In one example embodiment, interleaving 1008 can be implemented using a row-column block interleaver in which the information bits from an information block IB.sub.j are input into an M by N matrix in a first order (e.g. row-by-row) and then read out in a different order (e.g. column-by-column) to generate revised source word s′.sub.j. In this regard, a simplified example of a row-column block interleaver 1100 is illustrated in
[0078] In example embodiments, the dimensions of the matrix used for row-column block interleaver 1100 are selected (e.g. during the select interleaver Action 1006) based on the LPDC code that will be applied during LDPC encoding 1010. By way of example, matrix dimensions that result in optimized interleaving performance may be predetermined for each possible LPDC code rate/source word length(k)/codeword length(n), and the optimized matrix dimensions then used for each LPDC code. In one example embodiment, the matrix used for row-column block interleaver 1100 has a constant number of columns (for example N=54), and the number of rows (M) is selected from a set of predetermined values based on the LPDC code. In this regard,
[0079] In a case that a different interlever is used for each retransmission, a retransmission index may be included in the PHY Header of the PPDU 300R which embeds the retransmitted MPDU or A-MPDU.
[0080] In some example embodiments, interleaving 1008 can be implemented using circular permutation interleaving. By way of example,
b=(a+P(R).Math.N.sub.ROT)mod k
where: [0081] k denotes the length of information bits of the transmitted LDPC code; [0082] P(R) denotes a variable permutation coefficient, which depends on the number of current transmission R; [0083] N.sub.ROT denotes a fixed permutation coefficient.
[0084] Accordingly, it will be appreciated that, in at least some example embodiments, retransmission encoding procedure 1000 generates revised versions of the codewords identified in a CW_bitmap of feedback message 413 as being unsuccessfully decoded. The revised codewords b′ (for example b′.sub.f, b′.sub.j, b′.sub.q from the example of
[0085] Referring again to
[0086] As noted above, in example embodiments the destination STA 102 can provide a codeword decoding log that includes decoding results for unsuccessfully decoded codewords b.sup.T from the original PPDU transmission. The codeword decoding log (indicated by reference number 1402 in
[0087] Accordingly, in the example retransmission decoding procedure 418 shown in
[0088] As indicated in
[0089] If successful decoding occurs, an Ack message indicating success can be sent to source AP-STA 104. Such an Ack message could be in the Ack frame format defined in IEEE std 802.11™-2016, or as noted above, alternatively could be feedback message 413 in which the CW-bitmap(s) indicates a successful decoding for each codeword.
[0090] As indicated in
[0091] Referring again to the retransmission decoding procedure 418 shown in
[0092] As noted above, the retransmission decoding procedure 418 shown in
[0093] Example embodiments of a method performed at a destination WLAN station (for example STA 102) are summarized with reference to
[0094] In some examples the feedback message 413 takes the form of a negative acknowledgment (Nack) frame (for example HARQ frame 600A) that includes, in the following order: a frame control field, a duration field, a codeword bitmap field for the codeword bitmap, and a frame check sequence (FCS) field. In some examples, the feedback message takes the form of a HARQ frame (for example HARQ Fame 600B) that includes, in the following order: a frame control field, a duration field, a receiver address field, a codeword bitmap field and an FCS field.
[0095] In some examples, the first packet (e.g. PPDU 300) includes multiple data units that each include a respective plurality of LDPC encoded codewords and the codeword bitmap including a decoding status bit for each of the codewords included in the data units. In such examples, the response message 413 may take the form of a block acknowledgement (BA) frame that includes, in the following order: a frame control field, a duration field, a receiver address field, a transmitter address field, a BA control field, BA bitmap field that indicates a respective status bit for each of the data units, a codeword bitmap field for the codeword bitmap, and a frame check sequence (FCS) field.
[0096] In some example embodiments, the method further includes receiving at the destination station, through the wireless medium 106, a second packet (e.g. PPDU 300R). The second packet includes an LDPC encoded codeword b′.sub.j generated at the source station (e.g. AP-STA 104) by interleaving identical information bits (IB.sub.j) used to generate a corresponding codeword b.sub.j included in the first packet (e.g. PPDU 300) and indicated in the message (e.g. feedback message 413) as having an unsuccessful decoding status (block 1610). The LDPC codeword included in the second packet is then decoded (block 1612).
[0097] In example embodiments, decoding the LDPC codeword included in the second packet includes combing information from LDPC codeword included in the second packet with information from the corresponding codeword included in the first packet. In some examples, combining information includes: soft combining log-likelihood ratio (LLR) values or soft channel values obtained in respect of information bits included in the LDPC codeword included in the second packet with respective LLR values or soft channel values obtained in respect of corresponding information bits included the corresponding codeword included in the first packet. In some examples, combining information includes concatenating the soft combined LLR values or soft channel values for the information bits with values obtained in respect of parity check bits included in the LDPC codeword included in the second packet. In some examples, combining information includes concatenating the soft combined LLR values or soft channel values for the information bits with values obtained in respect of parity check bits included in the LDPC codeword included in the first packet.
[0098] Example embodiments of a method performed at a source station (for example AP-STA 104) are summarized with reference to
[0099] In some examples, interleaving the information bits comprises applying row-column block interleaving to the information bits by writing the information bits into an M row by N column matrix in a first order and reading the information bits out of the matrix in a second order, wherein M*N is equal to the number of information bits. In some examples N=54, and the information bits are written into the matrix on a row-by-row basis and read out of the matrix on a column-by-column basis.
[0100] In some examples, interleaving the information bits comprises applying circular permutation interleaving.
[0101] The present disclosure provides certain example algorithms and calculations for implementing examples of the disclosed methods and systems. However, the present disclosure is not bound by any particular algorithm or calculation. Although the present disclosure describes methods and processes with steps in a certain order, one or more steps of the methods and processes may be omitted or altered as appropriate. One or more steps may take place in an order other than that in which they are described, as appropriate.
[0102] Through the descriptions of the preceding embodiments, the present invention may be implemented by using hardware only, or by using software and a necessary universal hardware platform, or by a combination of hardware and software. Based on such understandings, the technical solution of the present invention may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), USB flash drive, or a hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the embodiments of the present invention.
[0103] Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the invention as defined by the appended claims.
[0104] Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.