Method and apparatus for transmitting uplink data in wireless local area network

By combining data packets from multiple stations in a wireless local area network for erasure coding, and utilizing random coding and OFDMA technology, the problems of high uplink data transmission latency and low reliability are solved, achieving efficient and reliable uplink data transmission.

CN115412200BActive Publication Date: 2026-07-03HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-05-28
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Erasure coding has a large latency in uplink data transmission scenarios in wireless LANs, making it difficult to meet actual needs. This is mainly due to the small traffic volume and the excessive waiting time for encoded packets caused by contention for access in 802.11, as well as the encoding failure caused by direct path obstruction.

Method used

By combining data packets from multiple sites for erasure coding, using random coding methods and OFDMA technology, the data sources are expanded, coding latency is reduced and reliability is improved, and coding identifiers are used to identify the coding components, simplifying the decoding process.

Benefits of technology

It significantly reduces the latency of erasure coding, improves the reliability of uplink data transmission, and can maintain efficient transmission even under degraded channel conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115412200B_ABST
    Figure CN115412200B_ABST
Patent Text Reader

Abstract

This application provides a method and apparatus for transmitting uplink data in a wireless local area network, belonging to the field of communication technology. The embodiments of this application expand the data sources for encoding by combining data packets provided by multiple STAs for erasure coding. Therefore, it helps solve the problem of long encoding / decoding delays caused by insufficient service data from a single STA in uplink transmission scenarios, thus reducing the latency of erasure coding / decoding.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for transmitting uplink data in a wireless local area network. Background Technology

[0002] Erasure coding is a method for achieving highly reliable data transmission. The main principle of erasure coding is that the sending end generates K redundant packets from N data packets (also called source packets) in a linear superposition-like manner, resulting in (N+K) encoded packets. Here, N is a positive integer greater than 1, K is a positive integer, and each of the (N+K) encoded packets is either a data packet or a redundant packet. The sending end sends these (N+K) encoded packets to the receiving end. If the number of encoded packets received by the receiving end is greater than or equal to N, then the receiving end can perform erasure decoding using the encoded packets, similar to solving a system of equations, to recover the lost data packets. The receiving end needs to meet two conditions for erasure decoding: First, the encoded packets used for erasure decoding must include at least N verified encoded packets; second, the encoded packets used for erasure decoding must include at least N linearly independent encoded packets.

[0003] Currently, erasure coding in wireless local area networks (WLANs) is typically limited to downlink data transmission scenarios with high traffic volumes. However, for uplink data transmission scenarios, due to the smaller traffic volume, assembling a single encoded packet (N data packets) usually requires a considerable amount of time. Combined with the contention-based access latency of 802.11, this results in very high latency for erasure decoding at the receiving end, making it difficult to meet practical requirements. Summary of the Invention

[0004] This application provides a method and apparatus for transmitting uplink data in a wireless local area network, which can reduce the latency of erasure coding and decoding. The technical solution is as follows.

[0005] Firstly, a method for uplink data transmission in a wireless local area network (WLAN) is provided. This method combines data packets provided by multiple stations (STAs) for erasure coding. Taking the first STA among multiple STAs executing this method as an example, during uplink data transmission, the first STA acquires a set of data packets; the first STA performs erasure coding on the data packet set to obtain an encoded packet; and the first STA sends the encoded packet to the access point (AP). The aforementioned data packet set includes data packets from N STAs, where N is a positive integer greater than 1. That is, data packets generated by all N STAs participate in the encoding process of the first STA.

[0006] The above method, by encoding data packets from multiple STAs, can achieve at least two beneficial effects: reduced latency and improved reliability. The technical principles behind these two benefits are analyzed in detail below.

[0007] On the one hand, the above methods, to some extent, overcome the limitation of insufficient data during encoding due to a lack of service data from a single STA, expanding the data sources for encoding and ensuring that STAs have a sufficient number of data packets available for encoding. The probability of multiple STAs simultaneously lacking service data is very small; encoding can begin as long as two STAs have service data, thereby reducing the time spent waiting for data during encoding at the sending end and also reducing the time for the receiving end to collect all packets during decoding. Therefore, this solves the problem of long waiting times for data during encoding due to insufficient uplink traffic and insufficient data packets generated by a single STA, significantly reducing latency.

[0008] On the other hand, even if the direct path from a STA to the AP is blocked, resulting in a high probability of continuous packet loss when the STA sends data packets to the AP, the encoded data packets of that STA can be transmitted to the AP through other STAs. The AP can then use the encoded data packets sent by other STAs to recover the data packets of the STA whose direct path was blocked. Therefore, the problem of erasure coding failure caused by direct path blockage is solved, and reliability is significantly improved.

[0009] Optionally, the first STA combines and encodes data packets from multiple other STAs. Specifically, the data packet set used by the first STA includes data packets from N other STAs, where the other STAs are STAs other than the first STA.

[0010] By adopting the above methods, the data sources available for encoding are enriched, and the limitation that encoding cannot be started if there is a lack of business data on the local side is eliminated to a certain extent, further reducing the latency of erasure coding.

[0011] Optionally, the first STA employs random coding during erasure coding. By using random coding, a random coding composition can be provided for the erasure coding of the entire system, thus addressing random channel degradation characteristics and effectively improving the robustness of the system. Specific implementations of random coding include, but are not limited to, at least one of the following implementation methods a and b.

[0012] Implementation method a. The selection of which STAs participate in erasure coding is random.

[0013] For example, the above data packet set is a collection of data packets randomly selected from Y data packets. Each of the Y data packets has passed verification, and Y is a positive integer greater than or equal to N.

[0014] Because of the randomness of channels and noise, the packet loss of which STAs occurs during wireless transmission is random. However, by adopting the above implementation method a, the data packets used in erasure coding also come from random STAs, thus helping to cope with random channels and noise and covering more scenarios.

[0015] Implementation method b. The number of STAs participating in erasure coding is random.

[0016] For example, N above is a random number generated by the first STA.

[0017] By adopting the above implementation method b, the randomness of erasure coding is further improved, thereby enhancing the ability to cope with random channel degradation characteristics.

[0018] Alternatively, the number of STAs (i.e., N) participating in erasure coding is a pre-set value.

[0019] Optionally, Y data packets belong to data packets sent by X STAs, where X is a positive integer greater than or equal to Y.

[0020] Optionally, the first STA combines its own data packets with those of other STAs for encoding. Specifically, the data packet set used by the first STA includes at least one data packet generated by the first STA.

[0021] The above methods provide more sufficient business data for erasure coding, thereby further reducing the latency of erasure coding.

[0022] Optionally, the encoded message and the encoded identifier are sent to the AP in the same frame. Taking the frame carrying the encoded identifier as the first frame as an example, the first STA sends the first frame, which includes the encoded message and the encoded identifier. The encoded identifier indicates the correspondence between the encoded message and N STAs.

[0023] By using the above method, the encoding identifier carried in the frame can efficiently identify the encoding composition of each encoded message, providing accurate decoding information for erasure decoding on the receiving side, thereby reducing the implementation complexity of erasure decoding.

[0024] The specific implementation methods of the encoding identifier include, but are not limited to, the following implementation method one and implementation method two.

[0025] Implementation Method 1: Bitwise Indicator

[0026] Specifically, the encoding identifier includes N set bits, and each set bit in the encoding identifier identifies one of the N STAs.

[0027] By using bit-by-bit indication, the storage space occupied on both the transmitting and receiving sides is relatively small, and the decoding side (AP) can obtain the combination method of the data packet by the value of each bit in the encoding identifier, thus making it faster and reducing latency.

[0028] Implementation Method 2: Table Lookup Instructions

[0029] Specifically, the encoding identifier is the index of the mapping table, which stores combinations of N STAs.

[0030] By using a lookup table, a mapping table is created sequentially for all combinations of data from all STAs. The transmitting and receiving ends store the same table, and the receiving end can determine the data combination simply by looking up the table, resulting in low complexity. Furthermore, since it's not necessary to reserve a bit for each STA, the length of the encoding identifier field is reduced, avoiding excessive transmission overhead from the encoding identifier and thus reducing the consumption of effective bandwidth.

[0031] Optionally, the first frame includes a frame body field, a field carrying an encoding identifier, and a check field. The content of the frame body field includes the encoded message. The field carrying the encoding identifier is located between the frame body field and the check field. The content of the check field is used to check whether the encoded message has an error during transmission.

[0032] The frame structure described above, which includes an encoding identifier field, not only ensures the verification capability of the encoded message but also ensures compatibility with ordinary frames (i.e., frames without an encoding identifier field). The principle behind achieving this effect will be analyzed below.

[0033] Because the encoding identifier field is located between the frame body field and the check field, even if the receiving end (STA or AP) does not recognize the encoding identifier, it can still parse the frame body field to obtain the encoded message carried in the frame body field. Furthermore, since the encoded message belongs to the IP layer, it includes a length field, which indicates the total length of the encoded message. During frame parsing, the data received by the receiving end's IP protocol stack includes the encoded message and the encoding identifier. Based on the length field, the receiving end can determine the total length of the encoded message, which is equivalent to knowing the end position of the encoded message. Therefore, the receiving end will treat the encoding identifier as redundant padding and discard it, thus avoiding message parsing errors caused by the receiving end's inability to recognize the encoding identifier. Therefore, this does not affect the reception of information by ordinary terminals (i.e., STAs that cannot recognize the encoding identifier). STAs or APs that support encoding identifier recognition can obtain both the encoding symbol and the encoding identifier from the frame simultaneously, facilitating subsequent erasure decoding.

[0034] Optionally, the first frame is a MAC protocol data unit (MPDU) with a frame check sequence (FCS) field as the verification field; or, the first frame is an aggregate MAC protocol data unit (A-MPDU) with an FCS field as the verification field; or, the first frame is an aggregate MAC service data unit (A-MSDU) with a cyclic redundancy check (CRC) field as the verification field.

[0035] The above method can support erasure encoding and decoding processes in various cases, such as non-aggregated frames (MPDU) and aggregated frames (A-MPDU and A-MSDU), thus improving flexibility.

[0036] Optionally, the aforementioned data packet set originates from a group of STAs with RF configurations opposite to the local STA. Taking the first STA as the local STA, for example, the first STA's receive frequency band includes a first frequency band and its transmit frequency band includes a second frequency band. Furthermore, there are N other STAs in the network besides the first STA, whose receive frequency band includes the second frequency band and their transmit frequency band includes the first frequency band. The first STA receives data packets from the N STAs on the first frequency band, thereby obtaining the data packet set. Here, the first frequency band is the transmit frequency band of the N STAs, and the N STAs are all other STAs besides the first STA.

[0037] In this way, while the first STA is sending its own data packets, it can receive data packets from another set of STAs for encoding, which improves the efficiency of data collection during encoding and further saves encoding latency.

[0038] Optionally, the first STA transmits its data packets in the second frequency band, which is the receiving frequency band for N STAs, all of which are other STAs besides the first STA.

[0039] In this way, the first STA provides its data to other STAs, thereby helping them with encoding and reducing their encoding latency. Furthermore, even if the direct path between the first STA and the AP is blocked, the first STA's data can be transmitted to the AP through other STAs, thus improving the reliability of data transmission from the first STA to the AP.

[0040] Optionally, the first STA uses a first resource unit (RU) and transmits its data packets using orthogonal frequency division multiple access (OFDMA).

[0041] By utilizing the uplink OFDMA mechanism, the first STA can simultaneously send data packets with other STAs in the group. Therefore, the AP can simultaneously receive data packets from multiple STAs and encode them. This further reduces the data encoding / decoding latency caused by a single STA.

[0042] Optionally, the first RU used by the first STA is indicated by the AP via a control frame. Specifically, before the first STA uses the first RU and transmits its data packets using OFDMA, the first STA also receives a first control frame from the AP on the second frequency band. The first control frame instructs the first STA to use the first RU when transmitting data packets.

[0043] Optionally, the first control frame is a multi-user request to send (MU RTS) frame, which includes the association ID (AID) of the first STA and the identifier of the first RU.

[0044] Optionally, N STAs are configured to transmit data packets in parallel in the first frequency band using OFDMA.

[0045] Optionally, the above method further includes: the AP configuring N STAs to transmit data packets in parallel in the first frequency band using OFDMA.

[0046] Secondly, a method for transmitting uplink data in a wireless local area network is provided. From the perspective of the access point (AP), during the execution of this method, the AP receives encoded packets from the first station (STA). The encoded packets are obtained by erasure coding based on a data packet set, which includes data packets from N STAs, where N is a positive integer greater than 1. In response to the loss of data packets sent by M of the N STAs, the AP performs erasure decoding based on the encoded packets, where M is a positive integer less than or equal to N.

[0047] The above method, by encoding data packets from multiple STAs, can achieve at least two beneficial effects: reduced latency and improved reliability. The technical principles behind these two benefits can be found in the description of the first aspect.

[0048] Optionally, the encoded message is carried in the first frame, which includes an encoding identifier that indicates the correspondence between the encoded message and the N STAs.

[0049] By using the above method, since the encoding identifier is carried in the frame, the encoding composition of each encoded message can be efficiently identified. Therefore, the AP can obtain the accurate information required for decoding during erasure decoding, thereby reducing the implementation complexity of erasure decoding.

[0050] Optionally, the first frame includes a frame body field, a field carrying an encoding identifier, and a check field. The content of the frame body field includes the encoded message. The field carrying the encoding identifier is located between the frame body field and the check field. The content of the check field is used to check whether the encoded message has an error during transmission.

[0051] Optionally, the AP performs erasure decoding based on the encoded message, including: the AP determines P data messages corresponding to the encoded message from the data messages verified by the verification field based on the encoding identifier, where P is a positive integer; the AP performs erasure decoding based on the encoded message and the P data messages.

[0052] Optionally, the encoding identifier includes N set bits, each set bit in the encoding identifier identifying one of the N STAs; or, the encoding identifier is an index of a mapping table that stores combinations of N STAs.

[0053] Optionally, before the AP receives the encoded message from the first STA, the AP also sends a first control frame to the first STA on the second frequency band. The first control frame instructs the first STA to use the first resource element (RU) when sending data packets.

[0054] Thirdly, a switch (STA) is provided, which has the functionality to implement the first aspect or any optional method of the first aspect described above. The STA includes an acquisition unit, an encoding unit, and a transmission unit, each unit of which is used to implement the method provided by the first aspect or any optional method of the first aspect described above.

[0055] Optionally, the data packet set includes data packets from N other STAs, where the other STAs are STAs other than the first STA.

[0056] Optionally, the data packet set is a collection of data packets randomly selected from Y data packets, where each of the Y data packets has passed verification, and Y is a positive integer greater than or equal to N.

[0057] Optionally, the Y data packets belong to data packets sent by X STAs, where X is a positive integer greater than or equal to Y.

[0058] Optionally, the data packet set includes data packets generated by the first STA.

[0059] Optionally, the sending unit is configured to send a first frame, the first frame including the encoded message and an encoding identifier, the encoding identifier indicating the correspondence between the encoded message and the N STAs.

[0060] Optionally, the encoding identifier includes N set bits, where each set bit identifies one of the N STAs; or,

[0061] The encoded identifier serves as an index to a mapping table, which stores combinations of the N STAs.

[0062] Optionally, the first frame includes a frame body field, a field carrying the encoding identifier, and a check field. The frame body field includes the encoded message, and the field carrying the encoding identifier is located between the frame body field and the check field. The content of the check field is used to check whether the encoded message has an error during transmission.

[0063] Optionally, the first frame is a Media Access Control (MAC) Protocol Data Unit (MPDU), and the check field is a Frame Check Sequence (FCS) field; or,

[0064] The first frame is an Aggregated MAC Layer Protocol Data Unit (A-MPDU), and the verification field is the FCS field; or,

[0065] The first frame is an aggregated MAC layer service data unit (A-MSDU), and the verification field is a cyclic redundancy check (CRC) field.

[0066] Optionally, N is a random number generated by the first STA; or, N is a preset value.

