FIELD OF THE INVENTION

This invention relates generally to digital radio data communication systems and methods and, more particularly, to link adaptation techniques for selecting an optimum channel coding for a particular radio channel quality. [0001]
BACKGROUND OF THE INVENTION

In digital radio systems the information is typically transmitted in data packets using a particular type of channel coding. The goal of channel coding is to improve the transmission quality when the transmitted signal encounters radio channel disturbances. When a data packet is coded, some amount of redundant information is added to the source data. A subsequent decoding operation then makes use of the redundant information to detect and/or correct bit errors that occurred during the transmission. [0002]

When the amount of redundant information is increased the error correction capabilities of the decoder can be improved. However, the improvement in error correction capabilities comes at the cost of a reduced net bit rate. As can be appreciated, it would be advantageous to use a robust channel coding technique during poor radio propagation conditions, and a channel coding technique having a high net bit rate when the radio channel conditions are good. [0003]

It is known in the art to employ link adaptation algorithms in an attempt to select an optimum channel coding technique for a given radio link. The selection of a particular channel coding technique is based on link or channel quality estimates. [0004]

In a typical link adaptation algorithm the receiver measures a carrier to interference ratio (C/I) or a raw Bit Error Rate (BER), and then makes an estimate of the channel quality by averaging the measurements over some period of time. Reference in this regard can be had to a publication entitled “Bit Error Rate Based Link Adaptation for GSM”, J. Pons and J. Dunlop, Proceedings of the 1998 9[0005] ^{th }IEEE International Symposium on Personal, Indoor and Mobile Radio Communications”, PIMRC, Part 3, pages 15301534.

In general, a link adaptation algorithm makes the decision of whether to maintain or change a current channel coding technique by comparing the estimated channel quality with one or more threshold values. Some amount of hysteresis is typically used in the comparison to avoid pingpong effects (i.e., repetitive switching between channel coding techniques when the estimated channel quality is about equal to the switching threshold value.) [0006]

If the particular link adaptation algorithm is run by the receiver, then signalling is arranged so that the receiver can command the transmitter to use the selected channel coding technique. Otherwise, the signalling is arranged so that the receiver sends the channel quality estimates to the transmitter, which then executes the desired link adaptation algorithm. [0007]

A problem arises in these conventional approaches in that, for some cases, an ability to make the channel quality estimation in terms of the C/I or BER may be difficult, inaccurate or even impossible. For example, the receiver may not have sufficient processing power to perform the required measurements. In this case a reduced complexity link adaptation algorithm can be used, such as one that simply counts the numbers of successfully decoded and unsuccessfully decoded packets. However, the packet counting approach, while computationally less complex than other types of channel quality estimation techniques, may result in a problematic link adaptation algorithm. For example, in order to obtain an accurate estimate of a packet error rate (PER) value a significant number of packets must be received, thereby resulting in a slow algorithm. As such, the link adaptation approach based on packet counting will not be capable of rapidly responding to changes in radio channel conditions. [0008]
OBJECTS AND ADVANTAGES OF THE INVENTION

It is a first object and advantage of this invention to provide an improved link adaptation algorithm that overcomes the foregoing and other problems. [0009]

It is a further object and advantage of this invention to provide an improved link adaptation algorithm that uses a channel estimation technique based on counting numbers of received and unsuccessfully received packets, and that more quickly adapts to changing channel conditions than conventional packet countingbased techniques. [0010]

It is another object and advantage of this invention to provide an improved link adaptation algorithm that uses a channel estimation technique based on counting numbers of received and unsuccessfully received packets, and that improves the speed of the packet counting algorithm by employing statistical testing methods to determine whether a current channel coding technique should be changed. [0011]
SUMMARY OF THE INVENTION

The foregoing and other problems are overcome and the objects of the invention are realized by methods and apparatus in accordance with embodiments of this invention. [0012]

