1. Field of the Invention
This invention relates to wireless communication networks and methods and controllers for controlling data rate therein.
2. Background Art
Feedback control of transmit power in wireless networks is a well established technology from both theoretical and practical perspectives. In contrast, control of data rate has been discussed in the following articles, where its efficacy has been demonstrated by simulations: M. B. Pursley and H. B. Russell, “Network Protocols for Frequency-Hop Packet Radios With Decoder Side Information,” IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, Vol. 12, No. 4, pp. 612-621, 1194; M. B. Pursley and C. S. Wilkins, “Adaptive Transmission for Frequency-Hop Communications with Reed-Solomon Coding,” in PROC. PACIFIC RIM CONFERENCE ON COMMUNICATIONS, COMPUTERS AND SIGNAL PROCESSING, (Victoria, Canada), pp. 866-869, 1997; and J. H. Gass, M. B. Pursley, H. B. Russell, R. J. Saulitis, C. S. Wilkins, and J. S. Wysocarski, “Adaptive Transmission Protocols for Frequency-Hop Radio Networks,” in PROC. IEEE MILITARY COMMUNICATIONS CONFERENCE, pp. 282-286, 1998.
A wireless communication network can be viewed as a serial connection of three functional, rather than physical, blocks that represent relations between the system's variables as shown in FIG. 1.
In FIG. 1, E(k) is the energy with which the kth packet is transmitted. Since packet duration is fixed, energy and power can be used interchangeably. Block 1 represents the functional relation between E(k) and the received signal-to-noise ratio (SNR), r(k). This includes the effect of shadowing, h(k), path loss, ρ(k), and channel noise with multi-user interference, N(k). In particular, this relation takes the form
                                          r            ⁡                          (              k              )                                =                                                    F                1                            ⁡                              (                                                      E                    ⁡                                          (                      k                      )                                                        ,                                      h                    ⁡                                          (                      k                      )                                                        ,                                      ρ                    ⁡                                          (                      k                      )                                                        ,                                      N                    ⁡                                          (                      k                      )                                                                      )                                      =                                                            h                  ⁡                                      (                    k                    )                                                  ⁢                                  ρ                  ⁡                                      (                    k                    )                                                  ⁢                                  E                  ⁡                                      (                    k                    )                                                                              m                ⁢                                                                  ⁢                n                ⁢                                                                  ⁢                                  N                  ⁡                                      (                    k                    )                                                                                      ,                            (        1.1        )            where n is the number of coded symbols per packet and m is the number of bits representing each coded symbol.
Block 2 represents the relation between r(k) and the bit error probability, pbe(k). The perturbation γ(k) that acts on Block 2 is the channel uncertainty. γ(k) represents the parameter that characterizes a Rician fading channel with binary frequency shift keying (BFSK) modulation and noncoherent demodulation:
                                          p            be                    ⁡                      (            k            )                          =                                            F              2                        ⁡                          (                                                r                  ⁡                                      (                    k                    )                                                  ,                                  γ                  ⁡                                      (                    k                    )                                                              )                                =                                                    1                +                                                      γ                    2                                    ⁡                                      (                    k                    )                                                                              2                +                                                                            γ                      2                                        ⁡                                          (                      k                      )                                                        ⁢                                      (                                          2                      +                                              r                        ⁡                                                  (                          k                          )                                                                                      )                                                                        ⁢                                          exp                ⁡                                  (                                      -                                                                  r                        ⁡                                                  (                          k                          )                                                                                            2                        +                                                                                                            γ                              2                                                        ⁡                                                          (                              k                              )                                                                                ⁢                                                      (                                                          2                              +                                                              r                                ⁡                                                                  (                                  k                                  )                                                                                                                      )                                                                                                                                )                                            .                                                          (        1.2        )            When γ(k)=0, the channel is an additive white Gaussian noise (AWGN) channel; when γ(k)=∞, it is a Rayleigh fading channel.