[0067] Optionally, the acquisition unit is configured to receive data packets from the N STAs on a first frequency band, wherein the first frequency band is the transmission frequency band of the N STAs, and the N STAs are all other STAs besides the first STA.

[0068] Optionally, the transmitting unit is further configured to transmit the data packet of the first STA in a second frequency band, wherein the second frequency band is the receiving frequency band of the N STAs, and the N STAs are all other STAs besides the first STA.

[0069] Optionally, the transmitting unit is configured to use a first resource unit (RU) to transmit the data packet of the first STA in an orthogonal frequency division multiple access (OFDMA) manner.

[0070] Optionally, the acquisition unit is further configured to receive a first control frame from the AP on the second frequency band, the first control frame instructing the first STA to use the first RU when sending data packets.

[0071] Optionally, the first control frame is a multi-user request to send MU RTS frame, the MU RTS frame including the association identifier AID of the first STA and the identifier of the first RU.

[0072] In some embodiments, the units in the STA are implemented in software, and the units in the STA are program modules. In other embodiments, the units in the STA are implemented in hardware or firmware. Specific details of the STA provided in the third aspect can be found in the first aspect or any alternative to the first aspect described above, and will not be repeated here.

[0073] Fourthly, an access point (AP) is provided, which has the functionality to implement the second aspect or any alternative method of the second aspect described above. The AP includes a receiving unit and a decoding unit, each unit of which is used to implement the method provided by the second aspect or any alternative method of the second aspect described above.

[0074] Optionally, the encoded message is carried in a first frame including an encoding identifier, the encoding identifier indicating the correspondence between the encoded message and the N STAs.

[0075] Optionally, the first frame includes a frame body field, a field carrying the encoding identifier, and a check field. The frame body field includes the encoded message, and the field carrying the encoding identifier is located between the frame body field and the check field. The content of the check field is used to check whether the encoded message has an error during transmission.

[0076] Optionally, the decoding unit is configured to determine, based on the encoding identifier, P data packets corresponding to the encoded message from the data packets verified by the content of the verification field, where P is a positive integer; and to perform erasure decoding based on the encoded message and the P data packets.

[0077] Optionally, the encoding identifier includes N set bits, each set bit in the encoding identifier identifying one of the N STAs; or, the encoding identifier is an index of a mapping table that stores combinations of the N STAs.

[0078] Optionally, the AP further includes: a transmitting unit, configured to transmit a first control frame to the first STA on a second frequency band, the first control frame instructing the first STA to use a first resource unit (RU) when transmitting data packets.

[0079] In some embodiments, the units in the AP are implemented in software, and the units in the AP are program modules. In other embodiments, the units in the AP are implemented in hardware or firmware. Specific details of the AP provided in the fourth aspect can be found in the second aspect or any alternative to the second aspect described above, and will not be repeated here.

[0080] Fifthly, a STA is provided, comprising a processor and a transceiver; the processor is configured to invoke a computer program to coordinate with the transceiver to implement the method provided by the first aspect or any optional method of the first aspect. Specific details of the STA provided in the fifth aspect can be found in the first aspect or any optional method of the first aspect, and will not be repeated here.

[0081] Sixthly, an access point (AP) is provided, comprising a processor and a transceiver; the processor is configured to invoke a computer program to coordinate with the transceiver to implement the method provided in the second aspect or any optional method thereof, wherein the network interface is configured to receive or send packets. Specific details of the AP provided in the sixth aspect can be found in the second aspect or any optional method thereof, and will not be repeated here.

[0082] In a seventh aspect, a computer-readable storage medium is provided, the storage medium storing at least one instruction that, when executed on a computer, causes the computer to perform the method provided in the first aspect or any alternative method of the first aspect.

[0083] Eighthly, a computer-readable storage medium is provided, the storage medium storing at least one instruction that, when executed on a computer, causes the computer to perform the method provided in the second aspect or any alternative method of the second aspect.

[0084] In a ninth aspect, a computer program product is provided, the computer program product comprising one or more computer program instructions, which, when loaded and executed by a computer, cause the computer to perform the method provided in the first aspect or any alternative method of the first aspect.

[0085] In a tenth aspect, a computer program product is provided, the computer program product comprising one or more computer program instructions, which, when loaded and run by a computer, cause the computer to perform the method provided in the second aspect or any alternative method of the second aspect.

[0086] Eleventhly, a chip is provided, including a memory and a processor, the memory for storing computer instructions, and the processor for calling and executing the computer instructions from the memory to perform the methods of the first aspect and any alternative mode of the first aspect.

[0087] In a twelfth aspect, a chip is provided, including a memory and a processor, the memory for storing computer instructions and the processor for retrieving and executing the computer instructions from the memory to perform the method provided in the second aspect or any alternative method of the second aspect.

[0088] In a thirteenth aspect, a communication system is provided, which includes the STA provided in the third aspect and the AP provided in the fourth aspect; or, the communication system includes the STA provided in the fifth aspect and the AP provided in the sixth aspect. Attached Figure Description

[0089] Figure 1 This is a schematic diagram of an erasure coding method provided in an embodiment of this application;

[0090] Figure 2 This is a schematic diagram of the frame format of a MU RTS frame provided in an embodiment of this application;

[0091] Figure 3 This is a schematic diagram illustrating the format of a common information field in a MU RTS frame provided in an embodiment of this application;

[0092] Figure 4 This is a schematic diagram illustrating the format of a user information field in a MU RTS frame provided in an embodiment of this application;

[0093] Figure 5 This is a schematic diagram of a scenario where the direct path of a beam is blocked, as provided in an embodiment of this application.

[0094] Figure 6 This is a schematic diagram illustrating an application scenario provided in an embodiment of this application;

[0095] Figure 7 This is a flowchart illustrating a method for transmitting uplink data in a wireless local area network, as provided in an embodiment of this application.

[0096] Figure 8 This is a schematic diagram of the frame structure of an MPDU provided in an embodiment of this application;

[0097] Figure 9 This is a schematic diagram of the frame structure of an A-MPDU provided in an embodiment of this application;

[0098] Figure 10 This is a schematic diagram of the frame structure of an A-MSDU provided in an embodiment of this application;

[0099] Figure 11 This is a schematic diagram illustrating decoding based on an encoded identifier, provided in an embodiment of this application.

[0100] Figure 12This is a schematic diagram illustrating how multiple STAs can jointly perform erasure coding, as provided in an embodiment of this application.

[0101] Figure 13 This is a schematic diagram illustrating a grouping and sending / receiving configuration provided in an embodiment of this application;

[0102] Figure 14 This is a schematic diagram of the structure of an STA provided in an embodiment of this application;

[0103] Figure 15 This is a schematic diagram of the structure of an AP provided in an embodiment of this application;

[0104] Figure 16 This is a schematic diagram of the structure of an STA provided in an embodiment of this application;

[0105] Figure 17 This is a schematic diagram of the structure of an AP provided in an embodiment of this application. Detailed Implementation

[0106] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0107] The following explains some terms and concepts involved in the embodiments of this application.

[0108] (1) Erasure coding

[0109] Erasure coding is a method for achieving highly reliable data transmission. The main principles of erasure coding can be found above. Intuitively, erasure coding is equivalent to constructing a system of linear equations and solving it. The principles of erasure coding will be explained in detail below.

[0110] For example, the sender (transmit, Tx) has three data packets to transmit. These three data packets are packet x1, packet x2, and packet x3. If the erasure coding efficiency of the sender is 3 / 5 (i.e., the ratio of the number of data packets to the number of encoded packets is 3 / 5), then when the sender transmits these three data packets, the erasure encoder at the sender will generate two additional redundant packets. These two redundant packets are packet x4 and packet x5. The method for generating redundant packets is generally a linear combination method. For example, packets x4 and x5 are generated by the following equations (1) and (2).

[0111] x4 = x1 + x3; Equation (1)

[0112] x5 = x2 + x3; Equation (2)

[0113] After generating messages x4 and x5, the sending end will send messages x4, x5, x1, x2, and x3 as five encoded messages. Correspondingly, the receiving end (receive, Rx) receives five encoded messages. For example, the five encoded messages received by the receiving end are messages y1, y2, y3, y4, and y5. Assuming that messages y2 and y3 fail the verification, the successfully received encoded messages are messages y1, y4, and y5. The relationship between the encoded messages received by the receiving end and the encoded messages sent by the sending end is shown in equations (3) to (5) below.

[0114] y1 = x1; Equation (3)

[0115] y4 = x4; Equation (4)

[0116] y5 = x5; Equation (5)

[0117] Based on the above relationships, messages x1, x4, and x5 are essentially known, and the receiving end can also deduce the linear combination relationship between messages x4 and x5 and messages x1, x2, and x3 based on the IDs of the encoded messages. Therefore, for the receiving end to recover messages x2 and x3, it becomes solving a system of two linear equations in two variables, as shown in equations (1) and (2) above. In this system of two linear equations, messages x4, x1, and x5 are known quantities, while messages x2 and x3 are unknown quantities. Equations (1) and (2) are linearly independent, therefore this system of two linear equations must have a solution. Solving for messages x2 and x3 means recovering the lost messages x2 and x3.

[0118] Appendix Figure 1 A flowchart illustrating the erasure coding method at the MAC layer is shown below. Figure 1 A detailed explanation of erasure coding is provided.

[0119] The application layer at the sending end generates k data packets: data packet 1, data packet 2, ..., data packet k. These k data packets are input into the erasure encoder at the MAC layer. The erasure encoder performs erasure coding on the input k data packets, outputting (n+k) encoded packets. These (n+k) encoded packets include the k data packets and n redundant packets. The MAC layer at the sending end adds a Medium Access Control (MAC) header and a Frame Check Sequence (FCS) to the encoded packets, thus generating a frame containing the MAC header, encoded packets, and an FCS. The transmitter at the physical layer at the sending end transmits the frame. The receiver at the physical layer (PHY) at the receiving end receives the frame. The MAC layer at the receiving end decapsulates the frame, obtaining multiple encoded packets. These multiple encoded packets include one or more data packets (as shown in the attached diagram). Figure 1 Data packet i, data packet j) and one or more redundant packets (as shown in the appendix) Figure 1 Redundant packets p and q). If the number of encoded packets is greater than or equal to k, the erasure decoder can recover k data packets by decoding the encoded packets (as shown in the appendix). Figure 1 Data packet 1, data packet 2... data packet k).

[0120] As can be seen from the above process of erasure coding and decoding, the reliability of erasure coding mainly depends on the receiver correctly receiving at least k (the number of data packets used by the sender for encoding), and at least k of the received encoded packets must be linearly independent. Therefore, erasure coding technology often faces the challenge of the decoding end receiving a sufficient number of packets. Furthermore, [the following is an appendix]... Figure 1 The determination of whether a received encoded message is correct mainly relies on the FCS function of the MAC layer, which is why erasure coding is not performed at the PHY layer (because the PHY layer has no error detection mechanism).

[0121] (2) Data Message

[0122] A data packet is the input data for erasure coding and the output result of erasure decoding. The content of a data packet includes service data. For example, the content of a data packet includes service data that a wireless station (STA) needs to transmit to a wireless access point (AP). Data packets are sometimes also called source packets, raw packets, source symbols, or service packets.

[0123] For example, please refer to the appendix. Figure 1From the encoder's perspective, data packets are, for example, data packet 1, data packet 2, or data packet k generated by the application layer. Data packet 1, data packet 2, and data packet k are all input data of the erasure encoder. From the decoder's perspective, data packets are, for example, the recovered data packet 1, recovered data packet 2, ..., recovered data packet k output by the erasure decoder. The recovered k data packets are used by the application layer.

[0124] (3) Encoding messages

[0125] The encoded message is the output of erasure coding and the input data for erasure decoding. The encoded message includes the following redundant messages. The encoded message is sometimes also called the encoded symbol. For example, please refer to the appendix. Figure 1 From the encoder's perspective, the encoded message can be, for example, a message from one of the k data packets (data packet 1, data packet 2, ..., data packet k) generated by the erasure encoder, or a message from one of the n redundant messages (redundant message 1, redundant message 2, ..., redundant message n) generated by the erasure encoder. From the decoder's perspective, the encoded message can be, for example, a message from one of the data packets (data packet i, data packet j) input to the erasure decoder, or a message from one of the redundant messages (redundant message p, redundant message q).

[0126] (4) Redundant messages

[0127] A redundant message is a message composed of multiple data messages. A redundant message and multiple data messages are related. The specific relationship between a redundant message and data messages depends on the encoding algorithm. For example, when a redundant message is generated using a linear combination method, the redundant message and data messages have a linear relationship. For example, referring to equation (1) or equation (2) above, the redundant message x4 has a linear relationship with data messages x1 and x2, and the redundant message x4 is the sum of data messages x1 and x2. Redundant messages are sometimes also called redundant symbols.

[0128] (5) Messages received correctly

[0129] A correctly received message is one that passes the receiver's verification. Specifically, errors may occur during message transmission between the sender and receiver. Therefore, the receiver verifies a message upon receiving it. If the message passes verification, it is considered correctly received and can be used for erasure encoding / decoding or other purposes; if the message fails verification, it is not considered correctly received.

[0130] (6) Verification (i.e., error verification)

[0131] Taking cyclic redundancy check (CRC) as an example, the verification process includes: the sending end calculates the FCS (Fulfilled Content Frame) of the packet using the CRC algorithm; the sending end adds a check field to the packet, the content of which is the FCS; the sending end sends out a frame containing the data packet and the check field; after receiving the frame, the receiving end calculates the FCS of the data packet using the CRC algorithm; the receiving end compares its generated FCS with the FCS of the received frame. If the two FCSs are the same, the verification passes. If the two FCSs are different, the verification fails.

[0132] (7) Orthogonal Frequency Division Multiple Access (OFDMA)

[0133] OFDMA is a technology that supports parallel transmission by multiple STAs. In OFDMA, channel resources are divided into time-frequency resource blocks, and each STA's data is carried on each time-frequency resource block without occupying the entire channel. This makes fuller use of channel resources, enabling multiple STAs to transmit in parallel within each time period, thereby improving efficiency and reducing latency. In 802.11ax, the time-frequency resource block in OFDMA is called a resource unit (RU).

[0134] (8) Basic Service Set (BSS)

[0135] BSS stands for Basic Service Set of a WLAN. Typically, a BSS includes a single-frequency access point (AP) and the STAs associated with that AP. For example, a single-frequency AP, such as 2.4 GHz, occupies an 80 MHz band. In this BSS, the AP and STAs can transmit data on the 80 MHz band centered at 2.4 GHz.

[0136] (9) Frequency band

[0137] A frequency band refers to a range of frequencies within a certain area. A frequency point refers to a specific frequency point within a frequency band. A frequency point includes, but is not limited to, the center frequency, start frequency, and end frequency of the frequency band.

[0138] (10) Multi-user request to send (MU RTS) frame

[0139] The MU-RTS frame is a control frame in 802.11ax. The MU-RTS frame is a type of trigger frame. It is used to announce to the STA the RU (Runner Root) assigned to it. The MU-RTS frame includes the binding relationship between the RU and the STA's association ID (AID). The frame structure of the MU-RTS frame is described below with reference to the accompanying diagram.

[0140] Appendix Figure 2 This is a schematic diagram of the overall frame format of MU RTS frames. (Attached) Figure 2 The MU RTS frame shown includes fields such as frame control, receiver address (RA), transmitter address (TA), common information (common info), and user information (userinfo). (See appendix.) Figure 3 This is a schematic diagram illustrating the format of the common info field in a MU RTS frame. (Attached) Figure 2 For example, public information fields in the middle have appendices Figure 3 The format shown. (Attached) Figure 3 For example, if the trigger type field is 3, then 3 represents the trigger frame type corresponding to the MU-RTS frame. (See attached image.) Figure 4 This is a schematic diagram illustrating the format of the user info field in a MU RTS frame. (Attached) Figure 2 User information fields, for example, have appendices Figure 4 The format shown is attached. Figure 4 As shown, the user information fields in the MU RTS frame include the AID12 field, RU allocation field, uplink FEC coding type field, uplink high efficiency (HE) modulation and coding scheme (MCS) field, uplink dual carrier modulation (ULDCM) field, spatial stream (SS) allocation / random access-resource unit (RA-RU) information field, UL target receive power field, reserved field, and trigger dependent user info field.