A method is disclosed for operating a channel coder, as is a channel coder that operates in accordance with the method. The method includes steps of (a) maintaining a first count (N_Number) of transmitted packets and a second count (K_Number) of packets that are erroneously decoded at a receiver; (b) periodically performing a plurality of statistical tests using current values of the first and second counts; and (c) based on a result of the statistical tests, controlling the channel coder to either maintain a current channel coding technique or to switch to another channel coding technique. The step of controlling includes a further step of resetting the first count and the second count. [0013]

In a presently preferred embodiment the step of periodically performing a plurality of statistical tests includes steps of (b1), at a crossing point where a first channel coding algorithm (CS[0014] 1) and a second channel coding algorithm (CS2) provide a same net bit rate, assuming as a first hypothesis that a packet error rate (PER) is greater than a PER of CS1, P1, if CS1 is currently being used, or assuming as the first hypothesis that the PER is less than a PER of CS2, P2, if CS2 is currently being used; (b2) assuming as reference case that N_Number of packets have been transmitted with a constant PER equal to either P1 or P2, depending on the currently used channel coding algorithm CS1 or CS2; (b3) determining a first probability (Pvalue) using the first count and the second count and the constant PER P1 or P2, depending on the currently used channel coding algorithm CS1 or CS2; (b4) comparing Pvalue to a risk level (RL) for determining whether the first hypothesis can be rejected; and (b5) only if the first hypothesis is rejected, changing to the other channel coding algorithm and resetting N_Number and K_Number.

The step of periodically performing a plurality of statistical tests includes further steps of (b6) assuming as a second hypothesis that PER is less than the PER of CS[0015] 1, P1, if CS1 is currently being used, or assuming as the second hypothesis that the PER is greater than the PER of CS2, P2, if CS2 is currently being used; (b7) assuming the same reference case as in step (b2); (b8) determining a second probability (Pvalue) using the first count and the second count and the constant PER P1 or P2, depending on the currently used channel coding algorithm CS1 or CS2; (b9) comparing Pvalue to RL for determining whether the second hypothesis can be rejected; and (b10) only if the second hypothesis is rejected, resetting N_Number and K_Number without changing to the other channel coding algorithm.

In the presently preferred embodiment the step of periodically performing a plurality of statistical tests includes steps of accessing at least one lookup table using the current values of the first and second counts to retrieve probability values (Pvalues); and comparing the retrieved Pvalues to a threshold to determine whether the assumed hypothesis should be accepted or rejected.[0016]
BRIEF DESCRIPTION OF THE DRAWINGS

The above set forth and other features of the invention are made more apparent in the ensuing Detailed Description of the Invention when read in conjunction with the attached Drawings, wherein: [0017]

FIG. 1 is a conceptual block diagram of a packet data communication system that operates in accordance with this invention; [0018]

FIG. 2 is a graph of C/I (dB) versus time, and shows CSswitching, in accordance with the presently preferred link adaptation algorithm, when tested in a simulator where a mobile station continuously transmitted data packets to a network under varying C/I conditions; and [0019]

FIG. 3 is a logic flow diagram depicting a method in accordance with the description found herein.[0020]
DETAILED DESCRIPTION OF THE INVENTION

The presently preferred link adaptation algorithm is based on statistical testing methods. In statistical testing a certain hypothesis is made and then studied (tested), wherein a determination is made of a probability (Pvalue) that a constructed reference case would generate observed measures with the condition of the hypothesis. Based on the obtained probability the hypothesis is either accepted or rejected. [0021]

Consider a case that is pertinent to the teachings of this invention, wherein two different channel coding algorithms or schemes, CS[0022] 1 and CS2, can be used. CS1 is assumed to be more robust than CS2. As in most link adaptation techniques, one determines beforehand the point where both CS1 and CS2 give the same net bit rate (the crossing point of CS1 and CS2). This can be accomplished either by link level simulations or by experimental tests. Assume that at the crossing point between CS1 and CS2 the packet error rate (PER) values for CS1 and CS2 are P1 and P2, respectively. If CS1 is used, and if the PER is less than P1, then it would be advantageous to change to CS2. If CS2 is used, and if the PER is larger than P2, then it would be advantageous to change to CS1. Since CS1 is more robust that CS2, P2 is larger than P1.

