1. Technical Field
This invention relates generally to wireless local area networks, and more particularly, to wireless local area networks employing physical layer modulation and demodulation in accordance with the IEEE Standard 802.11b—1999 Supplement (“IEEE802.11b”) to the ANSI/IEEE Standard 802.11, 1999 edition.
2. Related Art
There are several known techniques for transmitting digital waveforms across wireless networks. One known technique is direct sequence spread spectrum (DSSS), which allows for high-rate modulation using complementary codes known as “spreading codes.” The use of spreading codes enables the bandwidth occupied by a DSSS waveform to be increased or “spread.” As a consequence of this bandwidth spreading (and despreading), DSSS systems are able to realize processing gains compared to systems using other transmission techniques.
Complementary Code Keying (CCK) is the modulation technique chosen for IEEE 802.11b high rate modes (5.5 Mbps mode and 11 Mbps mode). For example, a CCK modulated symbol c may be expressed as:
c={ej(φ
where φ1, φ2, φ3 and φ4 are suitable phase values as described in more detail below.
For clarity of description, the chips in equation (1) are hereinafter referenced from left to right as c0–c7, respectively. In CCK modulation, the 4th and 7th chips, namely c3 and c6, are rotated 180° to optimize the correlation properties and reduce DC offset.
When operating in the 5.5 Mbps CCK mode (4 bits/symbol), the various phase values φ1, φ2, φ3 and φ4 employed in equation (1) are defined as shown below in equation (2).
where d0, d1, d2 and d3 are the 4 bits to be modulated.
When operating in the 11 Mbps CCK mode (8 bits/symbol), the various phase values are defined as shown below in equation (3).
where d0, d1, . . . , d6 and d7 are the 8 bits to be modulated.
When demodulating, the d2–d3 bits (5.5 Mbps mode) or the d2–d7 bits (11 Mbps mode) will be decoded by the CCK correlator, and d0–d1 by DQPSK demodulation.
The published CCK 64-vector correlation can be written as:
where CT=(c0, c1, c2, −c3, c4, c5, −c6, c7) (In-phase and Quadrature signal).
Further, it has been proposed to further enhance CCK symbol modulation processing gain through decision feedback analysis based on e.g. previous symbol information and/or predicted subsymbol regeneration. Therefore, it would be desirable to implement power saving correlation techniques which could conveniently include decision-directed equalization using selective subsymbol prediction and regeneration for improving overall symbol correlation and demodulation.
The present invention relates to a method and apparatus for a CCK correlator employing a reduced power consumption and achieves faster performance in the 5.5 Mbps mode of operation as compared with the 11 Mbps mode of operation, and can selectively predict and regenerate subsymbol information believed useful in e.g. decision feedback and noise error correction operations.
Consistent with an aspect of the present invention, a symbol prediction apparatus is disclosed which includes a correlator having an input to accept a first set of modulated symbol chips in a first order to generate a first set of correlator output signals based on the first plurality of modulated symbol chips, a data cross bar to selectively feed a second set of modulated symbol chips in a second order to the correlator based on one of a plurality of predicted subsymbol types, a windowing unit to selectively generate a subset of the set of correlator output signals based on the predicted subsymbol type, and a maximum picker unit to identify a maximum-valued correlator output signal from one of the set of correlator output signals and the subset of correlator output signals, wherein the maximum-valued correlator output signal corresponds to a predicted subsymbol of the predicted subsymbol type.
Other disclosed aspects of the present invention include a corresponding symbol prediction method, as well as wireless communications receiver and transceiver configurations which incorporate such selective sub symbol prediction and apparatus.
Additional aspects and advantages of this invention will be apparent from the following detailed description of certain embodiments thereof, which proceeds with reference to the accompanying drawings, in which like reference numerals indicate like parts.
An exemplary operating environment for the illustrated system of the present invention is depicted in
Referring to
Encoding Data
Referring to
Data bits d2–d3 (5.5 Mbps) or d2–d7 (11 Mbps) are applied to the CCK correlator 504. The CCK correlator 504 receives the appropriate data bits (d2–d3 or d2–d7) and encodes the phase parameters φ2, φ3 and φ4 according to equation (2) or equation (3), respectively.
An even/odd rotator (not shown) may be utilized in the encoder 500 to output a signal that toggles between two different states. For even symbols, no rotation is applied to the phase value. For odd symbols, an additional rotation of B is applied to the phase value. By additionally encoding data with such a signal, effects of DC offset are reduced because any encoded symbol will have been encoded with a different odd/even status from the immediately preceding and following encoded symbols.
After the data bits have been applied to the CCK encoder 500, all of the phase parameters φ1, φ2, φ3 and φ4 will have been encoded. With all of the phase parameters thus being known, the phase parameter values may then be substituted into equation (1) to yield the eight-chip symbol. It should be noted that the symbol will contain eight complex chips, regardless of whether four data bits (5.5 Mbps) or eight data bits (11 Mbps) are used. The eight-chip symbol is then RF modulated by RF modulator 206, amplified by RF amplifier 210, and transmitted from antenna 212 (
Encoding Example
As an example, if the CCK modulator 500 is operating in 5.5 Mbps mode and receives four data bits d3–d0 (MSB to LSB) {1, 0, 0, 1}, the output of the DQPSK modulator 502 will be B/2, and therefore φ1=B/2. φ2 is equal to (d2*2+1)*B/2 or (0*2+1)*B/2 which equals B/2. φ3 is defined as 0 in 5.5 Mbps mode. Finally, φ4 is equal to d3*2*B/2 or B. Thus {φ1, φ2, φ3, φ4} equals {B/2, B/2, 0, B}. Substituting those values into equation (1) yields the symbol c={ei2B, eiB/2, ei2B, −ei3B/2, eiB, ei3B/2, −eiB, eiB/2}. Euler's formula is provided below in equation (4):
ejθ=cos θ+j sin θ (4)
Substituting the complex chip values for c (shown above) into equation (4) yields the complex symbol c={1, −j, 1, j, −1, −j, 1, j}. Thus it is apparent that any symbol to be transmitted may be derived through the use of the above equations.
Decoding Data
Referring to
The correlator output R may be expanded as shown below:
A single-vector implementation of the CCK correlator described above is depicted in
One exemplary embodiment of the 64-vector CCK correlator 702 according to the present invention is depicted in
When the correlator 702 is operating in 11 Mbps mode, four clock cycles will be required in order to generate the 64 possible outputs 722, i.e. 16 outputs 722 per clock cycle, with the φ3 Rotators 710 rotating once per clock cycle. When the correlator 702 is operating in the 5.5 Mbps mode, however, only one clock cycle will be required to generate all available outputs 722. This is because, in the 5.5 Mbps mode, φ3 may only assume the value 0, such that there is no need to rotate through other possible vector values. As a consequence of the correlator design of the present invention, the amount of power required for demodulating while operating at 5.5 Mbps is greatly reduced compared to the prior art correlators as described above. Further, the correlator of the present invention is appreciably faster, because there is no need to rotate through the other possible φ3 values.
The correlator outputs 722 are analyzed to determine which of the outputs r0–r15 is of the greatest magnitude. Referring to
After determining the value of the maximum correlator output 722, the index of the CCK correlator 702 with a maximum value is mapped to the corresponding data values. Specifically, the original data values d2–d7 (11 Mbps) or d2–3 (5.5 Mbps) are determined through the use of an encoder, e.g. look-up table 758. Look-up table 758 outputs data bits that correspond to the correlator index that has the maximum correlator output value.
The maximum correlator output value is also used to determine data values d0–d1. This is done through DQPSK demodulation performed by DQPSK demodulation module 704 (
The original data values d0–d3 (5.5 Mbps) or d0–d7 (11 Mbps) are then provided by the data demodulator 608 to the computer interface 610 (
Comparing the correlator 1500 of
Also, the correlator 1500 includes a windowing unit 1530 which selectively filters certain invalid vectors from correlation result vectors R0 . . . R15 (once for 5.5 Mb mode and 4 times for 11 Mbps mode corresponding to the need for rotating through φ3 as described above), also responsive to which type of predicted subsymbol is to be regenerated or if the entire symbol is to be decided. Alternatively phrased, the windowing unit selects a valid subset of candidate correlation result vectors R0 . . . R15 based on which type of subsymbol or symbol is to be realized. In this embodiment, invalid correlation results are zeroed out to the origin on the complex plane (0,0) such that their magnitude or absolute value is zero.
The reason why not all 16 or 64 correlation result vectors are needed here is because consistent with most-likely subsymbol prediction according to the present embodiment, not all chips required to completely define a given symbol are needed to predict a subsymbol. In fact, as will be discussed in greater detail below, to predict and regenerate a 2nd chip subsymbol C2″ of a given CCK-encoded symbol C, only chips c0′ and c1′ need be received. Likewise, only chips c0′ . . . c3′ are required to predict and regenerate a 4th chip CCK subsymbol C4″, chips c0′ . . . c5′ are required to for a 6th chip CCK subsymbol C6″.
However, as before, all eight chips c0′ . . . c7′ will be needed to fully decide the CCK symbol and regenerate it during the 8th chip (C8″).
The maximum magnitude picker unit 1540 combines the functionality previously associated with the absolute value units 750 and the comparator 752 described above with reference to the embodiment of
2nd Chip Subsymbol Prediction
In this case, only 2 chips (c0′, c1′) of the current symbol are available, and the shift register 1510 holds c0′, and c1′ is received from the output of the RF demodulator 606 (
C2″={c0″,c1″}={ej(α
And the optimized correlation should be:
To obtain R2 with different possible α2 using the correlator 1505 shown in
If φ2=α2, φ4=0, then R2=R. Considering that φ2ε{0,π/2,π,3π/2} in 11 Mbps mode, four (4) valid correlation result vectors R may be calculated by the correlator 1505 dependent on the differing φ2, indicating the 2nd chip subsymbol can be predicted from one of 4 different combinations of c0′,c1′. For the 11 Mbps mode, the windowing unit 1530 window is selected as (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) for R0 to R15 from left to right, thereby passing all correlation result vectors R to the maximum magnitude picker unit 1540 for maximum correlation magnitude result determination of corresponding r0 . . . r15. For 5.5M, because α2 has only two possible values (+j, −j), according to the power saving architecture of the correlator 1505, the windowing unit 1530 window is selected as (0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0). It should be noted that the remaining correlation result R0–R3, R5–R11 and R13–R15 are not valid for this transmission mode and chip into the current symbol decode sequence, and are properly ignored for magnitude comparison by the maximum magnitude picker unit 1540 using this withdrawing unit 1530 configuration.
The maximum magnitude picker unit 1540 realizes the magnitude for each valid vector r and determines which exhibits the maximum magnitude (Rm) as well as correlator index m_index having the maximum correlator output value, in a manner consistent with that described above with reference to the embodiment of
C2″={c0″,c1″}={ej(Γ
4th Chip Subsymbol Prediction
In this case, the first four complex chips (c0′, c1′, c2′, c3′) of the current symbol are available, with the shift register 1510 holding (c0′, c1′, c2′) accessible through taps I4, I5 and I6 respectively and c3′ is received from the output of the RF demodulator 606 and asserted on tap I7. At this time, the most likely 4th chip subsymbol may be defined as:
C4″={ej(α
And the optimized correlation should be:
To obtain R4 with different possible combinations of α2 and α3 using the correlator 1505, the data cross bar 1520 is configured to reposition the received chips as follows: (c0, c1, c2, c3, c4, c5, c6, c7)=(0,0,I4,I5,0,0,I6,−I7) or, alternatively put, =(0,0,c0′,c1′,0,0,c2′,−c3′). Thus, the correlator 1505 output may be written as:
If φ2=α2, φ3=α3, then R4=R. Considering that φ2ε{0,π/2,π,3π/2} and φ3ε{0,π/2,π,3π/2} in 11 Mbps mode, sixteen (16) valid correlation result vectors R are calculated by the correlator 1505, indicating that the 4th chip subsymbol can be predicted from one of 16 different combinations of c0′, c1′, c2′ and c3′. For the 11 Mbps mode, the windowing unit 1530 window is selected as (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1), thereby passing all correlation result vectors R to the maximum magnitude picker unit 1540 for maximum correlation magnitude result determination of corresponding r0 . . . r15. For 5.5 Mbps mode, because α2 has only two possible values and α3=0, according to the power saving architecture of the correlator 1505, the windowing unit window is selected as (0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0), such that only vectors R4 and R12 are passed along as r4 and r12 respectively, with the remaining vectors equated to the origin of the complex plane to provide a magnitude of zero [[please confirm]].
As before, the maximum magnitude picker unit 1540 realizes the magnitude for each valid vector r generated by the windowing unit and determines which exhibits the maximum magnitude (Rm) as well as m_index, as previously described. The phase values for φ2 and φ3 (recoverable using the m_index) corresponding to the maximum magnitude (say, Γ2, Γ3) is assigned to α2 and α3, or:
In this case, the phase of the residue of the correlator can be derived from Equations (11), (12) and (13), and can be expressed as α1+α4=arg R4. Therefore, from Equations (11), (12) and this residue phase relationship, the CCK code regenerator 1550 may regenerate the most-likely 4th chip subsymbol C4 as:
C4″={c0″,c1″,c2″,c3″}={ej(arg R
6th Chip Subsymbol Prediction
In this case, the first six complex chips (c0′, c1′, c2′, c3′, c4′, c5′) of the current symbol are available, with the shift register 1510 holding (c0′, c1′, c2′, c3′, c4′) accessible through taps I2, I3, I4, I5, and I6 respectively and c5′ is received from the output of the RF demodulator 606 and asserted on tap I7. At this time, the most likely 6th chip subsymbol C6 may be defined as:
C6″={ej(α
And the optimized correlation should be:
To obtain R6 with different possible combinations of α2, α3 and α4 using the correlator 1505, the data cross bar 1520 is configured to reposition the received chips as follows: (c0, c1, c2, c3, c4, c5, c6, c7)=(I2,I3,I4,I5,I6,I7,0,0) or, alternatively put, =(c0′,c1′,c2′,c3′,c4′,c5′,0,0). Thus, the correlator 1505 output may be written as:
If φ2=α2, φ3=α3, φ4=α4, then R6=R. Considering that φ2ε{0,π/2,π,3π/2}, φ3ε{0,π/2,π,3π/2}, and φ4ε{0,π/2,π,3π/2} in 11 Mbps mode, all 64 possible correlating operations (4 cycles of 16 vector correlating through rotation of φ3) are carried out by the correlator 1505, now indicating that the 6th chip subsymbol can be predicted from one of 64 different combinations of c0′ . . . c5′. For the 11 Mbps mode, the windowing unit 1530 window is selected as (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) as in the case of predicted subsymbols C2″ and C4″ previously discussed, thereby passing all correlation result vectors R to the maximum magnitude picker unit 1540 for maximum correlation magnitude result determination of corresponding r0 . . . r15. For 5.5 Mbps mode, because the combination of α2 and α4 has only four possible values and α3=0, according to the power saving architecture of the correlator 1505, the windowing unit 1530 window is selected as (0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0), such that only vectors R4, R6, R12, and R14 as passed along as vectors r4, r6, r12, and r14 respectively, with the remaining vectors zeroed out.
As in the case for C2″ and C4″ subsymbol prediction, the maximum magnitude picker unit 1540 here realizes the magnitude for each valid vector r generated by the windowing unit and determines which exhibits the maximum magnitude (Rm) as well as m_index. The phase values for φ2, φ3 and φ4 (recoverable using the m_index) corresponding to the maximum magnitude (say, Γ2, Γ3, Γ4) is assigned to α2, α3 and α4 or:
From Equations (15), (16), and (17), the phase of the residue of the correlator 1505 may be expressed as α1=arg R6. Therefore, from Equations (15), (16) and this residue phase relationship, the CCK code regenerator 1550 may regenerate the most-likely 6th chip subsymbol C6″ as:
C6″={c0″,c1″,c2″,c3″,c4″,c5″}={ej(arg R
8th Chip Symbol Decision
In this case, all eight received complex chips (c0′ . . . c7′) of the current symbol are available, with the shift register 1510 holding (c0′ . . . c6′) accessible through taps I0 . . . I6 respectively and c7′ is received from the output of the RF demodulator 606 and asserted on tap I7. At this time, the most likely 8th chip symbol C8 may be defined as:
C8″={ej(α
And the optimized correlation should be:
Using the correlator 1505 to obtain R8, the data cross bar 1520 simply passes along the cTo get R6 with different α2, α3, α4, we may configure the data cross bar unit 1520 just as a pass through buffer, e.g. (c0, c1, c2, −c3, c4, c5, c6, −c7)=(I0, I1, I2, I3, I4, I5, I6, I7), or, alternatively put, =(c0′, c1′, c2′, −c3′, c4′, c5′, c6′, −c7′). Then, the general correlator 1505 output is:
If φ2=α2, φ3=α3, φ4=α4, then R8=R. Similar to 6th chip subsymbol prediction discussed above, and considering that φ2ε(0,π/2,π,3π/2}, φ3ε{0,π/2,π,3π/2}, and φ4ε{0,π/2,π,3π/2} in 11 Mbps mode, all 64 possible correlating operations (4 cycles of 16 vector correlating through rotation of φ3) are carried out by the correlator 1505, now indicating that the 8th chip symbol can be decided from one of 64 different combinations of c0′ . . . c7′. For the 11 Mbps mode, the windowing unit 1530 window is again selected as (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1), thereby passing all correlation result vectors R to the maximum magnitude picker unit 1540 for maximum correlation magnitude result determination of corresponding r0 . . . r15. For 5.5 Mbps mode, because the combination of α2 and α4 has only four possible values and α3=0, according to the power saving architecture of the correlator 1505, the windowing unit 1530 window is selected as (0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0), such that only vectors R4, R6, R12, and R14 as passed along as vectors r4, r6, r12, and r14 respectively, with the remaining vectors zeroed out.
As in the case for subsymbol prediction discussed, the maximum magnitude picker unit 1540 here realizes the magnitude for each valid vector r generated by the windowing unit and determines which exhibits the maximum magnitude (Rm) as well as m_index. The phase values for φ2, φ3 and φ4 (recoverable using the m_index) corresponding to the maximum magnitude (say, Γ2, Γ3, Γ4) is assigned to α2, α3 and α4 or:
From Equations (20), (21), and (22), the phase of the residue of the correlator 1505 may be expressed as α1=arg R8. Therefore, from Equations (20), (21) and this residue phase relationship, the CCK code regenerator 1550 may regenerate the 8th chip decided symbol C8″ as:
C8″=(c0″, c1″, c2″, c3″, c4″, c5″, c6″, c7″)={ej(arg R
It should also be appreciated by those ordinarily skilled in the art that the present invention may be practiced at least in part through the use of an information processing system including a general purpose or specific-purpose processor, embodied by software or firmware. For example, the correlation unit 1500 may conveniently comprise a microprocessor programmed in accordance with the processing steps outlined in
While the present invention has been described with respect to several embodiments, it is to be understood that the invention is not limited to the embodiments disclosed. To the contrary, the invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. For example, it is to be understood that the invention is generally applicable to other correlator architectures in which phase rotators may selectively be used, and in fact in any correlator architecture where it would be advantageous to predict subsymbols. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims priority benefit of U.S. Provisional Patent Application Ser. No. 60/368,865 filed on Mar. 29, 2002 and is a continuation-in-part of U.S. patent application Ser. No. 10/092,971, filed on Mar. 5, 2002, which in turn claims priority benefit of U.S. Provisional Patent Application Ser. No. 60/277,258, filed on Mar. 21, 2001, the contents of each are collectively incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3729684 | Shuda | Apr 1973 | A |
4621365 | Chiu | Nov 1986 | A |
5615230 | Gunther et al. | Mar 1997 | A |
5636247 | Kamerman et al. | Jun 1997 | A |
5640431 | Bruckert et al. | Jun 1997 | A |
5719899 | Thielecke et al. | Feb 1998 | A |
5796787 | Chen et al. | Aug 1998 | A |
5841813 | Van Nee | Nov 1998 | A |
5844947 | Cesari | Dec 1998 | A |
5862182 | Atwater et al. | Jan 1999 | A |
5878085 | McCallister et al. | Mar 1999 | A |
5966055 | Knoedl, Jr. et al. | Oct 1999 | A |
6005840 | Awater et al. | Dec 1999 | A |
6233273 | Webster et al. | May 2001 | B1 |
6330273 | Hulbert et al. | Dec 2001 | B1 |
6345067 | Okamoto | Feb 2002 | B1 |
6345073 | Curry et al. | Feb 2002 | B1 |
6347112 | Lattard et al. | Feb 2002 | B1 |
6363104 | Bottomley | Mar 2002 | B1 |
20010038663 | Medlock | Nov 2001 | A1 |
20020064209 | Turetzky et al. | May 2002 | A1 |
20020136274 | Proctor et al. | Sep 2002 | A1 |
20040184721 | Birmingham | Sep 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
60277258 | Mar 2001 | US | |
60368865 | Mar 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10092971 | Mar 2002 | US |
Child | 10252138 | US |