[0141] Appendix Figure 4 The meanings of the various values ​​of the AID12 field are shown in Table 1 below.

[0142] Table 1

[0143]

[0144] Appendix Figure 4 The meanings of the various values ​​of the RU allocation field are shown in Table 2 below.

[0145] Table 2

[0146]

[0147]

[0148] (11)AID

[0149] AID is a numerical data used to identify a STA. AID indicates the binding relationship between the STA's ID and its MAC address.

[0150] With the continuous evolution of WLAN technology, its throughput has improved significantly. However, due to the uncertainty of wireless channels, WLAN technology has always had shortcomings in reliability and low latency. To improve the reliability of WLAN technology, the 802.11 standard has introduced relevant reliability assurance technologies at both the physical layer and the MAC layer.

[0151] The reliability assurance techniques introduced at the physical layer include channel coding. Channel coding primarily involves bit-level encoding and decoding within the message. The basic principle of channel coding is to add redundant bits to the original information bits and construct a correspondence between these redundant bits and the information bits. Therefore, when a certain number of bits erroneous during transmission, the decoder can use the relationship between the redundant bits and the information bits to correct the errors, thus achieving bit-level reliability assurance. Currently, channel coding mainly refers to low-density parity-check (LDPC) coding and binary convolutional coding (BCC). Channel coding can correct erroneous bits within a certain range, and its decoding complexity meets the latency requirements of current WLAN systems. However, as a bit-level error correction technique, channel coding has limited error correction capabilities. When the number of erroneous bits exceeds a certain limit, error correction cannot be achieved through channel coding. In many cases, a few erroneous bits in the message can cause the entire message to err, making error correction impossible through channel coding.

[0152] The reliability guarantee technology introduced by the MAC layer includes an error retransmission mechanism. This mechanism is sometimes also called the Automatic Repeat-Request (ARQ) mechanism. The basic principle of the error retransmission mechanism is that the MAC frame carries an FCS field, and the receiving end uses the FCS field to detect errors in the received MAC frame. If the error detection passes, the receiving end returns an ACK frame to the sending end. If the detection fails, the receiving end does not return an ACK frame. After a preset waiting time, if the sending end does not receive an ACK frame, it immediately retransmits the lost MAC frame. This retransmission can be performed several times to ensure the reliable transmission of the MAC frame. However, the error retransmission mechanism has three very practical drawbacks: 1) Increased latency due to multiple retransmissions, not only due to the increased latency from retransmitting valid data, but also due to the increased latency caused by MAC layer protocol fields; 2) Decreased effective throughput due to retransmissions, including both valid data and protocol overhead; 3) After the maximum number of retransmissions is reached, packet loss is still unavoidable. Furthermore, due to the correlation between the preceding and following channels, multiple retransmissions may yield the same result, and cannot completely solve the problem.

[0153] To further improve WLAN reliability, a message-level erasure coding technique has been proposed, with the aim of applying it to the MAC layer of 802.11. However, when erasure coding is currently applied to uplink transmission scenarios in WLAN networks, two issues urgently need to be addressed.

[0154] On the one hand, since the uplink transmission itself has a small traffic volume, it may take a long time to form a coding block (multiple service messages). In addition, the contention access delay of 802.11 will result in a very large and unstable erasure decoding delay on the receiving side, which is difficult to meet the actual needs.

[0155] On the other hand, due to the obstruction of wireless channels, multiple STAs within a BSS may have significantly different channel quality. Some STAs may have good channel quality, and erasure coding can effectively address reliability issues. However, some STAs may have their direct path to the AP completely blocked, resulting in continuous and high-probability packet loss. In such cases, erasure coding may struggle to receive enough encoded packets, compromising reliability. For example, please refer to the appendix. Figure 5 , attached Figure 5 The scene depicts a situation where the direct path of sunlight is blocked. (Attached) Figure 5 The direct path between STA1 and STA3 and the AP is blocked by obstructions, causing packet loss when STA1 and STA3 transmit uplink data to the AP. Even if STA1 and STA3 perform erasure decoding, it is still difficult to guarantee reliability.

[0156] In view of this, this embodiment provides a method for erasure coding and decoding of WLAN uplink (UL). This method effectively solves the problem of excessive erasure coding latency caused by insufficient traffic volume by encoding data from multiple STAs, and solves the problem of user erasure coding failure caused by direct path obstruction, thereby reducing latency and improving reliability.

[0157] The following are examples illustrating the application scenarios of embodiments of this application.

[0158] Appendix Figure 6 This is a schematic diagram illustrating an application scenario provided in an embodiment of this application. (Attached) Figure 6 This is an example illustrating a scenario where one AP and multiple STAs are deployed in a network. For example, see attached... Figure 6 This includes AP 10, STA 11, and STA 12. The following sections (1) to (3) will discuss the appendix. Figure 6 Examples are given to illustrate the function, typical product form, and deployment location of each device.

[0159] (1) AP 10

[0160] The AP 10 functions as a bridge connecting wired and wireless networks. The AP 10 is an accessory... Figure 6 The diagram shows the access points for each STA to enter the wired network. AP 10 is used to connect the various STAs in the wireless network (such as STA 11 and STA 12 in the attached diagram) together, and then connect the wireless network to the Ethernet. Optionally, AP 10 is also used to connect with other APs in the network (see attached diagram). Figure 6 (Not shown) communicates to collaborate with other APs to meet the needs of certain business scenarios.

[0161] In the following appendix Figure 7 In the illustrated method embodiment, AP 10 acts as a decoding end (also known as a decoder). Specifically, AP 10 is used to receive data packets and encoded packets from STA 11 and STA 12. When a data packet from STA 11 or STA 12 is lost, AP 10 recovers the lost data packet by performing erasure decoding.

[0162] AP 10 is a communication device with wireless transceiver capabilities. AP 10 is sometimes also called a hotspot. AP 10 can exist in various product forms. For example, AP 10 includes, but is not limited to, communication servers, routers, switches, bridges, micro base stations or small base stations, or access points in WLAN communication systems.

[0163] An AP is a device that supports WLAN standards. For example, an AP is a terminal device or network device with a wireless fidelity (WiFi) chip. AP 10 can communicate with other network elements based on the 802.11 protocol (or other communication protocols). AP 10 primarily adopts the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series standards, such as 802.11ax or 802.11be.

[0164] There are several deployment options for AP 10. Optionally, AP 10 can be deployed in homes, inside buildings, or within campuses. Alternatively, AP 10 can be deployed outdoors. The coverage radius of AP 10 can range from tens to hundreds of meters.

[0165] (2)STA 11

[0166] In the following appendix Figure 7 In the illustrated method embodiment, STA 11 acts as the encoding end. Specifically, STA 11 is used to generate and send data packets and encoded packets to AP 10.

[0167] STA 11 is sometimes also referred to as a terminal site, user terminal, user equipment, access device, subscriber station, subscriber unit, mobile station, user agent, user equipment, portable terminal, laptop terminal, or desktop terminal.

[0168] STA 11 can take many possible product forms. For example, STA 11 can be a terminal with a wireless communication chip and wireless sensors. STA 11 product forms include, but are not limited to, smartphones, tablets, Moving Picture Experts Group Audio Layer III (MP3) players, Moving Picture Experts Group Audio Layer IV (MP4) players, set-top boxes, laptops, smart TVs, smart wearable devices, desktop computers, communication servers, routers, switches, bridges, smart bracelets, smart speakers, smart cars, smart instruments, smart devices, artificial intelligence (AI) products, Internet of Things (IoT) terminals, smart printers, industrial smart computers, smart barcode scanners, or smart monitoring terminals, etc.

[0169] STA 11 is a device that supports WLAN standards. For example, STA 11 is a terminal device or network device with a WiFi chip. STA 11 can communicate with other network elements based on the 802.11 protocol (or other communication protocols). The main standards adopted by STA 11 are the IEEE 802.11 series, such as 802.11ax or 802.11be standards.

[0170] (3)STA 12

[0171] STA 12 supports joint encoding with STA 11. Specifically, STA 12 and STA 11 mutually monitor each other's data packets sent to AP 10. STA 11 receives data packets from STA 12, performs erasure coding on the data packets sent by STA 12, and sends the encoded packets to AP 10; STA 12 receives data packets from STA 11, performs erasure coding on the data packets sent by STA 11, and sends the encoded packets to AP 10. More details about STA 12 can be found in the introduction to STA 11.

[0172] The scenario of deploying two STAs in the network is illustrative. Optionally, more than two STAs can be deployed in the network to support joint erasure coding of data packets from more than two STAs. For example, please refer to the appendix. Figure 6 , attached Figure 6 Optionally, STA13 is also included, which supports joint encoding with STA 12 and STA 11. For details on STA 13, please refer to the introduction of STA 12.

[0173] Similarly, the number of STAs deployed in the network can be further selected. For example, the number of STAs in the network can be dozens or hundreds, or even more. This embodiment does not limit the number of STAs in the network.

[0174] The method flow of the embodiments of this application is illustrated below.

[0175] Appendix Figure 7 This is a flowchart illustrating a method for transmitting uplink data in a wireless local area network according to an embodiment of this application. (Attached) Figure 7 The method shown includes the following steps S201 to S205.

[0176] Appendix Figure 7 The network deployment scenarios on which the method shown is based can optionally be as described in the appendix above. Figure 6 As shown. For example, in conjunction with the appendix Figure 6 See, attached Figure 7 The first STA in the method shown is an appendix. Figure 6 STA 11 in the middle, with Figure 7 The n STAs in the method shown include appendices. Figure 6 STA 12 and STA 13. For example, combined with the appendix... Figure 6 See, attached Figure 7 In the method shown, AP is an appendix. Figure 6 AP 10 in the middle.

[0177] Appendix Figure 7 The typical application scenario for the method shown is a multi-user uplink transmission scenario that requires low latency and high reliability. For example, combined with the attached... Figure 5 See, attached Figure 7 The method shown is applied in the appendix Figure 5 The diagram illustrates a scenario where multiple STAs transmit data to an AP. (See attached image.) Figure 5 STA in the middle executes attached Figure 7 The method shown can provide low-latency erasure coding and decoding in uplink transmission, while avoiding the problem of erasure coding failure caused by direct path obstruction by the user.

[0178] Appendix Figure 7 The method shown can optionally be used for each of multiple STAs to interact with the AP. For ease of understanding, see the appendix. Figure 7 The method shown is illustrated using the interaction process between a STA (i.e., the first STA) and the AP as an example. The interaction process between other STAs besides the first STA and the AP can be referred to the process executed by the first STA.

[0179] Step S201: The first STA acquires the data packet set.

[0180] A data packet set refers to a collection of multiple data packets. A data packet set includes data packets from N STAs (Stations). N is a positive integer greater than 1, representing the number of STAs. In some embodiments, different data packets in a data packet set have a linearly independent relationship. For example, in conjunction with the appendix... Figure 1 The datagram set is attached. Figure 1 The input consists of k data packets, designated as data packet 1, data packet 2, ..., data packet k, fed into the erasure encoder. For example, combined with the appendix... Figure 6 Let's take the first STA as an example, STA 11. STA 11 obtains data packets from STA 12 and data packets from STA 13 and performs erasure coding.

[0181] In some embodiments, there is a one-to-one quantity relationship between data packets in the data packet set and STAs participating in the coding. Specifically, the data packet set contains N data packets, which include one data packet from each of the N STAs. Different data packets in the data packet set come from different STAs among the N STAs. That is, each of the N STAs provides one data packet to participate in multi-user joint coding. For example, please refer to the appendix. Figure 12 The first STA is attached Figure 12 In group A, STA1 acquires the following data packet set: Figure 12 The data packet set 305 is used in the data packet set. The data packet set includes packets B1, B7, and B18. Packet B1 is a data packet from STA1 in group B, packet B7 is a data packet from STA7 in group B, and packet B18 is a data packet from STA18 in group B. STA1 in group A obtains packet set 305 to perform erasure coding on packets provided by the three STAs in group B: STA1, STA7, and STA18.

[0182] The source of data packets in a data packet set can fall into several categories. Optionally, the source of each data packet in the data packet set can be one of the N STAs. That is, the data packet set includes data packets generated by each of the N STAs. Alternatively, some or all of the data packets in the data packet set can originate from a third-party device associated with the N STAs. That is, the data packet set includes data packets generated by a third-party device associated with the N STAs. For example, a third-party device generates and sends data packets to associated STAs, and the STAs forward the data packets from the third-party device.

[0183] Step S202: The first STA performs erasure coding based on the data packet set to obtain the encoded packet.

[0184] Optionally, the number of encoded messages can be multiple. Alternatively, the number of encoded messages can be only one. For example, in conjunction with the appendix... Figure 1 As you can see, the encoded message is attached Figure 1 The output of the erasure encoder includes the encoded message. Figure 1 The encoder outputs n redundant messages, which are designated as redundant message 1, redundant message 2, and so on, up to redundant message n. Optionally, the encoded message may also include appendices. Figure 1 The erasure encoder outputs k data packets. The k data packets output by the erasure encoder are the same as the k data packets input to the erasure encoder, namely data packet 1, data packet 2, ..., data packet k.

[0185] Redundant messages and multiple data messages in the data message set are related. For example, referring to equations (1) and (2) above, the data message set includes data message x1, data message x2, and data message x3. Redundant messages include redundant message x4 and redundant message x5. Redundant message x4 has the relationship shown in equation (1) with data message x1 and data message x3, and redundant message x5 has the relationship shown in equation (2) with data message x2 and data message x3.

[0186] Erasure coding can be implemented in many ways. Optionally, it can be implemented using linear combination, where the first STA performs a linear combination of different data packets in the data packet set to obtain the encoded packet. In one possible implementation, the linear combination method is specifically XOR addition, where the first STA performs an XOR addition of multiple data packets in the data packet set to obtain the encoded packet. Using XOR addition for erasure coding helps reduce the complexity of implementing erasure coding in both hardware and software. Alternatively, other methods besides XOR addition can be used to implement erasure coding. For example, the first STA stores a pre-defined encoding matrix, where each element is a coefficient used for multiplication with the data packets. Alternatively, a non-linear combination method can be used to implement erasure coding. This embodiment does not limit the specific implementation method of erasure coding.

[0187] Step S203: The first STA sends an encoded message to the AP.

[0188] Step S204: AP receives the encoded message from the first STA.

[0189] Step S205: In response to the loss of data packets sent by M out of N STAs, the AP performs erasure decoding based on the encoded packets, where M is a positive integer less than or equal to N.

[0190] Since the encoded message is obtained by encoding data messages provided by the N STAs participating in the encoding, the encoded message is associated with the data messages of each of the N STAs. Therefore, when the AP detects packet loss at one of the N STAs, it can recover the lost messages by decoding the encoded message. For the specific principles of AP decoding, please refer to the section on... Figure 1 Introduction.

[0191] This embodiment provides a method for erasure coding / decoding in uplink transmission scenarios in WLAN. By combining data packets from multiple STAs for erasure coding, it overcomes the limitation of insufficient data during encoding due to a single STA lacking service data, expanding the data sources for encoding and ensuring a sufficient number of data packets available for encoding. The probability of multiple STAs simultaneously lacking service data is very small; encoding can be initiated as long as two STAs have service data, reducing the waiting time for data during encoding. Therefore, it solves the problem of long waiting times for data during encoding due to insufficient uplink traffic or insufficient data packets generated by a single STA, significantly reducing latency. On the other hand, even if the direct path from a STA to the AP is blocked, causing a high probability of continuous packet loss when the STA sends data packets to the AP, the encoded data packets from that STA can be transmitted to the AP through other STAs. The AP can then use the encoded packets from other STAs to recover the data packets from the STA with the blocked direct path, thus solving the problem of erasure coding failure due to direct path blockage and significantly improving reliability.

