Embodiments presented in this disclosure generally relate to wireless communication. More specifically, embodiments disclosed herein relate to peer-to-peer transmission using interference alignment.
Peer-to-peer (P2P) transmission typically allows for efficient single hop traffic between wireless stations (STAs). Modern WiFi standards have proposed using a wireless access point (AP) to allocate a portion of its own Transmit Opportunity (TXOP) to two STAs to allow for P2P communication between the STAs. For example, the AP can inform the STAs of the TXOP using a trigger frame. This can be referred to as triggered P2P.
Typically, P2P links between STAs provide significant interference to an AP. For example, direct link traffic (e.g., P2P traffic) often carries large amount of data, including large video transmission for video streaming or large amounts of data for virtual reality (VR) or augmented reality (AR) applications. Further, this P2P traffic often requires low latency to support interactive applications (e.g., VR, AR, video conferencing, etc.). But implementing channel access for multiple P2P links is very challenging. This is particularly true where STAs require both low latency and high traffic for P2P transmissions.
So that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate typical embodiments and are therefore not to be considered limiting, other equally effective embodiments are contemplated.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially used in other embodiments without specific recitation.
Embodiments include a method. The method includes calculating one or more precoder matrices and one more decoder matrices relating to interference alignment for data transmission between a plurality of wireless stations (STAs). The method further includes initiating peer-to-peer (P2P) transmission between the plurality of STAs using the one or more precoder matrices and the one or more decoder matrices, the P2P transmission including: simultaneously transmitting data between at least two pairs of STAs, of the plurality of STAs, using the one or more precoder matrices and the one or more decoder matrices for interference alignment of the simultaneous transmissions.
Embodiments further include a system. The system includes a processor and a memory having instructions stored thereon which, when executed on the processor, performs operations. The operations include calculating one or more precoder matrices and one more decoder matrices relating to interference alignment for data transmission between a plurality of STAs. The operations further include initiating P2P transmission between the plurality of STAs using the one or more precoder matrices and the one or more decoder matrices, the P2P transmission including: simultaneously transmitting data between at least two pairs of STAs, of the plurality of STAs, using the one or more precoder matrices and the one or more decoder matrices for interference alignment of the simultaneous transmissions.
Embodiments further include a non-transitory computer-readable medium having instructions stored thereon which, when executed by a processor, performs operations. The operations include calculating one or more precoder matrices and one more decoder matrices relating to interference alignment for data transmission between a plurality of STAs. The operations further include initiating P2P transmission between the plurality of STAs using the one or more precoder matrices and the one or more decoder matrices, the P2P transmission including: simultaneously transmitting data between at least two pairs of STAs, of the plurality of STAs, using the one or more precoder matrices and the one or more decoder matrices for interference alignment of the simultaneous transmissions.
In an embodiment, P2P transmission by multiple STAs can be implemented using interference alignment among the STAs. Interference alignment can be, for example, a linear precoding technique that attempts to align interfering signals in one or more of time, frequency, or space (e.g., using antennas). One goal is that user STAs coordinate their transmissions, using linear precoding, such that a combined interfering signal lies in a reduced dimensional subspace at each receiver.
A significant challenge of interference alignment for P2P transmissions is the need of channel state information (CSI) feedback in a central processor for calculating the precoders and decoders. In an embodiment, an AP can be used to coordinate interference alignment and calculate precoders and decoders based on CSI. For example, as discussed below in relation to
As discussed further below with regard to
In addition to improvements in latency and throughput, use of interference alignment for P2P transmission can provide physical layer security into the P2P transmissions. Eavesdroppers are not able to sniffer over the air signals and decode the packets even by having the precoder and decoder matrices. This is because eavesdroppers will receive a non-aligned version of signals which is very difficult to decode.
Interference alignment is discussed further, below, with regard to
The network components 220 include the components necessary for the STA 200 to interface with a wireless communication network, as discussed above in relation to
Although the memory 210 is shown as a single entity, the memory 210 may include one or more memory devices having blocks of memory associated with physical addresses, such as random access memory (RAM), read only memory (ROM), flash memory, or other types of volatile and/or non-volatile memory. The memory 210 generally includes program code for performing various functions related to use of the STA 200. The program code is generally described as various functional “applications” or “modules” within the memory 210, although alternate implementations may have different functions and/or combinations of functions. Within the memory 210, an STA interference alignment service 212 facilitates P2P transmission by multiple STAs using interference alignment, as discussed below in relation to
The AP 110 includes a processor 252, a memory 260, and network components 270. The processor 252 generally retrieves and executes programming instructions stored in the memory 260. The processor 252 is included to be representative of a single central processing unit (CPU), multiple CPUs, a single CPU having multiple processing cores, graphics processing units (GPUs) having multiple execution paths, and the like.
The network components 270 include the components necessary for the AP 110 to interface with a wireless communication network, as discussed above in relation to
Although the memory 260 is shown as a single entity, the memory 260 may include one or more memory devices having blocks of memory associated with physical addresses, such as random access memory (RAM), read only memory (ROM), flash memory, or other types of volatile and/or non-volatile memory. The memory 260 generally includes program code for performing various functions related to use of the AP 110. The program code is generally described as various functional “applications” or “modules” within the memory 260, although alternate implementations may have different functions and/or combinations of functions. Within the memory 260, the AP interference alignment service 262 facilitates coordinating P2P transmission by multiple STAs using interference alignment, as discussed below in relation to
In an embodiment, sounding intervals can be selected by the AP (e.g., by an AP alignment service). In one embodiment, the AP sounds the STAs per TXOP. However, in another embodiment, the AP collects and stores the CSI from each transmitter in its memory and correlates after reception of NDPs in each sounding interval (or TXOP). In this embodiment, the AP will only trigger sounding if the correlation of the channels are low, which indicates that the precoders and decoders need to be updated. This can reduce the overhead of sounding significantly when there is little change in the environment
At block 304, the interference alignment service calculates precoders and decoders. For example, the interference alignment service can calculate the precoders and decoders (e.g., precoder and decoder matrices) for interference alignment based on the CSI calculated at block 302. In an embodiment, the interference alignment service uses an iterative technique which works based on the reciprocity of the transmissions.
For example, the interference alignment service can calculate the best precoder in each iteration, and then use that precoder to recalculate a decoder, using existing techniques. This is merely one example, and any suitable technique can be used to calculate the precoders and decoders. In an embodiment, an AP calculates the precoders and decoders based on the CSI. Alternatively, any other suitable network component (e.g., a controller, an STA, or a combination of components) can calculate the precoders and decoders.
While embodiments discussed herein describe using CSI information to calculate precoders and decoders, this is merely one example. Alternatively, or in addition, blind interference alignment techniques can be used. In an embodiment, blind interference alignment relies on the statistical information of the transmitter and CSI is not required. However, blind interference alignment typically requires modifications in the pilot subcarriers in orthogonal frequency division multiple access (OFDMA) transmission and reception. Blind interference alignment can be implemented as an alternative to use of CSI to calculate precoders and decoders, where suitable.
At block 306, the interference alignment service triggers interference aligned transmission. For example, after sounding procedure and calculation of the precoders and decoders at P2P transmitter and receiver STAs, as discussed above in relation to blocks 302 and 304, an AP knows transmitter and receiver pairs and transmits a trigger frame. This is illustrated further, below, with regard to
At block 308, the interference alignment service initiates P2P transmission and transmits interference aligned P2P transmissions. In an embodiment, concurrent transmissions can occur after short inter-frame spacing (SIFS), based on the aligned interferences (e.g., using the precoder matrices). ACKs from the receiver STAs can then be transmitted concurrently, using existing trigger based OFDMA (TB-OFDMA) or trigger based uplink multiple-user multiple-input multiple-output (TB UL MU-MIMO) techniques.
For example, the AP interference alignment service can transmit an NDP request frame during a time period when the AP owns the TXOP window. In an embodiment, the AP interference alignment service does not know which STAs are transmitting, and which are receiving, for P2P communication. The AP interference alignment service can therefore transmit the NDP request frame to each STA that is capable of P2P communication (e.g., each AP associated with the AP). This is merely an example, and the interference alignment service can transmit the NDP request frame to any STA or group of STAs.
At block 404, one or more STA interference alignment services (e.g., the STA interference alignment service 212 illustrated in
At block 406, the AP interference alignment service acknowledges the NDP. In an embodiment, the AP interference alignment service responds with an acknowledgement (ACK) to each transmitting STA. Alternatively, or in addition, the AP responds with a block ACK (BA) at the end of receiving the NDPs. In an embodiment, the AP can use a BA if the transmitting and receiving STAs are known by the AP.
At block 408, the STA interference alignment services each estimate CSI for the relevant STA. In an embodiment, the STA interference alignment service can use techniques similar to existing beamforming reports (BFR) packets, which provide rotation angles of a feedback matrix for a selection of subcarriers (e.g., every 4th or 16th subcarrier). The size of the angle parameters (e.g., phi and psi) is selected as a multiple upload (MU) case which is 12 or 16 bits. In an embodiment, the order of BFR transmissions by STA receivers are based on the order of corresponding transmitters, because of the usage of this knowledge by AP at precoder and decoder calculation (e.g., as discussed above in relation to block 304 illustrated in
At block 410, the AP interference alignment service, the STA interference alignment service, or any other suitable service, interpolates CSI for remaining subcarriers. For example, the STA interference alignment services for the receiving STAs calculate CSI for the relevant STA and report the CSI to the AP. The AP interference alignment service can then interpolate CSI for remaining subcarriers, not included in the reported CSI information.
The AP 110 transmits a P2P NDP request 460 to the STAs 122A-N and 124A-N. In an embodiment, as discussed above in relation to block 404 illustrated in
In an embodiment, the AP 110 transmits a trigger frame 470 to the STAs 122A-N and 124A-N. The receiving STAs 124A-N respond by transmitting respective CSI reports 472A-N to the AP 110. The CSI reports 472A-N indicate the estimated CSI for the STAs 124A-N. As discussed above in relation to block 410 illustrated in
While
In an embodiment, during an AP processing time 480, the AP 110 calculates a precoder and decoder 490 (e.g., precoder and decoder matrices). This is discussed further, above, in relation to block 304 illustrated in
Further, while
The AP 110 transmits a P2P NDP request 520 to the STAs 122A-N and 124A-N. In an embodiment, as discussed above in relation to block 404 illustrated in
In an embodiment, the AP 110 transmits a trigger frame to the STAs 122A-N and 124A-N. The receiving STAs 124A-N respond by transmitting respective CSI reports 524A-N to the AP 110. The CSI reports 524A-N indicate the estimated CSI for the STAs 124A-N. As discussed above in relation to block 410 illustrated in
In an embodiment, during an AP processing time 530, the AP 110 calculates a precoder and decoder 540. This is discussed further, above, in relation to block 304 illustrated in
During a trigger based interference aligned transmission phase 550, the STAs 122A-N and 124A-N use the precoder and decoder 540 for interference aligned transmission. The AP 110 transmits a trigger frame (TF) for P2P 552 to the transmitting STAs 122A-N to initiate P2P transmissions.
The transmitting STAs 122A-N then transmit respective interference aligned transmissions 560A-N to the receiving STAs 124A-N as P2P transmissions. In an embodiment, the transmissions 560A-N are simultaneous, at least in part. For example, the transmitting STAs 122A-N and receiving STAs 124A-N use the precoder and decoder 540 to implement interference aligned P2P transmissions. The transmitting STAs 122A-N transmit during an allocated P2P physical layer protocol data unit (PPDU) (e.g., allocated based on the TF for P2P 552). In an embodiment, the receiving STAs 124A-N respond to the respective transmitting STAs 122A-N with block acknowledgements (BAs) 562A-N.
In an embodiment, mathematical analysis can be used to evaluate the capability of interference alignment techniques to improve latency and throughput for P2P transmission. For example, sounding overhead (e.g., used to estimate CSI) and throughput can be roughly estimated. The sounding time can be simplified as: T_SOUNDING=T_P2P_NDP_REQ+N*T_NPD+T_TF_CSI+T_CSI_REPORTS+T_PROCESS+T_PRECODER. In this example, T_SOUNDING represents the total sounding time, T_P2P_NDP_REQ represents the time to send NDP requests (e.g., the P2P NDP request 520 illustrated in
Assume 3 pairs of STAs and 100 μS for the length of NDP and 200 μS for the other packets, sounding would require approximately 1.3 mS, or 1.5 mS including SIFS. In a typical indoor WiFi environment, the time coherency of the channel can be on the order of 50 mS to 90 mS. For the case of faster movement by STAs, it can go down 20 mS. Therefore, it can be seen that the use of interference alignment is beneficial even for clients who are time sensitive because of providing the concurrent transmissions after this sounding interval. Depending on the size of the TXOP allocated by an AP to P2P clients, some STAs may completely lose the P2P transmission during TXOP (e.g., using existing techniques) while by using interference alignment techniques described above every P2P has transmission happening during each TXOP.
Turning to throughput, in a simple derivation of data rate via Shannon capacity equation, assuming 20 MHz bandwidth and 20 dB SNRs between all P2P links (AWGN channel), the “sum” capacity of the channel is: C (bits/Sec)=1/K*W*log 2 (1+SNR)=⅓*20 MHz*log 2(1+10{circumflex over ( )}(20/10))=˜44 Mbps. Using the techniques described above provides: C (bits/Sec)=½*W*log 2 (1+SNR)=½*20 MHz*log 2(1+10{circumflex over ( )}(20/10))=˜66 Mbps. If we assume the length of TXOPs are in the range of 20 ms, the overhead of sounding is only 7% which makes the capacity 61.4 Mbps. Thus, these techniques can improve the throughput significantly if we consider more P2P clients. For instance, if we assume 6 concurrent P2P based on interference alignment, the sum capacity will be half (˜22 Mbps) in existing techniques, while we still have the same sum capacity of 66 Mbps in using the techniques described above. The sounding duration will be larger but it should only change the TXOP by 1% to 2%.
In the current disclosure, reference is made to various embodiments. However, the scope of the present disclosure is not limited to specific described embodiments. Instead, any combination of the described features and elements, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Additionally, when elements of the embodiments are described in the form of “at least one of A and B,” or “at least one of A or B,” it will be understood that embodiments including element A exclusively, including element B exclusively, and including element A and B are each contemplated. Furthermore, although some embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the scope of the present disclosure. Thus, the aspects, features, embodiments and advantages disclosed herein are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to “the invention” shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).
As will be appreciated by one skilled in the art, the embodiments disclosed herein may be embodied as a system, method or computer program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments presented in this disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block(s) of the flowchart illustrations and/or block diagrams.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other device to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the block(s) of the flowchart illustrations and/or block diagrams.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device provide processes for implementing the functions/acts specified in the block(s) of the flowchart illustrations and/or block diagrams.
The flowchart illustrations and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flowchart illustrations or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In view of the foregoing, the scope of the present disclosure is determined by the claims that follow.
This application claims benefit of co-pending U.S. provisional patent application Ser. No. 63/368,012 filed Jul. 8, 2022. The aforementioned related patent application is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63368012 | Jul 2022 | US |