In the decomposition of the physical wireless channel into Blocks 1 and 2, the first block models the total average received energy and the second the split of this energy between the direct path and multipath. A rigorous justification of this decomposition can be obtained following the arguments given in the prior art.
Block 3 represents the relation between pbe(k) and the probability that the kth packet is successfully transmitted, pst(k), assuming that q(k) data symbols were included in the packet of length n, i.e., n−q(k) symbols were devoted to coding. In this application, it is assumed that a Reed-Solomon (RS) code is used, in which case this relation is given by:
                                          p            st                    ⁡                      (            k            )                          =                                            F              3                        ⁡                          (                                                q                  ⁡                                      (                    k                    )                                                  ,                                                      p                    be                                    ⁡                                      (                    k                    )                                                              )                                =                                    ∑                              j                =                0                                            ⌊                                                      n                    -                                          q                      ⁡                                              (                        k                        )                                                                              2                                ⌋                                      ⁢                                          (                                                                            n                                                                                                  j                                                                      )                            ⁢                                                (                                      1                    -                                                                  (                                                  1                          -                                                                                    p                              be                                                        ⁡                                                          (                              k                              )                                                                                                      )                                            m                                                        )                                j                            ⁢                                                                    (                                          1                      -                                                                        p                          be                                                ⁡                                                  (                          k                          )                                                                                      )                                                        m                    -                                          (                                              n                        -                        j                                            )                                                                      .                                                                        (        1.3        )            
As the performance measure of this network, its average throughput is defined as:
                                          T            av                    =                                    lim                              K                ->                ∞                                      ⁢                                          1                K                            ⁢                                                ∑                                      k                    =                    1                                    K                                ⁢                                  E                  ⁡                                      [                                          T                      ⁡                                              (                        k                        )                                                              ]                                                                                      ,                            (        1.4        )            where T(k) is the instantaneous throughput defined asT(k)=q(k)pst(k),  (1.5)and E[·] denotes the expectation.
When the system operates with a fixed transmit power E(k)≡Ed and fixed data rate q(k)≡qd, it is referred to as an open-loop network.
As mentioned above, modern wireless networks use feedback power control to combat disturbances and improve Tav. A functional block diagram of a system with feedback power control is shown in FIG. 2. In this Figure, rd represents the desired level of SNR, and the deviation of r(k) from rd is the argument of the control law F4. In practice, this law may be selected as:EdB(k+1)=EdB(k)+Δsign(rd−r(k)),where EdB(k)=10 log10E(k), Δ>0 is a step in power increase/decrease, and
      sign    ⁡          (      x      )        =      {                                        1            ,                                                                              if                ⁢                                                                  ⁢                x                            >              0                        ,                                                            0            ,                                                                              if                ⁢                                                                  ⁢                x                            =              0                        ,                                                                          -              1                        ,                                                              if              ⁢                                                          ⁢              x                        <            0.                              
If this controller operates efficiently, r(k) at the output of Block 1 is close to rd and Tav, defined by (1.4), is improved compared to open-loop performance. However, even if the disturbances h(k), ρ(k), and N(k) are compensated for completely, i.e., r(k)≡rd, the channel uncertainty, γ(k), being outside of the control loop, would not be rejected, which would adversely affect Tav. Therefore, further control measures, intended to accommodate γ(k) and, in addition, help feedback power control in combating h(k), ρ(k), and N(k) are desirable.
Another input variable that may be controlled is the data rate, q(k). However, feedback control of q(k) does not seem to be feasible. Indeed, whereas in power control one can defined the desired SNR (i.e., rd), in rate control no desired set point for q(k) can be defined since it would depend on the unknown factors, for instance, h(k) and γ(k). Therefore, feedback control of q(k) is not feasible.
It should be pointed out that in asynchronous transfer mode (ATM) networks, feedback control of data rate is not only possible but is quite efficient. The reason is that in the ATM environment the occupancy of buffers at the switching nodes is affected by the admission data rate and therefore, regulating buffer occupancy to the desired level, effectively regulates data rate in a feedback manner.
Another possibility to consider would be feedforward control. To accomplish this, one would need to use the probability of bit error, pbe(k), and calculate q(k) so that the instantaneous throughput T(k), defined by (1.5), is maximized. A block diagram of the network with both feedback power control and feedforward rate control is shown in FIG. 3.
There are, however, impediments to this approach. First, pbe(k) is not known in real-time, and what might be available is the number of bit errors, nbe(k), when the packet is successfully decoded by a block code. Second, even if pbe(k) were known, it would be available only after the transmission took place, i.e., pbe(k) would have to be used to calculate not q(k) but q(k+1). Consequently, there is a need for a practical feedforward controller that overcomes these impediments.