[0192] Appendix Figure 7 The multi-STA joint encoding method shown includes several specific implementations, which are illustrated below using implementation method one and implementation method two.

[0193] Method 1: Combine and encode data packets from multiple other STAs.

[0194] For example, the first STA receives data packets from N other STAs, thus obtaining a data packet set. The data packet set includes data packets from the N other STAs. The content of the data packets in the data packet set includes uplink service data that other STAs need to transmit to the AP. The other STAs are STAs other than the first STA. The first STA uses this data packet set for erasure coding, thereby combining the erasure coding of data packets from the N other STAs.

[0195] For example, combined with appendix Figure 6 As we can see, the first STA is STA 11. The data packet set used by the first STA for erasure coding includes data packets from STA 12 and data packets from STA 13. In this way, STA 11 combines and encodes data packets from STA 12 and STA 13, which are not STA 11 itself.

[0196] Method 2: Combine your own data packets with the data packets of other STAs for encoding.

[0197] For example, a first STA generates data packets and receives data packets sent by one or more other STAs, thus obtaining a data packet set. The data packet set includes the data packets generated by the first STA, as well as data packets generated by one or more other STAs. These other STAs are STAs other than the first STA. The content of one data packet (the data packet generated by the first STA) in the data packet set includes the uplink service data that the first STA needs to transmit to the AP, while the content of the remaining data packets (data packets generated by other STAs) includes the uplink service data that other STAs need to transmit to the AP. The first STA uses this data packet set for erasure coding, thereby combining its own data packets with the data packets from other STAs for erasure coding.

[0198] For example, combined with appendix Figure 6 As we can see, the first STA is STA 11. The data packet set used by the first STA for erasure coding includes the data packets generated by STA 11 and the data packets sent by STA 12. In this way, STA 11 combines the data packets from both STA 11 and STA 12 for encoding.

[0199] In implementation method two, the timing of the two actions—generating data packets and receiving data packets from other STAs—can include several possibilities. For example, the first STA might first generate a data packet and then cache it. After sending the data packet, the first STA keeps the cached data packet in the cache. When the first STA receives a data packet from another STA, it performs erasure coding using the received data packet and the pre-cached data packet. Alternatively, the first STA might first receive data packets from other STAs and then cache them. When it needs to transmit its own service data to the AP, the first STA generates a data packet and performs erasure coding using the generated data packet and the pre-cached data packet.

[0200] In some embodiments, append Figure 7In the method shown, the data packet set used for erasure coding is selected from the correctly received data packets. For example, if the first STA correctly receives Y data packets, the first STA selects N data packets from these Y data packets, forming the data packet set. Here, Y represents the number of correctly received data packets, and Y is a positive integer greater than or equal to N. More specifically, the process of the first STA obtaining the data packet set includes: The first STA receives Q data packets. The first STA verifies each of the Q data packets, determining that Y data packets pass the verification and (QY) data packets fail the verification. The first STA selects N data packets from the Y data packets that passed the verification, forming the data packet set. Here, Q represents the total number of received data packets, and Q is a positive integer greater than or equal to Y.

[0201] In some embodiments, append Figure 7 The erasure coding in the method shown uses random coding. Specific implementations of random coding include, but are not limited to, at least one of the following implementations a and b.

[0202] Implementation method a. The selection of which STAs participate in erasure coding is random.

[0203] For example, if the first STA correctly receives Y data packets, it randomly selects N data packets from those Y packets, and these randomly selected data packets form a data packet set. Through implementation method a described above, because the channel and noise are random, the packet loss of which STAs occurs during wireless transmission is random, and the data packets used in erasure coding also come from which STAs are random. Therefore, this helps to cope with random channel and noise conditions and covers more scenarios.

[0204] Implementation method b. The number of STAs participating in erasure coding is random.

[0205] For example, the above N (the number of STAs participating in erasure coding when the first STA performs erasure coding) is a random number generated by the first STA.

[0206] Optionally, when multiple STAs in the network use implementation method b for erasure coding, the random numbers generated by each STA may be different, resulting in a different number of STAs participating in the coding process for each STA. For example, if STA 1 and STA 2 in group A both use implementation method b for erasure coding, STA 1 generates a random number of 4, while STA 2 generates a random number of 2. Then, STA 1 will randomly select packets sent by four other STAs (excluding STA 1) for coding, while STA 2 will randomly select packets sent by two other STAs (excluding STA 2). For instance, STA 1 in group A might select packets sent by STA 1, STA 3, STA 4, and STA 6 in group B for coding. STA 2 in group A might select packets sent by STA 1 and STA 2 in group B for coding.

[0207] The random coding implementations a and b listed above can be combined in any way. One possible implementation uses either implementation a or implementation b. Another possible implementation uses both implementation a and implementation b.

[0208] For example, in implementation method a, but not implementation method b, the number of STAs participating in erasure coding (i.e., N) is pre-set and configured on the first STA. After the first STA correctly receives Y data packets, it randomly selects N data packets from the Y data packets according to the pre-set number of STAs participating in erasure coding. Optionally, when multiple STAs are performing erasure coding in the network, each STA uses the same value of N. For example, if N is pre-set to 3, when STA 1 and STA 2 perform erasure coding, STA 1 randomly selects data packets sent by 3 other STAs (excluding STA 1) for encoding, while STA 2 randomly selects data packets sent by 3 other STAs (excluding STA 2) for encoding.

[0209] The above-mentioned random coding method can provide random coding composition for erasure coding of the entire system, so as to cope with random channel degradation characteristics and effectively improve the robustness of the system.

[0210] In some embodiments, an encoding indication is provided to indicate which STAs encoded the data packets. The STA sends the encoded data packet and the encoding indication to the AP, allowing the AP to determine the data packet combination method used by the STA during encoding, thus facilitating decoding.

[0211] Specifically, during the transmission of encoded messages between the first STA and the AP, the first STA encapsulates the encoded message and the encoding identifier to obtain the first frame. The first STA sends the first frame, which includes the encoded message and the encoding identifier. The AP receives the first frame. The AP parses the first frame to obtain the encoded message and the encoding identifier carried in the first frame. Based on the encoding identifier, the AP determines the combination method of the data packets corresponding to the encoded message and performs decoding based on the determined combination method. Where the first STA uses data packets provided by N STAs for encoding, the encoding identifier in the first frame indicates the correspondence between the encoded message and the N STAs; that is, the encoded message is obtained by encoding the data packets sent by the N STAs. Under the guidance of the encoding identifier, the AP uses the data packets sent by the N STAs and the encoded message for decoding.

[0212] In this embodiment, because the encoding identifier is carried in the frame, the encoding composition of each encoded message can be efficiently identified, providing accurate decoding information for erasure decoding on the receiving side.

[0213] The specific implementation methods of the encoding identifier include, but are not limited to, the following implementation method one and implementation method two. Optionally, implementation method one is used in scenarios with a small number of STAs, and implementation method two is used in scenarios with a large number of STAs.

[0214] Implementation Method 1: Bitwise Indicator

[0215] Bitwise indication is sometimes also called a bitmap approach. The basic idea of ​​bitwise indication is to use one bit to identify a STA participating in encoding. For example, there are a total of H STAs in the network. The first STA uses data packets provided by N of the H STAs for encoding. In this case, the encoding identifier sent by the first STA occupies H bits in the first frame. These H bits include N set bits and (NH) unset bits. Each of the N set bits identifies one of the N STAs.

[0216] Optionally, the above setting refers to setting the value of the bit to 1. That is, a bit with a value of 1 is used to identify an STA participating in encoding. For example, if there are a total of 8 STAs in the network, the encoding identifier will occupy 8 bits in the frame. These 8 bits are used to identify STA 1, STA 2...STA 8 respectively. When STA 1 sends its own data packet, the content of the encoding identifier in the frame containing the data packet is 10000000. 10000000 indicates that STA 1 participates in encoding, while STA 2...STA 8 do not participate in encoding. This also means that the packet in the frame is the original data packet generated by STA 1, and does not contain data from other STAs besides STA 1. When STA 1 sends an encoded message, it encodes the data packets from STAs 5, 6, and 7 to obtain an encoded message. The encoding identifier in the frame containing the encoded message is 00001110. 00001110 indicates that STAs 5, 6, and 7 participated in the encoding, while STAs 1, 2, 3, 4, and 8 did not participate in the encoding. In this way, the encoding identifier can indicate which STAs' data is composed of in the encoded message simply by setting the corresponding position to "1", resulting in low complexity.

[0217] Alternatively, the above setting refers to setting the value of the bit to 0. That is, a bit with a value of 0 is used to identify an STA participating in the encoding. This embodiment does not limit whether the STA participating in the encoding is identified by a 1 or a 0.

[0218] This embodiment uses a bit-by-bit indication method, which occupies relatively less storage space on both the transmitting and receiving sides. Furthermore, the decoding side (AP) can obtain the combination method of the data packet by the value of each bit in the encoding identifier, thus achieving faster speed and reduced latency.

[0219] Implementation Method 2: Table Lookup Instructions

[0220] Specifically, a mapping table is pre-established to store the combination methods of data packets from all STAs associated with the same AP. Both the sending end (STA) and the receiving end (AP) of the encoded packets maintain the mapping table, and the mapping tables maintained by the sending end (STA) and the receiving end (AP) are identical. After the sending end (STA) selects some data packets to participate in encoding from the correctly received data packets, it determines the index of the combination method of these data packets in the mapping table and uses the index as the content of the encoding identifier field; the receiving end (AP) queries the mapping table according to the index in the encoding identifier field to determine the combination method of the data packets corresponding to the encoded packets.

[0221] For example, in the appendix Figure 7 In the method shown, the first STA encodes data packets from N STAs. The first STA determines the index corresponding to the combination of the N STAs in the mapping table and writes the index corresponding to the combination of the N STAs into the encoding identifier field of the first frame. When the AP receives the first frame, it queries the mapping table according to the index in the encoding identifier field to determine that the encoded packet is obtained by encoding data packets from the N STAs.

[0222] Taking a network containing a total of H STAs as an example, the encoding of data from 1 STA (i.e., N=1) has the following... The seeds can be represented by 1, 2, 3... Identifiers. Therefore, a mapping table is established as shown in Table 3 below. The i-th row of the mapping table shown in Table 3 represents the encoding identifier for i STA data items involved in encoding.

[0223] Table 3

[0224]

[0225] This embodiment uses a lookup table to sequentially create a mapping table for all combinations of data from all STAs. Both the transmitting and receiving ends store the same table, allowing the receiving side to determine the data combination simply by looking up the table, resulting in low complexity. Furthermore, since it's not necessary to reserve a bit for each STA, the length of the encoding identifier field is reduced, avoiding excessive transmission overhead from the encoding identifier and thus lowering the utilization of available bandwidth.

[0226] In some embodiments, a format design for the encoded identifier in the frame is also provided to effectively ensure compatibility with ordinary terminals. The frame structure is described in detail below. The frame structure described below supports the transmission of encoded messages and encoded identifiers in the various embodiments described above.

[0227] The frame structure provided in this embodiment includes a frame body field, an encoding identifier field, and a check field. The specific functions of each field and the positional relationships between them are explained below.

[0228] (1) Frame body field

[0229] The frame body field is used to carry one or more encoded messages; alternatively, it is used to carry one or more data messages. The frame body field is sometimes also called the payload field or the IP packet field.

[0230] For example, in the embodiments described above, the first frame sent by the first STA includes a frame body field. The content of the frame body field in the first frame includes one or more encoded messages obtained by the first STA through encoding. During the parsing of the first frame, the AP obtains one or more encoded messages from the frame body field.

[0231] Optionally, if the first frame is an MPDU, a first frame includes one encoded message. Specifically, if the first STA obtains multiple encoded messages through encoding, the first STA may optionally generate and send multiple MPDUs. Each of these multiple MPDUs may optionally include one of the multiple encoded messages.

[0232] Optionally, if the first frame is an A-MPDU, the first frame includes multiple encoded messages. Specifically, if the first STA obtains multiple encoded messages through encoding, the first STA may optionally generate and send one or more A-MPDUs. Each MPDU in an A-MPDU may optionally include one of the multiple encoded messages.

[0233] Optionally, if the first frame is an A-MSDU, the first frame includes multiple encoded messages. Specifically, if the first STA obtains multiple encoded messages through encoding, the first STA may optionally generate and send one or more A-MSDUs. Each MSDU in an A-MSDU may optionally include one of the multiple encoded messages.

[0234] For example, three data packets are involved in encoding: packet 1, packet 2, and packet 3. The first STA encodes these three data packets, generating two additional redundant packets: packet 4 and packet 5. When sending packets 1 through 5, if MPDUs are used for transmission, the first STA can optionally send five MPDUs, each containing one of the five packets. If A-MPDUs are used, the first STA can optionally send one A-MPDU, which contains five MPDUs, each containing one of the five packets. Alternatively, the first STA can optionally send two or more A-MPDUs, each containing a portion of the five packets.

[0235] (2) Encoding Identifier Field

[0236] The encoding identifier field is used to carry encoding identifiers. By adding the encoding identifier field to the frame, the sender informs the receiver which STA data packets were used during encoding.

[0237] For example, in the above embodiments, the encoded message sent by the first STA is obtained by encoding data packets from N STAs. Therefore, when the encoding identification is implemented using a bit-by-bit indication method, the content of the encoding identification field in the first frame is N set bits; while when the encoding identification is implemented using a lookup table indication method, the content of the encoding identification field in the first frame is the index of the combination of N STAs in the mapping table. Thus, by using the encoding identification field carried in the frame, the AP is notified which N STAs' data packets the first STA used during encoding.

[0238] The length of the encoding identifier field can vary. For example, if the encoding identifier is implemented using a bitwise indicator, the length of the encoding identifier field is the total number of all STAs in all groups; if the encoding identifier is implemented using a lookup table indicator, the length of the encoding identifier field is a value that can identify the maximum index number in the mapping table.

[0239] (3) Validation fields

[0240] The check field is used to provide the function of verifying the message. The sender adds a check field to the frame so that the receiver can use it to check whether the encoded message or data message has encountered errors during transmission. Optionally, the check field is located at the end of the frame.

[0241] For example, in the embodiments described above, the first frame sent by the first STA includes a check field. The content of the check field is used to verify whether the encoded message in the first frame has encountered errors during transmission. After receiving the first frame, the AP verifies the encoded message according to the content of the check field in the first frame. If the verification passes, the AP determines that the encoded message has not encountered errors during transmission, that is, the encoded message is a correctly received message. Then, if packet loss occurs subsequently, the AP will use the encoded message in the first frame for decoding. If the verification fails, the AP determines that the encoded message has encountered errors during transmission, and the AP may optionally discard the first frame.

[0242] (4) Positional relationship of each field in the frame

[0243] The encoding identifier field is located between the frame body field and the check field. For example, in the order from frame header to frame tail, the first frame starts with the frame header, followed by the frame body field containing the encoded message, then the encoding identifier field, and finally the check field. That is, the encoding identifier field is placed at the end of the frame body.

[0244] This embodiment, through the frame structure containing the encoding identifier field, not only ensures the verification capability of the encoded message but also ensures compatibility with ordinary frames (i.e., frames without the encoding identifier field). The principle behind achieving this effect will be analyzed below.

[0245] Because the encoding identifier field is located between the frame body field and the check field, even if the receiving end (STA or AP) does not recognize the encoding identifier, it can still parse the frame body field to obtain the encoded message carried in the frame body field. Furthermore, since the encoded message belongs to the IP layer, it includes a length field, which indicates the total length of the encoded message. During frame parsing, the data received by the receiving end's IP protocol stack includes the encoded message and the encoding identifier. Based on the length field, the receiving end can determine the total length of the encoded message, which is equivalent to knowing the end position of the encoded message. Therefore, the receiving end will treat the encoding identifier as redundant padding and discard it, thus avoiding message parsing errors caused by the receiving end's inability to recognize the encoding identifier. Therefore, this does not affect the reception of information by ordinary terminals (i.e., STAs that cannot recognize the encoding identifier). STAs or APs that support encoding identifier recognition can obtain both the encoding symbol and the encoding identifier from the frame simultaneously, facilitating subsequent erasure decoding.