In accordance with the teachings of this invention, during a packet data transmission two counters are updated: N_Number gives a total number of packets, and K_Number gives a number of erroneously decoded packets that have been transmitted since the last link adaptation decision. [0023]

After each transmitted packet, or alternatively at certain predetermined intervals, two of the following four statistical tests are performed (either 1 and 2, or 3 and 4). [0024]

1. Current Channel Coding is CS[0025] 1; Change to CS2?

Hypothesis: PER>P1 [0026]

Reference case: N_Number of packets have been transmitted with a constant PER value of P1. In this reference case the number of erroneous packets follow a binomial distribution.
[0027] $P\ue89e\text{}\ue89e\mathrm{value}=\sum _{i=0}^{K\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}}\ue89e\text{\hspace{1em}}\ue89e\left(\begin{array}{c}N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}\\ i\end{array}\right)\ue89e{{\mathrm{P1}}^{i}\ue8a0\left(1\mathrm{P1}\right)}^{N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}i}$

If Pvalue is less than a certain risk level (RL, a typical value of which is about 5%), the hypothesis can be rejected with (1RL) confidence. This means that it is unlikely that the reference case would yield the observed measures with the condition of PER>P1. [0028]

The action to be taken in case the hypothesis is rejected is to change to CS[0029] 2, and to reset the counters N_Number and K_Number.

The action to be taken in case the hypothesis is accepted is to continue averaging (no action). [0030]

Further in this regard, note that the ratio of K_Number divided by N_Number estimates the experienced PER. The longer the variables N_Number and K_Number are counted, the more accurate in a statistical sense is the (average) estimate of the PER, assuming that the radio channel conditions do not change substantially. When the PER is sufficiently accurate, then the optimal channel coding algorithm can be selected. [0031]

2. Current Channel Coding is CS[0032] 1; Confirm CS1?

Hypothesis: PER<P1 [0033]

Reference case: N_Number of packets have been transmitted with a constant PER value of P1. In this reference case the number of erroneous packets follow a binomial distribution.
[0034] $P\ue89e\text{}\ue89e\mathrm{value}=\sum _{i=K\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}}^{N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}}\ue89e\text{\hspace{1em}}\ue89e\left(\begin{array}{c}N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}\\ i\end{array}\right)\ue89e{{\mathrm{P1}}^{i}\ue8a0\left(1\mathrm{P1}\right)}^{N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}i}$

If Pvalue is less than RL, a typical value of which is about 5%, the hypothesis can be rejected with (1RL) confidence. This means that it is unlikely that the reference case would yield the observed measures with the condition of PER<P1. [0035]

The action to be taken in case the hypothesis is rejected is to reset the counters N_Number and K_Number (CS[0036] 1 is confirmed).

The action to be taken in case the hypothesis is accepted is to continue averaging (no action). [0037]

It should be noted that if the first hypothesis is rejected, then the second hypothesis need not be tested. Note further that the two Pvalues computed for the first hypothesis and for the second hypothesis are nearly complementary to one another, and that the sum of the two Pvalues is about unity (actually slightly greater than unity). Therefore, if the first hypothesis is rejected, the first Pvalue is less than RL (which is clearly less than 0.5), and the second Pvalue will then clearly be larger than 0.5. As a result, it is known that the second hypothesis would have been accepted and not rejected. [0038]

3. Current Channel Coding is CS[0039] 2; Change to CS1?

Hypothesis: PER<P2 [0040]

Reference case: N_Number of packets have been transmitted with a constant PER value of P2. In this reference case the number of erroneous packets follow a binomial distribution.
[0041] $P\ue89e\text{}\ue89e\mathrm{value}=\sum _{i=K\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}}^{N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}}\ue89e\text{\hspace{1em}}\ue89e\left(\begin{array}{c}N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}\\ i\end{array}\right)\ue89e{{\mathrm{P2}}^{i}\ue8a0\left(1\mathrm{P2}\right)}^{N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}i}$

