The invention relates to methods of communication encoding with space time block codes, and more particularly to methods of communication encoding, with a space time block code, at least part of packets to be sent from a transmitter towards a receiver.
Some definitions of frame format are hereby given. NON-HT means non high throughput. HT means high throughput. VHT means very high throughput. HT-MF means high throughput mixed format. HT-GF means high throughput Greenfield format.
Other definitions are hereby given. BPSK means binary phase shift keying. QBPSK means quadrature binary phase shift keying. OFDM means orthogonal frequency division multiplexing. L-STF, L-LTF, L-SIG, HT-SIG, HT-STF, HT-LTF, VHTSIG, VHTSTF, VHTLTF, are all segments of a packet header which are defined in the standards 802.11, whereas DATA is a data segment of packet which is defined in the standards 802.11 too.
According to a prior art, Space Time Block Code, and more particularly Alamouti's code, is used to encode data packets before their transmission. Such a prior art can be found for example in an article [Tarokh, V., Jafarkhani, H., and Calderbank, A. R. (1999) “Space-time block coding for wireless communications: performance results” IEEE Journal on selected areas in communications, vol. 17(3), pp. 451-460, March 1999] or for example in another article [S. M. Alamouti, “A simple transmitter diversity scheme for wireless communications”, IEEE Journal on selected areas in communications, vol. 16, pp. 1451-1458, October 1998].
In such a prior art using Space Time Block Code, in order to detect the data format, that is to say in order to detect the mode or frame format as well as the bandwidth of the communication channel(s) used between a transmitter and a receiver, the used technique includes the following steps at the receiving side, after frame format has been encoded directly in the consecutive symbols of packet header themselves by using BPSK and QBPSK.
First, a detection of either BPSK or QBPSK corresponding respectively to either NON-HT or HT-GF is performed on first OFDM symbol following L-LTF segment in packet header. Then, a combination of the decoded LSIG segment information with the detection of either BPSK or QBPSK corresponding respectively to either NON-HT (and VHT) or HT-MF performed on second OFDM symbol following L-LTF segment in packet header is made. Then, a combination of the decoded LSIG segment information with the detection of either BPSK or QBPSK corresponding respectively to either NON-HT or VHT performed on third OFDM symbol following L-LTF segment in packet header is made. Afterwards, a combination of the detection of BPSK or QBPSK with correlation of LSIG segment on two/four sub-channels corresponding to either NON-HT or NON-HT duplicated format with the identification of the used bandwidth is made.
This prior art technique is rather complex. The encoding of the data format according to the prior art is partly described with more detail with respect to
An object of embodiments of the present invention is to alleviate at least partly the above mentioned drawbacks.
More particularly, embodiments of the invention aim to provide an encoding technique of data format information in a packet header which allows for direct and real time decoding and which allows for encoding more data format information in this packet header, preferably without changing the packet header structure often predetermined, and which can be relatively simply decoded.
To be able to encode, at transmitting side, richer data format information still allowing, at receiving side, for a direct and real time decoding, performed in a rather simple way, embodiments of the invention preferably propose rather to encode the consecutive symbols with different Space Time Block Codes, the type and the succession of these Space Time Block Codes being representative of the data format information, than to encode the consecutive symbols with a single and same Space Time Block Code, the consecutive symbols themselves being changed through BPSK and QBPSK to vehicle the data format information.
That way, to decode the data format information, it is only necessary to identify which Space Time Block Code or which succession of Space Time Block Codes has been used to encode the consecutive symbols in packet header, rather than to be able either to make more complicated analysis about the consecutive symbols themselves to be able to extract all the relevant information about data format or to make a relatively simple analysis but then extracting only part of the relevant information about data format.
Preferably, embodiments of the invention propose a simple and efficient way to detect not only the frame format, but also the channel bandwidth which, in prior art, could only be detected at the costs of rather complicated processing.
Preferably, embodiments of the invention propose to use a same type of orthogonal Space Time Block Code, while changing only the sense of the orthogonality of this type of orthogonal Space Time Block Code.
Preferably, this proposed simple implementation with negligible silicon overhead is not only foreseen for coming embodiments of IEEE 802.11 standard for WLAN (Wireless Local Area Network) protocol, where the number of channel bandwidth and packet frame format possibilities will get larger, but is also backward compatible with the past embodiments of this IEEE 802.11 standard.
The encoding of the data format according to the prior art is partly described with more detail with respect to
This object and other objects may be achieved with a method of communication comprising, at transmitting side, encoding, with one or more space time block codes chosen among a predetermined group of space time block codes, one or more series of several consecutive symbols in a header of a packet of data of a same data format, said space time block code or said succession of space time block codes being chosen so as to be representative of said data format.
This object and other objects may also be achieved with a method of communication comprising, at receiving side:
Said orthogonal space time block code or said succession of orthogonal space time block codes being chosen so as to be representative of said data format means that two packets of data presenting different data formats from each other being coded with different orthogonal space time block codes or different successions of orthogonal space time block codes.
The header of the data packet is located in packet segments which are ahead of the packet segments where the data are located.
This object and other objects may also be achieved with a transmitter comprising:
This object and other objects may also be achieved with a receiver comprising:
Preferred embodiments comprise one or more of the following features:
Further features and advantages of the invention will appear from the following description of embodiments of the invention, given as non-limiting examples, with reference to the accompanying drawings listed hereunder.
A Space Time Block Code is a code known in the art. However some interesting properties showing the benefit of using such a Space Time Block Code will be reviewed hereafter.
When using a Space Time Block Code, the data stream to be transmitted is encoded in blocks which are distributed among spaced antennas and across time. Multiple transmitting antennas are used for the transmission. A single antenna can be used for the reception, although using multiple receiving antennas for the reception improves performance.
A Space Time Block Code is usually represented by a matrix. Each row represents a time slot and each column represents one antenna's transmissions over time.
Here is an example of such a matrix:
In the matrix, sij is the modulated symbol to be transmitted in time slot i from antenna j. There are to be T time slots and nT transmit antennas as well as nR receive antennas. The code rate of a Space Time Block Code measures how many symbols per time slot it transmits on average over the course of one block. If a block encodes k symbols, the code rate is r=k/T. Only one standard Space Time Block Code can achieve full rate, which is rate 1, it is Alamouti's code.
Space Time Block Codes are preferably orthogonal. This means that the Space Time Block Code is designed such that the vectors representing any pair of columns taken from the coding matrix are orthogonal. The result of this is simple, linear, optimal decoding at the receiver. Its most serious disadvantage is that all but one (Alamouti's code) of the codes that satisfy this criterion will sacrifice some proportion of their data rate. Besides, there exist quasi orthogonal Space Time Block Codes that achieve higher data rates at the cost of inter symbol interference.
Alamouti's code is a special Space Time Block Code. It is the only orthogonal Space Time Block Code that achieves rate 1, that is to say full rate as code rate. That is to say that it is the only Space Time Block Code that can achieve its full diversity gain without needing to sacrifice its data rate.
One particularly interesting feature of orthogonal Space Time Block Codes is that maximum likelihood decoding can be achieved at the receiver with only linear processing.
Now, the use of the sense of orthogonality of a Space Time Block Code which is a preferred and interesting feature of this described embodiment will be developed in more detail. It will be developed with the simpler (lower rank) of Space Time Block Codes which is the Alamouti code. The working of this Alamouti code will be explained too. The Alamouti code is a complex orthogonal Space Time Block Code specialized for the case of two transmit antennas.
In the Alamouti encoder, which will be described in more detail with respect to
where * denotes the complex conjugate.
Alamouti encoded signal is transmitted from the two transmit antennas over two symbol periods. During the first symbol period, two symbols x1 and x2 are simultaneously transmitted from the two transmit antennas. During the second symbol period, these symbols are transmitted again, where −x2* is transmitted from the first transmit antenna and x1* transmitted from the second transmit antenna.
To estimate the maximal likelihood signal detection for Alamouti space-time coding scheme, assumption is made that two channel gains, h1(t) and h2(t), are time invariant over two consecutive symbol periods, that is:
h
1(t)=h1(t+Ts)=h1=|h1|ejθ
and h2(t)=h2(t+Ts)=h2=|h2|ejθ
where |hi| and □i denote the amplitude gain and phase rotation over the two symbol periods, i=1, 2. Let y1 and y2 denote the received signals at time t and t+Ts, respectively, then:
y
1
=h
1
x
1
+h
2
x
2
+z
1
y
2
=−h
1
x*
2
+h
2
x*
1
+z
2
where z1 and z2 are the additive noise at time t and t+Ts, respectively. Taking complex conjugation of the second received signal, the following matrix vector equation comes:
In the course of time, from time t to t+TS, the estimates for channels gains, ̂h1 and ̂h2, are provided by the channel estimator, since those channels gains are not exactly known in advance. To make the reasoning simpler, and since this aspect impacts embodiments of the invention as well as prior art in a similar way, an assumption is however hereby made which corresponds to an ideal situation in which the channel gains, h1 and h2, are exactly known to the receiver. Then the transmit symbols are now two unknown variables in the matrix of the above equation. Multiplying both sides of the above equation by the Hermitian transpose of the channel matrix, gives:
The above equation means that by estimating the channel to find h1 and h2, the transmitted signals x1 and x2 can be detected. This is an interesting feature of the Space Time Block Code. Space Time Block Code is indeed interesting because it leads to much better receiver performance in terms of Bit Error Rate versus Signal to Noise Ratio.
It is to be noted that in Alamouti coding technique, the two antennas transmit according to the following matrix:
A particularly interesting feature of the Space Time Block Code of the Alamouti type resides in the fact that the two antennas are sending two consecutive symbols that are preferably orthogonal. This orthogonality is proved by the zero complex dot product of the vectors forming the columns of the matrix M1. These two vectors are: [x1, x2] and [−x*2, x*1]. The complex dot product is: [x1, x2]·[−x*2, x*1]=x1·(−x*2)*+x2·(x*1)*=0.
The same orthogonality can be proven for the following matrices that correspond to Alamouti codes too, and to orthogonal Alamouti codes. Each matrix can be obtained from the next one simply by changing the sense of its orthogonality, that is to say by making the sign minus circulate in the four possible positions where it can be located in a matrix 2 by 2.
We then get:
We can say that M1, M2, M3, and M4 are all orthogonal, but with different orthogonality senses. All 2 by 2 four matrixes M1, M2, M3, and M4 are orthogonal Space Time Block Codes, respectively with four different senses of orthogonality.
In the step S1 of identifying the data format, at transmitting side, the data format to be encoded is identified either actively or passively. Information related to this data format can be given with the data themselves. The transmitter can have means to detect the data format of the data it gets, before putting them into a packet.
In the step S2 of encoding the packet header, at transmitting side, an encoding, with one or more orthogonal space time block codes chosen among a predetermined group of orthogonal space time block codes, of one or more series of several consecutive symbols in a header of a packet of data of a same data format is performed, said orthogonal space time block code or said succession of orthogonal space time block codes being chosen so as to be representative of said data format. These consecutive symbols themselves vehicle information different from said data format: the have their own function within the data packet header. Since said data packet presents a predetermined segmented structure, it would not have been easy to simply add another segment in the packet header related to data format information. Therefore, these consecutive symbols, besides fulfilling their own function within packet header, also fulfill another function of transporting information related to data format thanks to this embodiment of the invention. This information related to data format preferably contains two pieces of information, one piece of information related to the data frame format and one piece of information related to the channel bandwidth. Indeed, since the standard of communication has different configurations of channel bandwidths, and even has different configurations of channel bandwidths for a given frame format, the channel bandwidth becomes an important parameter to know at receiving side, before being able to receive correctly the sent data and to extract them from the received packet.
Preferably, all these orthogonal space time block codes are each represented by a 2 by 2 matrix, all these orthogonal space time block codes are preferably Alamouti codes, and this predetermined group preferably comprises 4 different space time block codes. The only difference between all these orthogonal Alamouti space time block codes of said predetermined group is the sense of their orthogonality: it is the variation of this sense of orthogonality all along the used succession of orthogonal Alamouti space time block codes which will correspond to the data format looked for. More detail about this step S2 of encoding will be given in relation to
In the step S3 of transmitting the data, the data format being encoded in the packet header, and the data being then encapsulated in the packet, the whole packet, including header and data is transmitted over the communication link, from transmitter to receiver.
In the step S4 of analyzing the packet header, at receiving side, one or more series of several consecutive symbols in a header of a packet of data of a same data format are analyzed. Those series of several consecutive symbols had been previously encoded with one or more space time block codes chosen among a predetermined group of space time block codes in such a way that said space time block code or said succession of space time block codes is representative of said data format.
In the step S5 of identifying the Space Time Block Code, at receiving side, the reverse analysis of which space time block code or which succession of space time block codes has been used to encode these series of several consecutive symbols gives the space time block code or the succession of space time block codes looked for.
In the step S6 of associating the data format, at receiving side, the found space time block code or the found succession of space time block codes can be directly matched with the corresponding data format.
In the step S7 of adapting the data receiving parameter, at receiving side, thanks to the found data format, which means both frame format and channel bandwidth, a data receiving parameter of the received can be tuned so that it becomes adapted to the detected frame format as well as to the detected channel bandwidth which may for example imply looking for data in several parallel channels of the communication link.
In the step S8 of receiving the data, at receiving side, the receiver being completely adapted for receiving a data packet of a given frame format and of a given channel bandwidth, data can be transmitted and received, while the risk of missing part of transmitted data has been minimized.
There are 4 possible different frame formats to be encoded. These frame formats 10, 20, 30, 40 respectively are NON-HT, HT-MF, HT-GF, VHT. Each of these frame formats may comprise one or more of following segments 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, respectively for L-STF, L-LTF, L-SIG, HT-SIG, HT-STF, HT-LTF, WHTSIG, VHTSTF, VHTLTF, DATA. Only segment 60 contains data to be transmitted, all other segments 51 to 59 corresponding to segments of the packet header.
Thanks to encoding 61, through BPSK, corresponding to the horizontal points, and through QBPSK, corresponding to the two vertical points, the frame format is encoded in the consecutive symbols themselves, all consecutive symbols being encoded with the same space time block code which can be an Alamouti code. Because of the binary value of this encoding 61, either BPSK or QBPSK, the data format information quantity that can be encoded remains rather limited. Besides, this type of encoding 61 compels to go deeper into the signal analysis, by analyzing the consecutive symbols themselves and not only the way they are coded as in the embodiment of the invention which will now be described in relation to
In the receiver, the Mode Detector module provides indication of the mode, that is to say the frame format, of the received packet (which is the PPDU format, the Physical layer convergence procedure Protocol Data Unit), and the corresponding bandwidth allocation, which can vary from 20 MHz to 160 MHz. This data frame format and channel bandwidth information is useful to the receiver to configure the rest of the processing blocks and select the set of subcarriers used in the PPDU reception. This information has to be obtained in the Mode Detector module at the latest by the end of the SIG field of the packet header, because next to it already come the data segments.
In a VHT network, the transmitter can generate frames with NON-HT, HT or VHT format. The receiver shall be able to dynamically detect the frame type and configure the demodulator accordingly. For example, when the Basic Service Set is configured for 40 MHz or 80 MHz channel bandwidth, the transmitter can start the transmission on the 20 MHz primary channel only, or it can use a 40 MHz or 80 MHz channel bandwidth. The receiver shall be able to dynamically, that is to say online, detect the occupied channel bandwidth and configure the demodulation accordingly.
There are indeed 11 possible different data formats, consisting of combinations of frame formats and of channel bandwidths, to be encoded. These frame formats 11, 12, 13, 21, 22, 31, 32, 41, 42, 43, 44 respectively are NON-HT 20 MHz, NON-HT-DUP-OFDM 40 MHz, NON-HT-DUP-OFDM 80 MHz, HT-GF 20 MHz, HT-GF 40 MHz, HT-MF 20 MHz, HT-MF 40 MHz, VHT 20 MHz, VHT 40 MHz, VHT 80 MHz, VHT 160 MHz.
Each of these frame formats may comprise one or more of following segments 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, respectively for L-STF, L-LTF, L-SIG, HT-SIG, HT-STF, HT-LTF, WHTSIG, VHTSTF, VHTLTF, DATA. Only segment 60 contains data to be transmitted, all other segments 51 to 59 corresponding to segments of the packet header.
Thanks to encoding 62, corresponding to encoding at least part of the SIG types segments, for example 53, 54, 57, by a different succession of orthogonal Alamouti codes, the whole data format, meaning the combination of both the frame format, NON-HT, HT-GF, HT-MF or VHT, and the channel bandwidth, 20 MHz, 40 MHz, 80 MHz, 160 MHz, can be encoded in the packet header.
Because of the four possible values of this encoding 62, which are the matrices M1, M2, M3 and M4 previously presented, the data format information quantity that can be encoded becomes now rather important. Besides, this type of encoding 62, only needs to find back the used Alamouti code or the used succession of Alamouti codes, in order to get back the data format information, without needing an analysis of the consecutive symbols themselves as in prior art. Only the codes used to code the consecutive symbols have to be identified.
More precisely, the correspondence between used succession of Alamouti codes chosen among the Alamouti orthogonal codes represented by matrices M1, M2, M3 and M4 previously presented, and the type of data format, corresponding to the combination of a data frame format and a channel bandwidth, is done as follows.
If M1 is detected at the end of t1, after analysis of segment 53, then the data format 11 is identified, which is NON HT 20 MHz. If M2 is detected at the end of t1, after analysis of segment 53, then the data format 12 is identified, which is NON HT DUP OFDM 40 MHz. If M3 is detected at the end of t1, after analysis of segment 53, then the data format 13 is identified, which is NON_HT_DUP_OFDM 80 MHz.
If M4 is detected at the end of t1, after analysis of segment 53, then the data format cannot yet be identified. It can simply be deduced that it is either of the type HT-MF, or of the type HT-GF, or of the type VHT mode. Then a second header segment 54 or 57 has to be analyzed.
If M1 is detected at the end of t2, after analysis of segment 54, then the data format 21 is identified, which is HT-GF 20 MHz. If M2 is detected at the end of t2, after analysis of segment 54, then the data format 22 is identified, which is HT-GF 40 MHz.
If M3 is detected at the end of t2, after analysis of segment 54, then the data format cannot yet be identified. It can simply be deduced that it is of the type HT-MF mode, but the channel bandwidth cannot yet be identified. Then a third header segment 54 has to be analyzed. If M1 is detected after analysis of next segment 54, then the data format 31 is identified, which is HT-MF 20 MHz. If M2 is detected after analysis of next segment 54, then the data format 32 is identified, which is HT-MF 40 MHz.
If M4 is detected at the end of t2, after analysis of segment 57, then the data format 11 cannot yet be identified. It can simply be deduced that it is of the type VHT mode, but the channel bandwidth cannot yet be identified. Then a third header segment 57 has to be analyzed. If M1 is detected at the end of t3, after analysis of next segment 57, then the data format 41 is identified, which is VHT 20 MHz. If M2 is detected at the end of t3, after analysis of next segment 57, then the data format 42 is identified, which is VHT 40 MHz. If M3 is detected at the end of t3, after analysis of next segment 57, then the data format 43 is identified, which is VHT 80 MHz. If M4 is detected at the end of t3, after analysis of next segment 57, then the data format 41 is identified, which is VHT 160 MHz.
As a supplementary option, the method of communication according to an embodiment of the invention may comprise, at transmitting side, encoding, with one or more orthogonal space time block codes chosen among a predetermined group of orthogonal space time block codes, one or more series of several other consecutive symbols in said header of said packet, said orthogonal space time block code or said succession of orthogonal space time block codes being chosen so as to be representative of a time synchronization parameter of said packet. This time synchronization encoding could be performed for example by encoding series of consecutive symbols, in the segments 51 or 52 of the packet header, with one or more of those matrices M1, M2, M3 and M4 previously presented.
The invention has been described with reference to preferred embodiments. However, many variations are possible within the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
13305103.7 | Jan 2013 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2014/050774 | 1/16/2014 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61765971 | Feb 2013 | US |