[0246] The frame structure provided in this embodiment has been given an overall overview above. The specific design of the frame structure under different conditions, such as non-aggregated frames and aggregated frames, will be described below.

[0247] Case (1) Non-aggregated frames

[0248] Non-aggregated frames are, for example, MAC protocol data units (MPDUs). In the case of non-aggregated frames, an encoding identifier field is inserted between the frame body and the FCS to carry encoding and decoding parameters. The verification function is incidentally guaranteed by the FCS of the MAC frame.

[0249] For example, please refer to the appendix. Figure 8 , attached Figure 8 A frame structure for an MPDU is shown. The first frame described above may optionally be an appendix. Figure 8 The MPDU shown. The first frame includes a MAC header, packet field, encoding identifier field, and FCS field. The aforementioned encoded packets or data packets are located in the appendix. Figure 8 The message fields shown above. The above verification fields are attached. Figure 8 The FCS field shown.

[0250] Through append Figure 8 The frame structure shown adds an encoding identifier field to the end of the frame body of a normal MAC frame to indicate the encoding information of the current message, and can make full use of the FCS function of the MPDU, making it very convenient to perform the uplink multi-user erasure encoding and decoding process provided in this embodiment.

[0251] Case (2) Aggregated Frame

[0252] Aggregated frames include, but are not limited to, aggregated MAC protocol data units (A-MPDU) and aggregated MAC service data units (A-MSDU). For specific designs of A-MPDU and A-MSDU, please refer to cases (2-1) to (2-2) below.

[0253] Case (2-1) A-MPDU

[0254] For A-MPDU, an encoded identifier field is inserted between the frame body and FCS of a regular MPDU, and the verification function is incidentally guaranteed by the FCS of the MPDU.

[0255] For example, please refer to the appendix. Figure 9 , attached Figure 9 A frame structure for an A-MPDU is shown. The first frame mentioned above may optionally be an appendix. Figure 9 The A-MPDU shown is shown. The first frame includes multiple MPDUs. Two adjacent MPDUs in the first frame are separated by an MPDU delimiter. Each MPDU includes a MAC header, a message field, an encoding identifier field, and an FCS field. The message field in each MPDU includes either an encoded message or a data message. The FCS field in each MPDU is a checksum field. Each FCS field is used to verify whether the encoded message in the MPDU containing that FCS field has encountered errors during transmission.

[0256] Through append Figure 9 The frame structure shown has two advantages. First, since each aggregated MPDU contains an encoding identifier field, it indicates the data packet combination relationship corresponding to the encoded message in each MPDU, helping the receiver to decode using the encoded message in each MPDU. Second, because the encoding identifier field in each aggregated MPDU is located between the frame body field and the check field, even if the receiver does not support encoding identifier recognition, it can still parse the message field to obtain the encoded message, and can discard the encoding identifier as padding content according to the length field of the encoded message, thus not affecting the receiver that does not support encoding identifier recognition to receive the encoded message, improving compatibility. Receivers that support encoding identifier recognition can obtain both the encoded message and the encoding identifier from each MPDU, facilitating subsequent erasure decoding.

[0257] Case (2-2) A-MSDU

[0258] For A-MSDUs, an encoding identifier and a CRC field are added to the end of the regular MSDU. The CRC field is used to verify the MSDU and the encoding identifier. For example, please refer to the appendix. Figure 10 , attached Figure 10 A frame structure for an A-MSDU is shown. The first frame described above may optionally be an appendix. Figure 10 The A-MSDU shown is shown below. The first frame includes a MAC header, multiple MSDUs, and a CRC field. Each MSDU in the first frame is sometimes also called an A-MSDU subframe (SUB). Each MSDU includes a message field, an encoding identifier field, and a CRC field. The message field in each MSDU includes either an encoded message or a data message. The CRC field in each MSDU is a check field. Each CRC field is used to check whether the encoded message in the MSDU containing that CRC field has encountered an error during transmission.

[0259] Through append Figure 10 The frame structure shown has two advantages. First, each aggregated MSDU ends with an encoding identifier field, indicating the data packet combination relationship between the encoded messages in each MSDU, thus helping the receiver decode the encoded messages in each MSDU. Second, since the MSDU lacks an FCS field, a CRC field is added after the encoding identifier to ensure error detection capability. Based on these two improvements, even if the receiver does not support encoding identifier and CRC recognition, it can still parse the message fields to obtain the encoded message and discard the encoding identifier and CRC as padding. When the receiver supports encoding identifier recognition, it can obtain both the encoded message and the encoding identifier from each MSDU simultaneously and has error detection capability, facilitating subsequent erasure decoding.

[0260] This embodiment addresses the different situations of non-aggregated frames and aggregated frames mentioned above. Based on the differences in frame structure under different situations, it designs the location of the identification information required for decoding differently, thereby supporting more scenarios.

[0261] The above embodiments focus on describing the encoding process; the decoding process will be described in detail below.

[0262] The AP's decoding method mainly involves overlaying multiple received encoded packets and encoding identifiers. For example, after receiving the first frame sent by the first STA, the AP extracts the encoding identifier and encoded packet from the first frame. Based on the encoding identifier, the AP determines that the encoded packet is derived from data packets from N STAs, and then establishes a correspondence between the encoded packet and each of the N STAs. If data packets sent by M of the N STAs are lost, the AP, based on the correspondence established using the encoding identifiers, determines the P data packets corresponding to the encoded packet from the data packets checked against the verification field, where P is a positive integer; the AP then performs erasure decoding based on the encoded packet and the P data packets.

[0263] For example, the decoding process of the AP includes the following steps S211 to S215.

[0264] Step S211: The AP side receives the encoded message and the encoding identifier. The encoding identifier indicates which STAs' messages make up the message and establishes a correspondence.

[0265] For example, see Appendix Figure 11 The AP received encoded message 1, encoded message 2... encoded message 7. The encoding identifier in the frame containing encoded message 1 indicates that encoded message 1 consists of messages from STA 1; the encoding identifier in the frame containing encoded message 2 indicates that encoded message 2 consists of messages from STA 2; the encoding identifier in the frame containing encoded message 3 indicates that encoded message 3 consists of messages from STA 3; the encoding identifier in the frame containing encoded message 4 indicates that encoded message 4 consists of messages from STA 4; the encoding identifier in the frame containing encoded message 5 indicates that encoded message 5 consists of messages from STA 5; the encoding identifier in the frame containing encoded message 6 indicates that encoded message 6 consists of messages from STA 1, STA 3, and STA 4; the encoding identifier in the frame containing encoded message 7 indicates that encoded message 7 consists of messages from STA 1, STA 3, and STA 5. From the encoding identifiers corresponding to each encoded message, it can be seen that encoded messages 1 to 5 are all source messages (i.e., data messages from STAs), while encoded messages 6 and 7 are redundant messages. The correspondence established by the AP includes the correspondence between encoded message 1 and encoded identifier 1 (representing STA1), the correspondence between encoded message 2 and encoded identifier 2 (representing STA2), the correspondence between encoded message 3 and encoded identifier 3 (representing STA3), the correspondence between encoded message 4 and encoded identifier 4 (representing STA4), the correspondence between encoded message 5 and encoded identifier 5 (representing STA5), the correspondence between encoded message 6 and encoded identifier 1+3+4 (representing STA1, STA3, and STA4), and the correspondence between encoded message 7 and encoded identifier 1+3+5 (representing STA1, STA3, and STA5).

[0266] Step S212: Based on the established correspondence between encoded messages and encoded identifiers, the AP determines the encoded identifier corresponding to a data message that has not been received on the AP, for example, in the appendix... Figure 11 In the middle, the data packet corresponding to code identifier 4 was not received.

[0267] Step S213: The AP's decoder will first traverse the encoded messages whose encoding identifier contains 4, for example, finding the attached... Figure 11 The Chinese encoding identifies the message corresponding to 1+3+4.

[0268] Step S214: The AP's decoder searches for the message corresponding to encoding identifier 1 and the message corresponding to encoding identifier 3. If both the message corresponding to encoding identifier 1 and the message corresponding to encoding identifier 3 can be found, then the AP executes the following step S215 to perform decoding.

[0269] Step S215: AP performs decoding. Specifically, AP performs XOR addition on the messages corresponding to encoding identifiers 1+3+4, 1, and 3, and the result is the message corresponding to encoding identifier 4, thereby realizing the recovery of the message corresponding to encoding identifier 4.

[0270] The above decoding process is a simple example. For more complex cases, Gaussian elimination can be used for decoding.

[0271] In some embodiments, append Figure 7 The method shown employs a grouping mechanism for joint encoding of multiple STAs. Specifically, multiple STAs associated with the same AP are divided into multiple groups, with each group containing one or more STAs. STAs in different groups listen to each other's data packets sent to the AP. Each group of STAs uses data packets sent by other groups of STAs for erasure coding and provides the data source for encoding to other groups of STAs.

[0272] For example, an AP divides multiple associated STAs into group A and group B. Group B includes X STAs. The first STA is one of the STAs in group A. The first STA listens to data packets sent by the X STAs in group B in order to perform erasure coding using these data packets. Ideally, the first STA can receive data packets sent by the X STAs in group B. However, considering that packet loss or errors may occur during transmission over the wireless channel, the number of data packets that the first STA can obtain for coding can be less than or equal to the number of data packets sent by the X STAs. For example, among the data packets sent by the X STAs, the first STA may correctly receive Y data packets; then the first STA selects data packets from N STAs from the Y data packets to obtain a data packet set. Here, X, Y, and N are all positive integers, and the relationship between X, Y, and N is, for example, X is greater than or equal to Y, and Y is greater than or equal to N.

[0273] In some embodiments, different STA groups have different radio frequency (RF) configurations. RF configuration refers to the frequency band used when transmitting and receiving messages. For example, group A's transmit frequency band and group B's receive frequency band are the same. Group A's receive frequency band and group B's transmit frequency band are the same. By adopting the above RF configuration, when group A transmits a data packet, group B can receive the data packet from group A, so that group B can encode the data packet sent by group A; when group B transmits a data packet, group A can receive the data packet from group B, so that group A can encode the data packet sent by group B.

[0274] Appendix Figure 7 When the method described above applies the RF configuration, for example, the first STA is a STA in group A, and the N STAs participating in the encoding process of the first STA are all STAs in group B. The transmission frequency band of group B includes a first frequency band, and the reception frequency band of group B includes a second frequency band. The transmission frequency band of group A includes the second frequency band, and the reception frequency band of group A includes the first frequency band. Each of the N STAs transmits data packets on the first frequency band. The first STA receives data packets from the N STAs on the first frequency band, thereby obtaining a data packet set.

[0275] In some embodiments, the transmission frequency bands of different groups of STAs are different. For example, the frequency band of the first band (the transmission band of group B) is different from the frequency band of the second band (the transmission band of group A). ​​In other words, the first band and the second band are dual-band frequencies at two different frequency points. For example, the frequency band of the first band is 2.4 GHz, and the frequency band of the second band is 5 GHz. Or, for example, the frequency band of the first band is 5 GHz, and the frequency band of the second band is 2.4 GHz.

[0276] In some embodiments, the AP provides two independent BSSs, each with a different service set identifier (SSID). For example, the AP provides a first BSS and a second BSS. The SSIDs of the first and second BSSs are different. STAs and the AP in the first BSS transmit packets using a first frequency band. STAs and the AP in the second BSS transmit packets using a second frequency band. The aforementioned first STA and N STAs simultaneously belong to both the first and second BSSs.

[0277] The above embodiments describe the behavior of the STA sending encoded messages. The following describes the behavior of the STA sending its own data messages.

[0278] In some embodiments, the STA transmits data packets earlier than it transmits coded packets. In one possible implementation, the uplink transmission time is divided into a first time slot and a second time slot. The first time slot is used to transmit data packets, and the second time slot is used to transmit coded packets. The first time slot is earlier than the second time slot. Optionally, both the first and second time slots are sub-time slots. Optionally, the first and second time slots are contiguous in the time domain.

[0279] For example, in executing the appendix Figure 7 In the method shown, the first STA transmits its data packets in the first time slot and the second frequency band. The second frequency band is the receiving frequency band for N STAs (one or more STAs cooperating with the first STA in erasure coding). Each of the N STAs transmits its own data packets in the first time slot and the first frequency band. The first STA receives data packets from the N STAs in the first time slot and the first frequency band. Each of the N STAs receives data packets from the first STA in the first time slot and the second frequency band. The first STA performs erasure coding on the data packets from the N STAs in the second time slot to obtain encoded packets. The first STA then transmits the encoded packets to the AP in the second time slot and the second frequency band. Each of the N STAs performs erasure coding on the data packets from the first STA in the second time slot to obtain encoded packets, and then transmits the encoded packets to the AP in the second time slot and the first frequency band.

[0280] In this way, the first STA uses two sub-time slots to transmit its own data and data belonging to other STAs respectively, thereby cooperating with other STAs in erasure coding. Furthermore, since the first STA and other STAs use two different frequency bands when transmitting data simultaneously, mutual interference can be avoided.

[0281] In some embodiments, append Figure 7 The method shown utilizes the 802.11 uplink OFDMA mechanism for multi-user concurrent transmission. For example, considering the grouping mechanism described above, multiple STAs associated with the same AP are divided into multiple groups. Each STA in the same group occupies one RU on the same frequency band. Each STA in the same group simultaneously transmits data packets through its corresponding RU, and each STA in the same group simultaneously transmits encoded packets through its corresponding RU.

[0282] Below, using the first STA and the second STA as examples, we will introduce how the same group of STAs can perform additional operations based on the ODFMA mechanism. Figure 7 The method shown.

[0283] For example, the AP is associated with group A, which includes a first STA and a second STA. The first STA occupies the first RU in the second frequency band, and the second STA occupies the second RU in the second frequency band. The first STA uses the first RU in the first time slot and transmits its data packets using OFDMA. The second STA uses the second RU in the first time slot and transmits its data packets using OFDMA. Each of the N STAs and the AP receive OFDMA data in the first time slot and the second frequency band. The OFDMA data includes data packets from the first STA and the second STA. Then, the first STA uses the first RU in the second time slot and transmits encoded packets obtained by encoding data packets from group B using OFDMA. The second STA uses the second RU in the second time slot and transmits encoded packets obtained by encoding data packets from group B using OFDMA. The AP receives OFDMA data in the second time slot and the second frequency band. The OFDMA data includes encoded packets obtained by the first STA and the second STA. Both the first STA and the second STA have their uplink OFDMA function enabled in the transmission direction (UL-OFDMA Tx ON). Both the first STA and the second STA have their uplink OFDMA function enabled in the receiving direction (UL-OFDMARx ON).

[0284] The above describes how two STAs in the same group execute append-based mechanisms. Figure 7 The flowchart illustrates the process. Similarly, when a group includes two or more STAs, more STAs are processed in a similar manner.

[0285] By utilizing the uplink OFDMA mechanism, multiple STAs can simultaneously transmit data packets. Therefore, the erasure encoder can simultaneously receive and encode data packets from multiple STAs. Similarly, the erasure decoder can simultaneously receive and decode data packets from multiple STAs. This further reduces the data latency caused by individual STA encoding / decoding.

[0286] In some embodiments, the RU used by each STA when sending the aforementioned data packets and / or encoded packets is allocated by the AP. Specifically, the AP allocates a corresponding RU to each of the multiple STAs, and the AP announces the allocated RU to each STA; each STA associates the allocated RU with the allocated RU and uses the allocated RU to send data packets and / or encoded packets, thereby performing uplink OFDMA transmission.

[0287] In some embodiments, the group to which each STA belongs is assigned by the AP. Specifically, the AP divides all associated STAs into multiple groups. Optionally, random grouping is used during grouping. Optionally, the number of groups is equal to the number of frequency bands supported by the AP. For example, if the AP supports both 2.4 GHz and 5 GHz frequency bands, the AP will divide the STAs into two groups.

