CN115412200A - Method and device for transmitting uplink data in wireless local area network - Google Patents

Method and device for transmitting uplink data in wireless local area network Download PDF

Info

Publication number
CN115412200A
CN115412200A CN202110594909.4A CN202110594909A CN115412200A CN 115412200 A CN115412200 A CN 115412200A CN 202110594909 A CN202110594909 A CN 202110594909A CN 115412200 A CN115412200 A CN 115412200A
Authority
CN
China
Prior art keywords
sta
message
data
stas
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110594909.4A
Other languages
Chinese (zh)
Inventor
杨永超
陈鹏
杨博
吴伟民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110594909.4A priority Critical patent/CN115412200A/en
Publication of CN115412200A publication Critical patent/CN115412200A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application provides a method and a device for transmitting uplink data in a wireless local area network, and belongs to the technical field of communication. According to the embodiment of the application, erasure correction coding is performed by combining the data messages provided by the plurality of STAs, so that the data source of coding is expanded, the problem that coding and decoding need to wait for a long time due to insufficient service data of a single STA in an uplink transmission scene is solved, and the time delay of erasure correction coding and decoding is reduced.

Description

Method and device for transmitting uplink data in wireless local area network
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for transmitting uplink data in a wireless local area network.
Background
Erasure coding is a highly reliable method of achieving data transmission. The main principle of erasure coding is that a transmitting end generates K redundant messages according to N data messages (also called source messages) in a manner similar to linear superposition, thereby obtaining (N + K) coded messages. Wherein, N is a positive integer greater than 1, K is a positive integer, and each of the (N + K) encoded messages is a data message or a redundant message. The transmitting end sends the (N + K) coded messages to the receiving end. If the number of the coded messages received by the receiving end is more than or equal to N, the receiving end can carry out erasure decoding by using the coded messages like solving an equation set, thereby recovering the lost data messages. Wherein, the receiving end needs to satisfy two conditions for erasure correction decoding. The first condition is that the coding message used in erasure decoding at least comprises N coding messages passing the verification; the second condition is that the encoded messages used in erasure decoding include at least N encoded messages that are linearly independent of each other.
At present, the application scenario of erasure correcting codes in a Wireless Local Area Network (WLAN) is generally limited to a transmission scenario of downlink data with a large traffic. For the transmission scenario of uplink data, due to the small traffic volume, it usually needs to wait for a long time to form a coded message (N data messages), and due to the contention access delay of 802.11, the erasure correction decoding delay of the receiving end is very large, which is difficult to meet the actual requirement.
Disclosure of Invention
The embodiment of the application provides a method and a device for transmitting uplink data in a wireless local area network, which can reduce the time delay of erasure coding and decoding. The technical scheme is as follows.
In a first aspect, a method for transmitting uplink data in a wireless local area network is provided, where the method combines data packets provided by multiple Stations (STAs) to perform erasure coding. Taking the method executed by a first STA of the STAs as an example, in the process of uplink data transmission, the first STA acquires a data message set; the first STA carries out erasure correction coding according to the data message set to obtain a coded message; the first STA sends a coding message to an Access Point (AP). The data message set comprises data messages from N STAs, wherein N is a positive integer greater than 1. That is, the data packets generated by the N STAs all participate in the encoding process of the first STA.
The method at least can achieve the beneficial effects of reducing time delay and improving reliability by combining the data messages of the plurality of STAs for coding. The technical principles for achieving the beneficial effects of the two aspects are analyzed in detail below.
On one hand, the method gets rid of the limitation of insufficient data caused by the fact that a single STA lacks service data during coding to a certain extent, expands the data source of coding, ensures that data messages which can be utilized by the STA during coding are more sufficient, has small probability that a plurality of STAs do not have the service data at the same time, and can start coding as long as two STAs have the service data, thereby reducing the time consumed by waiting for the data during coding at a sending end and reducing the time for collecting the messages during decoding at a receiving end. Therefore, the problem that a long time is needed to wait for data during encoding due to the fact that the uplink traffic is too small and the data message generated by a single STA is insufficient is solved, and the time delay is remarkably reduced.
On the other hand, even if a direct path from a certain STA to the AP is blocked, which causes continuous and high-probability packet loss when the STA sends a data packet to the AP, the encoded packet obtained by encoding the data packet of the STA can be transmitted to the AP through other STAs, and the AP can recover the data packet of the STA blocked by the direct path by using the encoded packet sent by other STAs, so that the problem of erasure correction coding failure caused by blocking of the direct path is solved, and the reliability is remarkably improved.
Optionally, the first STA jointly encodes data messages of multiple other STAs. Specifically, the data message set used by the first STA includes data messages from N other STAs, which are STAs other than the first STA.
By the method, available data sources are richer during coding, the limitation that the local terminal cannot start coding due to lack of service data is eliminated to a certain extent, and the time delay of erasure coding is further reduced.
Optionally, the first STA adopts a random coding mode in erasure coding. By adopting a random coding mode, random coding components can be provided for erasure coding of the whole system so as to deal with random channel deterioration characteristics and effectively improve the robustness of the system. Specific implementations of random encoding include, without limitation, at least one of the following implementations a and b.
Implementation a. Selecting which STAs to participate in erasure coding is random.
For example, the data packet set is a set of data packets randomly selected from Y data packets, each data packet in the Y data packets passes verification, and Y is a positive integer greater than or equal to N.
Due to the randomness of channels and noise, packet loss of the STA in the wireless transmission process is random. By adopting the implementation mode a, which STA the data message utilized in erasure coding comes from is also random, so that the method is beneficial to dealing with random channels and noise and covers more scenes.
Implementation b. the number of STAs participating in erasure coding is random.
For example, N is a random number generated by the first STA.
By adopting the implementation mode b, the randomness of erasure coding is further improved, and the capability of coping with random channel deterioration characteristics is further improved.
Alternatively, the number of STAs participating in erasure coding (i.e., N) is a preset value.
Optionally, Y data packets belong to data packets sent by X STAs, and X is a positive integer greater than or equal to Y.
Optionally, the first STA encodes its own data messages in conjunction with data messages of other STAs. Specifically, the set of data messages used by the first STA includes at least one data message generated by the first STA.
By the method, more sufficient service data are provided for erasure correction coding, so that the time delay of the erasure correction coding is further reduced.
Optionally, the encoded packet and the encoded identifier are placed in the same frame and sent to the AP. Taking a frame carrying a coding identifier as an example of a first frame, a first STA sends the first frame, where the first frame includes a coding packet and a coding identifier, and the coding identifier indicates a correspondence between the coding packet and N STAs.
By the mode, because the coding identification is carried in the frame, the coding composition of each coding message can be identified efficiently, and accurate information required by decoding is provided for erasure decoding of a receiving side, so that the complexity of implementation of erasure decoding is reduced.
Specific implementations of the coded identification include, but are not limited to, the following first implementation and second implementation.
Implementation one, bitwise indication
Specifically, the coded flag includes N set bits, each set bit in the coded flag identifying one STA of the N STAs.
The storage space occupied by the receiving and transmitting sides is relatively small by the mode of indicating according to the bit, and the decoding side (AP) can obtain the combination mode of the data message by the value of each bit in the coding identification, so the speed is higher, and the time delay is reduced.
Second implementation, table lookup indication
Specifically, the encoding is identified as an index to a mapping table that holds combinations of N STAs.
By means of table look-up indication, a mapping table is established in sequence for all combination modes of all STA data, the same table is stored by the transceiving end, the combination mode of the data can be determined by the receiving side only by looking up the table, and complexity is low. Meanwhile, as one bit does not need to be reserved for each STA, the length of the coding identification field is reduced, excessive transmission overhead caused by coding identification is avoided, and the occupation of effective bandwidth is further reduced.
Optionally, the first frame includes a frame body field, a field carrying the encoding identifier, and a check field, where the content of the frame body field includes the encoded packet, the field carrying the encoding identifier is located between the frame body field and the check field, and the content of the check field is used to check whether an error occurs in the encoded packet during transmission.
Through the frame structure containing the coding identification field, the checking capability of the coded message is ensured, and the frame structure can be compatible with a common frame (namely, a frame without the coding identification field). The principle of achieving this effect is analyzed below.
Because the coding identification field is positioned between the frame body field and the check field, even if a receiving end (STA or AP) does not know the coding identification, the frame body field can be analyzed, and the coding message carried by the frame body field can be obtained. And, since the encoded packet belongs to a packet of the IP layer, the encoded packet may include a length field, and the length field is used to indicate the total length of the encoded packet. In the process of analyzing the frame, the data received by the IP protocol stack of the receiving end includes the encoded message and the encoded identifier, and the receiving end can determine the total length of the encoded message according to the length field, which is equivalent to knowing the end position of the encoded message, so that the receiving end can use the encoded identifier as redundant filling content and discard the encoded identifier, thereby avoiding the message analysis error caused by the inability of the receiving end to identify the encoded identifier, and thus not affecting the information received by the ordinary terminal (i.e. STA unable to identify the encoded identifier). And the STA or the AP supporting the identification of the coding identifier can simultaneously obtain the coding symbol and the coding identifier from the frame, thereby facilitating the subsequent erasure decoding.
Optionally, the first frame is a MAC Protocol Data Unit (MPDU), and the check field is a Frame Check Sequence (FCS) field; or, the first frame is an aggregation MAC protocol data unit (a-MPDU), and the check field is an FCS field; alternatively, the first frame is an aggregate MAC service data unit (a-MSDU), and the check field is a Cyclic Redundancy Check (CRC) field.
By the mode, erasure correction coding and decoding processes under various conditions such as non-aggregated frames (MPDUs) and aggregated frames (A-MPDUs and A-MSDUs) can be supported, and flexibility is improved.
Optionally, the data message set is from a group of STAs with opposite radio frequency configuration to the home terminal. For example, the receiving band of the first STA includes a first band and the transmitting band includes a second band, and N STAs other than the first STA exist in the network, and the receiving bands of the N STAs include the second band and the transmitting band includes the first band. The first STA receives data messages from the N STAs on a first frequency band, thereby obtaining a data message set. The first frequency band is a transmitting frequency band of N STAs, and the N STAs are all other STAs except the first STA.
By the mode, the first STA can receive the data message of the other group of STAs for encoding while sending the data message of the first STA, so that the efficiency of data collection during encoding is improved, and the encoding time delay is further saved.
Optionally, the first STA sends the data packet of the first STA in a second frequency band, where the second frequency band is a receiving frequency band of N STAs, where the N STAs are all other STAs except the first STA.
Through the mode, the first STA provides own data for other STAs, so that the other STAs are helped to encode, and the time delay of encoding of the other STAs is reduced. In addition, under the condition that the direct beam path between the first STA and the AP is blocked, the data of the first STA can be transmitted to the AP through other STAs, and therefore the reliability of the data transmission from the first STA to the AP is improved.
Optionally, the first STA uses a first Resource Unit (RU) to send the data packet of the first STA in an Orthogonal Frequency Division Multiple Access (OFDMA) manner.
By using the uplink OFDMA mechanism, the first STA can transmit data packets simultaneously with other STAs in the group, so that the AP can receive data packets transmitted by multiple STAs simultaneously and encode the data packets. Therefore, the waiting data time delay caused by the data coding and decoding of a single STA is further saved.
Optionally, the first RU used by the first STA is indicated by the AP through the control frame. Specifically, before the first STA uses the first RU to transmit the data packet of the first STA in the OFDMA manner, the first STA further receives a first control frame from the AP in the second frequency band, where the first control frame indicates that the first STA uses the first RU when transmitting the data packet.
Optionally, the first control frame is a multi-user request to send (MU RTS) frame, and the MU RTS frame includes an association identification ID (AID) of the first STA and an identification of the first RU.
Optionally, the N STAs are configured to transmit data packets in parallel in the first frequency band by using an OFDMA scheme.
Optionally, the method further includes: the AP configures the N STAs to adopt an OFDMA mode to transmit data messages in parallel in a first frequency band.
In a second aspect, a method for transmitting uplink data in a wireless local area network is provided. From the perspective of the AP, in the process of executing the method, the AP receives an encoded packet from the first station STA, where the encoded packet is obtained by performing erasure coding according to a data packet set, where the data packet set includes data packets from N STAs, and N is a positive integer greater than 1; and responding to the loss of data messages sent by M STAs in the N STAs, and performing erasure decoding by the AP according to the coded messages, wherein M is a positive integer less than or equal to N.
The method at least can achieve the beneficial effects of reducing time delay and improving reliability by combining the data messages of the plurality of STAs for coding. Reference is made to the description of the first aspect for the technical principles that achieve the advantageous effects of both aspects.
Optionally, the encoded packet is carried in a first frame including an encoding identifier, where the encoding identifier indicates a correspondence between the encoded packet and the N STAs.
By the mode, the coding identifier is carried in the frame, so that the coding composition of each coded message can be identified efficiently, and the AP can obtain accurate information required by decoding during erasure decoding, thereby reducing the complexity of erasure decoding.
Optionally, the first frame includes a frame body field, a field carrying the coding identifier, and a check field, where the content of the frame body field includes the coded packet, the field carrying the coding identifier is located between the frame body field and the check field, and the content of the check field is used to check whether an error occurs in the coded packet during transmission.
Optionally, the AP performs erasure decoding according to the encoded packet, including: the AP determines P data messages corresponding to the coding message from the data message passing the verification of the content of the verification field according to the coding identifier, wherein P is a positive integer; and the AP performs erasure decoding according to the coded message and the P data messages.
Optionally, the coding identifier includes N set bits, and each set bit in the coding identifier identifies one STA of the N STAs; or, the coded identifier is an index of a mapping table, and the mapping table stores a combination of N STAs.
Optionally, before the AP receives the encoded packet from the first STA, the AP further sends a first control frame to the first STA in the second frequency band, where the first control frame instructs the first STA to use the first resource unit RU when sending the data packet.
In a third aspect, a STA is provided, which has functionality to implement the first aspect or any one of the alternatives of the first aspect. The STA includes an obtaining unit, an encoding unit, and a transmitting unit, where each unit in the STA is configured to implement the method provided by the first aspect or any one of the optional manners of the first aspect.
Optionally, the data message set includes data messages from N other STAs, where the other STAs are STAs other than the first STA.
Optionally, the data message set is a set composed of data messages randomly selected from Y data messages, each data message in the Y data messages passes verification, and Y is a positive integer greater than or equal to N.
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.
Optionally, the data packet set includes a data packet generated by the first STA.
Optionally, the sending unit is configured to send a first frame, where the first frame includes the encoded packet and an encoding identifier, and the encoding identifier indicates a correspondence between the encoded packet and the N STAs.
Optionally, the coding identifier includes N set bits, and each set bit in the coding identifier identifies one STA of the N STAs; alternatively, the first and second electrodes may be,
the coding identifier is an index of a mapping table, and the mapping table stores the combination of the N STAs.
Optionally, the first frame includes a frame body field, a field carrying the encoding identifier, and a check field, where the frame body field includes the encoded packet, the field carrying the encoding identifier is located between the frame body field and the check field, and the content of the check field is used to check whether an error occurs in the encoded packet in a transmission process.
Optionally, the first frame is a media access control layer MAC protocol data unit MPDU, and the check field is a frame check sequence FCS field; alternatively, the first and second electrodes may be,
the first frame is an aggregation MAC layer protocol data unit (A-MPDU), and the check field is an FCS field; alternatively, the first and second electrodes may be,
the first frame is an aggregated MAC layer service data unit (A-MSDU), and the check field is a Cyclic Redundancy Check (CRC) field.
Optionally, the N is a random number generated by the first STA; alternatively, N is a preset value.
Optionally, the obtaining unit is configured to receive the data packet from the N STAs in a first frequency band, where the first frequency band is a transmission frequency band of the N STAs, and the N STAs are all other STAs except the first STA.
Optionally, the sending unit is further configured to send the data packet of the first STA in a second frequency band, where the second frequency band is a receiving frequency band of the N STAs, and the N STAs are all other STAs except the first STA.
Optionally, the sending unit is configured to send the data packet of the first STA by using a first resource unit RU in an orthogonal frequency division multiple access OFDMA manner.
Optionally, the obtaining unit is further configured to receive a first control frame from the AP in the second frequency band, where the first control frame indicates that the first STA uses the first RU when sending the data packet.
Optionally, the first control frame is a multi-user request to send a MU RTS frame, the MU RTS frame including an association identifier AID of the first STA and an identification of the first RU.
In some embodiments, the units in the STA are implemented by software, and the units in the STA are program modules. In other embodiments, the units in the STA are implemented in hardware or firmware. For specific details of the STA provided in the third aspect, reference may be made to the first aspect or any optional manner of the first aspect, and details are not described here.
In a fourth aspect, there is provided an AP having functionality to implement the second aspect or any of the alternatives of the second aspect. The AP comprises a receiving unit and a decoding unit, and each unit in the AP is configured to implement the method provided by the second aspect or any one of the optional manners of the second aspect.
Optionally, the encoded packet is carried in a first frame including an encoding identifier, where the encoding identifier indicates a correspondence between the encoded packet and the N STAs.
Optionally, the first frame includes a frame body field, a field carrying the encoding identifier, and a check field, where the frame body field includes the encoded packet, the field carrying the encoding identifier is located between the frame body field and the check field, and the content of the check field is used to check whether an error occurs in the encoded packet in a transmission process.
Optionally, the decoding unit is configured to determine, according to the coding identifier, P data packets corresponding to the coded packet from a data packet in which content of a check field passes through a check, where P is a positive integer; and carrying out erasure decoding according to the coded message and the P data messages.
Optionally, the coding identifier includes N set bits, and each set bit in the coding identifier identifies one STA of the N STAs; or, the encoding identifier is an index of a mapping table, and the mapping table stores the combination of the N STAs.
Optionally, the AP further includes: a sending unit, configured to send a first control frame to the first STA in a second frequency band, where the first control frame indicates that the first STA uses a first resource unit RU when sending a data packet.
In some embodiments, the elements in the AP are implemented in software, and the elements in the AP are program modules. In other embodiments, the elements in the AP are implemented in hardware or firmware. For specific details of the AP provided in the fourth aspect, reference may be made to the second aspect or any optional manner of the second aspect, which is not described herein again.
In a fifth aspect, a STA is provided that includes a processor and a transceiver; the processor is configured to invoke a computer program to implement, in cooperation with the transceiver, the method provided by the first aspect or any one of the optional manners of the first aspect. For specific details of the STA provided in the fifth aspect, reference may be made to the first aspect or any alternative manner of the first aspect, and details are not described here.
In a sixth aspect, an AP is provided that includes a processor and a transceiver; the processor is configured to invoke a computer program to implement the method provided by the second aspect or any one of the optional manners of the second aspect in cooperation with the transceiver, and the network interface is configured to receive or send a message. For specific details of the AP provided in the sixth aspect, reference may be made to the second aspect or any alternative manner of the second aspect, which is not described herein again.
In a seventh aspect, there is provided a computer-readable storage medium, having at least one instruction stored therein, which when executed on a computer, causes the computer to perform the method of the first aspect or any of the alternatives of the first aspect.
In an eighth aspect, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and when the instruction is executed on a computer, the instruction causes the computer to perform the method provided by the second aspect or any one of the alternatives of the second aspect.
In a ninth aspect, there is provided a 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 of the first aspect or any of the alternatives of the first aspect.
In a tenth aspect, there is provided a 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 of any one of the alternatives of the second aspect or the first aspect.
In an eleventh aspect, there is provided a chip comprising a memory and a processor, the memory being used for storing computer instructions, and the processor being used for calling up and executing the computer instructions from the memory to perform the method of the first aspect and any one of the alternatives of the first aspect.
In a twelfth aspect, there is provided a chip comprising a memory for storing computer instructions and a processor for calling up and executing the computer instructions from the memory to perform the method provided by the second aspect or any one of the alternatives of the second aspect.
In a thirteenth aspect, a communication system is provided, where the communication system includes the STA provided in the third aspect and the AP provided in the fourth aspect; alternatively, the communication system includes the STA of the fifth aspect and the AP of the sixth aspect.
Drawings
Fig. 1 is a schematic diagram of an erasure coding method provided in an embodiment of the present application;
fig. 2 is a schematic diagram of a frame format of an MU RTS frame according to an embodiment of the present disclosure;
fig. 3 is a schematic format diagram of a common information field in an MU RTS frame according to an embodiment of the present disclosure;
fig. 4 is a schematic format diagram of a user information field in an MU RTS frame according to an embodiment of the present disclosure;
FIG. 5 is a schematic view of a scene with a direct path blocked according to an embodiment of the present application;
fig. 6 is a schematic diagram of an application scenario provided in an embodiment of the present application;
fig. 7 is a flowchart of a method for transmitting uplink data in a wireless local area network according to an embodiment of the present application;
fig. 8 is a schematic diagram of a frame structure of an MPDU according to an embodiment of the present application;
fig. 9 is a schematic diagram of a frame structure of an a-MPDU according to an embodiment of the present application;
FIG. 10 is a frame structure diagram of an A-MSDU according to an embodiment of the present application;
FIG. 11 is a schematic diagram illustrating decoding according to an encoded identifier according to an embodiment of the present application;
fig. 12 is a schematic diagram of erasure coding performed by multiple STAs jointly according to an embodiment of the present application;
fig. 13 is a schematic diagram of a grouping and transceiving configuration provided by an embodiment of the present application;
fig. 14 is a schematic structural diagram of an STA according to an embodiment of the present application;
fig. 15 is a schematic structural diagram of an AP according to an embodiment of the present application;
fig. 16 is a schematic structural diagram of an STA according to an embodiment of the present application;
fig. 17 is a schematic structural diagram of an AP according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, the following detailed description of the embodiments of the present application will be made with reference to the accompanying drawings.
Some concepts of terms related to the embodiments of the present application are explained below.
(1) Erasure coding
Erasure coding is a highly reliable method of achieving data transmission. The main principle of erasure coding can be referred to above. One intuitive understanding is that erasure coding is equivalent to constructing a system of multivariate linear equations and erasure coding is equivalent to solving the system of multivariate linear equations. The principle of erasure coding is explained in detail below.
For example, the transmitting end (Tx) has 3 data messages to transmit. These three data packets are packet x1, packet x2, and packet x3, respectively. If the coding efficiency of erasure correction coding at the transmitting end is 3/5 (that is, the ratio of the number of the data message to the number of the coded message is 3/5), then when the transmitting end transmits these three data messages, the erasure correction coder at the transmitting end may generate two extra redundant messages. The 2 redundant messages are respectively a message x4 and a message x5. The method of generating redundant messages is generally a linear combination method. For example, the message x4 and the message x5 are generated by the following equations (1) and (2).
x4= x1+ x3; equation (1)
x5= x2+ x3; equation (2)
After the sending end generates the message x4 and the message x5, the message x4, the message x5, the message x1, the message x2 and the message x3 are sent out as five coded messages. Correspondingly, the receiving end (Rx) receives five encoded messages. For example, the five corresponding encoded messages received by the receiving end are messages y1, y2, y3, y4, and y5, respectively. If the message y2 and the message y3 do not pass the verification, the successfully received encoded messages are the message y1, the message y4, and the message y5. The relationship that the encoded packet received by the receiving end and the encoded packet sent by the sending end satisfy is shown in the following equations (3) to (5).
y1= x1; equation (3)
y4= x4; equation (4)
y5= x5; equation (5)
According to the above relationship, the message x1, the message x4, and the message x5 are known, and the receiving end can also calculate the linear combination relationship between the message x4 and the message x5 and the message x1, the message x2, and the message x3 according to the ID of the encoded message. Then, the receiving end to recover the message x2 and the message x3 becomes a solution of the system of linear equations in two dimensions as the above equation (1) and equation (2). In the system of equations of a first two-dimensional equation, message x4, message x1, and message x5 are known quantities, while message x2 and message x3 are unknown quantities. Equation (1) and equation (2) are linearly independent, so the system of linear equations of two-dimensional equations must have a solution, and the message x2 and the message x3 are solved, that is, the lost message x2 and the lost message x3 are recovered.
Fig. 1 shows a flow diagram of a MAC layer erasure coding method. Erasure coding is described in detail below with reference to fig. 1.
The application layer of the sending end generates k data messages, namely data message 1 and data message 2 … …. K data messages generated by the application layer are input to an erasure encoder of the MAC layer. And the erasure correcting encoder performs erasure correcting coding according to the input k data messages and outputs (n + k) coded messages. The (n + k) encoded messages include k data messages and n redundant messages. The MAC layer of the transmitting end adds a Medium Access Control (MAC) header and a Frame Check Sequence (FCS) to the encoded packet, thereby generating a frame including the MAC header, the encoded packet, and the FCS. A transmitter of a physical layer of a transmitting end transmits a frame. A receiver of a physical layer (PHY) of a receiving end receives a frame. And the MAC layer of the receiving end de-encapsulates the frames to obtain a plurality of coded messages. The plurality of encoded messages include one or more data messages (e.g., data message i, data message j in fig. 1) and one or more redundancy messages (e.g., redundancy message p, redundancy message q in fig. 1). If the number of the encoded messages is greater than or equal to k, the erasure correction decoder can obtain k recovered data messages (e.g. data message 1, data message 2 … … data message k in fig. 1) by decoding the encoded messages.
It can also be seen from the above erasure coding and decoding processes that the reliability of erasure coding mainly depends on that the receiver can correctly receive the encoded messages greater than or equal to k (the number of data messages used by the transmitting end for encoding), and at least k encoded messages in the received encoded messages have no linear relation. Therefore, erasure coding techniques often face the situation where it is difficult for the decoding end to collect a sufficient number of messages. In addition, how to judge whether the received encoded message is correct in fig. 1 mainly depends 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).
(2) Data message
The data message is the input data of erasure correction coding and the output result of erasure correction decoding. The content of the data message includes service data. For example, the content of the data packet includes service data to be transmitted by a wireless Station (STA) to a wireless Access Point (AP). Data packets are also sometimes referred to as source packets, primitive packets, source symbols, or service packets.
For example, referring to fig. 1, from the perspective of an encoding end, a data packet is, for example, a data packet 1, a data packet 2, or a data packet k generated by an application layer, and the data packet 1, the data packet 2, and the data packet k are input data of an erasure correction encoder. From the viewpoint of the decoding end, the data packets are, for example, recovered data packet 1 output by the erasure correction decoder, and recovered data packet k recovered by recovered data packet 2 … …, and the recovered k data packets are used by the application layer.
(3) Encoding messages
The encoded message is the output of erasure coding and the input data of erasure decoding. The encoded messages include the following redundant messages. The encoded messages are sometimes also referred to as encoded symbols. For example, referring to fig. 1, from the perspective of an encoding end, an encoded message is, for example, a message among k data messages, i.e., a data message 1 generated by an erasure encoder, and a data message 2 … …, i.e., a data message k, and also is, for example, a message among n redundancy messages, i.e., a redundancy message 1 generated by an erasure encoder, and a redundancy message 2 … …, i.e., a redundancy message n. From the perspective of the decoding end, the encoded message is, for example, one of data messages i and j, or one of redundancy messages p and q, which are input to the erasure correction decoder.
(4) Redundant messages
The redundant packet is a packet in which a plurality of data packets are combined. One redundant message has an association with a plurality of data packets. The specific association between the redundant message and the data message is related to the encoding algorithm. For example, when the redundant message is generated by using a linear combination method, the redundant message and the datagram have a linear relationship. For example, please refer to equation (1) or equation (2), the redundant packet x4 has a linear correlation with the data packet x1 and the data packet x2, and the redundant packet x4 is the sum of the data packet x1 and the data packet x 2. The redundancy messages are sometimes also referred to as redundancy symbols.
(5) Correctly received message
The correctly received message refers to a message verified by the receiving end. Specifically, errors may occur during the transmission of a message between a sending end and a receiving end. In view of this, after receiving a message, the receiving end may check the message. If the message passes the verification, the message is a correctly received message and can be used for erasure coding and decoding or other purposes; if the message is not verified, the message is not a correctly received message.
(6) Checking (i.e. error checking)
Taking a Cyclic Redundancy Check (CRC) manner as an example, the checking process includes: the sending end calculates the message by adopting a CRC algorithm so as to generate FCS; a transmitting end adds a check field after the message, wherein the content of the check field is FCS; the sending end sends out the frame containing the data message and the check field; after the receiving end receives the frame, the receiving end calculates the data message in the frame by adopting a CRC algorithm, thereby generating an FCS; and the receiving end compares the FCS generated by the receiving end with the FCS in the received frame, and if the two FCS are the same, the verification is passed. If the two FCSs are different, the check does not pass.
(7) Orthogonal Frequency Division Multiple Access (OFDMA)
OFDMA is a technology that supports parallel transmission of multiple STAs. In the OFDMA technology, the resource of a channel is divided into time-frequency resource blocks, and the data of each STA is loaded on each time-frequency resource block without occupying the whole channel, so that the channel resource is more fully utilized, the simultaneous parallel transmission of a plurality of STAs in each time period is realized, the efficiency is improved, and the time delay is reduced. In 802.11ax, a time-frequency resource block, or Resource Unit (RU), in OFDMA.
(8) Basic service set (basic service set, BSS)
BSS refers to the basic service set of WLAN. Typically, a BSS includes a single frequency point AP and STAs associated with the AP. For example, if a single frequency point AP, such as 2.4 gigahertz (GHz), occupies an 80M frequency band, the AP and the STA in the BSS may transmit data on the 80M frequency band with 2.4G as the center frequency point.
(9) Frequency band
A frequency band refers to a range of frequencies. A frequency point refers to a frequency point contained in a frequency band. Frequency bins include, without limitation, center frequencies, start frequencies, end frequencies, etc. of a frequency band.
(10) Multi-user request to send (MU RTS) frame
The MU RTS frame is a control frame in 802.11 ax. The MU-RTS frame belongs to a kind of trigger frame. The MU-RTS frame is used to advertise the RU allocated for the STA to the STA. The MU-RTS frame includes a binding relationship between the Association ID (AID) of the RU and the STA. The frame structure of the MU RTS frame is described below with reference to the drawings.
Fig. 2 is a frame format diagram of the MU RTS frame as a whole. The MU RTS frame shown in fig. 2 includes fields such as a frame control (frame control) field, a Receiver Address (RA), a Transmitter Address (TA), a common information (common info) field, and a user information (user info) field. Fig. 3 is a schematic format diagram of a common information (common info) field in the MU RTS frame. The common information field in fig. 2 has, for example, the format shown in fig. 3. The content of the trigger type field (trigger type) in fig. 3 is, for example, 3,3, which is the trigger type corresponding to the MU-RTS frame. Fig. 4 is a schematic format diagram of a user information (user info) field in an MU RTS frame. The user information fields in fig. 2 have, for example, the format shown in fig. 4. As shown in fig. 4, the user information field in the MU RTS frame includes an AID12 field, an RU allocation (RU allocation) field, an uplink FEC coding type (UL FEC coding type) field, an uplink High Efficiency (HE) Modulation and Coding Scheme (MCS) field, an uplink dual carrier modulation (UL) modulation field, UL dcm), a Spatial Stream (SS) allocation/random access-resource unit (RA-RU) information field, an UL target received power (UL target received power) field, a reserved field, and a trigger frame independent user information (trigger dependent user info) field.
The meaning of various values of the AID12 field in fig. 4 is shown in table 1 below.
TABLE 1
Figure BDA0003090760070000101
The meaning of various values of the RU allocation field in fig. 4 is shown in table 2 below.
TABLE 2
Figure BDA0003090760070000102
Figure BDA0003090760070000111
(11)AID
AID is data in numerical form used to identify STAs. The AID indicates a binding relationship between the ID of the STA and the MAC address of the STA.
With the continuous evolution of WLAN technology, the throughput of WLAN technology has been improved significantly, but due to the uncertainty of wireless channel, WLAN technology has been insufficient in both reliability and low latency. In order to improve the reliability of the WLAN technology, the 802.11 standard introduces related reliability guarantee technologies at the physical layer and the MAC layer, respectively.
Reliability assurance techniques introduced by the physical layer include channel coding techniques. Channel coding is mainly coding and decoding at the bit level within a message. The basic principle of channel coding is to add redundant bits on the basis of original information bits and construct the corresponding relationship between the redundant bits and the information bits. Therefore, when a certain number of bits are in error in the transmission process, the decoder can correct the error bits by using the relation between the redundant bits and the information bits, thereby realizing the reliability guarantee of the bit level. In the current standard, channel coding mainly refers to Low Density Parity Check (LDPC) coding and Binary Convolutional Coding (BCC) coding. The channel coding method can correct error bits within a certain range, and the decoding complexity can meet the delay requirement of the current WLAN system. However, channel coding, which is a bit-level error correction technique, has a limited error correction capability. When the number of erroneous bits exceeds a certain limit, error correction cannot be completed by means of channel coding. In many cases, the problem that the entire message is erroneous and error correction by channel coding is impossible due to the small number of error bits contained in the message occurs.
The reliability assurance techniques introduced by the MAC layer include error retransmission mechanisms. The error retransmission mechanism is sometimes also referred to as an automatic repeat-request (ARQ) mechanism. The basic principle of the error retransmission mechanism is that an FCS field is carried in an MAC frame, and a receiving end detects a received MAC frame by using the FCS field. And if the error detection is passed, the receiving end returns an ACK frame to the transmitting end. If the check fails, the receiving end does not return an Acknowledgement (ACK) frame. After the sending end passes the preset waiting time, if the ACK frame is not received, the lost MAC frame is immediately retransmitted, and the retransmission can be carried out for a plurality of times so as to ensure the reliable transmission of the MAC frame. However, there are three practical disadvantages to the error retransmission mechanism: 1) The time delay increase brought by repeated retransmission is not only the time delay increase brought by the retransmission of effective data, but also the time delay increase caused by an MAC layer protocol field; 2) The reduction in effective throughput due to retransmissions, including effective data and protocol overhead; 3) After the retransmission times reach the upper limit, the system still inevitably generates packet loss. In addition, due to the correlation between the front and back channels, the result of multiple retransmissions may be the same, and the problem cannot be completely solved.
To further improve WLAN reliability, a message-level erasure coding technique is proposed and is expected to be applied to the 802.11 MAC layer. However, when the erasure coding is applied in the uplink transmission scenario in the WLAN network, two problems need to be solved urgently.
On one hand, because the traffic volume of uplink transmission itself is small, it may need to wait for a long time to form a coding block (multiple service packets), and in addition to the contention access delay of 802.11, the erasure correction decoding delay of the receiving side is very large and unstable, which is difficult to meet the actual requirement.
On the other hand, due to the shielding problem of the wireless channel, a plurality of STAs in one BSS may have great channel difference, the channel quality of some STAs is better, and the erasure correction coding can better solve the reliability problem. However, some direct paths from the STA to the AP may be completely blocked, and continuous packet loss at a high probability may occur, and at this time, erasure correction coding is difficult to receive enough coded packets, so that reliability is difficult to ensure. For example, referring to FIG. 5, FIG. 5 shows a scene with the direct path occluded. In fig. 5, obstructions exist in both direct paths between STA1 and STA3 and the AP, which causes packet loss when STA1 and STA3 transmit uplink data to the AP, and it is difficult to ensure reliability even if STA1 and STA3 perform erasure decoding.
In view of this, the present embodiment provides a method for erasure coding and decoding in a WLAN uplink (uplink, UL), which combines data of multiple STAs to perform coding, so as to effectively solve the problem of too long erasure coding delay due to too small traffic volume, and solve the problem of user erasure coding failure due to direct path shielding, thereby reducing delay and improving reliability.
The following exemplifies an application scenario of the embodiment of the present application.
Fig. 6 is a schematic diagram of an application scenario provided in an embodiment of the present application. Fig. 6 is an illustration of a scenario in which one AP and multiple STAs are deployed in a network. For example, fig. 6 includes AP 10, STA 11, and STA 12. The operation, typical product form, deployment position, and the like of each apparatus in fig. 6 will be exemplified by (1) to (3).
(1)AP 10
The AP 10 functions as a bridge to which a wire network and a wireless network are connected. The AP 10 is an access point for the respective STAs shown in fig. 6 to enter a wired network. The AP 10 is used to connect the respective STAs (such as STA 11 and STA 12 in the drawing) in the wireless network together and then access the wireless network to the ethernet. Optionally, the AP 10 is also configured to communicate with other APs (not shown in fig. 6) in the network, so as to cooperate with other APs to meet the requirements of some traffic scenarios.
In the method embodiment shown in fig. 7 described below, the AP 10 plays the role of a decoding side (also called a decoding side). Specifically, the AP 10 is configured to receive data messages and encoded messages from the STAs 11 and 12. When the data packet of the STA 11 or the STA 12 is lost, the AP 10 performs erasure decoding to recover the lost data packet.
The AP 10 is a communication device having a wireless transmission/reception function. The AP 10 is sometimes also referred to as a hotspot. There are many possible product modalities for AP 10. For example, the AP 10 includes, but is not limited to, a communication server, a router, a switch, a bridge, a micro or small base station, or an access point in a WLAN communication system, etc.
The AP is a device supporting the WLAN system. For example, the AP is a terminal device or a network device with a wireless fidelity (WiFi) chip. The AP 10 is capable of communicating with other network elements based on the 802.11 protocol (or other communication protocol). The standard mainly used by the AP 10 is the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series, such as the 802.11ax or 802.11be standards.
There are a variety of situations for the deployment location of the AP 10. Alternatively, the AP 10 is deployed inside a home, a building, and a campus. Alternatively, the AP 10 is deployed outdoors. The coverage radius of the AP 10 is, for example, several tens to hundreds of meters.
(2)STA 11
In the following method embodiment shown in fig. 7, the STA 11 plays the role of the encoding side. Specifically, the STA 11 is configured to generate and transmit data messages and encoded messages to the AP 10.
STA 11 is sometimes also referred to as a terminal station, user terminal, user device, access device, subscriber station, subscriber unit, mobile station, user agent, user equipment, portable terminal, laptop terminal, or desktop terminal.
There are many possible product modalities for STA 11. For example, the STA 11 is a terminal with a wireless communication chip, a wireless sensor. The product form of STA 11 includes, but is not limited to, a smart phone, a tablet computer, a motion picture experts group audio Layer III (MP 3) player, a motion picture experts group audio Layer IV (MP 4) player, a set top box, a notebook computer, a smart television, a smart wearable device, a desktop computer, a communication server, a router, a switch, a bridge, a smart bracelet, a smart speaker, a smart car, a smart instrument, an Artificial Intelligence (AI) product, an internet of things (IoT) terminal, a smart printer, an industrial smart computer, a smart code scanning device, a smart monitoring terminal, and the like.
The STA 11 is a device supporting the WLAN system. For example, the STA 11 is a terminal device or a network device with a WiFi chip. STA 11 is capable of communicating with other network elements based on the 802.11 protocol (or other communication protocols). The standard mainly used by the STA 11 is the IEEE 802.11 series, such as the 802.11ax or 802.11be standard.
(3)STA 12
STA 12 supports joint coding with STA 11. Specifically, the STA 12 and the STA 11 listen to each other for data packets transmitted to the AP 10. The STA 11 receives the data message sent by the STA 12, the STA 11 uses the data message sent by the STA 12 to perform erasure coding, and sends the obtained coding message to the AP 10; the STA 12 receives the data packet sent by the STA 11, and the STA 12 performs erasure coding using the data packet sent by the STA 11 and sends the obtained coded packet to the AP 10. For more details of STA 12, reference may be made to the description of STA 11.
The scenario of deploying 2 STAs in the network is schematic. Optionally, more than 2 STAs are deployed in the network, so as to support data packet erasure coding combining more than 2 STAs. For example, referring to fig. 6, fig. 6 optionally also includes STA13, STA13 supporting joint coding with STA 12 and STA 11. Details of STA13 may be found in the description of STA 12.
By analogy, the number of STAs deployed in the network is optionally larger. For example, the number of STAs in the network is several tens or several hundreds, or more, and the number of STAs in the network is not limited in this embodiment.
The following illustrates a method flow of the embodiments of the present application.
Fig. 7 is a flowchart of a method for transmitting uplink data in a wireless local area network according to an embodiment of the present application. The method shown in fig. 7 includes the following steps S201 to S205.
The network deployment scenario upon which the method of fig. 7 is based is optionally as described above with respect to fig. 6. For example, referring to fig. 6, the first STA in the method shown in fig. 7 is STA 11 in fig. 6, and the n STAs in the method shown in fig. 7 include STA 12 and STA13 in fig. 6. For another example, when viewed in conjunction with fig. 6, the AP in the method shown in fig. 7 is AP 10 in fig. 6.
A typical application scenario of the method shown in fig. 7 is a multi-user uplink transmission scenario that needs to satisfy low latency and high reliability. For example, referring to fig. 5, the method shown in fig. 7 is applied to the scenario shown in fig. 5 where a plurality of STAs transmit data to an AP. The STA in fig. 5 can provide low-delay erasure coding and decoding in uplink transmission by executing the method shown in fig. 7, and meanwhile, avoid the problem that erasure coding fails due to shielding of a direct path of a user.
The method of fig. 7 may optionally be used for each of a plurality of STAs to interact with the AP. For the convenience of the reader, the method shown in fig. 7 is described by taking a procedure in which one STA (i.e., the first STA) interacts with the AP as an example, and the interaction flow between STAs other than the first STA and the AP may refer to the procedure performed by the first STA.
Step S201, the first STA acquires a data message set.
A data message set refers to a set comprising a plurality of data messages. The data message set includes data messages from the N STAs. N is a positive integer greater than 1. N denotes the number of STAs. In some embodiments, different ones of the set of data packets have linearly independent relationships. For example, referring to fig. 1, the data message set is k data messages input to the erasure correction encoder in fig. 1, and the k data messages are data message 1 and data message 2 … … data message k, respectively. For example, referring to fig. 6, a first STA, for example, STA 11 obtains data packets from STA 12 and data packets from STA13 for erasure coding.
In some embodiments, the datagrams in the datagram set have a one-to-one quantitative relationship with the STAs participating in the encoding. Specifically, the number of data packets in the data packet set is N, where the N data packets include one data packet from each STA of the N STAs, and different data packets in the data packet set are from different STAs of the N STAs. That is, each STA of the N STAs provides a data packet to participate in joint coding of multiple users. For example, referring to fig. 12, the first STA is STA1 in group a in fig. 12, and the data message set acquired by STA1 in group a is the message set 305 in fig. 12. The data message set includes message B1, message B7, and message B18. Message B1 is a data message from STA1 in group B, message B7 is a data message from STA7 in group B, and message B18 is a data message from STA18 in group B. STA1 in group a performs erasure coding by acquiring message set 305 to combine the messages provided by three STAs, STA1 in group B, STA7 in group B, and STA18 in group B.
The source of the data packets in the data packet set includes a variety of conditions. Optionally, a source end of each data packet in the data packet set is an STA among the N STAs. That is, the data packet set includes data packets generated by each STA of the N STAs. Alternatively, the source end of some or all of the data packets in the data packet set is a third-party device associated with the N STAs. That is, the data packet set includes data packets generated by third-party devices associated with the N STAs. For example, the third-party device generates and sends a data packet to the associated STA, and the STA forwards the data packet of the third-party device.
Step S202, the first STA carries out erasure correction coding according to the data message set to obtain a coded message.
Optionally, the number of the encoded messages is multiple. Alternatively, the number of encoded messages is only one. For example, referring to fig. 1, the encoded message is an output result of the erasure correction encoder in fig. 1, and the encoded message includes n redundant messages output by the erasure correction encoder in fig. 1, where the n redundant messages are redundant message 1, redundant message 2, and redundant message n, respectively. Optionally, the encoded message further includes k data messages output by the erasure correction encoder in fig. 1. The k data packets output by the erasure correction encoder and the k data packets input to the erasure correction encoder are the same, and are data packet 1 and data packet 2 … …, respectively.
The redundant message and a plurality of data messages in the data message set have an association relationship. For example, referring to equations (1) and (2) above, the data message set includes data message x1, data message x2, and data message x3. The redundant messages include redundant message x4 and redundant message x5. The redundant packet x4 has an association relationship shown in equation (1) with the data packet x1 and the data packet x3, and the redundant packet x5 has an association relationship shown in equation (2) with the data packet x2 and the data packet x3.
How erasure coding is performed includes a wide variety of implementations. Optionally, the erasure coding is implemented in a linear combination manner, that is, the first STA performs linear combination on different data packets in the data packet set to obtain a coded packet. In a possible implementation, the linear combination is specifically an exclusive-or addition manner, that is, the first STA performs exclusive-or addition on a plurality of data packets in the data packet set to obtain the encoded packet. The method adopts an exclusive-or addition mode to carry out erasure correction coding, which is beneficial to reducing the complexity of the erasure correction coding realized by software and hardware. Alternatively, erasure coding is implemented by other means than xor addition, for example, a preset coding matrix is stored in the first STA, and each element in the coding matrix is a coefficient used for multiplying the data packet. Alternatively, erasure coding is implemented in a non-linear combination. The embodiment does not limit the specific implementation manner of erasure correction coding.
Step S203, the first STA sends the encoded packet to the AP.
Step S204, the AP receives the encoded packet from the first STA.
Step S205, in response to the loss of the data messages sent by M STAs in the N STAs, the AP performs erasure decoding according to the coded messages, wherein M is a positive integer less than or equal to N.
Since the encoded packet is encoded according to the data packets provided by the N STAs participating in the encoding, the encoded packet may be related to the data packet of each STA of the N STAs. Therefore, when the AP finds that a packet loss occurs in an STA among the N STAs, the AP can recover the lost packet by decoding using the encoded packet. The specific principle of decoding by the AP can be referred to the description of fig. 1.
The embodiment provides a method for performing erasure coding and decoding in a WLAN uplink transmission scene, and erasure coding is performed by combining data messages provided by a plurality of STAs, so that on one hand, the limitation that a single STA has no service data to cause insufficient data during coding is eliminated to a certain extent, the data source of coding is expanded, the data messages which can be utilized by the STAs during coding are more sufficient, the probability that the STAs have no service data at the same time is very small, coding can be started as long as two STAs have the service data, and the time for waiting for the data during coding is reduced. Therefore, the problem that a long time is needed to wait for data during coding due to the fact that the uplink traffic is too small and the data message generated by a single STA is insufficient is solved, and time delay is remarkably reduced. On the other hand, even if the direct transmission path from a certain STA to the AP is blocked, so that continuous high-probability packet loss occurs when the STA sends the data message to the AP, the coded message obtained by coding the data message of the STA can be transmitted to the AP through other STAs, and the AP can recover the data message of the STA blocked by the direct transmission path by using the coded message sent by other STAs, so that the problem that erasure coding is invalid due to the blocking of the direct transmission path is solved, and the reliability is obviously improved.
The multi-STA joint coding in the method shown in fig. 7 includes various specific implementations, which are exemplified by the first implementation and the second implementation.
Implementation one, jointly encode data messages of multiple other STAs.
For example, a first STA receives data messages sent by N other STAs, thereby obtaining a data message set. The data message set includes data messages from N other STAs. The content of the data packet in the data packet set includes uplink service data to be transmitted to the AP by other STAs. The other STAs are STAs other than the first STA. The first STA performs erasure coding using the set of data messages, thereby performing erasure coding in conjunction with the data messages of the N other STAs.
For example, referring to fig. 6, the first STA is STA 11, and the data message set used in erasure correction coding by the first STA includes a data message from STA 12 and a data message from STA 13. In this manner, STA 11 jointly encodes data messages of STAs other than STA 11, STA 12 and STA 13.
And in the second implementation mode, the data message of the self and the data messages of other STAs are jointly coded.
For example, a first STA may generate a data packet and receive data packets transmitted by one or more other STAs to obtain a set of data packets. The data message set includes data messages generated by the first STA and also includes data messages generated by one or more other STAs. Wherein the 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 uplink service data to be transmitted to the AP by the first STA, and the content of the remaining data packets (the data packets generated by the other STAs) includes uplink service data to be transmitted to the AP by the other STAs. The first STA uses the data message set to carry out erasure correction coding, thereby carrying out erasure correction coding by combining the data message of the first STA and the data messages of other STAs.
For example, referring to fig. 6, the first STA is STA 11, and the data message set used in erasure correction coding by the first STA includes the data message generated by STA 11 and the data message transmitted by STA 12. In this manner, STA 11 jointly encodes the data messages of both STAs STA 11 and STA 12.
In the second implementation manner, the timing of the two actions of the first STA generating the data packet and receiving the data packet from the other STA includes various possible situations. For example, the first STA generates a data packet first and buffers the generated data packet. The first STA keeps the data messages in the buffer from being cleared after sending the data messages. When the first STA receives data messages from other STAs, the first STA performs erasure coding on the received data messages and the pre-cached data messages. For another example, the first STA receives data packets from other STAs first, and buffers the data packets of the other STAs. When the first STA needs to transmit own service data to the AP, the first STA generates a data message, and erasure coding is performed by using the generated data message and a pre-cached data message.
In some embodiments, the set of data messages used in erasure coding in the method of fig. 7 is selected from correctly received data messages. For example, the first STA correctly receives Y data packets, and selects data packets of N STAs from the Y data packets, where the selected data packets form a data packet set. Wherein Y represents the number of correctly received data messages, and Y is a positive integer greater than or equal to N. More specifically, the process of the first STA obtaining the data message set includes: the first STA receives Q data messages. And the first STA checks each data message in the Q data messages, and determines that Y data messages in the Q data messages pass the check, wherein (Q-Y) data messages do not pass the check. And the first STA selects data messages of N STAs from the Y data messages passing the verification, and the selected data messages form a data message set. Wherein Q represents the total number of the received data messages, and Q is a positive integer greater than or equal to Y.
In some embodiments, the erasure coding in the method shown in fig. 7 is a random coding. Specific implementations of random encoding include, without limitation, at least one of the following implementations a and b.
Implementation a. Selecting which STAs to participate in erasure coding is random.
For example, the first STA correctly receives Y data messages, and the first STA randomly selects data messages of N STAs from the Y data messages, and the randomly selected data messages form a data message set. Through the implementation mode a, due to the randomness of the channel and the noise, packet loss of the STA messages is random in the wireless transmission process, and the STA from which the data messages utilized in erasure coding come is also random, so that the random channel and the noise can be dealt with, and more scenes can be covered.
Implementation b. the number of STAs participating in erasure coding is random.
For example, N (the number of participating STAs when the first STA performs erasure coding) is one random number generated by the first STA.
Optionally, in a case that a plurality of STAs in the network perform erasure coding by using implementation b, the random numbers generated by each STA may be different, so that the number of STAs participating in the erasure coding when each STA performs erasure coding may be different. For example, STA1 in group a and STA2 in group a both perform erasure coding using implementation b, where STA1 generates 4 random numbers and STA2 generates 2 random numbers. Then, STA1 randomly selects messages sent by 4 other STAs except STA1 for encoding, and STA2 randomly selects messages sent by 2 other STAs except STA2 for encoding. For example, STA1 in group a selects the messages sent by STA1 in group B, STA3 in group B, STA 4 in group B, and STA 6 in group B to encode. And the STA2 in the group A selects the messages sent by the STA1 in the group B and the STA2 in the group B to encode.
The above listed implementations a and b of random coding can be combined in any way. In one possible implementation, one of the implementation a and the implementation b is employed. In another possible implementation, implementation a is employed and implementation b is employed.
For example, in the case of implementing the implementation a and not implementing the implementation b, the number of STAs participating in erasure coding (i.e., N) is set in advance, and N is configured on the first STA. After the first STA correctly receives the Y data messages, the data messages of the N STAs are randomly selected from the Y data messages according to the preset number of the STAs participating in erasure coding. Alternatively, in the case where a plurality of STAs in the network perform erasure coding, the value of N used by each of the plurality of STAs is the same. For example, when N is set to be 3, STA1 and STA2 perform erasure correction coding in advance, STA1 randomly selects and codes the messages transmitted by 3 other STAs other than STA1, and STA2 randomly selects and codes the messages transmitted by 3 other STAs other than STA 2.
By the random coding method, random coding components can be provided for erasure coding of the whole system so as to deal with random channel deterioration characteristics, and the robustness of the system is effectively improved.
In some embodiments, an encoding identification (encode indication) is provided to indicate which STAs' data messages the encoded message was encoded from. The STA sends the coding message and the coding identifier to the AP together, and the AP can determine the combination mode of the data message when the STA codes according to the coding identifier, so that the AP can decode conveniently.
Specifically, in the process of transmitting the encoded packet between the first STA and the AP, the first STA encapsulates the encoded packet and the encoded identifier to obtain a first frame. The first STA sends a first frame, wherein the first frame comprises a coded message and a coded identifier. The AP receives the first frame. And the AP analyzes the first frame to obtain the coding message and the coding identifier carried by the first frame. And the AP determines the combination mode of the data message corresponding to the coded message according to the coding identifier and decodes the data message based on the determined combination mode. When the first STA uses the data packets provided by the N STAs to perform encoding, the encoding identifier in the first frame indicates a correspondence between the encoded packet and the N STAs, that is, the encoded packet is obtained by encoding the data packets sent by the N STAs. And the AP uses the data message and the coding message sent by the N STAs to decode under the indication of the coding identifier.
In the embodiment, because the frame carries the coding identifier, the coding composition of each coded message can be efficiently identified, and accurate information required for decoding is provided for erasure decoding of a receiving side.
Specific implementations of the coded identification include, but are not limited to, the following first implementation and second implementation. Alternatively, the following implementation first may be used in a scenario with a small number of STAs, and the following implementation second may be used in a scenario with a large number of STAs.
Implementation one, bit-wise indication
The bitwise indication is sometimes also referred to as a bitmap (bitmap) approach. The basic idea of bitwise indication is to use one bit to identify one STA that participates in the encoding. For example, a total of H STAs are included in the network. The first STA uses data messages provided by N STAs in the H STAs for encoding. In this case, the coded identification transmitted by the first STA occupies H bits in the first frame. The H bits include N bits that are set and (N-H) bits that are not set. Each of the N set bits identifies one of the N STAs.
Optionally, the setting means that the value of the bit is 1. That is, a bit with a value of 1 is used to identify an STA participating in encoding. For example, if the network contains 8 STAs in total, the coded flag will occupy 8 bits in the frame, and these 8 bits are used to identify STA1 and STA2 … … STA8 respectively. When STA1 sends its own data packet, the content of the coded identifier in the frame where the data packet is located is 10000000. 10000000 indicates that STA1 participates in encoding, and STA2 … … STA8 does not participate in encoding, which also indicates that the packet in the frame is the original data packet generated by STA1, and does not contain data of other STAs except STA 1. When the STA1 sends the encoded message, the STA1 encodes the data messages of the three STAs STA5, STA 6, and STA7 to obtain the encoded message, and the content of the encoding identifier in the frame where the encoded message is located is 00001110. 00001110 indicates that the STAs participating in encoding are three STAs STA5, STA 6, and STA7, and none of STA1, STA2, STA3, STA 4, and STA8 participate in encoding. In this way, the encoding identifier can indicate which STA data in the encoded message is combined by the corresponding position being "1", and the complexity is low.
Alternatively, the setting refers to that the value of the bit is 0. That is, a bit with a value of 0 is used to identify an STA participating in encoding. The present embodiment does not limit whether the STA participating in encoding is identified by 1 or 0.
In the embodiment, the storage space occupied by the transmitting side and the receiving side is relatively small by a bit-wise indication mode, and the decoding side (AP) can obtain a combination mode of the data message by the value of each bit in the coding identifier, so that the speed is higher and the time delay is reduced.
Second implementation, look-up table indication
Specifically, a mapping table is pre-established, and the mapping table is used for storing the combination mode of the data messages of all the STAs associated with the same AP. The sending end (STA) of the coded message and the receiving end (AP) of the coded message both store mapping tables, and the mapping tables stored by the sending end (STA) and the receiving end (AP) are the same. After a sending end (STA) selects some data messages participating in coding from correctly received data messages, determining indexes corresponding to the combination modes of the data messages in a mapping table, and taking the indexes as the contents of coding identification fields; and the receiving end (AP) inquires the mapping table according to the index in the coding identification field, thereby determining the combination mode of the data message corresponding to the coding message.
For example, in the method shown in fig. 7, the first STA encodes data packets from N STAs, 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 in the first frame. And when the AP receives the first frame, inquiring the mapping table according to the index in the coding identification field, thereby determining that the coded message is obtained by coding the data messages from the N STAs.
Taking the total number of H STAs in the network as an example, the data participation of 1 STA (i.e., N = 1) is encoded with
Figure BDA0003090760070000181
The seed can be 1, 2, 3 … respectively
Figure BDA0003090760070000182
And (5) identifying. Therefore, a mapping table as shown in table 3 below is established. Table 3 shows the mapping table in the ith row, which indicates the coding id that i STA data participate in coding.
TABLE 3
Figure BDA0003090760070000191
In this embodiment, a mapping table is sequentially established for all combination modes of all STA data by means of table lookup indication, the transmitting and receiving ends store the same table, and the receiving side can determine the combination mode of the data only by looking up the table, which is low in complexity. Meanwhile, as one bit does not need to be reserved for each STA, the length of the coding identification field is reduced, excessive transmission overhead caused by coding identification is avoided, and the occupation of effective bandwidth is further reduced.
In some embodiments, a format design of the coded identifier in the frame is also provided, so that compatibility with a common terminal is effectively guaranteed. The frame structure will be described in detail below. The frame structure described below supports the transmission of the encoded messages and the encoded identifiers in the above embodiments.
The frame structure provided by this embodiment includes a frame body field, an encoding identification field, and a check field. The specific functions of the respective fields and the positional relationship between the respective fields are explained below.
(1) Frame body field
The frame body field is used for carrying one or more encoded messages; alternatively, the frame body field is used to carry one or more data packets. The frame body field is sometimes also referred to as a payload (payload) field or an IP packet (IP packet) field.
For example, in the above embodiments, the first frame transmitted by the first STA includes the 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. In the process of analyzing the first frame, the AP obtains one or more encoded messages from the frame body field.
Optionally, in case the first frame is an MPDU, one first frame comprises one coded packet. Specifically, if the first STA obtains a plurality of encoded packets through encoding, the first STA optionally generates and transmits a plurality of MPDUs. Each of the plurality of MPDUs optionally includes one of a plurality of encoded messages.
Optionally, where the first frame is an a-MPDU, the first frame comprises a plurality of encoded messages. Specifically, if the first STA obtains multiple encoded packets by encoding, the first STA may optionally generate and transmit one or more a-MPDUs. Each MPDU in an a-MPDU optionally includes one of a plurality of encoded messages.
Optionally, where the first frame is an a-MSDU, the first frame includes a plurality of encoded messages. Specifically, if the first STA obtains a plurality of encoded messages by encoding, the first STA optionally generates and transmits one or more a-MSDUs. Each of the a-MSDUs optionally includes one of a plurality of encoded messages.
For example, there are three data messages involved in encoding, message 1, message 2, and message 3. The first STA encodes these three data packets to generate 2 additional redundant packets, which are packet 4 and packet 5. When the first STA transmits 5 messages, i.e., message 1, message 2 to message 5, if the MPDU is used to transmit the messages, the first STA may optionally transmit 5 MPDUs, where each MPDU includes one of the 5 messages. If an A-MPDU is used for transmitting the messages, the first STA optionally sends 1A-MPDU, wherein the A-MPDU comprises 5 MPDUs, and each MPDU comprises one message of the 5 messages. Alternatively, the first STA may optionally transmit 2 or more than 2 a-MPDUs, each a-MPDU comprising a partial message of the 5 messages.
(2) Coded identification field
The coded identification field is used for carrying coded identification. The sending end adds the coding identification field in the frame, thereby informing the receiving end which data messages of the STA are used during coding.
For example, in each of the above embodiments, the encoded packet sent by the first STA is obtained by encoding data packets of N STAs, and then, under the condition that the encoded identifier is implemented in a manner of bit indication, the content of the encoded identifier field in the first frame is N set bits; and under the condition of realizing the coding identification by adopting a table look-up indication mode, the content of the coding identification field in the first frame is the index of the combination of the N STAs in the mapping table. Therefore, the coding identification field carried in the frame is used for informing the AP of which data message of the N STAs is used by the first STA during coding.
The length of the coded identification field includes a variety of cases. For example, if the coded identification is implemented in a bitwise indication manner, the length of the coded identification field is the total number of all STAs in all groups; if the encoding identification is realized by adopting a table look-up indication mode, the length of the encoding identification field is a value capable of identifying the maximum index number in the mapping table.
(3) Check field
The check field is used for providing a function of checking the message. The sending end adds the check field in the frame, so that the receiving end can check whether the coding message or the data message has errors in the transmission process by using the check field. Optionally, the check field is located at the end of the frame.
For example, in the above embodiments, the first frame transmitted by the first STA includes the check field. The content of the check field is used for checking whether the encoded message in the first frame has errors in the transmission process. And after receiving the first frame, the AP checks the coded message according to the content of the check field in the first frame. If the verification is passed, the AP determines that no error occurs in the coded message in the transmission process, namely that the coded message is a correctly received message. Then, if packet loss is encountered subsequently, the AP decodes using the encoded packet in the first frame. If the check is not passed, the AP determines that the encoded message has errors in the transmission process, and optionally discards the first frame.
(4) Positional relationship of respective fields in frame
The encoding identification field is located between the frame body field and the check field. For example, in the order from the head to the tail, the first frame is the head, the body field containing the encoded packet, the encoding identification field, and the check field. That is, the encoding identification field is set at the end of the frame body.
In this embodiment, through the frame structure including the coding identification field, not only the checking capability of the coded packet is ensured, but also a common frame (i.e., a frame without the coding identification field) can be compatible. The principle of achieving this effect is analyzed below.
Because the coding identification field is positioned between the frame body field and the check field, even if a receiving end (STA or AP) does not know the coding identification, the frame body field can be analyzed, and the coding message carried by the frame body field can be obtained. And, since the encoded packet belongs to a packet of the IP layer, the encoded packet may include a length field, and the length field is used to indicate the total length of the encoded packet. In the process of analyzing the frame, the data received by the IP protocol stack of the receiving end includes the encoded message and the encoded identifier, and the receiving end can determine the total length of the encoded message according to the length field, which is equivalent to knowing the end position of the encoded message, so that the receiving end can use the encoded identifier as redundant filling content and discard the encoded identifier, thereby avoiding the message analysis error caused by the inability of the receiving end to identify the encoded identifier, and thus not affecting the information received by the ordinary terminal (i.e. STA unable to identify the encoded identifier). And the STA or the AP supporting the identification of the coding identifier can simultaneously obtain the coding symbol and the coding identifier from the frame, thereby facilitating the subsequent erasure decoding.
The frame structure provided by the present embodiment is generally described above. Next, specific designs of frame structures in different cases such as non-aggregation frames and aggregation frames will be described.
Case (1) non-aggregated frame
The non-aggregation frame is, for example, a MAC Protocol Data Unit (MPDU). In the case of non-aggregated frames, a coded identification field is inserted between the frame body of the frame and the FCS to carry the codec parameters, and the checking function is incidentally guaranteed by the FCS of the MAC frame.
For example, referring to fig. 8, fig. 8 illustrates a frame structure of an MPDU. The first frame may optionally be an MPDU as shown in fig. 8. The first frame includes a MAC header (MAC header), a packet (packet) field, a coding identification field, and an FCS field. The encoded message or data message is located in the message field shown in fig. 8. The check field is an FCS field shown in fig. 8.
With the frame structure shown in fig. 8, since the coding identification field is added at the end of the frame body of the normal MAC frame to indicate the coding information of the current message, and the FCS function of the MPDU can be fully utilized, the uplink multi-user erasure correction coding and decoding process provided in this embodiment can be very conveniently performed.
Case (2) aggregate frame
The aggregate frame includes, without limitation, an aggregate MAC layer protocol data unit (A-MPDU) and an aggregate MAC layer service data unit (A-MSDU). See cases (2-1) to (2-2) below for specific designs of A-MPDUs and A-MSDUs.
Case (2-1) A-MPDU
For a-MPDUs, an encoding identification field is inserted between the frame body and the FCS of a normal MPDU, and a check function is incidentally guaranteed by the FCS of the MPDU.
For example, referring to fig. 9, fig. 9 illustrates a frame structure of an a-MPDU. The first frame may optionally be an a-MPDU as shown in fig. 9. The first frame includes a plurality of MPDUs. Two adjacent MPDUs in the first frame are separated by an MPDU delimiter (mpdudelimiter). Each MPDU includes a MAC header, a message field, a coding identification field, and an FCS field. Each MPDU message segment includes a coded message or a data message. The FCS field in each MPDU is a check field. Each FCS field is used for checking whether an error occurs in the coded message in the MPDU where the FCS field is located in the transmission process.
With the frame structure shown in fig. 9, on one hand, since each MPDU to be aggregated includes the coding identification field, a data packet combination relationship corresponding to the coding packet in each MPDU is indicated, which helps the receiving end to decode using the coding packet in each MPDU; on the other hand, because the coding identification field in each aggregated MPDU is positioned between the frame body field and the check field, even if the receiving end does not support the identification coding identification, the message field can be analyzed to obtain the coding message, and the coding identification can be discarded as the filling content according to the length field of the coding message, so that the receiving end which does not support the identification coding identification is not influenced to receive the coding message, and the compatibility is improved. And the receiving end supporting the identification of the coding identification can simultaneously obtain the coding message and the coding identification from each MPDU, thereby facilitating the subsequent erasure correction decoding.
Case (2-2) A-MSDU
For A-MSDU, adding coding identification and CRC field at tail of normal MSDU, wherein CRC field is used for checking MSDU and coding identification. For example, referring to fig. 10, fig. 10 shows a frame structure of an a-MSDU. The first frame described above may optionally be an a-MSDU as shown in fig. 10. The first frame includes a MAC header, a plurality of MSDUs, and a CRC field. Each MSDU in the first frame is sometimes also referred to as an a-MSDU Subframe (SUB). Each MSDU includes a message field, an encoded identification field, and a CRC field. Each MSDU Chinese character segment comprises an encoding message or a data message. The CRC field in each MSDU is a check field. Each CRC field is used for checking whether an error occurs in the transmission process of the message coded in the MSDU where the CRC field is located.
With the frame structure shown in fig. 10, on one hand, since the end of each MSDU being aggregated contains the encoding identification field, the data packet combination relationship corresponding to the encoded packet in each MSDU is indicated, so as to help the receiving end to decode using the encoded packet in each MSDU; on the other hand, since the MSDU has no FCS field, the coded id is followed by a CRC field to ensure error detection capability. Based on the two improvements, even if the receiving end does not support the identification of the coding identifier and the CRC, the message field can be analyzed to obtain the coding message, and the coding identifier and the CRC can be discarded as filling contents. When the receiving end supports the identification of the coding identification, the receiving end can simultaneously obtain the coding message and the coding identification from each MSDU, and the receiving end has the capability of error detection and is convenient for subsequent erasure correction and decoding.
In the embodiment, for different situations of the non-aggregate frame and the aggregate frame, different designs are made on the positions of the identification information required for decoding according to the difference of frame structures under different situations, so that more scenes are supported.
The above embodiments focus on the description of the encoding process, and the following description specifically explains the decoding process.
The method for decoding by the AP mainly carries out corresponding superposition processing according to a plurality of received coding messages and coding identifiers. For example, after receiving a first frame sent by a first STA, the AP acquires a coding identifier and a coding packet from the first frame. And the AP determines that the coded message is obtained by coding the data message from the N STAs according to the coding identifier, and establishes a corresponding relation between the coded message and each STA in the N STAs. If the data messages sent by M STAs in the N STAs are lost, the AP determines P data messages corresponding to the coded messages from the data messages which pass the verification of the content of the verification field according to the corresponding relation established by using the coding identifier, wherein P is a positive integer; and the AP performs erasure decoding according to the coded message and the P data messages.
Exemplarily, the process of decoding by the AP includes the following steps S211 to S215.
Step S211, the AP side receives the coding message and the coding identification. The coding identification indicates which STA messages form the message and forms a corresponding relation.
For example, referring to fig. 11, ap receives encoded message 1, encoded message 2 … … encoded message 7. The coding identification in the frame of the coding message 1 indicates that the coding message 1 consists of messages of STA 1; the coding identification in the frame of the coding message 2 indicates that the coding message 2 consists of STA2 messages; the coding identifier in the frame of the coding message 3 indicates that the coding message 3 is composed of the messages of the STA 3; the coded mark in the frame of the coded message 4 indicates that the coded message 4 consists of the messages of the STA 4; the coding identification in the frame of the coding message 5 indicates that the coding message 5 consists of the messages of the STA 5; the coding identification in the frame of the coding message 6 indicates that the coding message 6 is composed of messages from three STAs (STA 1, STA3 and STA 4); the coding identification in the frame of the coding message 7 indicates that the coding message 7 is composed of messages from three STAs (STA 1, STA3 and STA 5); as can be seen from the code identifiers corresponding to the respective coded messages, the coded messages 1 to 5 are all source messages (i.e., data messages of the STA), and the coded messages 6 and 7 are all redundant messages. The correspondence established by the AP includes a correspondence between the encoded message 1 and the encoded identifier 1 (representing STA 1), a correspondence between the encoded message 2 and the encoded identifier 2 (representing STA 2), a correspondence between the encoded message 3 and the encoded identifier 3 (representing STA 3), a correspondence between the encoded message 4 and the encoded identifier 4 (representing STA 4), a correspondence between the encoded message 5 and the encoded identifier 5 (representing STA 5), a correspondence between the encoded message 6 and the encoded identifier 1+3+4 (representing STA1, STA3, STA 4), and a correspondence between the encoded message 7 and the encoded identifier 1+3+5 (representing STA1, STA3, STA 5).
In step S212, the AP determines, according to the established correspondence between the coding packet and the coding identifier, the coding identifier corresponding to the data packet that is not received by the AP, for example, in fig. 11, the data packet corresponding to the coding identifier 4 is not received.
Step S213, the decoder of AP will first traverse the encoded packet with the encoding identifier containing 4, for example, find the packet corresponding to the encoding identifier 1+3+4 in fig. 11.
Step S214, the decoder of the AP searches for the message corresponding to the coding identifier 1 and the message corresponding to the coding identifier 3, and if both the message corresponding to the coding identifier 1 and the message corresponding to the coding identifier 3 can be found, the AP performs the following step S215 to perform decoding.
Step S215, the AP decodes. Specifically, the AP performs exclusive or addition according to the message corresponding to the code identifier 1+3+4, the message corresponding to the code identifier 1, and the message corresponding to the code identifier 3, so as to obtain a result that the message corresponding to the code identifier 4 is obtained, thereby recovering the message corresponding to the code identifier 4.
The above decoding process is a simple example, and if more complex cases are involved, the decoding is optionally performed by means of gaussian elimination.
In some embodiments, the joint coding of multiple STAs in the method of fig. 7 employs a grouping mechanism. Specifically, a plurality of STAs associated with the same AP are divided into groups, each group including one or more STAs. The data messages sent to the AP from each other are monitored among different groups of STAs. Each group of STA uses the data messages sent by other groups of STAs to carry out erasure coding and provides a coded data source for other groups of STAs.
For example, the AP divides the associated STAs into group a and group B. Group B includes X STAs. The first STA is one STA in group a. The first STA monitors data messages sent by X STAs in the group B so as to carry out erasure coding by using the data messages sent by the X STAs in the group B. Ideally, the first STA can receive data packets sent by X STAs in the group B, and the number of data packets obtained by the first STA for encoding may be less than or equal to the number of data packets sent by the X STAs, considering that packet loss or errors may occur during the transmission of the packet in the wireless channel. For example, in data packets sent by X STAs, a first STA may correctly receive Y data packets therein; and then the first STA selects the data messages from the N STAs from the Y data messages to obtain a data message set. Wherein X, Y and N are positive integers, X, Y and N have a number relationship such that X is greater than or equal to Y, and Y is greater than or equal to N.
In some embodiments, the radio frequency configurations of different groups of STAs are different. The radio frequency configuration refers to a frequency band used when a message is received and sent. For example, the transmission frequency band of group a is the same as the reception frequency band of group B. The reception frequency band of group a is the same as the transmission frequency band of group B. By adopting the radio frequency configuration, when the group A sends a data message, the group B can receive the data message from the group A so that the group B can encode by using the data message sent by the group A; when group B sends a data message, group a can receive the data message from group B, so that group a encodes with the data message sent by group B.
When the radio frequency configuration is applied in the method shown in fig. 7, for example, the first STA is an STA in the group a, and the N STAs participating in the encoding process of the first STA are all STAs in the group B, the transmission frequency band of the group B includes a first frequency band, the reception frequency band of the group B includes a second frequency band, the transmission frequency band of the group a includes the second frequency band, and the reception frequency band of the group a includes the first frequency band. Each STA in the N STAs sends a data message on a first frequency band. The first STA receives data messages from the N STAs on a first frequency band, and therefore a data message set is obtained.
In some embodiments, the frequency bins of the transmission bands for different groups of STAs are different. For example, the frequency points of the first frequency band (the transmission band of the group B) and the frequency points of the second frequency band (the transmission band of the group a) are different. In other words, the first band and the second band are dual bands on two frequency points. For example, the frequency point of the first frequency band is 2.4GHz, and the frequency point of the second frequency band is 5GHz. For another example, the frequency point of the first frequency band is 5GHz, and the frequency point of the second frequency band is 2.4GHz.
In some embodiments, the AP provides 2 independent BSSs, and Service Set Identifiers (SSIDs) corresponding to the 2 BSSs are different. For example, the AP provides a first BSS and a second BSS. The SSID corresponding to the first BSS is different from the SSID corresponding to the second BSS. The STA and the AP in the first BSS use the first frequency band to transmit messages. And the STA and the AP in the second BSS transmit the message by using the second frequency band. The first STA and the N STAs belong to a first BSS and a second BSS simultaneously.
The above embodiments describe the behavior of the STA sending the encoded packet, and the following describes the behavior of the STA sending its own data packet.
In some embodiments, the STA transmits the data message earlier than the encoded message. 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 for sending data messages, and the second time slot is used for sending coded messages. The first time slot is earlier than the second time slot. Optionally, the first time slot and the second time slot are both sub-time slots. Optionally, the first time slot and the second time slot are consecutive in time domain.
For example, in the method shown in fig. 7, a first STA sends a data packet of the first STA in a first timeslot and in a second frequency band, where the second frequency band is a receiving frequency band of N STAs (one or more STAs that perform erasure coding in cooperation with the first STA); each STA in the N STAs sends respective data messages in a first time slot and a first frequency band. The first STA receives data messages from the N STAs in a first time slot and a first frequency band. Each STA in the N STAs receives the data message from the first STA in the first time slot and the second frequency band. The first STA performs erasure coding on the data messages of the N STAs in a second time slot to obtain coded messages; and the first STA sends the coding message to the AP at a second time slot and a second frequency band. And each STA in the N STAs performs erasure coding in a second time slot according to the data message of the first STA to obtain a coded message, and each STA in the N STAs transmits the coded message to the AP in the second time slot and the first frequency band.
In this way, the first STA transmits data belonging to the first STA and data belonging to other STAs respectively using the two sub-slots, thereby performing erasure coding in cooperation with the other STAs. In addition, because the first STA and the other STAs use two different frequency bands when transmitting data simultaneously, mutual interference can be avoided.
In some embodiments, the method of figure 7 utilizes an 802.11 uplink OFDMA mechanism for multi-user concurrent transmission. For example, in combination with the grouping mechanism, on the basis that a plurality of STAs associated with the same AP are divided into multiple groups, each STA in the same group occupies one RU in the same frequency band, each STA in the same group simultaneously transmits a data packet through a corresponding RU, and each STA in the same group simultaneously transmits an encoded packet through a corresponding RU.
In the following, taking two STAs, i.e. the first STA and the second STA, as an example, how the same group of STAs performs the method shown in fig. 7 based on the ODFMA mechanism is described.
For example, the AP associates with group a, which includes a first STA and a second STA. The first STA occupies a first RU on the second frequency band, and the second STA occupies a second RU on the second frequency band. And the first STA sends the data message of the first STA by using the first RU in the first time slot in an OFDMA mode. And the second STA sends the data message of the second STA by using the second RU in the first time slot in an OFDMA mode. Each STA and the AP in the N STAs receive OFDMA data in a first time slot and a second frequency band, wherein the OFDMA data comprises a data message of the first STA and a data message of the second STA. And then, the first STA uses the first RU in the second time slot and adopts an OFDMA mode to send the coded message obtained by coding the data message of the group B. And the second STA uses the second RU in the second time slot and adopts an OFDMA mode to send the coded message obtained by coding the data message of the group B. And the AP receives OFDMA data in a second time slot and a second frequency band, wherein the OFDMA data comprises a coded message obtained by coding the first STA and a coded message obtained by coding the second STA. Wherein, the uplink OFDMA function of the first STA and the second STA in the transmission direction are both in an ON state (UL-OFDMA Tx ON). The uplink OFDMA function of both the first STA and the second STA in the receive direction is in an ON state (UL-OFDMA Rx ON).
The above describes the flow of two STAs in the same group performing the method of fig. 7 based on the ODFMA mechanism. By analogy, in case the same group comprises more than two STAs, more STAs are handled in a similar way.
By using the uplink OFDMA mechanism, a plurality of STAs can simultaneously transmit data packets, and thus the erasure correction encoder can simultaneously receive the data packets transmitted by the plurality of STAs and perform encoding. Multiple STAs can simultaneously transmit encoded messages, so the erasure correcting decoder can simultaneously receive and decode data messages transmitted by multiple STAs. Therefore, the waiting data time delay caused by the data coding and decoding of a single STA is further saved.
In some embodiments, the RU used by each STA in transmitting the data packets and/or encoded packets is assigned by the AP. Specifically, the AP allocates a corresponding RU to each STA among the plurality of STAs, and the AP notifies each STA of the RU allocated thereto; each STA associates the allocated RU, and transmits data messages and/or coded messages by using the allocated RU, so as to perform uplink OFDMA transmission.
In some embodiments, the packets to which each STA belongs are divided by the AP. Specifically, the AP divides all associated STAs into a plurality of groups. Optionally, the grouping specifically adopts a random grouping manner. Optionally, the number of packets is equal to the number of frequency bands supported by the AP. For example, in the case where the AP supports 2 bands of 2.4G and 5G, the AP divides the STAs into 2 groups.
In some embodiments, the AP advertising the allocated RUs is specifically implemented by the AP sending a control frame to the STA. The control frame includes the AID of the STA.
Next, taking the first STA and the third STA as an example, how to perform transceiving configuration for STAs in different groups will be described, specifically referring to steps S221 to S226 below.
Step S221, the AP divides the associated first STA into group a, and the AP divides the associated third STA into 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 a first RU occupying the second frequency band to the first STA, and allocates a third RU occupying the first frequency band to the third STA.
Step S222, the AP sends a first control frame to the first STA in the second frequency band, where the first control frame indicates that the first STA uses the first RU when sending the data packet and/or the encoded packet. The first control frame includes an AID for the first STA. And the AP sends a second control frame to the third STA on the first frequency band, wherein the second control frame indicates the third STA to use a third RU when sending the data message and/or the coding message. The second control frame includes an AID for the third STA.
Step S223, the first STA receives the first control frame from the AP on the second frequency band. And the first STA determines the RU allocated to the first STA as the first RU according to the first control frame. The first STA associates with the first RU. Since the control frame is received on the second frequency band, the first STA will identify itself (the first STA) as belonging to group a.
Step S224, the third STA receives the second control frame from the AP in the first frequency band, and determines, by the third STA, an RU allocated to the third STA as a third RU according to the second control frame. The third STA associates with the third RU. Since the control frame is received on the first frequency band, the third STA may identify itself (the third STA) as belonging to group B.
Step S225, the first STA uses the first RU in the second frequency band, and sends the data packet and/or the encoded packet of the first STA in the OFDMA mode.
Step S226, the third STA uses the third RU on the first frequency band to send the data packet and/or the encoded packet of the first STA in the OFDMA manner.
Optionally, the first control frame is a MU RTS frame. The first control frame has the frame structure shown in fig. 2 to 4 described above. The MU RTS frame acting as the first control frame includes the AID of the first STA and the identification of the first RU. For example, referring to fig. 2, the payload portion of the mu RTS frame includes a user information field. Referring to fig. 4, the user information field includes an AID12 field and an RU allocation field. The AID12 field includes an AID of the first STA. The RU allocation field includes an identification of the first RU.
For example, referring to fig. 12, in the case that the first STA is STA1 in group a, N is 3, and the data packet used in erasure correction coding by the first STA includes a data packet from STA1 in group B, a data packet from STA7 in group B, and a data packet from STA18 in group B. As another example, referring to fig. 12, in the case that the first STA is STA2 in group a, N is 4, and the data message set used in erasure correction coding by the first STA includes a data message from STA2 in group B, a data message from STA 4 in group B, a data message from STA8 in group B, and a data message from STA 17 in group B.
The method shown in FIG. 7 is illustrated below with reference to an example.
Example 1
The first STA in the method of fig. 7 is a STA in group a of example 1 and the N STAs in the method of fig. 7 are STAs in group B of example 1. The first band in the method of fig. 7 is band 2 in example 1, and the second band in the method of fig. 7 is band 1 in example 1. The first frame in the method shown in fig. 7 is a non-aggregated frame (MPDU) in example 1.
Example 1 relates to the flow of erasure coding and decoding at the time of non-aggregated frame transmission. Figure 12 shows a schematic diagram of example 1.
For simplicity, fig. 12 is simplified to show a message in the form of capital letters + numbers, where capital letters denote corresponding packets and numbers denote corresponding STAs. If "A2" represents the data message generated by STA2 in group A; "B1" represents a data message generated by STA1 in group B; "A1+ A7+ a18" represents a redundant packet obtained by xor addition of three data packets, which are respectively a data packet generated by STA1 in group a, a data packet generated by STA7 in group a, and a data packet generated by STA18 in group a. In fig. 12, colors are filled to indicate a frequency band, white indicates a frequency band 1, and black indicates a frequency band 2.
When non-aggregated frame transmission is performed, an 802.11 uplink OFDMA mechanism is used to perform multi-STA concurrent transmission, and meanwhile, 2.4G and 5G dual-band (band 1 and band 2) configurations in WLAN devices are used to implement mutual monitoring among STAs, so as to provide a real-time data source for cooperative erasure coding at a user side, and the overall flow is as shown in the following steps (a) to (c).
Step (a) divides all access users into two groups, group a and group B.
Each STA in group a occupies one RU for data transmission in frequency band 1. For example, referring to the message set 301 in fig. 12, the message set 301 represents data transmitted in sub-slot 1 and frequency band 1 in group a, and each column in the message set 301 represents an STA in group a. Specifically, STA1 in group a occupies the 1 st RU on frequency band 1 to send message A1, STA2 in group a occupies the 2 nd RU on frequency band 1 to send message A2, and so on, STA n in group a occupies the nth RU on frequency band 1 to send message An. Message set 301 is transmitted via antennas operating in band 1. For example, the message A1 is transmitted through the antenna 311 of the STA1 in the group a, which operates in the frequency band 1.
Each STA in group a receives the OFMDA data of group B over the entire band 2. For example, referring to message set 302 of fig. 12, message set 302 represents data for group B received by group a in sub-slot 2, and each column in message set 302 represents a STA in group a. Specifically, STA1 in group a receives packet B1, packet B3, packet B7 … …, packet B13 and packet B18 of group B on frequency band 2, STA2 in group a receives packet B2, packet B4, packet B8 … …, packet B15 and packet B17 of group B on frequency band 2, and STA n in group a receives packet B3, packet B6, packet B9 … …, packet B14 and packet B16 of group B on frequency band 2. Message set 302 is received via an antenna operating in band 2. For example, the message B1, the message B3, the message B7 … …, the message B13 and the message B18 are transmitted through the antenna 312 of the STA1 in the group a, which operates in the frequency band 2.
Each STA in group B occupies one RU for data transmission in frequency band 2. For example, referring to the message set 303 in fig. 12, the message set 303 represents data transmitted in sub-slot 1 by group B, and each column in the message set 303 represents a STA in group B. Specifically, STA1 in group B occupies the 1 st RU on frequency band 2 to send message B1, STA2 in group B occupies the 2 nd RU on frequency band 2 to send message B2, and so on, STA n in group B occupies the nth RU on frequency band 2 to send message Bn.
Each STA in group B receives OFDMA data for group a over the entire frequency band 1. For example, referring to message set 304 of fig. 12, message set 304 represents group a data received by group B in sub-slot 1, and each column in message set 304 represents a STA in group B. STA1 in group B receives message A1, message A3, message A7 … … message A13 and message A18 of group A on frequency band 1, STA2 in group B receives message A2, message A4, message A8 … … message A15 and message A17 of group A on frequency band 1, and STAn in group B receives message A3, message A6, message A9 … … message A14 and message A16 of group A on frequency band 1.
And (b) dividing the uplink transmission time into two sub-slots, namely a sub-slot 1 and a sub-slot 2.
In the sub-time slot 1, the group A sends a data message and receives a data message sent by the group B; and the group B sends the data message and receives the data message sent by the group A.
In the sub-time slot 2, the group a performs random xor coding on the received data message of the group B to generate a redundant message, and then transmits the redundant message on the frequency band 1.
For example, referring to message set 305 of fig. 12, message set 305 indicates data encoded by group B data transmitted by group a in sub-slot 2, and each column in message set 305 indicates an STA in group a. Specifically, STA1 in group a randomly selects message B1, message B7, and message B18 from messages B1, B3, and B7 … …, message B13, and message B18 received via antenna 312. In the group a, the STA1 obtains the message B1+ B7+ B18 by performing xor addition on the message B1, the message B7, and the message B18 through the encoder 313. STA1 in group a occupies the 1 st RU on frequency band 1 to send message B1+ B7+ B18 through antenna 311.
Similarly, the STA2 in the group a randomly selects the message B2, the message B4, the message B8, and the message B17 from the received messages B2, B4, B8 … …, B15, and B17, obtains the message B2+ B4+ B8+ B17 by performing exclusive or addition on the message B2, the message B4, the message B8, and the message B17 through the encoder 313, and the STA2 in the group a occupies the 2 nd RU to send the message B2+ B4+ B8+ B17 in the frequency band 1; in the group A, the STA n randomly selects the message B3, the message B9 and the message B16 from the received messages B3, B6, B9 … …, B14 and B16, the messages B3, B9 and B16 are subjected to exclusive or addition to obtain the message B3+ B9+ B16, and the STA n in the group A occupies the nth RU to send the message B3+ B9+ B16 on the frequency band 1.
In the sub-time slot 2, the group B randomly performs xor coding on the received data message of the group a to generate a redundant message, and then transmits the redundant message on the frequency band 2.
For example, referring to message set 306 in fig. 12, message set 306 represents data encoded by group a data transmitted by group B in sub-slot 2, and each column in message set 306 represents a STA in group B. Specifically, STA1 in group B randomly selects message A1, message A7, and message a18 from message A1, message A3, message A7 … …, message a13, and message a18 received via antenna 331, and obtains message A1+ A7+ a18 by xor addition of message A1, message A7, and message a18 via encoder 314. In the group B, STA1 occupies the 1 st RU on the frequency band 2 to send a message A1+ A7+ a18 through the antenna 332; in the group B, STA2 randomly selects a message A2, a message A4, a message A8 … …, a message A15 and a message A17 from the received messages A2, A4, A8 and A17, the messages A2, A4, A8 and A17 are subjected to exclusive or addition to obtain a message A2+ A4+ A8+ A17, and the STA2 in the group B occupies the 2 nd RU on the frequency band 2 to send the message A2+ A4+ A8+ A17; in the group B, the STA n randomly selects the message A3, the message A9 and the message A16 from the received message A3, the message A6, the message A9 … … message A14 and the message A16, the message A3, the message A9 and the message A16 are subjected to exclusive or addition to obtain a message A3+ A9+ A16, and the STA n in the group B occupies the nth RU on the frequency band 2 to send the message A3+ A9+ A16.
And (c) the AP keeps a receiving state all the time in the uplink sending time, the AP can simultaneously receive partial or all data messages and redundant messages of the group A and the group B, and the lost data messages can be recovered by utilizing the respective data messages and redundant messages.
For example, referring to message set 307 and message set 308 in fig. 12, message set 307 represents data (including sub-slot 1 and sub-slot 2) of group a received by the AP on frequency band 1. Message set 308 represents group B data (including sub-slot 1 and sub-slot 2) received by the AP. Specifically, as shown in the message set 307, the AP receives a message A2, a message A3, a message A4, a message A5, a message A6, a message A7 … …, a18 … …, and A1+ A7+ a18 in the frequency band 1. As shown in the message set 308, the AP receives a message B1, a message B2, a message B3, a message A5, a message A6, a message A7 … …, a message B18 … …, and A4+ A7+ a18 in the frequency band 2.
The coding process of the non-aggregated frame (MPDU) mainly comprises grouping and transmitting and receiving configuration of multiple STAs, joint coding of data of the multiple STAs and identification of coded messages. The decoding method mainly performs corresponding superposition processing according to the received multiple coded messages and the coded identifiers, and is not described herein again. The encoding process is described in detail below.
(1) Packet and transmit-receive configuration
The embodiment provides a dual-band multi-user grouping mechanism and a transceiving configuration flow. The STA and the AP are both configured with dual-band hardware, and the AP side randomly divides the associated AIDs into two groups and associates the AIDs with MU-RTS frames on two frequency bands respectively. Then, the AP allocates resources on both bands through a dual band MU-RTS frame, while the AP groups users. The STA configures respective dual-band transceiving mechanisms (UL-OFDMA Rx ON and UL-OFDMA Tx ON) according to the received MU-RTS. Exemplarily, the flow of the grouping and transceiving configuration may refer to fig. 13, and the flow of the grouping and transceiving configuration includes the following steps (1-a) to (1-d).
Step (1-a) the AP groups the associated STAs into two groups. For example, in fig. 13, the AP associates 8 STAs STA1, STA2 … … STA8, and the AP divides STA1, STA3, STA5, and STA7 into group a and divides STA2, STA 4, STA 6, and STA8 into group B.
And (1-b) the AP sends RU and AID associated frequency band 1MU-RTS frames and frequency band 2MU-RTS frames on the frequency band 1 and the frequency band 2 respectively. For example, in fig. 13, the AP transmit frequency band 1MU-RTS frame includes a correspondence relationship between AID1 and RU1, a correspondence relationship between AID3 and RU2, a correspondence relationship between AID7 and RU3, and a correspondence relationship between AID5 and RU 4. The AP sending frequency band 2MU-RTS frame includes a correspondence between AID2 and RU1, a correspondence between AID6 and RU2, a correspondence between AID4 and RU3, and a correspondence between AID8 and RU 4.
And (1-c) the STA receives the frequency band 1MU-RTS frame and the frequency band 2MU-RTS frame at the same time, if the frequency band 1 has the AID of the STA, the STA associates the RU corresponding to the frequency band 1 and identifies that the STA belongs to the group A. If frequency band 2 has its AID, STA associates frequency band 2 with RU, and identifies itself as belonging to group B.
Step (1-d) if the STA belongs to group A, the STA transmits (TxON) ON frequency band 1 by using an allocated RU and receives (Rx ON) ON frequency band 2; if it belongs to group B, the STA transmits in band 2 with the allocated RU (TxON) and receives in band 1 (Rx ON).
(2) Multi-STA joint coding method
The multi-STA joint coding method comprises the following mode one and mode two. Here, the nodes in the following first and second modes are referred to as STAs.
The method I is characterized in that the number of coding nodes is fixed, and the nodes are randomly selected: the STA selects a fixed amount of node data to encode in sub-slot 2, specifically which nodes to randomize.
For example: the group A STA1 correctly receives the messages B1, B3, B4, B6 and B9 in the sub-time slot 1, and the group A STA2 correctly receives the messages B1, B2, B5, B6 and B8 in the sub-time slot 1. If the number N of the coding nodes is fixed to 3, the coding of the STA1 in the sub-time slot 2 is to randomly select three XOR additions in the message B1, the message B3, the message B4, the message B6 and the message B9, and the coding of the STA2 in the sub-time slot 2 is to randomly select three XOR additions in the message B1, the message B2, the message B5, the message B6 and the message B8. If the number of the received correct messages is less than N, optionally, the coding mode can select to add all the received messages in an exclusive or manner. Optionally, if the received total message is still insufficient, the STA1 encodes in a free-form manner.
The second method is that the number of the coding nodes is random, and the node selection is random: the STA selects a random amount of node data to encode in sub-slot 2, and specifically selects which nodes to randomize.
For example: the STA1 in the group a correctly receives the message B1, the message B3, the message B4, the message B6, and the message B9 in the sub-slot 1, and the STA2 in the group a correctly receives the message B1, the message B2, the message B5, the message B6, and the message B8 in the sub-slot 1. At this time, STA1 and STA2 may randomly select an N value, respectively, according to the number of received signals. For example, STA1 randomly selects 4 as the N value, STA2 randomly selects 2 as the N value, then STA1 randomly selects 4 codes in sub-slot 2 from message B1, message B3, message B4, message B6, and message B9 for exclusive or addition, and STA2 codes selects 2 codes in message B1, message B2, message B5, message B6, and message B8 for exclusive or addition.
(3) Code identification (method for indicating data message corresponding to code message)
The implementation mode of the coded identification comprises the following mode one and mode two.
The first method is as follows: and identifying the code of the data message by using a bitmap mode. For example, there are 8 STAs in the system, the coded identification field should be identified by 8 bits. For the 1 st STA, the coded identifier of the message sent in sub-slot 1 should be 10000000. If the message sent in sub-slot 2 is obtained by the xor addition of the messages of the 5 th STA, the 6 th STA and the 7 th STA, the encoding identifier should be 00001110. By analogy, all encoded messages can be identified.
The second method comprises the following steps: and constructing a coding identifier mapping table, and determining the current coding identifier by looking up the table by a transceiving end. Taking H STAs as an example, the code with 1 STA data participating is
Figure BDA0003090760070000291
The seed can be 1, 2, 3 … respectively
Figure BDA0003090760070000292
And (5) identifying. Therefore, the transceiver end is facilitated to determine the coded identification by constructing table 3 above.
In particular, referring to fig. 8, for the general non-aggregated frame (MPDU) of example 1, in consideration of the coding identifier, a coding identifier field needs to be added to the MAC frame to inform the receiving end of the parameter information currently used for coding. On the other hand, for compatibility, the encoding flag should be placed between the frame body (frame body) of the MPDU and the FCS without affecting the reception of information by a general terminal, so that the content of the frame body can be parsed even if the terminal of the encoding flag is not known, and the encoding flag can be discarded as padding according to the length field of the IP packet. For the terminal with erasure correction function, the coded message and the coded identifier can be obtained at the same time, so that the subsequent erasure correction decoding is facilitated.
In example 1, the end of the frame body of the normal MAC frame is added with the coding identifier field for indicating the coding information of the current packet, and the FCS function of the MPDU can be fully utilized, so that the uplink multi-user erasure correcting, coding and decoding process in this embodiment can be performed very conveniently.
Example 1 is illustrated with transmission of MPDUs. The MPDU in example 1 may be replaced with MAC frames of other structures.
In another example, the MPDU in example 1 is replaced with an aggregate frame AMPDU, and the frame format for transmitting the aggregate frame AMPDU can be referred to fig. 9. The frame structure shown in fig. 9 is capable of conveniently obtaining the coding identification information of each MPDU in the AMPDU and utilizing the FCS capability of the MPDU itself, because a coding identification field is added between the frame body of the aggregated MPDU frame and the FCS to indicate the coding information of the current packet.
In another example, the MPDU in example 1 is replaced with an aggregate frame AMSDU, and the frame format for transmitting the aggregate frame AMSDU can refer to fig. 10. The frame structure shown in fig. 10 adds the coding identification field and the CRC field at the end of the frame body of the aggregated MSDU frame, which are respectively used for indicating the coding information of the current packet and providing error detection capability, so that the receiving side can conveniently obtain the coding identification information of each MSDU in the AMSDU, and can use the added CRC field to complete error detection.
Fig. 14 is a schematic structural diagram of an STA 600 according to an embodiment of the present application. STA 600 includes acquisition unit 601, encoding unit 602, and transmission unit 603.
Alternatively, the STA 600 shown in fig. 14 is the transmitting end in fig. 1, when viewed in conjunction with fig. 1. The encoding unit 602 shown in fig. 14 includes the erasure correction encoder of fig. 1. The transmitting unit 603 shown in fig. 14 includes the transmitter in fig. 1.
Optionally, referring to fig. 5, the STA 600 shown in fig. 14 is one of STA1, STA2, STA3, or STA 4 in fig. 5.
Alternatively, the STA 600 shown in fig. 14 is the STA 11 of fig. 6, when viewed in conjunction with fig. 6.
Optionally, with reference to fig. 7, the STA 600 shown in fig. 14 is the first STA in fig. 7. The acquisition unit 601 is configured to support the STA 600 to perform step S201 in fig. 7. The encoding unit 602 is configured to support the STA 600 to perform step S202 in fig. 7. The transmitting unit 603 is configured to support the STA 600 to perform step S203 in fig. 7. Optionally, the obtaining unit 601 is specifically a receiving unit, and the receiving unit is implemented by hardware such as a transceiver, for example, radio frequency, antenna, and the like. Optionally, the STA 600 further includes a generating unit, where the generating unit is configured to support the STA 600 to generate a data packet of the STA 600.
Optionally, referring to fig. 8, the transmitting unit 603 shown in fig. 14 is configured to support the STA 600 to transmit the MPDU shown in fig. 8.
Optionally, referring to fig. 9, the transmitting unit 603 shown in fig. 14 is configured to support the STA 600 to transmit the a-MPDU shown in fig. 9.
Optionally, referring to fig. 10, the transmitting unit 603 shown in fig. 14 is configured to support the STA 600 to transmit the a-MSDU shown in fig. 10.
Alternatively, STA 600 shown in fig. 14 is STA1 in group a in fig. 12, when viewed in conjunction with fig. 12. The acquisition unit 601 shown in fig. 14 includes the antenna 312 in fig. 12. The encoding unit 602 shown in fig. 14 includes the encoder 313 of fig. 12. The transmitting unit 603 shown in fig. 14 includes the antenna 311 in fig. 12. Specifically, the obtaining unit 601 shown in fig. 14 is configured to support the STA 600 to receive the message B1, the message B3, the message B7 … …, the message B13, and the message B18 in the message set 302 shown in fig. 12. The encoding unit 602 shown in fig. 14 is used to support the STA 600 to encode the message B1+ B7+ B18 in the message generation message set 305. The sending unit 603 shown in fig. 14 is configured to support the STA 600 to send the message B1+ B7+ B18 in the message set 305 and the message A1 in the message set 301 shown in fig. 12.
Alternatively, the STA 600 shown in fig. 14 is STA1 in group a in fig. 13, when viewed in conjunction with fig. 13. The acquisition unit 601 shown in fig. 14 includes the antenna 311 of fig. 13. The acquiring unit 601 shown in fig. 14 is configured to support the STA 600 to receive the MU-RTS related to AID1 and RU1 shown in fig. 13.
The embodiment of the apparatus depicted in fig. 14 is merely illustrative, and for example, the division of the above-mentioned units is only one type of division of logical functions, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted or not executed. Each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The various elements of STA 600 in fig. 14 may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
In the case of software implementation, for example, the encoding unit 602 is implemented by a software functional unit generated by at least one processor 801 in fig. 16 after reading program codes stored in the memory 802.
In the case of hardware implementation, for example, the above units in fig. 14 are implemented by different hardware in the STA respectively, for example, the encoding unit 602 is implemented by a part of processing resources (e.g., one core or two cores in a multi-core processor) in at least one processor 801 in fig. 16, and the obtaining unit 601 is implemented by the rest of processing resources (e.g., other cores in the multi-core processor) in at least one processor 801 in fig. 16, or by a field-programmable gate array (FPGA), a coprocessor, or other programmable devices. As another example, the acquiring unit 601 and the transmitting unit 603 are implemented by the transceiver 803 in fig. 16.
In the case of being implemented by combining software and hardware, for example, the acquiring unit 601 is implemented by a hardware programmable device, and the encoding unit 602 is a software functional unit generated by the CPU reading a program code stored in a memory.
Optionally, the encoding unit 602 is implemented by a dedicated hardware accelerator, and the hardware accelerator is configured to perform the erasure coding function on the packet. By offloading the functions of the encoding unit 602 to the hardware accelerator, the computational burden on the CPU is reduced.
Fig. 15 is a schematic structural diagram of an AP 700 according to an embodiment of the present application. The AP 700 includes a receiving unit 701 and a decoding unit 702. Optionally, the AP 700 further includes a transmitting unit 703.
Optionally, the AP 700 shown in fig. 15 is the receiving end in fig. 1 when viewed in conjunction with fig. 1. The decoding unit 702 shown in fig. 15 includes the erasure correction decoder of fig. 1. The receiving unit 701 shown in fig. 15 comprises the receiver of fig. 1.
Optionally, when viewed in conjunction with fig. 5, the AP 700 shown in fig. 15 is the AP in fig. 5.
Optionally, when viewed in conjunction with fig. 6, the AP 700 shown in fig. 15 is the AP 10 in fig. 6.
Optionally, when viewed in conjunction with fig. 7, the AP 700 shown in fig. 15 is the AP of fig. 7. The receiving unit 701 is configured to support the AP 700 to perform step S204. The decoding unit 702 is configured to support the AP 700 to perform step S205. The transmitting unit 703 is configured to support the AP 700 to transmit a first control frame (not shown in fig. 7).
Optionally, referring to fig. 8, the receiving unit 701 shown in fig. 15 is configured to support the AP 700 to receive the MPDU shown in fig. 8.
Optionally, referring to fig. 9, the receiving unit 701 shown in fig. 15 is configured to support the AP 700 to receive the a-MPDU shown in fig. 9.
Optionally, referring to fig. 10, the receiving unit 701 shown in fig. 15 is configured to support the AP 700 to receive the a-MSDU shown in fig. 10.
Optionally, when viewed in conjunction with fig. 12, the AP 700 shown in fig. 15 is the AP of fig. 12. The receiving unit 701 shown in fig. 15 includes the antenna 321 and the antenna 322 in fig. 12. The receiving unit 701 shown in fig. 15 is used to support the AP 700 to receive the message set 307 and the message set 308 shown in fig. 12.
Optionally, when viewed in conjunction with fig. 13, the AP 700 shown in fig. 15 is the AP of fig. 13. The transmitting unit 703 shown in fig. 15 includes the antenna 321 and the antenna 322 shown in fig. 13. The transmitting unit 703 shown in fig. 15 is configured to support the AP 700 to transmit the MU-RTS shown in fig. 13.
The apparatus embodiment depicted in fig. 15 is merely illustrative, and for example, the division of the above-mentioned units is only one type of logical functional division, and other division manners may be available in actual implementation, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. Each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The various elements in AP 700 are implemented in whole or in part by software, hardware, firmware, or any combination thereof.
In the case of software implementation, for example, the decoding unit 702 is implemented by a software functional unit generated by at least one processor 901 in fig. 17 after reading program codes stored in a memory 902.
In the case of hardware implementation, for example, the above units in fig. 15 are implemented by different hardware in an AP respectively, for example, the decoding unit 702 is implemented by a part of processing resources (for example, one core or two cores in a multi-core processor) in at least one processor 901 in fig. 17, and for example, the decoding unit 702 is implemented by a field-programmable gate array (FPGA) or a programmable device such as a coprocessor, and the receiving unit 701 and the sending unit 703 are implemented by a transceiver 903 in fig. 17.
Optionally, the decoding unit 702 is implemented by a dedicated hardware accelerator, and the hardware accelerator is configured to perform erasure decoding on the packet. By offloading the functions of the decode unit 702 onto the hardware accelerator, the computational burden on the CPU is reduced.
The basic hardware structure of the STA is exemplified below.
Fig. 16 is a schematic structural diagram of an STA according to an embodiment of the present application. The STA 800 includes at least one processor 801, memory 802, and at least one transceiver 803.
Optionally, referring to fig. 1, the STA 800 shown in fig. 16 is the transmitting end in fig. 1. The processor 801 shown in fig. 16 includes the erasure coding apparatus of fig. 1. The transceiver 803 shown in fig. 16 includes the transmitter of fig. 1.
Optionally, referring to fig. 5, the STA 800 shown in fig. 16 is one of STA1, STA2, STA3, or STA 4 in fig. 5.
Alternatively, the STA 800 shown in fig. 16 is the STA 11 of fig. 6, when viewed in conjunction with fig. 6. The processor 801 is configured to support the STA 800 to generate the data packet and the encoded packet in fig. 6, and the transceiver is configured to support the STA 800 to transmit the data packet and the encoded packet in fig. 6.
Alternatively, the STA 800 shown in fig. 16 is the first STA in fig. 7, when viewed in conjunction with fig. 7. The transceiver 803 is used to support the STA 800 to perform steps S201 and S203 in fig. 7. The processor 801 is configured to support the STA 800 to execute step S202 in fig. 7.
Optionally, referring to fig. 8, the processor 801 shown in fig. 16 is configured to enable the STA 800 to generate the MPDU shown in fig. 8. The transceiver 803 shown in fig. 16 is used to support the STA 800 to transmit the MPDU shown in fig. 8.
Optionally, as seen in conjunction with fig. 9, the processor 801 shown in fig. 16 is configured to enable the STA 800 to generate the a-MPDU shown in fig. 9. The transceiver 803 shown in fig. 16 is used to support the STA 800 to transmit the a-MPDU shown in fig. 9.
Optionally, the processor 801 shown in fig. 16 is configured to enable the STA 800 to generate the a-MSDU shown in fig. 10, when viewed in conjunction with fig. 10. The transceiver 803 shown in fig. 16 is used to support the STA 800 to transmit the a-MSDU shown in fig. 10.
Alternatively, referring to fig. 12, STA 800 shown in fig. 16 is STA1 in group a of fig. 12. The transceiver 803 shown in fig. 16 includes the antenna 311 and the antenna 312 of fig. 12. The processor 801 shown in fig. 16 includes the encoder 313 of fig. 12. Specifically, the transceiver 803 shown in fig. 16 is used to support the STA 800 to receive the message B1, the message B3, the message B7 … …, the message B13, and the message B18 in the message set 302 shown in fig. 12. The processor 801 shown in fig. 16 is configured to support the STA 800 to encode the message B1+ B7+ B18 in the message set 305. The transceiver 803 shown in fig. 16 is used to support the STA 800 to transmit the message B1+ B7+ B18 in the message set 305 and the message A1 in the message set 301 shown in fig. 12.
Alternatively, with reference to fig. 13, STA 800 shown in fig. 16 is STA1 in group a of fig. 13. The transceiver 803 shown in fig. 16 includes the antenna 311 of fig. 13. The transceiver 803 of fig. 16 is configured to enable the STA 800 to receive the MU-RTS associated with AID1 and RU1 of fig. 13.
Optionally, the STA 800 shown in fig. 16 is used to implement the STA 600 of fig. 14, when viewed in conjunction with fig. 14. The transceiver 803 shown in fig. 16 is used to implement the acquisition unit 601 and the transmission unit 603 in fig. 14. The processor 801 shown in fig. 16 is used to implement the encoding unit 602 in fig. 14.
The processor 801 is, for example, a 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 present disclosure. For example, the processor 801 includes an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. PLDs are, for example, complex Programmable Logic Devices (CPLDs), field-programmable gate arrays (FPGAs), general Array Logic (GAL), or any combination thereof.
In some embodiments, the processor 801 is provided as a baseband circuit. For example, the processor 801 is a separate circuit. The processor 801 is, for example, a circuit in a System On Chip (SOC). Alternatively, the processor 801 is a baseband chip integrated into a chip form, and the embodiment of the present application is not particularly limited thereto.
The Memory 802 is, for example, but not limited to, a read-only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only Memory (EEPROM), a compact disc read-only Memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Optionally, the memory 802 resides separately and is coupled to the processor 801 through an internal connection 804. Alternatively, the memory 802 and the processor 801 are optionally integrated.
The transceiver 803 is used to communicate with other STAs than the STA 600 and the AP. The transceiver 803 supports at least two frequency bands. Specifically, the transceiver 803 supports a first frequency band and a second frequency band, the transceiver 803 receives data packets of other STAs in the first frequency band, and the transceiver transmits the data packets of the STA 600 in the second frequency band. In some embodiments, the transceiver 803 includes one or more radio frequency integrated circuits (RFICs, also sometimes referred to as radio frequency chips) and one or more antennas. The 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.
STA 800 is capable of receiving and transmitting data packets. In the process of receiving the data packet by the STA 800, the process of cooperative work of each component in the STA 800 includes, for example: the antenna (transceiver 803) receives the radio waves, converts the radio waves into radio frequency signals, and then sends the radio frequency signals to the radio frequency chip (transceiver 803); the radio frequency chip converts the radio frequency signal into an intermediate frequency signal, performs signal processing on the intermediate frequency signal, and sends the processed intermediate frequency signal to a baseband chip (the processor 801); the baseband chip (processor 801) obtains the data message according to the intermediate frequency signal processing. In the process of sending the data packet by the STA 800, the cooperative operation of the components in the STA 800 is as follows: a baseband chip (processor 801) generates an intermediate frequency signal carrying a data message, performs signal processing on the obtained intermediate frequency signal, and sends the processed intermediate frequency signal to a radio frequency chip; the radio frequency chip processes the intermediate frequency signal, converts the processed intermediate frequency signal into a radio frequency signal and sends the radio frequency signal to the antenna; the antenna converts the radio frequency signal into a radio wave and transmits the radio wave.
In some embodiments, processor 801 includes one or more CPUs, such as CPU0 and CPU1 shown in FIG. 16.
In some embodiments, the STA 800 optionally includes multiple processors, such as the processor 801 and the processor 805 shown in fig. 16. Each of these processors is, for example, a single-core processor (single-CPU) or, for example, a multi-core processor (multi-CPU). A processor herein may alternatively refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In some embodiments, STA 800 also includes an internal connection 804. The processor 801, the memory 802 and the at least one transceiver 803 are connected by an internal connection 804. Internal connections 804 comprise pathways that convey information between the aforementioned components. Optionally, internal connection 804 is a single board or bus. Optionally, internal connections 804 are divided into address buses, data buses, control buses, and the like.
In some embodiments, STA 800 also includes an input-output interface 806. The input-output interface 806 is connected to the internal connection 804.
Alternatively, the processor 801 may implement the method in the above-described embodiment by reading the program code stored in the memory 802, or the processor 801 may implement the method in the above-described embodiment by using the program code stored inside the processor 801. In the case where the processor 801 implements the method in the above-described embodiment by reading the program code stored in the memory 802, the program code 810 implementing the method provided by the embodiment of the present application is stored in the memory 802.
For more details of the processor 801 to implement the above functions, reference is made to the previous descriptions of the various method embodiments, which are not repeated here.
The following illustrates the basic hardware structure of the AP.
Fig. 17 is a schematic structural diagram of an AP according to an embodiment of the present disclosure, where the AP 900 includes at least one processor 901, a memory 902, and at least one transceiver 903.
Optionally, in conjunction with fig. 1, the AP 900 shown in fig. 17 is the receiving end in fig. 1. The processor 901 shown in fig. 17 includes the erasure decoder of fig. 1. The transceiver 903 shown in fig. 17 includes the receiver of fig. 1.
Alternatively, the AP 900 shown in fig. 17 is the AP in fig. 5, when viewed in conjunction with fig. 5.
Optionally, in conjunction with fig. 6, the AP 900 shown in fig. 17 is the AP 10 in fig. 6. The transceiver 903 is used for supporting the AP 900 to receive encoded messages sent by the STA 11, the STA 12, and the STA 13.
Optionally, in conjunction with fig. 7, the AP 900 shown in fig. 17 is the AP of fig. 7. The transceiver 903 is used to support the AP 900 to execute step S204. The decoding unit 702 is configured to support the AP 900 to perform step S205. The transmitting unit 703 is configured to support the AP 900 to transmit a first control frame (not shown in fig. 7).
Optionally, referring to fig. 8, the transceiver 903 shown in fig. 17 is configured to support the AP 900 to receive the MPDU shown in fig. 8. The processor 901 is configured to support the AP 900 to parse the MPDU shown in fig. 8, so as to obtain the coding identifier and the message carried by the MPDU shown in fig. 8.
Optionally, as seen in conjunction with fig. 9, the transceiver 903 shown in fig. 17 is configured to support the AP 900 to receive the a-MPDU shown in fig. 9. The processor 901 is configured to support the AP 900 to parse the a-MPDU shown in fig. 9, so as to obtain the coding identifier and the message carried by the a-MPDU shown in fig. 9.
Optionally, in conjunction with fig. 10, the transceiver 903 shown in fig. 17 is used to support the AP 900 to receive the a-MSDU shown in fig. 10. The processor 901 is configured to support the AP 900 to parse the a-MSDU shown in fig. 10, so as to obtain the encoded identifier and the message carried by the a-MSDU shown in fig. 10.
Alternatively, the AP 900 shown in fig. 17 is the AP of fig. 12, when viewed in conjunction with fig. 12. The transceiver 903 shown in fig. 17 includes the antenna 321 and the antenna 322 of fig. 12. The transceiver 903 shown in fig. 17 is used to support the AP 900 to receive the message set 307 and the message set 308 shown in fig. 12. The processor 901 is configured to support erasure coding by the AP 900 according to the message set 307 and the message set 308 shown in fig. 12.
Alternatively, the AP 900 shown in fig. 17 is the AP in fig. 13, when viewed in conjunction with fig. 13. The transmitting unit 703 shown in fig. 17 includes the antenna 321 and the antenna 322 shown in fig. 13. Processor 901 is configured to enable AP 900 to generate a MU-RTS as shown in fig. 13. The transmitting unit 703 shown in fig. 17 is configured to support the AP 900 to transmit the MU-RTS shown in fig. 13.
Optionally, when viewed in conjunction with fig. 14, the AP 900 shown in fig. 17 is used to implement the AP 700 in fig. 15. The transceiver 803 shown in fig. 17 is used to implement the receiving unit 701 and the transmitting unit 703 in fig. 15. The processor 801 shown in fig. 17 is used to implement the decoding unit 702 in fig. 15.
The processor 901 is, for example, a 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 present disclosure. For example, the processor 901 includes an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. PLDs are, for example, complex Programmable Logic Devices (CPLDs), field-programmable gate arrays (FPGAs), general Array Logic (GAL), or any combination thereof.
In some embodiments, the processor 901 is provided as a baseband circuit. The processor 901 is, for example, a separate circuit. The processor 901 is, for example, a circuit in a System On Chip (SOC). Alternatively, the processor 901 is a baseband chip integrated into a chip form, and the embodiment of the present application is not particularly limited thereto.
The Memory 902 is, for example, but not limited to, a read-only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only Memory (EEPROM), a compact disc read-only Memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), a magnetic disc storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Optionally, the memory 902 resides separately and is connected to the processor 901 via an internal connection 904. Alternatively, the memory 902 and the processor 901 are optionally integrated.
The transceiver 903 is used to communicate with STAs or other APs besides the AP 900. The transceiver 903 supports at least two frequency bands. Specifically, the transceiver 903 supports a first frequency band and a second frequency band. The transceiver 903 receives messages sent by some STAs in the first frequency band, and the transceiver 903 receives messages of other STAs in the second frequency band. In some embodiments, the transceiver 903 includes one or more radio frequency integrated circuits (RFICs, also sometimes referred to as radio frequency chips) and one or more antennas. The transceiver 903 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.
The AP 900 is capable of receiving and transmitting data messages. The cooperative operation of the components in the process of sending and receiving data packets by the AP 900 may refer to the corresponding description of the STA 800.
In some embodiments, processor 901 includes one or more CPUs, such as CPU0 and CPU1 shown in FIG. 17.
In some embodiments, AP 900 optionally includes multiple processors, such as processor 901 and processor 905 shown in fig. 17. Each of these processors is, for example, a single-core processor (single-CPU) or, for example, a multi-core processor (multi-CPU). A processor herein may alternatively refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In some embodiments, AP 900 also includes internal connections 904. The processor 901, the memory 902 and the at least one transceiver 903 are connected by an internal connection 904. Internal connections 904 comprise pathways that convey information between the aforementioned components. Optionally, internal connection 904 is a single board or bus. Optionally, the internal connections 904 are divided into address buses, data buses, control buses, and the like.
In some embodiments, AP 900 also includes an input-output interface 906. Input-output interface 906 is connected to internal connection 904.
Alternatively, the processor 901 may implement the method in the above-described embodiment by reading a program code stored in the memory 902, or the processor 901 may implement the method in the above-described embodiment by a program code stored inside the processor 901. In the case where the processor 901 implements the method in the above-described embodiment by reading the program code stored in the memory 902, the program code 910 implementing the method provided by the embodiment of the present application is stored in the memory 902.
For more details of the processor 901 to implement the above functions, reference is made to the description of the foregoing method embodiments, and the description is not repeated here.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments can be referred to each other, and each embodiment focuses on differences from other embodiments.
A refers to B and refers to the simple variation where A is the same as B or A is B.
The terms "first" and "second," and the like, in the description and in the claims of the embodiments of the present application, are used for distinguishing between different objects, and not for describing a particular order of the objects, nor are they to be construed as indicating or implying relative importance. For example, the first frequency band and the second frequency band are used to distinguish the different frequency bands, rather than to describe a particular order of the frequency bands, nor is it understood that the first frequency band is more important than the second frequency band.
In the present examples, unless otherwise specified, the meaning of "at least one" means one or more, and the meaning of "a plurality" means two or more. For example, the plurality of STAs refers to two or more STAs.
The above-described embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may 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 can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.
The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (22)