If Pvalue is less than RL, a typical value of which is about 5%, the hypothesis can be rejected with (1RL) confidence. This means that it is unlikely that the reference case would yield the observed measures with the condition of PER<P2. [0042]

The action to be taken in case the hypothesis is rejected is to change to CS[0043] 1, and to reset the counters N_Number and K_Number.

The action to be taken in case the hypothesis is accepted is to continue averaging (no action). [0044]

4. Current Channel Coding is CS[0045] 2; Confirm CS2?

Hypothesis: PER>P2 [0046]

Reference case: N_Number of packets have been transmitted with a constant PER value of P2. In this reference case the number of erroneous packets follow a binomial distribution.
[0047] $P\ue89e\text{}\ue89e\mathrm{value}=\sum _{i=0}^{K\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}}\ue89e\text{\hspace{1em}}\ue89e\left(\begin{array}{c}N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}\\ i\end{array}\right)\ue89e{{\mathrm{P2}}^{i}\ue8a0\left(1\mathrm{P2}\right)}^{N\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\mathrm{Number}i}$

If Pvalue is less than RL, a typical value of which is about 5%, the hypothesis can be rejected with (1RL) confidence. This means that it is unlikely that the reference case would yield the observed measures with the condition of PER>P1. [0048]

The action to be taken in case the hypothesis is rejected is to reset the counters N_Number and K_Number (CS[0049] 2 is confirmed).

The action to be taken in case the hypothesis is accepted is to continue averaging (no action). [0050]

Having thus described preferred embodiments of the four statistical tests, it should be noted that, in practice, the Pvalues can be computed beforehand and stored in lookup tables (with indices N_Number and K_Number). In this case the link adaptation decisions can be performed by simply comparing the predefined Pvalues with the given risk level RL. [0051]

It is desirable to restrict the size of the lookup tables to a practical value. There are at least two different ways to accomplish this. [0052]

In a first technique, since the binomial distribution approaches a normal distribution when N_Number becomes large, the Pvalues for large values of N_Number can be defined with a normal distribution (using, for example, a separate lookup table.) [0053]

In a second technique, if K_Number increases beyond the lookup table size, the counters N_Number and K_Number can be reset. In this manner the number of samples (and thus the size of the lookup tables) is limited, even if the link adaptation algorithm does not make a decision for a long period of time. [0054]

Referring to FIG. 1, there is shown a conceptual block diagram of a packet data communication system [0055] 10 that operates in accordance with the statistical testing embodiments discussed above. In the illustrated embodiment it is assumed that a packet data receiver 12 contains first and second channel decoders (DS1 and DS2) that correspond to the first and second channel coders (CS1 and CS2) of the packet data transmitter 14. The transmitter 14 includes a data source 16 that feeds packets to either CS1 or CS2 through a logical switch S1. The state of S1 is controlled by a CS controller 18 that receives a switching command input from the receiver 12 via a receiver 20 and a wireless channel coding change signalling link. The receiver 12 contains a packet data receiver 22 that feeds packets received from a communications channel to either DS1 or DS2 via a logical switch S2. The state of S2 is controlled by a DS controller 18 that receives a switching command input from a comparator 26. The comparator 26 operates to compare a Pvalue output from a Pvalue lookup table (LUT) 28 to RL. If Pvalue is less than RL, when the statistical test hypothesis is PER>P1 when CS1/DS1 are active, or PER<P2 when CS2/DS2 are active, then a channel coding/decoding scheme change is indicated by the lessthan output of comparator 26. This output signal is signalled to the transmitter 14, via a signalling transmitter 27. This same signal, also for the cases when the link adaptation algorithm operates to confirm CS1 or CS2, is used to reset counters N_Number 30, which counts the number of received packets, and K_Number 32, which counts the number of erroneously decoded packets from the active one of DS1 or DS2. The outputs of counter 30 and 32 are used as address inputs to index into the Pvalue LUT 28, as was described above, so as to retrieve one of the precomputed Pvalues. A decoded packet output of the active one of DS1 or DS2 is provided to a data sink 34, where the received and decoded packets are stored, displayed, or otherwise acted on in a desired manner. The value of RL can be preset, or it may be varied during operation.