[0288] In some embodiments, the RU assigned by the AP is specifically implemented by the AP sending control frames to the STA. The control frame includes the STA's AID.

[0289] The following section uses the first STA and the third STA as examples to illustrate how to configure the transmit and receive functions for STAs in different groups. Please refer to steps S221 to S226 below for details.

[0290] Step S221: The AP assigns the associated first STA to group A, and the AP assigns the associated third STA to group B. The transmission frequency band of group A is the second frequency band, and the transmission frequency band of group B is the first frequency band. The AP allocates the first RU occupying the second frequency band to the first STA, and allocates the third RU occupying the first frequency band to the third STA.

[0291] Step S222: The AP sends a first control frame to the first STA on the second frequency band. The first control frame instructs the first STA to use the first RU when transmitting data packets and / or encoded packets. The first control frame includes the AID of the first STA. The AP sends a second control frame to the third STA on the first frequency band. The second control frame instructs the third STA to use the third RU when transmitting data packets and / or encoded packets. The second control frame includes the AID of the third STA.

[0292] Step S223: The first STA receives a first control frame from the AP on the second frequency band. Based on the first control frame, the first STA determines that the RU assigned to it is the first RU. The first STA associates with the first RU. Since the control frame is received on the second frequency band, the first STA identifies itself (the first STA) as belonging to group A.

[0293] Step S224: The third STA receives the second control frame from the AP on the first frequency band. Based on the second control frame, the third STA determines that the RU assigned to it is the third RU. The third STA associates with the third RU. Since the control frame is received on the first frequency band, the third STA will identify itself (the third STA) as belonging to group B.

[0294] Step S225: The first STA uses the first RU on the second frequency band and transmits the first STA's data packets and / or encoded packets using OFDMA.

[0295] Step S226: The third STA uses the third RU on the first frequency band to send data packets and / or encoded packets of the first STA using OFDMA.

[0296] Optionally, the first control frame is a MU RTS frame. The first control frame has the above-mentioned appendix. Figure 2 To be continued Figure 4 The frame structure is shown. The MU RTS frame, which acts as the first control frame, includes the AID of the first STA and the identifier of the first RU. For example, please refer to the appendix. Figure 2 The payload portion of the MU RTS frame includes user information fields. Please refer to the appendix. Figure 4 The user information fields include the AID12 field and the RU allocation field. The AID12 field includes the AID of the first STA. The RU allocation field includes the identifier of the first RU.

[0297] For example, combined with appendix Figure 12 Let's look at the case where the first STA is STA 1 in group A, and N is 3. The data packet set used by the first STA for erasure coding includes data packets from STA 1 in group B, data packets from STA 7 in group B, and data packets from STA 18 in group B. For example, combined with the appendix... Figure 12 In the case where the first STA is STA 2 in group A, N is 4. The data packet set used by the first STA for erasure coding includes data packets from STA 2 in group B, data packets from STA 4 in group B, data packets from STA 8 in group B, and data packets from STA 17 in group B.

[0298] The following example illustrates the above. Figure 7 The method shown is illustrated with an example.

[0299] Example 1

[0300] Appendix Figure 7 In the method shown, the first STA is an STA in group A of example 1. Figure 7 In the method shown, N STAs are multiple STAs in group B of example 1. (Appendix) Figure 7 The first frequency band in the method shown is frequency band 2 in Example 1. Figure 7 The second frequency band in the method shown is frequency band 1 in Example 1. (Appendix) Figure 7 The first frame in the method shown is the non-aggregated frame (MPDU) in Example 1.

[0301] Example 1 illustrates the erasure coding / decoding process during non-aggregated frame transmission. (Appendix) Figure 12 A schematic diagram of Example 1 is shown.

[0302] For the sake of brevity, please attach... Figure 12A message is simplified using the format of "uppercase English letters + numbers," where uppercase English letters represent the corresponding group and numbers represent the corresponding STA. For example, "A2" represents a data message generated by STA 2 in group A; "B1" represents a data message generated by STA 1 in group B; "A1+A7+A18" represents a redundant message obtained by XORing and adding three data messages: one generated by STA 1, one by STA 7, and one by STA 18 in group A. (Appendix) Figure 12 The color used to fill the space indicates the frequency band; white represents frequency band 1, and black represents frequency band 2.

[0303] During non-aggregated frame transmission, the 802.11 uplink OFDMA mechanism is used for concurrent transmission of multiple STAs. At the same time, the 2.4G and 5G dual-band (band 1 and band 2) configuration in the WLAN device is used to realize mutual monitoring between STAs, providing a real-time data source for collaborative erasure coding on the user side. The overall process is shown in steps (a) to (c) below.

[0304] Step (a) divides all access users into two groups, namely group A and group B.

[0305] In group A, each STA occupies one RU on frequency band 1 to transmit data. For example, please refer to the appendix. Figure 12 Message set 301 represents the data transmitted by group A in sub-time slot 1 and frequency band 1. Each column in message set 301 represents one STA in group A. Specifically, STA 1 in group A occupies the first RU on frequency band 1 to transmit message A1, STA 2 in group A occupies the second RU on frequency band 1 to transmit message A2, and so on, with STA n in group A occupies the nth RU on frequency band 1 to transmit message An. Message set 301 is transmitted through an antenna operating in frequency band 1. For example, message A1 is transmitted through antenna 311 of STA 1 in group A, operating in frequency band 1.

[0306] Each STA in Group A receives OFMDA data from Group B across the entire band 2. For example, please refer to the appendix. Figure 12Message set 302 represents data from group B received by group A in sub-time slot 2. Each column in message set 302 represents a STA in group A. Specifically, STA 1 in group A receives messages B1, B3, B7...B13 and B18 from group B on frequency band 2; STA 2 in group A receives messages B2, B4, B8...B15 and B17 from group B on frequency band 2; and STA n in group A receives messages B3, B6, B9...B14 and B16 from group B on frequency band 2. Message set 302 is received via an antenna operating in frequency band 2. For example, messages B1, B3, B7...B13 and B18 are transmitted via antenna 312 of STA 1 in group A operating in frequency band 2.

[0307] In Group B, each STA occupies one RU on frequency band 2 to transmit data. For example, please refer to the appendix. Figure 12 Message set 303 represents the data transmitted by group B in sub-time slot 1. Each column in message set 303 represents one STA in group B. Specifically, STA 1 in group B occupies the first RU on frequency band 2 to transmit message B1, STA 2 in group B occupies the second RU on frequency band 2 to transmit message B2, and so on, with STA n in group B occupying the nth RU on frequency band 2 to transmit message Bn.

[0308] Each STA in Group B receives OFDMA data from Group A across the entire Band 1. For example, please refer to the appendix. Figure 12 Message set 304 represents the data received by group B from group A in sub-time slot 1. Each column in message set 304 represents a STA in group B. In group B, STA 1 receives messages A1, A3, A7...A13 and A18 from group A on frequency band 1. In group B, STA 2 receives messages A2, A4, A8...A15 and A17 from group A on frequency band 1. In group B, STA n receives messages A3, A6, A9...A14 and A16 from group A on frequency band 1.

[0309] Step (b) divides the uplink transmission time into two sub-slots, namely sub-slot 1 and sub-slot 2.

[0310] In sub-slot 1, group A sends data packets and receives data packets sent by group B; group B sends data packets and receives data packets sent by group A.

[0311] In sub-slot 2, group A performs random XOR encoding on the received data packets from group B to generate redundant packets, which are then transmitted on frequency band 1.

[0312] For example, please refer to the appendix. Figure 12Message set 305 represents the data encoded from group B transmitted by group A in sub-time slot 2. Each column in message set 305 represents one STA in group A. Specifically, STA 1 in group A randomly selects message B1, message B7, and message B18 from messages B1, B3, B7... B13 and B18 received through antenna 312. STA 1 in group A XORs and adds messages B1, B7, and B18 using encoder 313 to obtain message B1+B7+B18. STA 1 in group A then transmits message B1+B7+B18 through antenna 311, occupying the first RU in frequency band 1.

[0313] Similarly, in group A, STA 2 randomly selects messages B2, B4, B8...B15 and B17 from the received messages B2, B4, B8...B15 and B17. Encoder 313 XORs and adds messages B2, B4, B8 and B17 to obtain message B2+B4+B8+B17. STA 2 in group A then occupies the second RU on frequency band 1 to transmit message B2+B4+B8+B17. Similarly, in group A, STA n randomly selects messages B3, B9 and B16 from the received messages B3, B6, B9...B14 and B16. XORing and adding messages B3, B9 and B16 yields message B3+B9+B16. n occupies the nth RU on frequency band 1 to send message B3+B9+B16.

[0314] In sub-slot 2, group B randomly XOR-encodes the received data packets from group A to generate redundant packets, which are then transmitted on frequency band 2.

[0315] For example, please refer to the appendix. Figure 12The message set 306 represents the data encoded from group A data transmitted by group B in sub-time slot 2. Each column in message set 306 represents a STA in group B. Specifically, STA 1 in group B randomly selects message A1, message A7, and message A18 from messages A1, A3, A7...A13 and A18 received through antenna 331, and XORs and adds messages A1, A7, and A18 to obtain message A1+A7+A18 through encoder 314. In group B, STA 1 transmits message A1+A7+A18 via antenna 332, occupying the first RU on frequency band 2. In group B, STA 2 randomly selects messages A2, A4, A8, and A17 from the received messages A2, A4, A8... A15 and A17. It then XORs and adds these messages to obtain message A2+A4+A8+A17. STA 2 in group B then transmits message A2+A4+A8+A17, occupying the second RU on frequency band 2. n randomly selects messages A3, A9, and A16 from the received messages A3, A6, A9... A14 and A16. The XOR operation of messages A3, A9, and A16 is performed to obtain message A3+A9+A16. STA n in group B occupies the nth RU on frequency band 2 to transmit message A3+A9+A16.

[0316] In step (c), the AP remains in a receiving state during the uplink transmission time. The AP can simultaneously receive some or all of the data packets and redundant packets of group A and group B. The lost data packets can be recovered by using their respective data packets and redundant packets.

[0317] For example, please refer to the appendix. Figure 12 Message sets 307 and 308 are specified. Message set 307 represents the data of group A (including sub-time slot 1 and sub-time slot 2) received by the AP in frequency band 1. Message set 308 represents the data of group B (including sub-time slot 1 and sub-time slot 2) received by the AP. Specifically, as shown in message set 307, the AP receives messages A2, A3, A4, A5, A6, A7...A18...A1+A7+A18 in frequency band 1. As shown in message set 308, the AP receives messages B1, B2, B3, A5, A6, A7...B18...A4+A7+A18 in frequency band 2.

[0318] The encoding process for non-aggregated frames (MPDUs) mainly includes grouping and transmission / reception configuration of multiple STAs, joint encoding of multi-STA data, and identification of encoded packets. The decoding method primarily involves overlaying the received encoded packets and their identifiers, which will not be elaborated upon here. The encoding process is detailed below.

[0319] (1) Grouping and Send / Receive Configuration

[0320] This embodiment provides a dual-band multi-user grouping mechanism and a transceiver configuration process. Both the STA and AP are configured with dual-band hardware. The AP randomly divides the associated AIDs into two groups and associates them with MU-RTS frames on the two frequency bands respectively. Then, the AP allocates resources on the two frequency bands through the dual-band MU-RTS frames, and simultaneously groups users. The STA configures its respective dual-band transceiver mechanism (UL-OFDMA Rx ON, UL-OFDMA Tx ON) based on the received MU-RTS. For example, the grouping and transceiver configuration process can be found in the appendix. Figure 13 The process of grouping and sending / receiving configuration includes the following steps (1-a) to (1-d).

[0321] Step (1-a) AP divides the associated STAs into two groups. For example, attached Figure 13 The AP is associated with 8 STAs: STA 1, STA 2...STA 8. The AP assigns STA 1, STA 3, STA 5 and STA 7 to group A, and STA 2, STA 4, STA 6 and STA 8 to group B.

[0322] Step (1-b) The AP transmits the RU and AID associated band 1 MU-RTS frames and band 2 MU-RTS frames respectively on band 1 and band 2. For example, see attached... Figure 13 The AP transmits a MU-RTS frame in band 1, which includes the correspondences between AID1 and RU1, AID3 and RU2, AID7 and RU3, and AID5 and RU4. The AP transmits a MU-RTS frame in band 2, which includes the correspondences between AID2 and RU1, AID6 and RU2, AID4 and RU3, and AID8 and RU4.

[0323] In step (1-c), the STA simultaneously receives MU-RTS frames from band 1 and band 2. If it has its own AID on band 1, the STA associates with the RU corresponding to band 1 and identifies itself as belonging to group A. If it has its own AID on band 2, the STA associates with the RU corresponding to band 2 and identifies itself as belonging to group B.

[0324] Step (1-d): If the STA belongs to group A, it transmits (TxON) on band 1 using the assigned RU and receives (RxON) on band 2; if the STA belongs to group B, it transmits (TxON) on band 2 using the assigned RU and receives (RxON) on band 1.

[0325] (2) Multi-STA joint coding method

[0326] The multi-STA joint coding method includes the following two methods: Method 1 and Method 2. In Method 1 and Method 2, the nodes refer to STAs.

[0327] Method 1: Fixed number of encoding nodes, random node selection: STA selects a fixed number of node data for encoding in sub-time slot 2, and the specific nodes selected are randomized.

[0328] For example: In group A, STA 1 correctly receives messages B1, B3, B4, B6, and B9 in sub-time slot 1; STA 2 in group A correctly receives messages B1, B2, B5, B6, and B8 in sub-time slot 1. If the number of encoding nodes N is fixed at 3, then STA 1's encoding in sub-time slot 2 is to randomly select three messages from B1, B3, B4, B6, and B9 and XOR them together. STA 2's encoding in sub-time slot 2 is to randomly select three messages from B1, B2, B5, B6, and B8 and XOR them together. If the number of correctly received messages is less than N, optionally, the encoding method can be to XOR all received messages together. Optionally, if all received messages are still insufficient, STA 1 uses a free combination method for encoding.

[0329] Method 2: Random number of encoding nodes and random node selection: STA selects a random number of node data for encoding in sub-slot 2, and the specific nodes selected are also randomized.

[0330] For example: In group A, STA 1 correctly receives messages B1, B3, B4, B6, and B9 in sub-time slot 1; STA 2 in group A correctly receives messages B1, B2, B5, B6, and B8 in sub-time slot 1. Based on the number of messages received, STA 1 and STA 2 can each randomly select a value for N. For example, if STA 1 randomly selects 4 as the N value and STA 2 randomly selects 2 as the N value, then the encoding for STA 1 in sub-time slot 2 is to XOR four messages from B1, B3, B4, B6, and B9, and STA 2's encoding is to XOR two messages from B1, B2, B5, B6, and B8.

[0331] (3) Encoding Identifier (a method for indicating the data packet corresponding to the encoded message)

[0332] The encoding identifier can be implemented in two ways: Method 1 and Method 2.

[0333] Method 1: Use a bitmap to encode and identify data packets. For example, if there are a total of 8 STAs in the system, the encoding identifier field should be 8 bits. For the first STA, a packet sent in sub-time slot 1 should have an encoding identifier of 10000000. If a packet sent in sub-time slot 2 is obtained by XORing and adding the packets from the 5th, 6th, and 7th STAs, then its encoding identifier should be 00001110. This pattern continues, allowing you to identify all encoded packets.

[0334] Method 2: Construct an encoding identifier mapping table. The transmitting and receiving ends determine the current encoding identifier by looking up the table. Taking H STAs as an example, the encoding involving data from one STA is: The seeds can be represented by 1, 2, 3... Identifier. Therefore, Table 3 above is constructed to facilitate the determination of the encoding identifier by the transmitting and receiving ends.