1. A method for transmitting uplink data in a wireless local area network, the method comprising:
a first station STA acquires a data message set, wherein the data message set comprises data messages from N STAs, and N is a positive integer greater than 1;
the first STA carries out erasure coding according to the data message set to obtain a coded message;
and the first STA sends the coding message to an Access Point (AP).
2. The method of claim 1, wherein the set of data messages includes data messages from N other STAs, the other STAs being STAs other than the first STA.
3. The method of claim 2, wherein the set of data messages is a set of randomly selected data messages from Y data messages, each data message of the Y data messages passing the check, and wherein Y is a positive integer greater than or equal to N.
4. The method of claim 3, wherein the Y data packets belong to data packets sent by X STAs, and X is a positive integer greater than or equal to Y.
5. The method of claim 1, wherein the set of data messages comprises data messages generated by the first STA.
6. The method according to any of claims 1-5, wherein the first STA sending the encoded message to an Access Point (AP) comprises:
and the first STA sends a first frame, wherein the first frame comprises the coded message and a coded identifier, and the coded identifier indicates the corresponding relation between the coded message and the N STAs.
7. The method of claim 6,
the coding identifier comprises N set bits, and each set bit in the coding identifier identifies one STA in the N STAs; alternatively, the first and second electrodes may be,
the coding identifier is an index of a mapping table, and the mapping table stores the combination of the N STAs.
8. The method according to claim 6 or 7, wherein the first frame comprises a frame body field, a field carrying the encoding identifier, and a check field, wherein the frame body field comprises the encoded packet, the field carrying the encoding identifier is located between the frame body field and the check field, and the content of the check field is used to check whether the encoded packet has an error during transmission.
9. The method according to any of claims 1-8, wherein N is a random number generated by the first STA; alternatively, N is a preset value.
10. The method of any of claims 1-9, wherein the first STA obtains a data corpus comprising:
and the first STA receives data messages from the N STAs on a first frequency band, wherein the first frequency band is a sending frequency band of the N STAs, and the N STAs are all other STAs except the first STA.
11. The method according to any one of claims 1 to 10, further comprising:
and the first STA sends the data message 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 except the first STA.
12. The method according to claim 11, wherein the first STA transmitting the first STA data packet in the second frequency band comprises:
and the first STA sends the data message of the first STA by using a first resource unit RU and adopting an Orthogonal Frequency Division Multiple Access (OFDMA) mode.
13. The method of claim 12, wherein before the first STA transmits the data packet of the first STA by using a first resource unit RU in an OFDMA manner, the method further comprises:
and the first STA receives a first control frame from the AP on the second frequency band, wherein the first control frame indicates the first STA to use the first RU when sending a data message.
14. A method for transmitting uplink data in a wireless local area network, the method comprising:
an Access Point (AP) receives a coded message from a first Station (STA), wherein the coded message is obtained by carrying out erasure coding according to a data message set, the data message set comprises data messages from N STAs, and N is a positive integer greater than 1;
and responding to the loss of the data messages sent by M STAs in the N STAs, and performing erasure decoding by the AP according to the coded messages, wherein M is a positive integer less than or equal to N.
15. The method of claim 14, wherein the AP performs erasure decoding based on the encoded packet, comprising:
the AP determines P data messages corresponding to the coding message from the data messages of which the contents of the check field pass the check according to the coding identification, wherein P is a positive integer;
and the AP performs erasure decoding according to the coded message and the P data messages.
16. The method according to claim 14 or 15, wherein before the AP receives the encoded message from the first STA, the method further comprises:
and the AP sends a first control frame to the first STA on a second frequency band, wherein the first control frame indicates the first STA to use a first resource unit RU when sending the data message.
17. A Station (STA), the STA being a first STA, the STA comprising:
an obtaining unit, configured to obtain a data message set, where the data message set includes data messages from N STAs, and N is a positive integer greater than 1;
the coding unit is used for carrying out erasure coding according to the data message set to obtain a coded message;
and the sending unit is used for sending the coding message to the access point AP.
18. An access point, AP, comprising:
a receiving unit, configured to receive an encoded packet from a first station STA, where the encoded packet is obtained by performing erasure coding according to a data packet set, where the data packet set includes data packets from N STAs, and N is a positive integer greater than 1;
and the decoding unit is used for responding to the loss of the data messages sent by M STAs in the N STAs and carrying out erasure decoding according to the coded messages, wherein M is a positive integer less than or equal to N.
19. A Station (STA), comprising: a processor and a transceiver;
the processor for invoking a computer program for implementing the method of any one of claims 1 to 13 in cooperation with the transceiver.
20. An access point, AP, comprising: a processor and a transceiver;
the processor for invoking a computer program for implementing the method of any of claims 14 to 16 in cooperation with the transceiver.
21. A computer-readable storage medium having stored therein at least one instruction which, when executed on a computer, causes the computer to perform the method of any one of claims 1 to 16.
22. A 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 of any one of claims 1 to 16.
CN202110594909.4A 2021-05-28 2021-05-28 Method and device for transmitting uplink data in wireless local area network Pending CN115412200A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110594909.4A CN115412200A (en) 2021-05-28 2021-05-28 Method and device for transmitting uplink data in wireless local area network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110594909.4A CN115412200A (en) 2021-05-28 2021-05-28 Method and device for transmitting uplink data in wireless local area network