In other embodiments of this invention some of the components of the receiver [0056] 12, such as the Pvalue LUT 28 and comparator 26, or just the comparator 26, can be moved to the transmitter 14, and the signalling modified accordingly.

Referring to FIG. 2, the foregoing link adaptation algorithm was tested in a simulator where a mobile station was continuously transmitting data packets to a network under varying C/I conditions. In this simulation the link adaptation algorithm was run by the network side, and a message was sent to the mobile station whenever the channel coding (CS[0057] 1 or CS2) was changed (see the bottom two traces). This was found to introduce a delay of about 100 milliseconds for switching. In FIG. 2 the mean bit rate was equal to 5.25 kbps, while the mean acknowledgement (ack) rate was 3.89 l/s.

The use of the link adaptation algorithm described above is applicable in various digital radio systems, such as the General Packet Radio Service (GPRS) and EnhancedGPRS systems, where different channel codings (two or more) can be used. The use of the link adaptation algorithm is especially applicable if the channel quality cannot be measured accurately in terms of C/I or the raw BER. [0058]

Furthermore, the link adaptation algorithm described above can be used alone, or it may be used as a part of a larger link adaptation algorithm which also employs one or more channel quality estimates (for instance, PER and C/I) to make the required channel coding decisions. [0059]

In general, the use of the link adaptation algorithm described above may be restricted if one of the threshold values (P1) is zero or about zero. In this case the PER measurement may not yield the required information, or the convergence could be unacceptably slow. [0060]

Based on the foregoing description, and referring now to FIG. 3, it can be appreciated that a method has been disclosed for operating a channel coder, as is a channel coder that operates in accordance with the method. The method includes steps of: Step (A), updating a first count (N_Number) of transmitted packets and a second count (K_Number) of packets that are erroneously decoded at a receiver; and Step (B), periodically performing a plurality of statistical tests using current values of the first and second counts. The Step (B) includes a first substep (B[0061] 1) of determining if the first hypothesis is rejected, if yes, performing a second substep (B2) of switching to the other channel coding scheme or algorithm, and a substep (B3) of resetting the first and second counts, before continuing the averaging step (A). If the result of the first substep (B1) determines that the first hypothesis is accepted, control instead passes to substep (B4) where a determination is made if the second hypothesis is rejected. If yes, control passes to substep (B3) for resetting the first and second counts, before continuing the averaging step (A) . If the result of the substep (B4) determines that the second hypothesis is also accepted, control instead passes to Step A to continue updating the counts, without first resetting the counts at substep (B3).

The invention has been described in the context of a presently preferred embodiments thereof, however the teachings of this invention are not intended to be limited in scope to only these disclosed embodiments. As but one example, while the invention has been described in the context of maintaining a running count of transmitted packets (N_Number) and packets that are erroneously decoded at a receiver (K_Number), it is within the scope of this invention to instead count packets that are successfully decoded at the receiver, and to then derive the value of K_Number by subtracting the number of successfully received packets from N_Number. Alternatively, one could count packets that are successfully decoded at the receiver as well as packets that are unsuccessfully decoded at the receiver, and to then add these two counts to derive N_Number. [0062]

Also, the teachings of this invention can be used with a number of suitable channel coding algorithms, such as convolutional channel coding algorithms. [0063]

Also, if not performed after each packet, a suitable interval for performing the algorithm (and assuming that the processing load is low) is preferably made short, such as after every two packets. Note should be taken of the fact that with the given parameters P1, P2 and RL, it is possible to compute beforehand those N_Number and K_Number pairs with which a particular hypothesis can be rejected. Based. on the obtained N_Numbers it may then be possible to determine a suitable testing interval. [0064]

Furthermore, it is within the scope of the teaching of this invention to adapt the testing interval to the channel conditions, although in this event it may be desirable to employ an additional channel quality estimate over and above the results of the testing described above. [0065]

Thus, while the invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that changes in form and details may be made therein without departing from the scope and spirit of the invention. [0066]