[0335] In particular, please refer to the appendix. Figure 8 For the ordinary non-aggregated frame (MPDU) in Example 1, an encoding identifier field needs to be added to the MAC frame to inform the receiver of the parameters used for the current encoding, considering the encoding identifier. On the other hand, for compatibility reasons, without affecting the reception of information by ordinary terminals, the encoding identifier should be placed between the MPDU frame body and the FCS. This way, even terminals that do not recognize the encoding identifier can still parse the frame body content and discard the encoding identifier as padding based on the length field of the IP packet. For terminals with erasure decoding capabilities, both the encoded packet and the encoding identifier can be obtained simultaneously, facilitating subsequent erasure decoding.

[0336] In Example 1, an encoding identifier field is added to the end of the frame body of a normal MAC frame to indicate the encoding information of the current message. This fully utilizes the FCS function of the MPDU and makes it very convenient to perform the uplink multi-user erasure encoding and decoding process in this embodiment.

[0337] Example 1 illustrates the transmission of an MPDU. The MPDU in Example 1 can be replaced with a MAC frame of other structures.

[0338] In another example, the MPDU in Example 1 is replaced with an aggregated frame AMPDU. The frame format for transmitting the aggregated frame AMPDU can be found in the appendix. Figure 9 Appendix Figure 9The frame structure shown adds an encoding identifier field between the frame body and FCS of the aggregated MPDU frame to indicate the encoding information of the current message. This makes it very convenient to obtain the encoding identifier information of each MPDU in the AMPDU and can take advantage of the FCS capability of the MPDU itself.

[0339] In another example, the MPDU in Example 1 is replaced with the AMSDU (Assembled Frame). The frame format for transmitting the AMSDU can be found in the appendix. Figure 10 Appendix Figure 10 The frame structure shown adds an encoding identifier field and a CRC field to the end of the frame body of the aggregated MSDU frame. These fields are used to indicate the encoding information of the current message and to provide error detection capabilities, respectively. The receiving side can easily obtain the encoding identifier information of each MSDU in the AMSDU and can use the added CRC field to complete error detection.

[0340] Appendix Figure 14 This is a schematic diagram of the structure of an STA 600 provided in an embodiment of this application. The STA 600 includes an acquisition unit 601, an encoding unit 602, and a transmission unit 603.

[0341] Optionally, in conjunction with the appendix Figure 1 See, attached Figure 14 The STA 600 shown is an accessory. Figure 1 The sending end in the middle. (Attached) Figure 14 The coding unit 602 shown includes an appendix Figure 1 The erasure encoder in the middle. (Attached) Figure 14 The transmitting unit 603 shown includes an attached Figure 1 The transmitter in the middle.

[0342] Optionally, in conjunction with the appendix Figure 5 See, attached Figure 14 The STA 600 shown is an accessory. Figure 5 One of STAs: STA 1, STA 2, STA 3, or STA 4.

[0343] Optionally, in conjunction with the appendix Figure 6 See, attached Figure 14 The STA 600 shown is an accessory. Figure 6 STA 11 in the middle.

[0344] Optionally, in conjunction with the appendix Figure 7 See, attached Figure 14 The STA 600 shown is an accessory. Figure 7 The first STA in the system. Acquisition unit 601 is used to support STA 600 in performing additional... Figure 7 Step S201 in the process. Encoding unit 602 is used to support STA 600 in performing additional... Figure 7Step S202 in the process. The transmitting unit 603 is used to support STA 600 in performing the attached... Figure 7 Step S203 in the process. Optionally, the acquisition unit 601 is specifically a receiving unit, which is implemented in hardware such as a transceiver or antenna. Optionally, the STA 600 also includes a generation unit, which is used to support the STA 600 in generating data packets.

[0345] Optionally, in conjunction with the appendix Figure 8 See, attached Figure 14 The transmitting unit 603 shown is used to support STA 600 in transmitting additional data. Figure 8 The MPDU shown.

[0346] Optionally, in conjunction with the appendix Figure 9 See, attached Figure 14 The transmitting unit 603 shown is used to support STA 600 in transmitting additional data. Figure 9 The A-MPDU shown.

[0347] Optionally, in conjunction with the appendix Figure 10 See, attached Figure 14 The transmitting unit 603 shown is used to support STA 600 in transmitting additional data. Figure 10 The A-MSDU shown.

[0348] Optionally, in conjunction with the appendix Figure 12 See, attached Figure 14 The STA 600 shown is an accessory. Figure 12 STA 1 in group A. (Appendix) Figure 14 The acquisition unit 601 shown includes an appendix Figure 12 Medium antenna 312. (Attached) Figure 14 The coding unit 602 shown includes an appendix Figure 12 Encoder 313. (Attached) Figure 14 The transmitting unit 603 shown includes an attached Figure 12 Medium antenna 311. Specifically, see attached... Figure 14 The acquisition unit 601 shown is used to support STA 600 in receiving attached data. Figure 12 The message set 302 shown includes messages B1, B3, B7...B13 and B18. (Appendix) Figure 14 The encoding unit 602 shown is used to support STA 600 encoding to generate messages B1+B7+B18 in message set 305. (See attached image) Figure 14 The transmitting unit 603 shown is used to support STA 600 in transmitting additional data. Figure 12 The messages shown are B1+B7+B18 in message set 305 and A1 in message set 301.

[0349] Optionally, in conjunction with the appendix Figure 13See, attached Figure 14 The STA 600 shown is an accessory. Figure 13 STA 1 in group A. (Appendix) Figure 14 The acquisition unit 601 shown includes an appendix Figure 13 Medium antenna 311. (Attached) Figure 14 The acquisition unit 601 shown is used to support STA600 in receiving attached data. Figure 13 The MU-RTS associated with AID 1 and RU 1 is shown.

[0350] Appendix Figure 14 The described device embodiments are merely illustrative. For example, the division of the units described above is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0351] Appendix Figure 14 Each unit in the STA 600 is implemented, in whole or in part, through software, hardware, firmware, or any combination thereof.

[0352] In the case of software implementation, for example, the above-mentioned encoding unit 602 is attached Figure 16 The software functional unit generated by at least one processor 801 reads the program code stored in memory 802 and implements it.

[0353] In the case of hardware implementation, for example, attached Figure 14 The aforementioned units are implemented by different hardware components in the STA. For example, the encoding unit 602 is implemented by the attached... Figure 16 At least one processor 801 in the process is configured with a portion of its processing resources (e.g., one or two cores in a multi-core processor), while the acquisition unit 601 is provided by an attached processor. Figure 16 The remaining processing resources in at least one processor 801 (e.g., other cores in a multi-core processor) are used, or programmable devices such as field-programmable gate arrays (FPGAs) or coprocessors are employed to complete the task. For example, the acquisition unit 601 and the transmission unit 603 are attached... Figure 16 The transceiver is implemented in the 803.

[0354] In the case of a combination of software and hardware, for example, the acquisition unit 601 is implemented by a hardware programmable device, while the encoding unit 602 is a software functional unit generated by the CPU after reading the program code stored in the memory.

[0355] Optionally, the encoding unit 602 is implemented using a dedicated hardware accelerator, which performs erasure coding on the messages. By offloading the functionality of the encoding unit 602 to the hardware accelerator, the computational burden on the CPU is reduced.

[0356] Appendix Figure 15 This is a schematic diagram of the structure of an AP 700 provided in an embodiment of this application. The AP 700 includes a receiving unit 701 and a decoding unit 702. Optionally, the AP 700 also includes a transmitting unit 703.

[0357] Optionally, in conjunction with the appendix Figure 1 See, attached Figure 15 The AP 700 shown is an accessory. Figure 1 The receiving end in the middle. (Attached) Figure 15 The decoding unit 702 shown includes an attached Figure 1 The erasure decoding tool is included. (Attached) Figure 15 The receiving unit 701 shown includes an attached Figure 1 The receiver in the middle.

[0358] Optionally, in conjunction with the appendix Figure 5 See, attached Figure 15 The AP 700 shown is an accessory. Figure 5 AP in the middle.

[0359] Optionally, in conjunction with the appendix Figure 6 See, attached Figure 15 The AP 700 shown is an accessory. Figure 6 AP 10 in the middle.

[0360] Optionally, in conjunction with the appendix Figure 7 See, attached Figure 15 The AP 700 shown is an accessory. Figure 7 The AP 700 is configured to receive unit 701 to support AP 700 in executing step S204. The decoding unit 702 is configured to support AP 700 in executing step S205. The transmitting unit 703 is configured to support AP 700 in transmitting the first control frame (attached). Figure 7 (Not shown).

[0361] Optionally, in conjunction with the appendix Figure 8 See, attached Figure 15 The receiver unit 701 shown is used to support AP 700 receiving accessories. Figure 8 The MPDU shown.

[0362] Optionally, in conjunction with the appendix Figure 9 See, attached Figure 15 The receiver unit 701 shown is used to support AP 700 receiving accessories. Figure 9 The A-MPDU shown.

[0363] Optionally, in conjunction with the appendix Figure 10 See, attached Figure 15 The receiver unit 701 shown is used to support AP 700 receiving accessories. Figure 10 The A-MSDU shown.

[0364] Optionally, in conjunction with the appendix Figure 12 See, attached Figure 15 The AP 700 shown is an accessory. Figure 12 AP in the middle. (Attached) Figure 15 The receiving unit 701 shown includes an attached Figure 12 Antenna 321 and Antenna 322. (Attached) Figure 15 The receiver unit 701 shown is used to support AP 700 receiving accessories. Figure 12 The message sets 307 and 308 are shown.

[0365] Optionally, in conjunction with the appendix Figure 13 See, attached Figure 15 The AP 700 shown is an accessory. Figure 13 AP in the middle. (Attached) Figure 15 The transmitting unit 703 shown includes an attached Figure 13 Antenna 321 and Antenna 322. (Attached) Figure 15 The transmitting unit 703 shown is used to support AP 700 transmitting additional data. Figure 13 The MU-RTS shown.

[0366] Appendix Figure 15 The described device embodiments are merely illustrative. For example, the division of the units described above is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0367] Each unit in the AP 700 is implemented, in whole or in part, through software, hardware, firmware, or any combination thereof.

[0368] In the case of software implementation, for example, the decoding unit 702 described above is attached... Figure 17 The software functional unit generated by at least one processor 901 reads the program code stored in memory 902 and implements it.

[0369] In the case of hardware implementation, for example, attached Figure 15 The aforementioned units are implemented by different hardware components in the AP. For example, the decoding unit 702 is implemented by an attached... Figure 17At least one processor 901 in the system utilizes a portion of its processing resources (e.g., one or two cores of a multi-core processor). For example, the decoding unit 702 may be implemented using a programmable device such as a field-programmable gate array (FPGA) or a coprocessor. The receiving unit 701 and the transmitting unit 703 are implemented using an attached... Figure 17 The transceiver is implemented in the 903.

[0370] Optionally, the decoding unit 702 is implemented using a dedicated hardware accelerator, which is used to perform erasure decoding on the packets. By offloading the functionality of the decoding unit 702 to the hardware accelerator, the computational burden on the CPU is reduced.

[0371] The following example illustrates the basic hardware structure of STA.

[0372] Appendix Figure 16 This is a schematic diagram of the structure of a STA provided in an embodiment of this application. The STA 800 includes at least one processor 801, a memory 802, and at least one transceiver 803.

[0373] Optionally, in conjunction with the appendix Figure 1 See, attached Figure 16 The STA 800 shown is an accessory. Figure 1 The sending end in the middle. (Attached) Figure 16 The processor 801 shown includes an attached Figure 1 The erasure encoder in the middle. (Attached) Figure 16 The transceiver 803 shown includes an accessory Figure 1 The transmitter in the middle.

[0374] Optionally, in conjunction with the appendix Figure 5 See, attached Figure 16 The STA 800 shown is an accessory. Figure 5 One of STAs: STA 1, STA 2, STA 3, or STA 4.

[0375] Optionally, in conjunction with the appendix Figure 6 See, attached Figure 16 The STA 800 shown is an accessory. Figure 6 STA 11. Processor 801 is used to support STA 800 in generating attachments. Figure 6 The transceiver is used to support STA 800 in sending data packets and encoded packets. Figure 6 Data messages and encoded messages.

[0376] Optionally, in conjunction with the appendix Figure 7 See, attached Figure 16 The STA 800 shown is an accessory. Figure 7The first STA in the series. Transceiver 803 is used to support STA 800 in performing additional functions. Figure 7 Steps S201 and S203 in the process. Processor 801 is used to support STA 800 in executing additional... Figure 7 Step S202 in the process.

[0377] Optionally, in conjunction with the appendix Figure 8 See, attached Figure 16 The processor 801 shown is used to support STA 800 in generating attachments. Figure 8 The MPDU shown is attached. Figure 16 The transceiver 803 shown is used to support STA 800 transmission of attachments. Figure 8 The MPDU shown.

[0378] Optionally, in conjunction with the appendix Figure 9 See, attached Figure 16 The processor 801 shown is used to support STA 800 in generating attachments. Figure 9 The A-MPDU shown is attached. Figure 16 The transceiver 803 shown is used to support STA 800 transmission of attachments. Figure 9 The A-MPDU shown.

[0379] Optionally, in conjunction with the appendix Figure 10 See, attached Figure 16 The processor 801 shown is used to support STA 800 in generating attachments. Figure 10 The A-MSDU shown is attached. Figure 16 The transceiver 803 shown is used to support STA 800 transmission of attachments. Figure 10 The A-MSDU shown.

[0380] Optionally, in conjunction with the appendix Figure 12 See, attached Figure 16 The STA 800 shown is an accessory. Figure 12 STA 1 in group A. (Appendix) Figure 16 The transceiver 803 shown includes an accessory Figure 12 Antenna 311 and Antenna 312. (Attached) Figure 16 The processor 801 shown includes an attached Figure 12 Encoder 313. Specifically, see attached... Figure 16 The transceiver 803 shown is used to support STA 800 receiving accessories. Figure 12 The message set 302 shown includes messages B1, B3, B7...B13 and B18. (Appendix) Figure 16 The processor 801 shown is used to support STA 800 encoding to generate messages B1+B7+B18 in message set 305. (Appendix) Figure 16 The transceiver 803 shown is used to support STA800 transmission of attachments. Figure 12The messages shown are B1+B7+B18 in message set 305 and A1 in message set 301.

[0381] Optionally, in conjunction with the appendix Figure 13 See, attached Figure 16 The STA 800 shown is an accessory. Figure 13 STA 1 in group A. (Appendix) Figure 16 The transceiver 803 shown includes an accessory Figure 13 Medium antenna 311. (Attached) Figure 16 The transceiver 803 shown is used to support STA 800 receiving accessories. Figure 13 The MU-RTS associated with AID 1 and RU 1 is shown.

[0382] Optionally, in conjunction with the appendix Figure 14 See, attached Figure 16 The STA 800 shown is used to implement the attached Figure 14 The STA 600 is included. Figure 16 The transceiver 803 shown is used to implement the attached Figure 14 The acquisition unit 601 and the transmission unit 603 are included. (See appendix) Figure 16 The processor 801 shown is used to implement the attached Figure 14 The encoding unit 602 in the text.

[0383] Processor 801 may be, for example, a general-purpose central processing unit (CPU), a signal processor, a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits for implementing the embodiments of this application. For example, processor 801 may include an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0384] In some embodiments, the processor 801 is provided as a baseband circuit. For example, the processor 801 is a separate circuit. For example, the processor 801 is a circuit in a system-on-a-chip (SOC). Alternatively, the processor 801 is a baseband chip integrated into a chip form, which is not specifically limited in the embodiments of this application.

[0385] Memory 802 may be, for example, read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; electrically erasable programmable read-only memory (EEPROM); compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital universal discs, Blu-ray discs, etc.); magnetic disk storage media or other magnetic storage devices; or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Optionally, memory 802 exists independently and is connected to processor 801 via internal connection 804. Alternatively, memory 802 and processor 801 may be integrated together.