Publications (1)

Publication Number Publication Date
CN115412200A true CN115412200A (en) 2022-11-29

Family

ID=84155946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110594909.4A Pending CN115412200A (en) 2021-05-28 2021-05-28 Method and device for transmitting uplink data in wireless local area network

Country Status (1)

Country Link
CN (1) CN115412200A (en)

Similar Documents

Publication Publication Date Title
US9203560B2 (en) Methods and apparatus for delayed block acknowledgement in a wireless local area network (WLAN)
US9337961B2 (en) Method and apparatus for sending very high throughput WLAN acknowledgment frames
JP5480129B2 (en) Communication apparatus and communication method
CN109792322B (en) Method of communication, computer readable medium and apparatus for communication
CN110034848B (en) Information transmission method and device
KR20110115615A (en) Method and apparatus for acknowledging successful reception of a data transmission for mutli-access compatibility in a wireless communication system
US11018806B2 (en) Data mapping method and apparatus in wireless communication system
EP3934318A1 (en) Communication device, communication method and program
US20230139754A1 (en) Coding method and apparatus
US9538526B2 (en) Method and device for transmitting frame
EP3934316A1 (en) Communication device and communication method of same, information processing device and control method of same, and program
CN112584549B (en) Method and device for determining physical direct connection feedback channel resources
US20240031853A1 (en) Station apparatus and access point apparatus
US20210368391A1 (en) Communication device, communication method thereof, information processing device, control method thereof, and computer-readable storage medium
EP3790213B1 (en) Mac-based hybrid automatic repeat request (harq)
US11271686B2 (en) Hybrid automatic repeat request acknowledgement and upload multiuser operation
CN113491091B (en) Communication apparatus and method, information processing apparatus, control method therefor, and storage medium
CN111132229B (en) Data communication method and related device
KR20180108015A (en) Apparatus and method for transmitting/receiving of data in a wireless communication system providing different services
US11757585B2 (en) Data transmission method and related apparatus
US11843973B2 (en) Communication apparatus, processing apparatus, communication method, and storage medium, for throughput improvement of wireless networks
US20220052889A1 (en) Communication apparatus, information processing apparatus, control method, and storage medium
CN115412200A (en) Method and device for transmitting uplink data in wireless local area network
CN114760012A (en) Multicast feedback method, device and system
EP4210256A1 (en) Information processing device, and information processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination