This application relates to the wireless communication field, and more particularly, to a data transmission method and a communication apparatus.
WI-FI is a most widely used wireless network transmission technology, and is applied to almost all intelligent devices (for example, a mobile phone, a computer, a watch, a headset, a tablet computer, and a game console). Promotion of WI-FI brings much convenience to life, but also complicates a network environment. There are various types of interference between devices, including co-channel interference, overlapping-channel interference, and adjacent-channel interference. As a bandwidth increases, signals are more sensitive to interference, especially overlapping-channel interference. As shown in
Therefore, in WI-FI 7, a multiple resource unit (MRU) technology is proposed.
In an interference scenario with a high duty cycle, the PSDU subcarrier mapping manner in the MRU can effectively improve overall performance. However, a spectrum resource waste may still exist. In addition, most interference scenarios actually have moderate or lower duty cycles. Consequently, when the foregoing solution is used, spectra in an entire bandwidth cannot be properly utilized. Especially for burst and temporary hidden interference, it is difficult to identify a location of the interference in real time, and the interference cannot be properly avoided by using the preamble puncturing technology, resulting in a great decrease in a system throughput.
This application provides a data transmission method, to improve spectral efficiency and a transmission rate in an interference scenario.
According to a first aspect, a data transmission method is provided, and is performed in a system in which a channel is segmented into N sub-channels. The method may be performed by a transmitter device, or a chip or a circuit disposed in a transmitter device. This is not limited in this application.
The method may include: generating a physical layer protocol data unit (PPDU), where the PPDU includes a PSDU, the PSDU includes N tiles, the N tiles one-to-one correspond to the N sub-channels, each sub-channel is used to carry a corresponding tile, and each tile includes at least one MPDU in the PPDU, where N≥2 and N is an integer; and sending the PPDU through the N sub-channels.
It should be understood that a channel actually allocated for communication between the transmitter device and a receiver device may be segmented into M sub-channels. However, because some sub-channels have large interference, the transmitter device does not schedule these sub-channels, and sends the PPDU only through the remaining N sub-channels, where M≥N≥2. In other words, the method is performed in a system in which a channel #1 is segmented into N sub-channels. The channel #1 herein may be understood.
It should be understood that a channel actually allocated for communication between the transmitter device and a receiver device may be segmented into M sub-channels. However, because some sub-channels have large interference, the transmitter device does not schedule these sub-channels, and sends the PPDU only through the remaining N sub-channels, where M≥N≥2. In other words, the method is performed in a system in which a channel #1 is segmented into N sub-channels. The channel #1 herein may be understood as a channel (including a sub-channel on which interference may exist) actually allocated for communication between the transmitter device and the receiver device. Alternatively, the channel #1 may be understood as a remaining channel obtained by removing a sub-channel with large interference from a channel actually allocated for communication between the transmitter device and the receiver device.
In the foregoing technical solutions, a plurality of MPDUs in the PPDU is transmitted through the N sub-channels in a tile-based allocation manner. In this way, for interference that randomly arrives in a frequency band, regardless of continuous interference or instantaneous interference, MPDUs in a frequency band with interference and MPDUs in a frequency band without interference are independent of each other. This does not affect data receiving in the frequency band without interference, does not cause a spectrum resource waste, and can improve spectral efficiency and a transmission rate in an interference scenario.
In some implementations of the first aspect, when a part of a first MPDU in L MPDUs is allocated to a first tile in the N tiles based on a proportion, and a remaining part of the first MPDU is allocated to a second tile in the N tiles, the first MPDU belongs to the first tile, a first quantity of symbols required for a non-cross-tile MPDU that is allocated to the first tile is less than a second quantity of symbols required for a non-cross-tile MPDU that is allocated to the second tile, the first quantity of symbols is a ratio of a quantity of bits carried in the non-cross-tile MPDU that is allocated to the first tile to a quantity of valid data bits carried in a symbol corresponding to the first sub-channel, and the second quantity of symbols is a ratio of a quantity of bits carried in the non-cross-tile MPDU that is allocated to the second tile to a quantity of valid data bits carried in a symbol corresponding to the second sub-channel; or when all of a first MPDU in L MPDUs is allocated to a first tile in the N tiles based on a proportion, the first MPDU belongs to the first tile.
In the foregoing technical solutions, a cross-tile MPDU allocation manner is provided. The allocation manner is easy to implement, and can save symbol resources in a communication system.
In some implementations of the first aspect, the method further includes generating a second MPDU; and when a length of the second MPDU is greater than or equal to a first threshold, segmenting the second MPDU into a plurality of MPDUs that meet a requirement of the first threshold, where the plurality of MPDUs are included in the L MPDUs, and the first threshold is an MPDU segmenting threshold.
It should be understood that the second MPDU herein is an MPDU generated by the transmitter device at a medium access control (MAC) layer. When the length of the second MPDU is greater than or equal to the first threshold, the MPDU may be segmented at the MAC layer into the plurality of MPDUs that meet the requirement of the first threshold. Then, the plurality of MPDUs (namely, the L MPDUs) that meet the requirement of the first threshold is sent at the MAC layer to a physical layer for subsequent tile-based allocation.
It may be understood that, when the MPDU is excessively long, a tile to which the MPDU is allocated may occupy more symbols than a tile to which the MPDU is not allocated. Consequently, when the tile to which the MPDU is not allocated is used for transmission, resources are wasted. In the foregoing technical solutions, the length of the MPDU may be controlled, to avoid generating an excessively long MPDU. This reduces a resource waste.
According to a second aspect, a data transmission method is provided, and is performed in a system in which a channel is segmented into N sub-channels. The method may be performed by a receiver device, or a chip or a circuit disposed in a receiver device. This is not limited in this application.
The method may include: receiving a physical layer protocol data unit PPDU through the N sub-channels, where the PPDU includes a PSDU, the PSDU includes N tiles, the N tiles one-to-one correspond to the N sub-channels, N≥2, each sub-channel is used to carry a corresponding tile, and each tile includes at least one medium access control protocol data unit MPDU in the PPDU, where N≥2 and N is an integer; and parsing the PPDU.
For beneficial effect of the second aspect, refer to the descriptions in the first aspect. Details are not described herein again.
In some implementations of the first aspect or the second aspect, the MPDU included in each of the N tiles is obtained by allocating, based on a proportion of a quantity of valid data bits carried in one symbol corresponding to each of the N sub-channels, L MPDUs included in an aggregate medium access control protocol data unit A-MPDU in the PPDU, where L≥N and L is an integer.
In some implementations of the first aspect or the second aspect, N is a sum of a quantity of MRU-type bandwidths and a quantity of non-MRU-type bandwidths of the channel, or N is a quantity of equally segmented bandwidths of the channel.
It should be understood that the N sub-channels obtained through segmenting one-to-one correspond to the N bandwidths obtained through segmenting.
For example, N is the quantity of equally segmented bandwidths of channel. It may be understood that N is a quantity of sub-channels obtained by equally segmenting the channel based on a width of a first bandwidth.
During channel segmenting based on the foregoing technical solutions, based on importance of a service and a service volume, important service data may be allocated to a tile without interference and with a large quantity of valid data bits, or repeatedly sent to evenly allocated tiles, to improve decoding accuracy.
In some implementations of the first aspect or the second aspect, the PPDU further includes one or more repeated service fields.
In some implementations of the first aspect or the second aspect, each tile includes the service field.
In the foregoing technical solutions, one service field is mapped to each of the N tiles, to improve a decoding probability of a scrambling seed.
In some implementations of the first aspect or the second aspect, a third tile in the N tiles includes the service field, and the third tile is one of the N tiles.
In some implementations of the first aspect or the second aspect, a primary channel of the channel is included in a sub-channel that carries the third tile.
In the foregoing technical solutions, the service field is mapped to the tile corresponding to the sub-channel that is in the N sub-channels and that includes the primary channel, to reduce a possibility of being interfered with.
In some implementations of the first aspect or the second aspect, when N is the quantity of equally segmented bandwidths of the channel, the third tile is a tile that includes the service field and that is generated by equally segmenting the service field and the L MPDUs as a whole into N parts.
In some implementations of the first aspect or the second aspect, N=4.
In some implementations of the first aspect or the second aspect, the PPDU includes a signaling (SIG) field, the SIG field includes a first subfield and a second subfield, the first subfield indicates a tile-based allocation manner of the PSDU, and the second subfield indicates a mapping manner of the service field in the N tiles.
In some implementations of the first aspect or the second aspect, the SIG field further includes a third subfield, and the third subfield indicates a modulation order used by the N tiles.
In some implementations of the first aspect or the second aspect, the SIG field further includes a fourth subfield, and the fourth subfield indicates a quantity of spatial streams used by the N tiles.
According to a third aspect, a communication apparatus is provided, including modules or units configured to perform the method in either the first aspect or the second aspect and any possible implementation of the first aspect or the second aspect.
According to a fourth aspect, this application provides a communication device, including at least one processor. The at least one processor is coupled to at least one storage, the at least one storage is configured to store a computer program or instructions, and the at least one processor is configured to invoke the computer program or the instructions from the at least one storage, and run the computer program or the instructions, to enable the communication device to perform the method in either the first aspect or the second aspect and any possible implementation of the first aspect or the second aspect.
According to a fifth aspect, this application provides a communication device, including a processor, a storage, and a transceiver. The storage is configured to store a computer program. The processor is configured to invoke and run the computer program stored in the storage, and control the transceiver to receive and send a signal, to enable the communication device to perform the method in either the first aspect or the second aspect and any possible implementation of the first aspect or the second aspect.
According to a sixth aspect, this application provides a communication apparatus, including a processor and a communication interface. The communication interface is configured to receive a signal, and transmit the received signal to the processor, and the processor processes the signal, to enable the communication apparatus to perform the method in either the first aspect or the second aspect and any possible implementation of the first aspect or the second aspect.
Optionally, the communication interface may be an interface circuit, an input/output interface, or the like. The processor may be a processing circuit, a logic circuit, or the like.
Optionally, the communication apparatus in the sixth aspect may be a chip or an integrated circuit.
According to a seventh aspect, this application provides a computer-readable storage medium. The computer-readable storage medium stores computer instructions, and when the computer instructions are run on a computer, the method in either the first aspect or the second aspect and any possible implementation of the first aspect or the second aspect is performed.
According to an eighth aspect, this application provides a computer program product. The computer program product includes computer program code, and when the computer program code is run on a computer, the method in either the first aspect or the second aspect and any possible implementation of the first aspect or the second aspect is performed.
According to a ninth aspect, a PSDU sending method is provided. The method may be performed by a sending device, or a chip or a circuit disposed in a sending device. This is not limited in this application.
The method may include: generating a PSDU; and sending the PSDU in a first frequency band, where the first frequency band includes a frequency band with interference and a frequency band without interference, and MPDUs in the frequency band with interference and the frequency band without interference are separately transmitted via tiles.
With reference to the ninth aspect, in some implementations of the ninth aspect, the first frequency band is segmented into two tiles based on an extremely high throughput (EHT) MRU bandwidth and a remaining non-MRU bandwidth, and lengths of PSDUs of the tiles are allocated in proportion based on respective quantities of valid subcarriers.
With reference to the ninth aspect, in some implementations of the ninth aspect, a service field is preferentially allocated to a tile on which a primary channel is located.
With reference to the ninth aspect, in some implementations of the ninth aspect, an entire bandwidth is evenly segmented into tiles, and lengths of PSDUs of the tiles are allocated based on a same proportion.
With reference to the ninth aspect, in some implementations of the ninth aspect, an average quantity of bits carried in a valid carrier on each of the two tiles is determined, a cross-tile MPDU is allocated to a tile with a larger average quantity of bits carried in a valid carrier, or allocated to a tile with less interference based on an interference proportion.
With reference to the ninth aspect, in some implementations of the ninth aspect, service field is added to each tile.
With reference to the ninth aspect, in some implementations of the ninth aspect, medium access control service data unit MSDU segmenting is performed on an MPDU of a tile with interference, to obtain two or more smaller MPDUs.
With reference to the ninth aspect, in some implementations of the ninth aspect, different data is placed on tiles based on importance of an upper-layer data service and interference frequency of the tile. Based on a quality of service (QoS) level of the upper-layer data service, a PSDU with a high level is repeatedly mapped to each tile, to improve decoding accuracy of service data.
According to a tenth aspect, this application provides a communication apparatus. The communication apparatus has functions of implementing the method in the ninth aspect or any possible implementation of the ninth aspect. The functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or the software includes one or more units corresponding to the foregoing functions, for example, a processing unit, a receiving unit, or a sending unit.
According to an eleventh aspect, this application provides a communication device, including at least one processor. The at least one processor is coupled to at least one storage, the at least one storage is configured to store a computer program or instructions, and the at least one processor is configured to invoke the computer program or the instructions from the at least one storage and run the computer program or the instructions, to enable the communication device to perform the method in the ninth aspect or any possible implementation of the ninth aspect.
According to a twelfth aspect, this application provides a communication device, including a processor, a storage, and a transceiver. The storage is configured to store a computer program. The processor is configured to invoke and run the computer program stored in the storage, and control the transceiver to receive and send a signal, to enable the communication device to perform the method in the ninth aspect or any possible implementation of the ninth aspect.
According to a thirteenth aspect, this application provides a communication apparatus, including a processor and a communication interface. The communication interface is configured to receive a signal, and transmit the received signal to the processor, and the processor processes the signal, to enable the communication apparatus to perform the method in the ninth aspect or any possible implementation of the ninth aspect.
Optionally, the communication interface may be an interface circuit, an input/output interface, or the like. The processor may be a processing circuit, a logic circuit, or the like.
Optionally, the communication apparatus in the thirteenth aspect may be a chip or an integrated circuit.
According to a fourteenth aspect, this application provides a computer-readable storage medium. The computer-readable storage medium stores computer instructions. When the computer instructions are run on a computer, the method in the ninth aspect or any possible implementation of the ninth aspect is performed.
According to a fifteenth aspect, this application provides a computer program product. The computer program product includes computer program code, and when the computer program code is run on a computer, the method in the ninth aspect or any possible implementation of the ninth aspect is performed.
The following describes technical solutions in embodiments of this application with reference to accompanying drawings.
Embodiments of this application may be applied to a wireless local area network (WLAN). Currently, a standard used for the WLAN is the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series. The WLAN may include a plurality of basic service sets (BSS). Network nodes in the BSS are a station (STA) and an access point (AP). Each BSS may include one AP and a plurality of STAs associated with the AP.
The AP in embodiments of this application may also be referred to as a wireless access point, a hotspot, or the like. The AP is an access point for a mobile user to access a wired network, and is mainly deployed in a home, inside a building, and inside a campus, with a typical coverage radius of tens of meters to hundreds of meters. Certainly, the AP may alternatively be deployed outdoors. The AP is equivalent to a bridge that connects a wired network and a wireless network. A main function of the AP is to connect wireless network clients together, and then connect the wireless network to the Ethernet. In an example, the AP may be a terminal device or a network device with a WI-FI chip. Optionally, the AP may be a device that supports a plurality of WLAN standards such as IEEE 802.11a/b/g, IEEE 802.11n, IEEE 802.11ac, IEEE 802.11ax, and IEEE 802.11be or a later version that is currently being discussed.
The AP in this application may be a high efficiency (HE) STA, an EHT STA, or a STA applicable to a future-generation WI-FI standard.
For example, the access point and the station may be devices used in the Internet of vehicles, Internet of things nodes or sensors in the Internet of things (IoT), smart cameras, smart remote controls, and smart water meters in a smart home, and sensors in a smart city.
The STA in embodiments of this application may be a wireless communication chip, a wireless sensor, or a wireless communication terminal, for example, a mobile phone supporting a WI-FI communication function, a tablet computer supporting a WI-FI communication function, a set-top box supporting a WI-FI communication function, a smart television supporting a WI-FI communication function, a smart wearable device supporting a WI-FI communication function, a vehicle-mounted communication device supporting a WI-FI communication function, and a computer supporting a WI-FI communication function. Optionally, the STA may support an 802.11ax standard. Further, optionally, the STA supports a plurality of WLAN standards such as IEEE 802.11ac, IEEE 802.11n, IEEE 802.11g, IEEE 802.11b, and IEEE 802.11a or a subsequent version.
In embodiments of this application, the STA or the AP includes a hardware layer, an operating system layer that runs on the hardware layer, and an application layer that runs on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also referred to as a main memory). The operating system may be any one or more types of computer operating systems that implement service processing through a process, for example, a LINUX operating system, a UNIX operating system, an ANDROID operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as a browser, an address book, word processing software, and instant messaging software. In addition, a specific structure of an execution body of a method provided in embodiments of this application is not particularly limited in embodiments of this application, provided that the execution body can run a program that records code of the method provided in embodiments of this application to perform communication according to the method provided in embodiments of this application. For example, the execution body of the method provided in embodiments of this application may be a STA, an AP, or a functional module that is in a STA or an AP and that can invoke and execute the program.
In addition, aspects or features of this application may be implemented as a method, an apparatus, or a product that uses standard programming and/or engineering technologies. The term “product” used in this application covers a computer program that can be accessed from any computer-readable component, carrier or medium. For example, the computer-readable medium may include but is not limited to: a magnetic storage component (for example, a hard disk, a floppy disk or a magnetic tape), an optical disc (for example, a compact disc (CD), or a digital versatile disc (DVD)), a smart card, and a flash memory component (for example, an erasable programmable read-only memory (EPROM), a card, a stick, or a key drive). In addition, various storage media described in this specification may indicate one or more devices and/or other machine-readable media that are configured to store information. The term “machine-readable media” may include but is not limited to a radio channel, and various other media that can store, include and/or carry instructions and/or data.
Alternatively, embodiments of this application are applicable to a wireless local area network system, for example, an IoT network or a vehicle-to-everything (V2X) network. Certainly, embodiments of this application are further applicable to other possible communication systems, for example, a Long-Term Evolution (LTE) system, an LTE frequency-division duplex (FDD) system, an LTE time-division duplex (TDD) system, a Universal Mobile Telecommunications System (UMTS), a Worldwide Interoperability for Microwave Access (WiMAX) communication system, a 5th generation (5G) communication system, and a future 6th generation (6G) communication system.
The foregoing communication systems applicable to this application are merely examples for description, and the communication systems applicable to this application are not limited thereto. This is uniformly described herein, and details are not described below again.
It should be understood that
For ease of understanding embodiments of this application, the following first describes several nouns or terms in this application.
1. Symbol: The symbol is an abbreviation of a time domain symbol, and may also be referred to as an OFDM symbol.
2. Subcarrier: Wireless communication signals are transmitted in specific channel bandwidths. A bandwidth may be segmented, by using an OFDM technology, into a plurality of frequency components within a channel bandwidth at a specific frequency spacing. These components are referred to as subcarriers.
3. RU: The RU is a minimum time-frequency unit in the WLAN. Seven types of contiguous RUs are defined in the standard: a 26-tone RU, a 52-tone RU, a 106-tone RU, a 242-tone RU, a 484-tone RU, a 996-tone RU, and a 2*996-tone RU. The 26-tone RU indicates that the type of RU includes 26 subcarriers, the 52-tone RU indicates that the type of RU includes 52 subcarriers, and the rest may be deduced by analogy. Currently, a spacing of subcarriers in a WLAN system is 78.125 kHz, and there are about 12.8 subcarriers in a 1 MHz bandwidth. Therefore, the 26-tone RU corresponds to about 2 MHz, the 52-tone RU corresponds to about 4 MHz, the 106-tone RU corresponds to about 8 MHz, and the 242-tone RU corresponds to about 20 MHz. For example, when a bandwidth is 80 MHz, the entire bandwidth may include an entire 996-tone RU, four 242-tone RUs, or any combination of a 26-tone RU, a 52-tone RU, a 106-tone RU, a 242-tone RU, and a 484-tone RU. When a bandwidth is 160 MHz or 80+80 MHz, the entire bandwidth may be considered as replication of two subcarrier plans of 80 MHz, and may include an entire 2*996-tone RU or any one of or a combination of at least two of a 26-tone RU, a 52-tone RU, a 106-tone RU, a 242-tone RU, 484-tone RU, and a 996-tone RU.
4. MRU: The multi-RU is an RU combination including two or more RUs. These MRUs may be contiguous or non-contiguous. For example, the MRU may be a 484+242-tone RU in an 80 MHz bandwidth, a 996+484-tone RU and a 996+484+242-tone RU in a 160 MHz bandwidth, a 2*996+484-tone RU, a 3*996-tone RU, and a 3*996+484-tone RU in a 320 MHz bandwidth, and the like.
5. Preamble puncturing technology: In the WI-FI 6 protocol, a new multi-bandwidth access manner, namely, the preamble puncturing technology is defined. This technology is based on orthogonal frequency-division multiple access (OFDMA) transmission technology, and can effectively optimize multi-channel bonding access. During preamble puncturing, the STA is allowed to delete a 20 MHz channel from an 80 MHz or 160 MHz channel during transmission, that is, a middle part of the channel is deleted. This is similar to a puncturing operation. An example of the preamble puncturing technology is shown in
6. MAC service data unit: The MAC service data unit is a service data unit at a MAC layer, and includes original to-be-sent data information.
7. MAC protocol data unit: The MAC protocol data unit is a protocol data unit at a MAC layer, and includes information about to-be-sent data after an MSDU is packaged based on a specific frame structure.
8. PSDU: The PSDU may be considered as MPDU information transmitted from the MAC layer.
9. PPDU: The PPDU is a data packet obtained by encapsulating a PSDU based on a specific frame format, and the data packet is also final data encapsulation that is to be sent through a physical medium.
In this application, unless otherwise specified, for same or similar parts of embodiments, refer to each other. In embodiments of this application and implementations/methods/implementation methods in embodiments, unless otherwise specified or a logical conflict occurs, terms and/or descriptions are consistent and may be mutually referenced between different embodiments and between the implementations/methods/implementation methods in embodiments. Technical features in different embodiments and the implementations/methods/implementation methods in embodiments may be combined to form a new embodiment, implementation, method, or implementation method based on an internal logical relationship thereof. The following implementations of this application are not intended to limit the protection scope of this application.
It may be understood that in some scenarios, some optional features in embodiments of this application may be independently implemented without depending on another feature, for example, a solution on which the optional features are currently based, to resolve a corresponding technical problem and achieve corresponding effect. Alternatively, in some scenarios, the optional features may be combined with other features based on a requirement. Correspondingly, the apparatus provided in embodiments of this application may also correspondingly implement these features or functions. Details are not described herein.
The technical solutions provided in this application are described in detail below with reference to the accompanying drawings.
The method is performed in a system including a channel #1, and the channel #1 may be segmented into N sub-channels, where N≥2. The channel #1 herein may be understood as a channel (including a bandwidth on which interference may exist) actually allocated for communication between the transmitter device and the receiver device. Alternatively, the channel #1 may be understood as a remaining channel obtained by removing a sub-channel with large interference from a channel actually allocated for communication between the transmitter device and the receiver device.
S510: The transmitter device generates a PPDU, where the PPDU includes a PSDU, the PSDU includes N tiles, the N tiles one-to-one correspond to the N sub-channels, each sub-channel is used to carry a corresponding tile, and each of the N tiles includes at least one MPDU.
An aggregate medium access control protocol data unit (aggregate MAC protocol data unit, A-MPDU) in the PPDU includes L MPDUs, the L MPDUs are included in the N tiles, and each tile includes at least one of the L MPDUs, where L≥N≥2, and N and L are integers.
Optionally, a quantity of MPDUs included in each of the N tiles is obtained by allocating, based on a proportion of a quantity of valid data bits carried in one symbol corresponding to each of the N sub-channels, the L MPDUs included in the A-MPDU in the PPDU.
It may be understood that the L MPDUs in this application are the A-MPDU (for example, a plurality of MPDUs) received, from a MAC layer, by the transmitter device at a physical layer.
Optionally, when a length of an MPDU generated at the MAC layer is greater than or equal to a first threshold, the MPDU may be segmented, at the MAC layer, into a plurality of MPDUs that meet a requirement of the first threshold, and the plurality of MPDUs are sent to the physical layer for processing, where the first threshold is an MPDU segmenting threshold that is preset or defined in a protocol.
It may be further understood that, in this application, a manner in which the PSDU is segmented into the N tiles that one-to-one correspond (or are one-to-one mapped) to the N sub-channels may also be referred to as a subcarrier mapping manner of the PSDU. The two descriptions in this application may be replaced with each other. This is not limited.
In an implementation, generating the to-be-sent PPDU at the physical layer in step S410 may be implemented by using the following steps:
For example, N may be a sum of a quantity of EHT MRU-type bandwidths and a quantity of non-MRU-type bandwidths that are included in the channel #1. For example, when the quantity of MRU-type bandwidths is 2, and the quantity of MRU-type bandwidths is 3, N=5. The channel #1 is segmented into five sub-channels that one-to-one correspond to five bandwidths.
For example, N may be an integer greater than or equal to 2, and the N sub-channels one-to-one correspond to N bandwidths obtained by equally segmenting a bandwidth of the channel #1 into N parts. For example, N=4.
In an example, the L MPDUs may be pre-allocated to the N tiles based on the proportion of the quantity of valid data bits that can be carried on one symbol of each of the sub-channels corresponding to each of the N tiles. The quantity of valid data bits NDBPS,tl that can be carried on one symbol of a sub-channel corresponding to one tile may be determined according to the following formula:
Nsd,tl is the quantity of valid data subcarriers in one symbol of a sub-channel corresponding to one tile, NBPSCS,tl is a quantity of bits carried in one valid data subcarrier, Rtl is a coding rate, and Nss,tl indicates a quantity of spatial streams of each tile.
Optionally, in a pre-allocating process, allocation may be performed based on importance of data included in the L MPDUs. For example, an MPDU including basic information, key information, and information with a high real-time requirement is placed on a tile corresponding to a sub-channel with smaller interference, and an MPDU corresponding to other information may be placed on a tile corresponding to a sub-channel with higher interference frequency. This can improve system reliability and reduce a retransmission rate. Based on a quality of service (QoS) level of an upper-layer data service, a PSDU with a high level is repeatedly mapped to each tile, to improve decoding accuracy of service data.
It should be understood that, in the process of pre-allocating the L MPDUs, some MPDUs may be completely allocated to one tile. For example, in
In this case, the non-cross-tile MPDU is finally allocated to the pre-allocated tile, and the cross-tile MPDU #K is allocated to either of the two pre-allocated tiles, or is allocated, based on a preset condition, to one of the two pre-allocated tiles that meets the condition. For ease of understanding, the cross-tile MPDU #K in
For example, a preset condition 1 is used. Which tile the MPDU #K is finally allocated to is determined based on the following preset condition 1:
MDPU_LENGTHi is a length of an MPDU i, a unit length occupies 1 byte,
is a quantity of bits carried in a non-cross-tile MPDU pre-allocated to the tile 0, and
is a quantity of bits carried in a non-cross-tile MPDU pre-allocated to the tile 1.
indicates a quantity of symbols required for transmitting, through the sub-channel corresponding to the tile 0, the non-cross-tile MPDU pre-allocated to the tile 0, and
indicates a quantity of symbols required for transmitting, through the sub-channel corresponding to the tile 1, the non-cross-tile MPDU pre-allocated to the tile 1. In other words, the foregoing formula indicates that the cross-tile MPDU K is allocated to a tile that requires fewer symbols.
For example, a preset condition 2 is used. Which tile the MPDU #K is finally allocated to is determined based on the following preset condition 2:
Atot-bit is a quantity of bits carried in a part A that is of the cross-tile MPDU K and that is pre-allocated to the tile 0, and Btot-bit is a quantity of bits carried in a part B that is of the cross-tile MPDU K and that is pre-allocated to the tile 1.
indicates a quantity of symbols required for transmitting the part A of the MPDU through the sub-channel corresponding to the tile 0, and
indicates a quantity of symbols required for transmitting the part B of the MPDU through the sub-channel corresponding to the tile 1. In other words, the foregoing formula indicates that the cross-tile MPDU K is allocated to a tile that requires more symbols.
It should be understood that the PPDU generated by the transmitter device at the physical layer further includes one or more repeated service fields. The service field is a field added by the transmitter device at the physical layer.
It should be understood that, in this application, the “field” may also be referred to as a domain or a part. Descriptions of same or similar cases are omitted in the following.
For example, the PPDU includes one service field, and the service field may be allocated to any one of the N tiles.
For example, the PPDU includes one service field, and the service field may be allocated to a tile corresponding to a sub-channel that is in the N sub-channels and that includes a primary channel, to reduce a possibility of being interfered with. It should be understood that the primary channel herein is a primary channel of the channel #1.
For example, the PPDU includes N same service fields, and the N tiles each include one service field, to improve a decoding probability of a scrambling seed.
(5) Determine a Quantity of Pre-FEC Padded Bits of Each Tile. This Step Includes Step (a) to Step (j).
(a) Calculate a quantity Nsym,init,tl of initial symbols and an a factor ainit,tl of each tile. A calculation process is as follows:
PSDU_LENGTHtl is a total length of all MPDUs allocated to corresponding tiles, a unit length occupies 1 byte, and Nservice is a quantity of valid bits occupied by the service domain.
NDBPS,short,tl=NCBPS,short,tl·Rtl=Nsd,short,sl·Nss,tl·NBPSCS,tl·Rtl, where Nsd,short,tl may be determined according to Table 36-46 in the IEEE P802.11be_D1.3 protocol.
(b) Search for a tile with a largest encoding length from all tiles according to the following formula:
In this application, a found tile with a largest encoding length is denoted as tlmax, and Nsym,init,tlmax and ainit,tlmax corresponding to tlmax are used for all tiles in subsequent steps.
(c) Calculate a quantity of valid data bits and a quantity of encoded bits of a last symbol of each tile based on ainit,tlmax:
(d) Calculate a total data length Npld,tl and a valid encoding length Navbits,tl of each tile:
(e) Determine, based on a low density parity check code (LDPC) PPDU encoding process in the 11n protocol, an LDPC codeword length LLDPC,tl, a quantity NCW,tl of LDPC codewords, a quantity Nshrt,tl of shortened bits, and a quantity Npunc,tl of punctured bits that are required by each tile.
(f) Determine a value of an LDPC extra symbol field. As long as one tile meets the following formula, the value of the LDPC extra symbol field is 1; otherwise, the value of the LDPC extra symbol field is 0.
(g) If the LDPC extra symbol field is equal to 1, update a total valid encoding length Navbits,tl and a quantity Npunc,tl of punctured bits of each tile:
(h) Determine final Nsym and a for all the tiles.
When the LDPC extra symbol field is equal to 1, final Nsym and a meet the following formula:
When the LDPC extra symbol field is equal to 0, final Nsym and a meet the following formula:
(i) Update the quantity of encoded bits of the last symbol of each tile, where the quantity of valid data bits of the last symbol does not need to be updated:
(j) Calculate a quantity of pre-FEC padded (pre-FEC padding) bits of each tile:
(6) Perform scrambling and low density parity check code (low density parity check code, LDPC) encoding processing on each tile.
(7) Calculate a quantity of post-FEC padded (post-FEC padding) bits of each tile:
(8) Separately map the foregoing calculated bit results of the tiles to Nsd,tl valid subcarriers of Nss,tl spatial flows included in corresponding sub-channels.
(9) For another process, refer to the existing 802.11be protocol. Details are not described herein.
The following uses examples to describe implementation processes of two specific PSDU subcarrier mapping methods with reference to
The following describes the PSDU subcarrier mapping method shown in
Step 1: As shown in
As shown in
Step 2: The pre-allocated non-cross-tile MPDU is directly allocated to the pre-allocated tile, that is, the MPDU #1 to the MPDU #K−1 are finally allocated to the tile 0, and the MPDU #K+1 to the MPDU #L are allocated to the tile 1; and the cross-tile MPDU #K is allocated, based on a preset condition, to a tile that is in the two pre-allocated tiles and that meets the condition. For a possible preset condition, refer to step (3) in S510. Details are not described again. For example, the MPDU #K is finally allocated to the tile 0 based on an allocation result in
Step 3: Repeatedly allocate (or repeatedly map) the service field generated by the transmitter device at a physical layer to each tile, to improve a decoding probability of a scrambling seed. As shown in
Step 4: Calculate the quantity of pre-FEC padded (pre-FEC padding) bits. Step 4 includes step (a) to step (j).
(a) Calculate a quantity Nsym,init,tl of initial symbols and an a factor ainit,tl of each tile. A calculation process is as follows:
It should be understood that, in this application, calculation processes of parameters corresponding to the tiles are the same, and only a calculation process corresponding to one tile is used as an example for description.
PSDU_LENGTHtl is a length of the A-MPDU of corresponding tiles, a unit length occupies 1 byte, and Nservice is a quantity of valid bits occupied by the service domain.
NDBPS,short,tl=NCBPS,short,tl·Rtl=Nsd,short,tl·Nss,tl·NBPSCS,tl·Rtl, where Nsd,short,tl may be determined according to Table 36-46 in the IEE P802.11be_D1.3 protocol.
(b) Search for a tile with a largest encoding length from all tiles according to the following formula:
The tile is denoted as tlmax, and Nsym,init,tlmax and ainit,tlmax corresponding to tlmax are used for all subsequent tiles.
(c) Calculate a quantity of valid data bits and a quantity of encoded bits of a last symbol of each tile based on ainit,tlmax:
(d) Calculate a total data length Npld,tl and a valid encoding length Navbits,tl of each tile:
(e) Determine, based on a low density parity check code (LDPC) PPDU encoding process in the IEEE 802.11n protocol, an LDPC codeword length LLDPC,tl, a quantity NCW,tl of LDPC codewords, a quantity Nshrt,tl of shortened bits, and a quantity Npunc,tl of punctured bits that are required by each tile.
(f) Determine a value of an LDPC extra symbol field. As long as one tile meets the following formula, the value of the LDPC extra symbol field is 1; otherwise, the value of the LDPC extra symbol field is 0.
(g) If the LDPC extra symbol field is equal to 1, update a total valid encoding length Navbits,tl and a quantity Npunc,tl of punctured bits of each tile:
(h) Determine final Nsym and a for all the tiles.
When the LDPC extra symbol field is equal to 1, final Nsym and a meet the following formula:
When the LDPC extra symbol field is equal to 0, final Nsym and a meet the following formula:
(i) Update the quantity of encoded bits of the last symbol of each tile, where the quantity of valid data bits of the last symbol does not need to be updated:
(j) Calculate a quantity of pre-FEC padded (pre-FEC padding) bits of each tile:
A quantity of pre-FEC padded bits of each tile is allocated to a corresponding tile. As shown in
Step 5: Perform scrambling and LDPC encoding on each tile.
Step 6: Calculate a quantity of post-FEC padded (post-FEC padding) bits of each tile:
Step 7: Separately map the foregoing calculated bit results of the tiles to Nsd,tl valid subcarriers of Nss,tl spatial flows included in corresponding sub-channels.
The following continues to describe the PSDU subcarrier mapping method shown in
Step 1: As shown in
Step 2: A pre-allocated non-cross-tile MPDU is directly allocated to a pre-allocated tile. For a manner of allocating a cross-tile MPDU, refer to the descriptions in step 2 in
As shown in
For example, the tile 0 in which the service field is located in
Step 3: Calculate a quantity of pre-FEC padded bits of each tile:
(a) Calculate a quantity Nsym,init,tl of initial symbols and an a factor ainit,tl of each tile.
It should be understood that because the tile 0 includes the service domain, compared with the tile 1, the tile 2, and the tile 3, the tile 0 has a Nservice part in a total quantity of valid bits. A process of calculating a quantity Nsym,init,tl of initial symbols and an a factor ainit,tl of any one of the tile 0, the tile 1, the tile 2, and the tile 3 is as follows:
PSDU_LENGTHtl is a length of the A-MPDU of corresponding tiles, a unit length occupies 1 byte, and Nservice is a quantity of valid bits occupied by the service field.
For calculation processes of step (b) to step (j) included in step 3, refer to step (b) to step (j) in
A quantity of pre-FEC padded bits of each tile is allocated to a corresponding tile. As shown in
Step 4: Perform scrambling and LDPC encoding on each tile.
Step 5: Calculate a quantity of post-FEC padded (post-FEC padding) bits of each tile:
Step 6: Separately map the foregoing calculated bit results of the tiles to valid subcarriers included in corresponding sub-channels.
It can be learned that the PSDU subcarrier mapping manner provided in this application in this step is different from a data frame format. The PSDU subcarrier mapping manner in this application uses technologies of PSDU segmenting through tile-based allocation, and encoding and subcarrier mapping through tile-based allocation. Therefore, MPDUs in a frequency band with interference and a frequency band without interference can be independent of each other. For interference that randomly arrives in a frequency band, regardless of continuous interference or instantaneous interference, data receiving in the frequency band without interference is not affected. In addition, this does not cause a spectrum resource waste, and improves spectral utilization and a total system throughput.
An example is used to describe beneficial effect with reference to
S520: The transmitter device sends the PPDU through the N sub-channels.
Correspondingly, the receiver device receives the PPDU through the N sub-channels.
S530: The receiver device parses the PPDU. A specific parsing manner is not described herein again.
This application further provides a diagram of a new WI-FI frame format based on the PSDU subcarrier mapping manner provided in this application.
The PPDU includes a SIG field, the SIG field includes a first subfield and a second subfield, the first subfield indicates a tile-based allocation manner of the PSDU (namely, the PSDU subcarrier mapping manner), and the second subfield indicates a mapping manner of the service field in the N tiles. Optionally, the SIG field further includes a third subfield, and the third subfield indicates a modulation order used by the N tiles. Optionally, the SIG field further includes a fourth subfield, and the fourth subfield indicates a quantity of spatial streams used by the N tiles.
In the frame structure, Coding Mode (namely, an example of the first subfield), ServiceField Mode (namely, an example of the second subfield), CodingTile modulation coding scheme (MCS) (namely, an example of the third subfield), and CodingTile network signal strength (Nss) (namely, an example of the fourth subfield) are added to the XT-SIG field. For example, Coding Mode=0 indicates a PSDU subcarrier mapping mode, Coding Mode=1 indicates that tile-based allocation is performed based on a quantity of MRU parts and a quantity of non-MRU parts for PSDU subcarrier mapping, and Coding Mode=2 indicates that the bandwidth is evenly segmented into four parts corresponding to the tiles for PSDU subcarrier mapping. Servicefield Mode=0 indicates that mapping is performed from a low frequency to a high frequency in a manner, Servicefield Mode=1 indicates that the service field is repeatedly mapped to each tile, and Servicefield Mode=2 indicates that the service field is mapped to the tile in which the primary channel is located. CodingTile MCS indicates an MCS, namely, a modulation order, used by each tile. CodingTile Nss indicates a Nss, namely, a quantity of spatial streams, used by each tile.
It should be noted that the tile in this application needs to be sent together with the long and short estimation training fields. A processing manner of the existing preamble puncturing technology may be used for the preamble part, for example, the preamble part is not sent through a sub-channel with interference, or is sent at reduced power.
The foregoing describes the data transmission method provided in this application. The following describes communication apparatuses provided in this application. In a possible implementation, the apparatus is configured to implement steps or procedures corresponding to the receiver device in the foregoing method embodiments. In another possible implementation, the apparatus is configured to implement steps or procedures corresponding to the transmitter device in the foregoing method embodiments.
In a possible design, the apparatus 200 may implement steps or procedures performed by the transmitter device in the foregoing method embodiments. The processing unit 220 is configured to perform processing-related operations of the transmitter device in the foregoing method embodiments, and the communication unit 210 is configured to perform sending-related operations of the transmitter device in the foregoing method embodiments.
In another possible design, the apparatus 200 may implement steps or procedures performed by the receiver device in the foregoing method embodiments. The communication unit 210 is configured to perform receiving-related operations of the receiver device in the foregoing method embodiments, and the processing unit 220 is configured to perform processing-related operations of the receiver device in the foregoing method embodiments.
It should be understood that the apparatus 200 herein is embodied in a form of functional units. The term “unit” herein may refer to an application-specific integrated circuit (ASIC), an electronic circuit, a processor (for example, a shared processor, a special-purpose processor, or a group processor) configured to execute one or more software or firmware programs, a storage, a merged logic circuit, and/or another appropriate component that supports the described functions. In an optional example, a person skilled in the art may understand that the apparatus 200 may be the transmitter device in the foregoing embodiments, and may be configured to perform procedures and/or steps corresponding to the transmitter device in the foregoing method embodiments. Alternatively, the apparatus 200 may be the receiver device in the foregoing embodiments, and may be configured to perform procedures and/or steps corresponding to the receiver device in the foregoing method embodiments. To avoid repetition, details are not described herein again.
The apparatus 200 in each of the foregoing solutions has functions of implementing corresponding steps performed by the transmitter device in the foregoing method, or the apparatus 200 in each of the foregoing solutions has functions of implementing corresponding steps performed by the receiver device in the foregoing method. The functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing functions. For example, the communication unit may be replaced by a transceiver (for example, a sending unit in the communication unit may be replaced by a transmitter, and a receiving unit in the communication unit may be replaced by a receiver), and another unit like the processing unit may be replaced by a processor, to separately perform a sending/receiving operation and a related processing operation in each method embodiment.
In addition, alternatively, the communication unit may be a transceiver circuit (for example, may include a receiving circuit and a sending circuit), and the processing unit may be a processing circuit. In embodiments of this application, the apparatus in
Optionally, the apparatus 300 may further include a storage 330. The storage 330 communicates with the processor 310 and the transceiver 320 through internal connection paths. The storage 330 is configured to store instructions, and the processor 310 may execute the instructions stored in the storage 330. In a possible implementation, the apparatus 300 is configured to implement procedures and steps corresponding to the transmitter device in the foregoing method embodiments. In another possible implementation, the apparatus 300 is configured to implement procedures and steps corresponding to the receiver device in the foregoing method embodiments.
It should be understood that the apparatus 300 may be the transmitter device or the receiver device in the foregoing embodiments, or may be a chip or a chip system. Correspondingly, the transceiver 320 may be a transceiver circuit of the chip. This is not limited herein. In an example, the apparatus 300 may be configured to perform steps and/or procedures corresponding to the transmitter device or the receiver device in the foregoing method embodiments. Optionally, the storage 330 may include a read-only memory and a random access memory, and provide instructions and data for the processor. A part of the storage may further include a non-volatile random access memory. For example, the storage may further store information of a device type. The processor 310 may be configured to execute the instructions stored in the storage; and when the processor 310 executes the instructions stored in the storage, the processor 310 is configured to perform steps and/or procedures corresponding to the transmitter device or the receiver device in the foregoing method embodiments.
In an implementation process, steps in the methods can be completed by using a hardware integrated logical circuit in the processor, or by using instructions in a form of software. The steps in the method disclosed with reference to embodiments of this application may be directly performed and completed by a hardware processor, or performed and completed by using a combination of hardware and software modules in the processor. The software module may be located in a mature storage medium in the art, for example, a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the storage, and the processor reads information in the storage and completes the steps in the foregoing methods in combination with hardware of the processor. To avoid repetition, details are not described herein again.
It should be noted that the processor in embodiments of this application may be an integrated circuit chip, and has a signal processing capability. In an implementation process, the steps in the method embodiments can be completed by using a hardware integrated logic circuit in the processor, or by using instructions in a form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. The processor in embodiments of this application may implement or perform the methods, the steps, and the logical block diagrams that are disclosed in embodiments of this application. The general-purpose processor may be a microprocessor, or the processor may be any processor or the like. The steps in the method disclosed with reference to embodiments of this application may be directly performed and completed by a hardware decoding processor, or performed and completed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art, for example, a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the storage, and the processor reads information in the storage and completes the steps in the foregoing methods in combination with hardware of the processor.
It may be understood that the storage in embodiments of this application may be a volatile storage or a non-volatile storage, or may include both a volatile storage and a non-volatile storage. The non-volatile storage may be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile storage may be a random-access memory (RAM), and is used as an external cache. By way of example rather than limitative description, a plurality of forms of RAMs may be used, for example, a static RAM (SRAM), a dynamic RAM (DRAM), a synchronous DRAM(SDRAM), a double data rate (DDR) SDRAM, an enhanced SDRAM (ESDRAM), a synchronous link DRAM (SLDRAM), and a direct Rambus (DR) DRAM. It should be noted that the storages of the systems and methods described in this specification include but are not limited to these and any storage of another proper type.
Optionally, the apparatus 400 may further include a storage medium 430. The storage medium 430 communicates with the processing circuit 410 and the transceiver circuit 420 through internal connection paths. The storage medium 430 is configured to store instructions, and the processing circuit 410 may execute the instructions stored in the storage medium 430. In a possible implementation, the apparatus 400 is configured to implement procedures and steps corresponding to the transmitter device in the foregoing method embodiments. In another possible implementation, the apparatus 400 is configured to implement procedures and steps corresponding to the receiver device in the foregoing method embodiments. In addition, this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer instructions. When the computer instructions are run on a computer, the method in the method embodiments of this application is performed.
According to the method provided in embodiments of this application, this application further provides a computer program product. The computer program product includes computer program code or instructions. When the computer program code or the instructions are run on a computer, the method in the method embodiments of this application is performed.
According to the method provided in embodiments of this application, this application further provides a non-transitory computer-readable medium. The computer-readable medium stores program code. When the program code is run on a computer, the computer is enabled to perform the method in the foregoing embodiments of this application.
In addition, this application further provides a chip, and the chip includes a processor. A storage configured to store a computer program is disposed independent of the chip. The processor is configured to execute the computer program stored in the storage, so that the method in the method embodiments of this application is performed.
Further, the chip may include a communication interface. The communication interface may be an input/output interface, an interface circuit, or the like. Further, the chip may include the storage.
A person of ordinary skill in the art may be aware that, with reference to the examples described in embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
A person skilled in the art may clearly understand that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the method embodiments. Details are not described herein again.
In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, division into units is merely division into logical functions and may be other division during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be implemented through some interfaces. The indirect coupling or communication connection between the apparatuses or units may be implemented in an electronic form, a mechanical form, or another form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve objectives of the solutions of embodiments.
In addition, functional units in embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the technology, or some of the technical solutions may be implemented in a form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the method described in embodiments of this application. The foregoing storage medium includes any medium that can store program code, for example, a Universal Serial Bus (USB) flash drive, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disc.
The foregoing descriptions are example implementations of this application, and the protection scope of this application is not limited thereto. Any variation or replacement that can be readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
The following describes technical solutions in embodiments of this application with reference to accompanying drawings.
Embodiments of this application may be applied to a WLAN. Currently, a standard used for the WLAN is the IEEE 802.11 series. The WLAN may include a plurality of BSSs. Network nodes in the BSS are a STA and an AP. Each BSS may include one AP and a plurality of STAs associated with the AP.
The AP in embodiments of this application may also be referred to as a wireless access point, a hotspot, or the like. The AP is an access point for a mobile user to access a wired network, and is mainly deployed in a home, inside a building, and inside a campus, with a typical coverage radius of tens of meters to hundreds of meters. Certainly, the AP may alternatively be deployed outdoors. The AP is equivalent to a bridge that connects a wired network and a wireless network. A main function of the AP is to connect wireless network clients together, and then connect the wireless network to the Ethernet. In an example, the AP may be a terminal device or a network device with a WI-FI chip. Optionally, the AP may be a device that supports a plurality of WLAN standards such as IEEE 802.11a/b/g, IEEE 802.11n, IEEE 802.11ac, IEEE 802.11ax, and IEEE 802.11be or a later version that is currently being discussed.
The access point in this application may be a high efficiency (HE) STA, an EHT STA, or a STA applicable to a future-generation WI-FI standard.
For example, the access point and the station may be devices used in the Internet of vehicles, IoT nodes or sensors in the IoT, smart cameras, smart remote controls, and smart water meters in a smart home, and sensors in a smart city.
The STA in embodiments of this application may be a wireless communication chip, a wireless sensor, or a wireless communication terminal, for example, a mobile phone supporting a WI-FI communication function, a tablet computer supporting a WI-FI communication function, a set-top box supporting a WI-FI communication function, a smart television supporting a WI-FI communication function, a smart wearable device supporting a WI-FI communication function, a vehicle-mounted communication device supporting a WI-FI communication function, and a computer supporting a WI-FI communication function. Optionally, the STA may support an IEEE 802.11ax standard. Further, optionally, the STA supports a plurality of WLAN standards such as IEEE 802.11ac, IEEE 802.11n, IEEE 802.11g, IEEE 802.11b, and IEEE 802.11a, or a subsequent version.
In embodiments of this application, the STA or the AP includes a hardware layer, an operating system layer that runs on the hardware layer, and an application layer that runs on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also referred to as a main memory). The operating system may be any one or more types of computer operating systems that implement service processing through a process, for example, a LINUX operating system, a UNIX operating system, an ANDROID operating system, an iOS operating system, or a WINDOWS operating system. The application layer includes applications such as a browser, an address book, word processing software, and instant messaging software. In addition, a specific structure of an execution body of a method provided in embodiments of this application is not particularly limited in embodiments of this application, provided that the execution body can run a program that records code of the method provided in embodiments of this application to perform communication according to the method provided in embodiments of this application. For example, the execution body of the method provided in embodiments of this application may be a STA, an AP, or a functional module that is in a STA or an AP and that can invoke and execute the program.
In addition, aspects or features of this application may be implemented as a method, an apparatus, or a product that uses standard programming and/or engineering technologies. The term “product” used in this application covers a computer program that can be accessed from any computer-readable component, carrier or medium. For example, the computer-readable medium may include but is not limited to: a magnetic storage component (for example, a hard disk, a floppy disk or a magnetic tape), an optical disc (for example, a compact disc (CD), or a digital versatile disc (DVD)), a smart card, and a flash memory component (for example, an EPROM), a card, a stick, or a key drive). In addition, various storage media described in this specification may indicate one or more devices and/or other machine-readable media that are configured to store information. The term “machine-readable media” may include but is not limited to a radio channel, and various other media that can store, include, and/or carry instructions and/or data.
Alternatively, embodiments of this application are applicable to a wireless local area network system, for example, an IoT network or aV2X network. In an example, embodiments of this application are further applicable to other possible communication systems, for example, a LTE system, an LTE FDD system, an LTE time TDD system, a Universal Mobile Telecommunications System (UMTS), a worldwide interoperability for microwave access (WiMAX) communication system, a 5th generation (5G) communication system, and a future 6th generation (6G) communication system.
The foregoing communication systems applicable to this application are merely examples for description, and the communication systems applicable to this application are not limited thereto. This is uniformly described herein, and details are not described below again.
It should be understood that
It can be learned from foregoing that, in an interference scenario with a high duty cycle, the MRU and preamble puncturing technologies can effectively improve overall performance. However, a spectrum resource waste may still exist. In addition, most interference scenarios actually have a moderate or lower duty cycle. Consequently, when the foregoing solution is used, spectral efficiency in an entire bandwidth cannot be properly used. Especially for burst and temporary hidden interference, it is difficult to identify a location of the interference in real time, and the interference cannot be properly avoided by using the preamble puncturing technology, resulting in a great decrease in a system throughput.
In view of this, this application further provides a new WI-FI frame format that relates to a new PSDU subcarrier mapping manner, which is referred to as a preamble puncturing+technology. In comparison with a frame format, segment encoding and subcarrier mapping technologies are used in this application. As shown in
The technical solutions provided in this application are described in detail below with reference to the accompanying drawings.
S1510: A sending device generates a PSDU.
S1520: The sending device sends the PSDU to a receiving device in a first frequency band, where the first frequency band includes a frequency band with interference and a frequency band without interference, and MPDUs in the frequency band with interference and the frequency band without interference are separately transmitted via tiles. The following describes the step in detail with reference to
(1) That a new PSDU subcarrier mapping manner is implemented through tile-based allocation includes tile-based allocation based on an EHT MRU bandwidth and a remaining non-MRU bandwidth. Correspondingly, a PSDU length of each tile is approximately allocated in proportion based on a quantity of valid subcarriers of each tile.
(2) As shown in
(3) The PSDU length part is allocated in proportion based on an average quantity NDBPS(tile0):NDBPS(tile1) of bits carried in a valid carrier, and a non-cross-tile MPDU is directly allocated to each tile. A rule for allocating a cross-tile MPDU is as follows:
that is, the cross-tile MPDU is allocated to a tile with a larger average quantity of bits carried in a valid carrier.
(4) Calculate a quantity of pre-FEC padded bits.
(a) Calculate a quantity Nsym,init,tl of initial symbols and an a factor ainit,tl of each tile:
(b) Search for a tile with a largest encoding length from all tiles, where a found tile is denoted as tlmax, and Nsym,init,tlmax and ainit,tlmax are used for all subsequent tiles:
(c) Calculate a quantity of data bits and a quantity of encoded bits of a last OFDM symbol of each tile based on ainit,tlmax:
(d) Calculate a total data length Npld,tl and a valid encoding length Navbits,tl of each tile:
(e) Determine, based on an LDPC PPDU encoding process in the 11n protocol, an LDPC codeword length LLDPC,tl, a quantity NCW,tl of LDPC codewords, a quantity Nshrt,tl of shortened bits, and a quantity Npunc,tl of punctured bits that are required by each tile.
(f) Determine a value of an LDPC extra symbol field, where as long as one tile meets the following condition, the value of the LDPC extra symbol field is 1; otherwise, the value of the LDPC extra symbol field is 0:
(g) If the LDPC extra symbol field is equal to 1, update a total valid encoding length Navbits,tl and a quantity Npunc,tl of punctured bits of each tile:
(h) Determine final Nsym and a for all the tiles:
(i) Update the quantity of encoded bits of the last OFDM symbol of each tile, where the quantity of valid data bits does not need to be updated:
(j) Calculate a quantity of pre-FEC padded pre-FEC padding bits:
(5) Perform scrambling and encoding on each tile.
(6) Calculate a quantity of post-FEC padded bits of each tile:
(7) Separately map the foregoing calculated bit results to valid carriers Nsd,tl of the MRU and non-MRU bandwidths.
(8) For another process, refer to the existing 802.11be protocol. No modification is made.
(1) As shown in
(2) For cross-tile MPDU processing, if the cross-tile MPDU is excessively long (greater than a specified threshold), MSDU segmenting is preferentially performed on the cross-tile MPDU. As shown in
that is the cross-tile MPDU is allocated to a tile with a larger average quantity of bits carried in a valid carrier.
(3) Calculate a quantity of pre-FEC padded bits.
(a) Calculate a quantity Nsym,init,tl of initial symbols and an a factor ainit,tl of each tile, where because a tile 0 includes the service field, compared with another tile, the tile 0 has a Nservice part in a total quantity of valid bits:
(4) For other processing and a subsequent process, refer to the method shown in
The following briefly describes the methods shown in
(1) As shown in
(2) As shown in
(3) In the tile-based allocation manners (1) and (2), for manners of processing an MPDU crossing two tiles, an average quantity of bits carried in a carrier of each of the two tiles is calculated, and the cross-tile MPDU is allocated to a tile with a larger average quantity of bits carried in a carrier. Alternatively, the MPDU may be allocated to a tile with smaller interference based on an interference proportion. When the MPDU is excessively long, MSDU segmenting is performed on the MPDU, and the MPDU is segmented into two or more smaller MPDUs. Then, the MPDUs are allocated according to the foregoing rule.
(4) In the tile-based allocation manners (1) and (2), a manner of processing the service field includes: preferentially allocating the service field to a tile in which a primary channel is located, to reduce a possibility of being interfered; or adding the service field to each tile, to improve a decoding probability of a scrambling seed.
(5) In the tile-based allocation manners (1) and (2), the tiles may use a same modulation mode, or may use different modulation modes.
(6) In the tile-based allocation manners (1) and (2), a shorter length of the MPDU of a tile with interference may be implemented through MSDU segmenting, to reduce an interference probability.
(7) The new PSDU subcarrier mapping manner includes performing tile-based allocation based on importance of an upper-layer data service. Basic information, key information, and information with a high real-time requirement are placed on a tile with smaller interference, and other information may be placed on a tile with higher interference frequency, to improve system reliability.
Optionally, the method may further include step 1530. S1530: The receiver device parses the PSDU.
For an example parsing manner, refer to existing descriptions. This is not limited.
In the foregoing technical solutions, in an environment with random interference, spectral utilization and a total system throughput can be improved. In addition, tile-based allocation transmission is customized based on an upper-layer service requirement, and information with a high real-time requirement and key information are allocated to a subband in which a primary channel is located and with small interference. This improves system reliability and reduces a retransmission rate.
The foregoing describes in detail the method for sending and receiving a PSDU provided in this application. The following describes communication apparatuses provided in this application.
A function of a processing apparatus may be implemented by hardware, or may be implemented by hardware executing corresponding software. For example, the processing apparatus may include a storage and a processor. The storage is configured to store a computer program, and the processor reads and executes the computer program stored in the storage, so that the communication apparatus 1000 performs the operations and/or the processing performed by the sending device in the method embodiments. Optionally, the processing apparatus may include only the processor, and the storage configured to store the computer program is located outside the processing apparatus. The processor is connected to the storage through a circuit/wire, to read and execute the computer program stored in the storage. For another example, the processing apparatus may be a chip or an integrated circuit.
Optionally, in an implementation in which the communication apparatus 1000 may be a chip or an integrated circuit installed in the sending device, the sending unit 1300 and the receiving unit 1100 may be a communication interface or an interface circuit. For example, the sending unit 1300 is an output interface or an output circuit, and the receiving unit 1100 is an input interface or an input circuit. The processing unit 1200 may be a processor or a microprocessor integrated on the chip or the integrated circuit. This is not limited herein.
Optionally, there are one or more processors 11.
Optionally, there are one or more storages 12.
Optionally, the storage 12 is integrated with the processor 11, or separately disposed.
Optionally, as shown in
In addition, this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer instructions. When the computer instructions are run on a computer, the method in the method embodiments of this application is performed.
This application further provides a computer program product. The computer program product includes computer program code or instructions. When the computer program code or the instructions are run on a computer, the method in the method embodiments of this application is performed.
In addition, this application further provides a chip, and the chip includes a processor. A storage configured to store a computer program is disposed independent of the chip. The processor is configured to execute the computer program stored in the storage, so that the method in the method embodiments of this application is performed.
Further, the chip may include a communication interface. The communication interface may be an input/output interface, an interface circuit, or the like. Further, the chip may include the storage.
It should be understood that the processor in embodiments of this application may be an integrated circuit chip, and has a signal processing capability. In an implementation process, the steps in the method embodiments can be completed by using a hardware integrated logic circuit in the processor, or by using instructions in a form of software. The processor may be a central processing unit (CPU), or may be another general-purpose processor, a DSP, an ASIC, an FPGA or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. The general-purpose processor may be a microprocessor, or the processor may be any processor or the like. The steps in the method disclosed in embodiments of this application may be directly performed and completed by a hardware encoding processor, or performed and completed by a combination of hardware and a software module in an encoding processor. A software module may be located in a mature storage medium in the art, for example a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the storage, and the processor reads information in the storage and completes the steps in the foregoing method in combination with hardware of the processor.
A storage in embodiments of this application may be a volatile storage or a non-volatile storage, or may include both a volatile storage and a non-volatile storage. The non-volatile storage may be a ROM, a PROM, an EPROM, an EEPROM, or a flash memory. The volatile storage may be a RAM, and is used as an external cache. By way of example rather than limitative description, a plurality of forms of RAMs may be used, for example, a SRAM, a DRAM, a SDRAM, a DDR SDRAM, an ESDRAM, a SLDRAM, and a DRRAM.
It should be noted that when the processor is a general-purpose processor, a DSP, an ASIC, an FPGA or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware assembly, a storage (storage module) may be integrated into the processor.
It should be further noted that the storage described herein is intended to include, but is not limited to, these and any other appropriate type of storage.
A person of ordinary skill in the art may be aware that, with reference to the examples described in embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
A person skilled in the art may clearly understand that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the method embodiments. Details are not described herein again.
In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, division into units is merely division into logical functions and may be other division during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be implemented through some interfaces. The indirect coupling or communication connection between the apparatuses or units may be implemented in an electronic form, a mechanical form, or another form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve objectives of the solutions of embodiments.
In addition, functional units in embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the technology, or some of the technical solutions may be implemented in a form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the method described in embodiments of this application. The foregoing storage medium includes any medium that can store program code, for example, a USB flash drive, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disc.
S1801: The first device sends a trigger frame to the second device. Correspondingly, the second device receives the trigger frame from the transmitter.
The trigger frame indicates the first device to send a trigger-based (TB) PPDU.
The trigger frame further indicates a resource allocated to the TB PPDU. In an example, the trigger frame includes at least one of the following information: a length of the trigger-based PPDU, a location of an allocated RU/MRU, a coding scheme, a quantity of pre-FEC padded bits, Coding Mode, ServiceField Mode, CodingTile MCS, CodingTile Nss, and the like. The length of the trigger-based PPDU is used to notify a quantity of sent symbols, for example, an air interface length, of the trigger-based PPDU. The location of the allocated RU/MRU is used to notify a location of a transmit spectrum of the trigger-based PPDU. The coding scheme and the quantity of pre-FEC padded bits are used to notify a coding scheme of a data part of the trigger-based PPDU and the quantity of pre-FEC padded bits. Coding Mode is used to notify a PSDU subcarrier mapping mode. For example, Coding Mode=0 indicates that PSDU subcarrier mapping is performed based on the MRU, Coding Mode=1 indicates that tile-based allocation is performed based on a quantity of RUs in the MRU for PSDU subcarrier mapping, and Coding Mode=2 indicates that the RU/MRU is allocated to tiles at a granularity of a 20 MHz bandwidth for PSDU subcarrier mapping. Servicefield Mode indicates a mapping manner of a service field, for example, Servicefield Mode=0 indicates that mapping is performed from a low frequency to a high frequency (or both the service field and a PSDU are mapped to the tile), Servicefield Mode=1 indicates that the service field is repeatedly mapped to tiles (the service field is not mapped the tiles together with the PSDU, but is repeatedly added to a header of each tile). CodingTile MCS indicates a modulation coding scheme MCS or a modulation order used by each tile. CodingTile Nss indicates an Nss, namely, a quantity of spatial streams, used by each tile.
S1802: The second device parses the trigger frame, to generate the TB PPDU.
In an example, after receiving the trigger frame, the second device parses the trigger frame, to obtain information about the resource allocated to the TB PPDU, and then generates the TB PPDU based on the information about the resource allocated to the TB PPDU.
The TB PPDU may be obtained through tile-based allocation provided in this application. For example descriptions in which the second device generates the TB PPDU, refer to the descriptions in S510. Each tile in S510 is independently encoded.
S1803: The second device sends the TB PPDU to the first device. Correspondingly, the first device receives the TB PPDU from the second device.
For S1803, refer to the descriptions in the S520. Details are not described herein again.
S1804: The first device parses the TB PPDU.
Optionally, before S1801, the method further includes:
S1805: The first device generates the trigger frame.
Optionally, in a method of pre-allocating L MPDUs in
As described in
The foregoing descriptions are example implementations of this application, and the protection scope of this application is not limited thereto. Any variation or replacement that can be readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
| Number | Date | Country | Kind |
|---|---|---|---|
| 202210734430.0 | Jun 2022 | CN | national |
| 202210932646.8 | Aug 2022 | CN | national |
| 202310742777.4 | Jun 2023 | CN | national |
This application is a continuation of International Patent Application No. PCT/CN2023/102814, filed on Jun. 27, 2023, which claims priority to Chinese Patent Application No. 202210734430.0, filed on Jun. 27, 2022, Chinese Patent Application No. 202210932646.8, filed on Aug. 4, 2022, and Chinese Patent Application No. 202310742777.4, filed on Jun. 20, 2023. All of the aforementioned patent applications are hereby incorporated by reference in their entireties.
| Number | Date | Country | |
|---|---|---|---|
| Parent | PCT/CN2023/102814 | Jun 2023 | WO |
| Child | 18999907 | US |