[0386] Transceiver 803 is used to communicate with other STAs besides STA 600 and APs. Transceiver 803 supports at least two frequency bands. Specifically, transceiver 803 supports a first frequency band and a second frequency band. Transceiver 803 receives data packets from other STAs on the first frequency band and transmits data packets from STA 600 on the second frequency band. In some embodiments, transceiver 803 includes one or more radio frequency integrated circuits (RFICs, sometimes also called radio frequency chips) and one or more antennas. Transceiver 803 includes, for example, at least one of a wired network interface or a wireless network interface. The wired network interface is, for example, an Ethernet interface. The Ethernet interface is, for example, an optical interface, an electrical interface, or a combination thereof. The wireless network interface is, for example, a WLAN interface, a cellular network interface, or a combination thereof.

[0387] The STA 800 is capable of receiving and transmitting data packets. During the STA 800's data packet reception process, the collaborative operation of its various components includes, for example: the antenna (transceiver 803) receives radio waves, converts them into radio frequency (RF) signals, and then transmits the RF signals to the RF chip (transceiver 803); the RF chip converts the RF signals into intermediate frequency (IF) signals, processes the IF signals, and transmits the processed IF signals to the baseband chip (processor 801); the baseband chip (processor 801) processes the IF signals to obtain the data packet. During the STA 800's data packet transmission process, the collaborative operation of its components is as follows: the baseband chip (processor 801) generates the IF signal carrying the data packet, processes the obtained IF signal, and transmits the processed IF signal to the RF chip; the RF chip processes the IF signal, converts the processed IF signal into an RF signal, and transmits the RF signal to the antenna; the antenna converts the RF signal into radio waves and transmits them.

[0388] In some embodiments, processor 801 includes one or more CPUs, as shown in the appendix. Figure 16 CPU0 and CPU1 are shown in the diagram.

[0389] In some embodiments, the STA 800 may optionally include multiple processors, as shown in the appendix. Figure 16 The processors 801 and 805 shown are illustrated. Each of these processors is, for example, a single-core processor (CPU) or a multi-core processor (CPU). A processor here may optionally refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0390] In some embodiments, the STA 800 further includes an internal connection 804. The processor 801, memory 802, and at least one transceiver 803 are connected via the internal connection 804. The internal connection 804 includes pathways for transmitting information between the aforementioned components. Optionally, the internal connection 804 is a single board or a bus. Optionally, the internal connection 804 may be divided into an address bus, a data bus, a control bus, etc.

[0391] In some embodiments, the STA 800 also includes an input / output interface 806. The input / output interface 806 is connected to an internal connection 804.

[0392] Optionally, the processor 801 implements the method in the above embodiments by reading program code stored in the memory 802, or the processor 801 implements the method in the above embodiments by program code stored internally in the processor 801. When the processor 801 implements the method in the above embodiments by reading program code stored in the memory 802, the memory 802 stores program code 810 that implements the method provided in the embodiments of this application.

[0393] For more details on how processor 801 implements the above functions, please refer to the descriptions in the previous method embodiments, which will not be repeated here.

[0394] The following example illustrates the basic hardware structure of an AP.

[0395] Appendix Figure 17 This is a schematic diagram of the structure of an AP provided in an embodiment of this application. The AP 900 includes at least one processor 901, a memory 902, and at least one transceiver 903.

[0396] Optionally, in conjunction with the appendix Figure 1 See, attached Figure 17 The AP 900 shown is an accessory. Figure 1 The receiving end in the middle. (Attached) Figure 17 The processor 901 shown includes an attached Figure 1 The erasure decoding tool is included. (Attached) Figure 17 The transceiver 903 shown includes an accessory Figure 1 The receiver in the middle.

[0397] Optionally, in conjunction with the appendix Figure 5 See, attached Figure 17 The AP 900 shown is an accessory. Figure 5 AP in the middle.

[0398] Optionally, in conjunction with the appendix Figure 6 See, attached Figure 17 The AP 900 shown is an accessory. Figure 6 AP 10. Transceiver 903 is used to support AP 900 in receiving encoded messages sent by STA 11, STA 12 and STA 13.

[0399] Optionally, in conjunction with the appendix Figure 7 See, attached Figure 17 The AP 900 shown is an accessory. Figure 7 The AP 900 is configured to support AP 900 in executing step S204. The decoding unit 702 supports AP 900 in executing step S205. The transmitting unit 703 supports AP 900 in transmitting the first control frame (attached). Figure 7 (Not shown).

[0400] Optionally, in conjunction with the appendix Figure 8 See, attached Figure 17 The transceiver 903 shown is used to support AP 900 receiving accessories. Figure 8 The MPDU shown. Processor 901 is used to support AP 900 to the attached... Figure 8 The MPDU shown is parsed to obtain the attached... Figure 8 The MPDU shown contains the encoded identifier and message.

[0401] Optionally, in conjunction with the appendix Figure 9 See, attached Figure 17 The transceiver 903 shown is used to support AP 900 receiving accessories. Figure 9 The A-MPDU shown is used by processor 901 to support AP 900 to the attached... Figure 9 The A-MPDU shown is parsed to obtain the attached... Figure 9 The A-MPDU shown contains the encoded identifier and message.

[0402] Optionally, in conjunction with the appendix Figure 10 See, attached Figure 17 The transceiver 903 shown is used to support AP 900 receiving accessories. Figure 10 The A-MSDU shown. Processor 901 is used to support AP 900 to the attached... Figure 10 The A-MSDU shown is parsed to obtain the attached... Figure 10 The A-MSDU shown contains the coded identifier and message.

[0403] Optionally, in conjunction with the appendix Figure 12 See, attached Figure 17 The AP 900 shown is an accessory. Figure 12 AP in the middle. (Attached) Figure 17 The transceiver 903 shown includes an accessory Figure 12 Antenna 321 and Antenna 322. (Attached) Figure 17 The transceiver 903 shown is used to support AP 900 receiving accessories. Figure 12 The message sets 307 and 308 are shown. Processor 901 is used to support AP 900 according to the appendix. Figure 12 The message sets 307 and 308 shown are subjected to erasure coding.

[0404] Optionally, in conjunction with the appendix Figure 13 See, attached Figure 17 The AP 900 shown is an accessory. Figure 13 AP in the middle. (Attached) Figure 17 The transmitting unit 703 shown includes an attached Figure 13 Antennas 321 and 322 are included. Processor 901 is used to support AP 900 in generating additional... Figure 13 The MU-RTS shown is attached. Figure 17The transmitting unit 703 shown is used to support AP 900 transmitting accessories. Figure 13 The MU-RTS shown.

[0405] Optionally, in conjunction with the appendix Figure 14 See, attached Figure 17 The AP 900 shown is used to implement the attached Figure 15 AP 700. (Attached) Figure 17 The transceiver 803 shown is used to implement the attached Figure 15 The receiving unit 701 and the transmitting unit 703 are included. (See appendix.) Figure 17 The processor 801 shown is used to implement the attached Figure 15 The decoding unit 702 in the middle.

[0406] Processor 901 is, for example, a general-purpose central processing unit (CPU), signal processor, network processor (NP), graphics processing unit (GPU), neural-network processing unit (NPU), data processing unit (DPU), microprocessor, or one or more integrated circuits for implementing the embodiments of this application. For example, processor 901 includes application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or combinations thereof. A PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0407] In some embodiments, the processor 901 is provided as a baseband circuit. For example, the processor 901 is a separate circuit. For example, the processor 901 is a circuit in a system-on-a-chip (SOC). Alternatively, the processor 901 is a baseband chip integrated into a chip form, which is not specifically limited in the embodiments of this application.

[0408] Memory 902 may be, for example, read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; electrically erasable programmable read-only memory (EEPROM); compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital universal discs, Blu-ray discs, etc.); magnetic disk storage media or other magnetic storage devices; or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Optionally, memory 902 exists independently and is connected to processor 901 via internal connection 904. Alternatively, memory 902 and processor 901 may be integrated together.

[0409] Transceiver 903 is used to communicate with STAs or other APs besides AP 900. Transceiver 903 supports at least two frequency bands. Specifically, transceiver 903 supports a first frequency band and a second frequency band. Transceiver 903 receives messages sent by some STAs on the first frequency band and receives messages from other STAs on the second frequency band. In some embodiments, transceiver 903 includes one or more radio frequency integrated circuits (RFICs, sometimes also called radio frequency chips) and one or more antennas. Transceiver 903 includes at least one of a wired network interface or a wireless network interface. The wired network interface is, for example, an Ethernet interface. The Ethernet interface is, for example, an optical interface, an electrical interface, or a combination thereof. The wireless network interface is, for example, a WLAN interface, a cellular network interface, or a combination thereof.

[0410] The AP 900 is capable of receiving and sending data packets. For details on the collaborative process of the various components during AP 900's data packet transmission and reception, please refer to the corresponding description of the STA 800.

[0411] In some embodiments, processor 901 includes one or more CPUs, as shown in the appendix. Figure 17 CPU0 and CPU1 are shown in the diagram.

[0412] In some embodiments, the AP 900 may optionally include multiple processors, as shown in the appendix. Figure 17The processors 901 and 905 are shown. Each of these processors is, for example, a single-core processor (CPU) or a multi-core processor (CPU). A processor here may optionally refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0413] In some embodiments, the AP 900 further includes an internal connection 904. The processor 901, memory 902, and at least one transceiver 903 are connected via the internal connection 904. The internal connection 904 includes pathways for transmitting information between the aforementioned components. Optionally, the internal connection 904 is a single board or a bus. Optionally, the internal connection 904 may be divided into an address bus, a data bus, a control bus, etc.

[0414] In some embodiments, AP 900 also includes an input / output interface 906. The input / output interface 906 is connected to internal connection 904.

[0415] Optionally, the processor 901 implements the method in the above embodiments by reading program code stored in the memory 902, or the processor 901 implements the method in the above embodiments by program code stored internally in the processor 901. When the processor 901 implements the method in the above embodiments by reading program code stored in the memory 902, the memory 902 stores program code 910 that implements the method provided in the embodiments of this application.

[0416] For more details on how processor 901 implements the above functions, please refer to the descriptions in the previous method embodiments, which will not be repeated here.

[0417] The various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on describing the differences from other embodiments.

[0418] A references B, which means that A is the same as B or A is a simple variation of B.

[0419] The terms "first" and "second," etc., used in the specification and claims of this application are used to distinguish different objects, not to describe a specific order of objects, and should not be construed as indicating or implying relative importance. For example, "first frequency band" and "second frequency band" are used to distinguish different frequency bands, not to describe a specific order of frequency bands, and should not be construed as the first frequency band being more important than the second frequency band.

[0420] In this application, unless otherwise stated, "at least one" means one or more, and "multiple" means two or more. For example, multiple STAs refer to two or more STAs.

[0421] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0422] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A method for transmitting uplink data in a wireless local area network, characterized in that, The method includes: The first station (STA) acquires a data packet set, which includes data packets from N STAs. The data packets are data packets sent by the STAs to the access point (AP) that the first STA listens to. The first STA supports joint encoding with the STAs, and N is a positive integer greater than 1. The first STA performs erasure coding based on the data packet set to obtain the encoded packet; The first STA sends the encoded message to the AP.

2. The method according to claim 1, characterized in that, The data packet set includes data packets from N other STAs, where the other STAs are STAs other than the first STA.

3. The method according to claim 2, characterized in that, The data packet set is a collection of data packets randomly selected from Y data packets, where each of the Y data packets has passed verification, and Y is a positive integer greater than or equal to N.

4. The method according to claim 3, characterized in that, The Y data packets belong to the data packets sent by X STAs, where X is a positive integer greater than or equal to Y.

5. The method according to claim 1, characterized in that, The data packet set includes the data packets generated by the first STA.

6. The method according to any one of claims 1 to 5, characterized in that, The first STA sends the encoded message to the access point (AP), including: The first STA sends a first frame, which includes the encoded message and an encoding identifier. The encoding identifier indicates the correspondence between the encoded message and the N STAs.

7. The method according to claim 6, characterized in that, The encoded identifier includes N set bits, where each set bit identifies one of the N STAs; or, The encoded identifier serves as an index to a mapping table, which stores combinations of the N STAs.

8. The method according to claim 7, characterized in that, The first frame includes a frame body field, a field carrying the encoding identifier, and a check field. The frame body field includes the encoded message. The field carrying the encoding identifier is located between the frame body field and the check field. The content of the check field is used to check whether the encoded message has an error during transmission.

9. The method according to any one of claims 1-5, 7 and 8, characterized in that, The N is a random number generated by the first STA; or, the N is a preset value.

10. The method according to any one of claims 1-5, 7 and 8, characterized in that, The first STA acquires a data packet set, including: The first STA receives data packets from the N STAs on a first frequency band, where the first frequency band is the transmission frequency band of the N STAs, and the N STAs are all other STAs besides the first STA.

11. The method according to any one of claims 1-5, 7 and 8, characterized in that, The method further includes: The first STA transmits its data packets in a second frequency band, which is the receiving frequency band of the N STAs, wherein the N STAs are all other STAs besides the first STA.

12. The method according to claim 11, characterized in that, The first STA transmits its data packets in the second frequency band, including: The first STA uses the first resource unit (RU) and transmits its data packets using orthogonal frequency division multiple access (OFDMA).

13. The method according to claim 12, characterized in that, Before the first STA uses a first resource unit (RU) and transmits its data packets using orthogonal frequency division multiple access (OFDMA), the method further includes: The first STA receives a first control frame from the AP on the second frequency band. The first control frame instructs the first STA to use the first RU when transmitting data packets.

14. A method for transmitting uplink data in a wireless local area network, characterized in that, The method includes: Access point (AP) receives encoded packets from first site (STA). The encoded packets are obtained by erasure coding based on a data packet set. The data packet set includes data packets from N STAs. The data packets are data packets sent to the AP by the STAs that the first STA listens to. The first STA supports joint coding with the STAs. N is a positive integer greater than 1. In response to the loss of data packets sent by M out of the N STAs, the AP performs erasure decoding based on the encoded packets, where M is a positive integer less than or equal to N.

15. The method according to claim 14, characterized in that, The AP performs erasure decoding based on the encoded message, including: The AP determines the P data packets corresponding to the encoded packet from the content of the verification field through the verified data packets based on the encoding identifier. The encoding identifier indicates the correspondence between the encoded packet and the N STAs, and P is a positive integer. The AP performs erasure decoding based on the encoded message and the P data messages.

16. The method according to claim 14 or 15, characterized in that, Before the AP receives the encoded message from the first STA, the method further includes: The AP sends a first control frame to the first STA on the second frequency band. The first control frame instructs the first STA to use a first resource unit (RU) when sending data packets.

17. A station STA, characterized in that, The STA is a first STA, and the STA includes: An acquisition unit is used to acquire a data packet set, which includes data packets from N STAs. The data packets are data packets sent by the STA to the access point AP by the STA, which are monitored by the first STA. The first STA supports joint encoding with the STA. N is a positive integer greater than 1. An encoding unit is used to perform erasure encoding on the data packet set to obtain an encoded packet; The sending unit is used to send the encoded message to the AP.

18. An access point (AP), characterized in that, The AP includes: The receiving unit is used to receive encoded messages from a first station STA. The encoded messages are obtained by erasure coding based on a data packet set. The data packet set includes data packets from N STAs. The data packets are data packets sent by the STA to the AP that the first STA listens to. The first STA supports joint coding with the STA. N is a positive integer greater than 1. The decoding unit is used to perform erasure decoding on the encoded message in response to the loss of data packets sent by M of the N STAs, where M is a positive integer less than or equal to N.

19. A station STA, characterized in that, include: Processor and transceiver; The processor is configured to invoke a computer program to work with the transceiver to implement the method as described in any one of claims 1 to 13.

20. An access point (AP), characterized in that, include: Processor and transceiver; The processor is configured to invoke a computer program to coordinate with the transceiver to implement the method as described in any one of claims 14 to 16.

21. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction that, when executed on a computer, causes the computer to perform the method as described in any one of claims 1 to 16.

22. A computer program product, characterized in that, The computer program product includes one or more computer program instructions that, when loaded and run by a computer, cause the computer to perform the method of any one of claims 1 to 16.