METHOD AND APPARATUS FOR MULTIRATE DATA COMMUNICATIONS

Abstract: In one embodiment a system is provided for multirate communications allowing for different data rates for each data unit on a channel, including both data units from different mobile units and from the same mobile unit. A sending unit (102) preferably begins by determining the rate at which to start communications, and monitors, for example by use of an RSSI detector (106), for an indication that the rate should be changed. A rate adjustor (105) implements the change, and can make changes as frequently as every data unit. The encoder (104) applies the appropriate rate and inserts a rate indicator (202) indicative of the data or encoding rate, and sends the data unit (107). On receiving data units, the receiving unit (110) first determines the rate for each data unit or group of units, then appropriately decodes the data unit(s). As a result, the actual data throughput can be adjusted to permit optimized throughput.

Description: METHOD AND APPARATUS FOR MULTIRATE DATA COMMUNICATIONS FIELD OF THE INVENTION The present invention relates to communications and more particularly an improved method for communicating multirate data in a communications system. BACKGROUND OF THE INVENTION In recent years there has seen a tremendous increase in the demand for wireless networks capable of handling data communications. In order to accommodate this increased demand there is a constant search to find improved, more efficient approaches to communicating data. One such approach has been to suggest multiple rates for communicating data. In the case of voice communications this is primarily important in permitting a higher quality signal for those units having the higher data rates, although in some systems it may also permit increased loading by having users go to lower rates (and hence produce somewhat lower interference levels). In non-voice data communications the concerns are somewhat different. Because the data rate directly effects the throughput, most users will prefer to use a higher rate, thus keeping air/billing time to a minimum. However, system flexibility is still desirable, allowing for lower rates to be used for channels suffering from higher levels of interference, thus permitting increased correction coding rates to be employed. One limitation of current or proposed multirate coding schemes is that the rate Is typically established at the beginning of a communications session. While this may be fine for a more or less stationary remote unit, it does not allow for changes in moving remote units or the surrounding environment. Thus, for example, if a user were to initiate a file transfer from a PDA (personal digital assistant), which finally received an allocation right before entering a shadowed region (turning a corner behind a building, entering a tunnel, etc.) a higher data rate would typically be negotiated. But, because the majority of the communication session would occur in the shadowed region, the continued use of the higher data rate will lead to a higher error and repeat transmission rate. Similarly, if the user were to start communications within a shadowed region, say a parking garage, but the majority of the session was completed in a good quality coverage zone, significantly more time will be required than actually needed to complete the data transfer. This is disadvantageous both to the user, who pays more, and the operator, who's limited channel resources are tied up needlessly, even potentially blocking higher priority uses. Finally, as both examples indicate, where multiple users having quite different channel characteristics are accessing the same communication channel, a single rate applied to both such as done in prior art systems is at best a compromise detrimentally effecting both users. There remains therefore a need for an improved means for providing multirate data communications in wireless systems that solves these and related problems. SUMMARY OF THE INVENTION According to a first aspect of the present invention, method of communicating data in a communications system is provided, comprising: encoding a first data unit at a first rate, including inserting a synch sequence and synch flag bits wherein the synch flag bits form an indicator of the first data rate; transmitting the first data unit; determining that the first data rate should be changed; and encoding a second data unit, in response to the step of determining, at a second rate, including inserting a synch sequence and further synch flag bits wherein the further synch flag bits form an indicator of the second data rate. The first step of encoding may comprise encoding a first service data unit into plural packet data units all at the first data rate; the step of transmitting may comprise transmitting the plural packet data units; the step of determining may comprise determining that an error measure for at least some of the plural packet data units exceeds a predetermined threshold; and the further step of encoding may comprise encoding a second service data unit into plural packet data units all at the second data rate. Preferably the first data rate is a higher throughput rate and the second data rate is a lower throughput rate. The step of determining preferably comprises determining an error measure for the first data unit and comparing the error measure against a predetermined threshold and may comprise determining a measure of channel quality and comparing the measure against a predetermined threshold. Further steps may be provided of determining that the second data rate should be changed and encoding a further data unit at the first rate, including inserting a synchronization ("synch") sequence and further synch flag bits wherein the further synch flag bits form an indicator of the second data rate. According to a second aspect of the invention, a method of communicating data in a communications system is provided comprising: receiving a first data unit including a data unit rate indicator, synch sequence and synch flag bits; determining from data unit rate indicator which one of plural rates the first data unit is encoded at; and decoding the first data unit based on said one of plural rates. The method may further comprise: determining that said one of plural rates should be changed; and transmitting a response indicative of a need to change said one of plural rates. The data unit rate indicator preferably comprises one of a set of synch flag bits and the first data unit includes a synch sequence and first synch flag bits. The method then further comprises: receiving a second data unit including a further synch sequence and further synch flag bits; determining from the further synch flag bits that the second data unit is encoded at a further one of the plural rates; and decoding the second data unit based on said further one of the plural rates. According to a firther aspect of the invention, a method of multirate communication of data in a communications system, comprising: providing a channel having plural subchannels for receiving data; receiving plural data units from plural subscribers via the channel, and for a first data unit determining first supplemental information about the first data unit based on a first data unit synch flag bit, for a second data unit determining second supplemental information about the second data unit based on a second data unit synch flag bit, and decoding the first and second data units based on the first and second supplemental information, respectively. The first supplemental information may be determined based on plural flag bits of the first data unit, and the second supplemental information is determined based on plural flag bits of the second data unit. The first supplemental information may be indicative of a first coding rate at which the first data unit was encoded, and the second supplemental information may be indicative of a second coding rate, different from the first coding rate, at which the second data unit was encoded. The method method may further comprise: receiving a third data unit of the plural data units, the third data unit being a subsequent communication via the same subchannel as the first data unit from a same communication unit, and having a third data unit synch flag bit, wherein the first supplemental information is about both the first and third data units and is determined based on the first and third flag bits. According to a still further aspect of the invention, a method of multirate communication of data in a communications system is provided, comprising: providing a channel having plural subchannels for receiving data; receiving a first data unit, having first synch flag bits indicative of a first coding rate, on a first subchannel of the channel; receiving a second data unit, having second synch flag bits indicative of a second coding rate, on a second subchannel of the channel; decoding the first data unit at the first coding rate based on the first synch flag bits and decoding the second data unit at the second coding rate based on the second synch flag bit. In another aspect of the invention, a communications unit for sending multirate data communications is also provided, comprising: a transceiver; a processor, coupled to the transceiver, comprising an encoder operable to receive data and encode the data in data units each at one of plural rates, and a rate adjustor operable to control the encoder to encode the data units each at a selected rate; and a rate determination unit, coupled to the processor, operable to determine when to change from a first selected rate for a first data unit to a second selected rate for a following second data unit and communicating to the rate adjustor to change to the second selected rate. The rate determination unit may be a channel quality detector determining a channel quality corresponding to a quality measure of at least the first data unit. The channel quality detector may be a comparison means for receiving error information from another communications unit receiving the data units and comparing the error information with a threshold to determine when to change to from the first selected rate. The encoder may include flag bit insertion means for inserting one of a set of synch flag bits corresponding to the selected rate. Also, a communications unit is provided for receiving multirate data communications, comprising: a transceiver; a rate detector coupled to the transceiver, operable to determine coding rates for data units received at the transceiver by detecting synch flag bits for each of the data units indicative of a selected coding rate; and a decoder coupled to the transceiver and rate detector, for decoding each of the data units based on the selected coding rate indicated by the synch flag bits detected. Further aspects and preferred embodiments of the invention are described below with reference to the drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a wireless communications system according to one embodiment of the invention described in detail below; FIG. 2 is a diagram illustrating a burst structure in accordance with the embodiment of the invention described in detail below; FIG. 3 is a flow chart illustrating a method for a sending multirate communications in accordance with the preferred embodiment of the invention; FIG. 4 is a flow chart illustrating a method for receiving multirate communications in accordance with the preferred embodiment of the invention. DETAILED DESCRIPTION These problems and others are solved by the improved method according to the invention. A presently preferred embodiment of the invention provides for changing a data rate on the fly, so that the rate for data units of the same communication is adjusted to take into account changes such as channel quality. A sending unit determines the rate at which to start communications, and monitors, for example by use of an RSSI detector, for an indication that the rate should be changed. A rate adjustor implements the change, and can make changes as frequently as every data unit. The encoder applies the appropriate rate and inserts a rate indicator indicative of the data or encoding rate, and sends the data unit. On receiving data units, the receiving unit first determines the rate for each data unit or group of units, then appropriately decodes the data unit(s). As a result, the actual data throughput can be adjusted to take into account rapidly changing factors, insuring an optimized throughput for the user and improved communications resource utilization for an operator. Turning first to FIG. 1 , a communications system 100 is generally depicted having one or more subscriber units (i.e., mobile stations (MSs) 101 and 102) communicating via a base station (BS) 110 and base station controller (BSC) 115. The subscriber units may be of such diverse types as dedicated data units (e.g., personal digital assistants (PDAs)), radiotelephones including those adapted for coupling with data terminals (e.g., portable computers), or wireless adapter devices (e.g., wireless modems adapted for coupling with computers, message pads, etc.), and the like. The subscriber unit 102 preferably includes a processor 103 and transceiver 107, the processor including and encoder 104 and rate adjustor 105. The encoder receives data input and applies a rate determined by the rate adjustor 105 using input from a rate determination unit such as quality detector 106. Thus, in response to a determination that factors such as channel quality have changed, quality detector 106 signals rate adjustor 105, which appropriately adjusts the data or encoding rate for the next adjustable data unit and inserts the appropriate rate indicator. The rate indicator is preferably chosen from one of a possible set data unit synch flag bits, each one of the set being indicative of a different rate. The base station (BS) 110 preferably includes a transceiver 111 for receiving the data unit, a rate detector 112 for determining the coding or data rate, and a decoder 113. The rate detector is designed to detect the rate indicator and inform the decoder of the appropriate rate to use in decoding each data unit. The encoder 104 and transceiver 107 (including other circuitry not shown such as a modulator) of the subscriber 102 and the infrastructure circuitry are appropriately programmed for data communications according to a serving systems protocols. In the illustrated case a combined GPRS-GSM system is shown, although it will be recognized that the embodiments discussed herein are equally applicable to any other wireless communications system, including CDPD (cellular digital packet data), CDMA (code division multiple access), and dedicated data systems like ARDIS or RAM. In the illustrated case, the portion of the GSM system servicing voice subscribers includes an MSC (mobile switching center) 125 connected to an HLR/AuC (home location register/authentication center) 130 and PSTN (public switched telephone network) 150. The GPRS portion includes a GSN (GPRS service node) 120 connected to a packet switched PDN (public data network). GSN 120 includes all information necessary for appropriate routing of data messages; it may alternatively be coupled to MSC 125 to allow access to higher layer user information stored at a common platform such as HLR 130. The operation of this system can be further understood by additional reference now to FIGS. 2 through 4. FIG. 2 illustrates a frame/burst 200 structure for one embodiment of the invention. Each frame of a GPRS channel includes repeating time slots or subchannels, each time slot capable of carrying a communication burst. One such burst is shown in expanded form as burst 201. This GPRS data burst includes encoded data and a mid-amble training sequence, with synch flag bits 202 on either side of the synch sequence. While it is known to use two types of synch flag bits in some bursts of a GSM system, such prior uses were limited to distinguishing special signaling burst being sent on a traffic channel from the typical data burst, on a few channels between signaling and data bursts. No provision was made for distinguishing rates at the data unit level, which might be expected for a system primarily designed for voice data. In the preferred embodiment for a GPRS system using similar burst structures as the GSM system, the prior structure can be advantageously improved by using a set of up to four possible synch flag bits (e.g., 00, 01 , 10, and 11) to indicate the coding rate for its data unit. Where the data unit structure is such that the same coding rate is applied to a sequence of bursts, for example where each MAC (medium access control) codeword is formatted to occupy a burst group of four bursts, the synch flag bits of all four bursts of the burst group can be used to either expand the possible set (possibly to even send additional information besides the data unit rate) or protect against an erroneous rate detection (e.g., by a majority vote of from all bursts of the burst group). When sending data, such as illustrated by the approach of FIG. 3, it is typically preferable to begin encoding data at the highest available rate (steps 301 , 302), unless some prior indication of interference or other factors (such as a broadcast message from a base station) indicates otherwise. For efficiencies in transmission, given the bursty nature of most non-voice data, it is advantageous to break up the data message into data packets or cells, which may be further multiplexed into smaller data units to fit for some protocols. For example, in GPRS it has been proposed for data packets to be formed into a sequence of MAC layer service data units (SDUs), each of these SDUs being further formed into four packet data units (PDUs) each being multiplexed into its own burst period (i.e., time slot) of a four-burst burst group. It is thus evident that many possible structures exist based upon the implementational specifics of a given system, unit or protocol. It is significant that the present invention allows the rate of communications to vary in the same channel among all the users and even between immediately adjacent bursts/data units of the same user. This in turn allows for a much more efficient utilization of the channel for both the users and the operator. After transmitting the data, the sending unit receives information for use in determining the appropriate data rate. In most cases this will probably be responses from the receiving unit. For example, the sending unit typically receives ACK (acknowledgment), NACK (non-acknowledgment) or even S-ACK (selective acknowledgment) signaling informing it whether the transmissions were received ok. Where a measure of the actual transmission quality (such as an RSSI (received signal strength indication) or BER or WER (bit error rate or word error rate) is sent back, the quality detector 106 preferably compares this measure against one or more threshold values to determine whether the rate needs to be adjusted (steps 304, 306). In the alternative, a corresponding quality measure can be used, for example by measuring the quality (RSSI, WER, etc.) of any downlink signaling (even adjacent subchannels on the same channel) from the base station 110, which should give a fairly accurate indication of the uplink channel quality since the same transmission path is being used. Additional information could also be used in the rate determination unit beyond channel quality, including the use of special control signaling, including but not limited to broadcast messages directing subscribers to transmit at specified rates. Upon receiving the appropriate information, detector! 06 determines the rate at which transmission, or alternately, coding, should be done, and communicates this information to the rate adjustor 105 (steps 303, 304). Rate adjustor 105 then controls the encoder 104 to encode that data units at the appropriate rate. At the receiving unit, illustrated by base station 110 (but which could also be a downlink or peer-to-peer communication), multirate data is preferably decoded by first detecting the rate indicator of the data unit. Again, for systems like GPRS the rate indicator is preferably the data unit flag bits, so the detection is accomplished by synchronizing to the burst's synch sequence and reading the flag bits (step 401 of FIG. 4). Depending on which of the set of flag bits is present, the corresponding coding rate is applied to decode the data unit (steps 402, 403). While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alterations, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description. For example, while processor 102, detectors 106 and 112, and other circuits, are described in terms of specific logical/functional circuitry relationships, one skilled in the art will appreciate that such may be implemented in a variety of ways, such as appropriately configured and programmed processors, ASICs (application specific integrated circuits), and DSPs (digital signal processors). Further, the invention is not limited to the illustrated cellular systems, but has applicability to any data system. Thus, it should be understood that the invention is not limited by the foregoing description of preferred embodiments, but embraces all such alterations, modifications, and variations in accordance with the spirit and scope of the appended claims. We claim:

Claims: CLAIMS: 1. A method of communicating data in a communications system, comprising: encoding a first data unit at a first rate, including inserting a synch sequence and synch flag bits wherein the synch flag bits form an indicator of the first data rate; transmitting the first data unit; determining that the first data rate should be changed; and encoding a second data unit, in response to the step of determining, at a second rate, including inserting a synch sequence and further synch flag bits wherein the further synch flag bits form an indicator of the second data rate. 2. The method of claim 1 , wherein: the first step of encoding comprises encoding a first service data unit into plural packet data units all at the first data rate; the step of transmitting comprises transmitting the plural packet data units; the step of determining comprises determining that an error measure for at least some of the plural packet data units exceeds a predetermined threshold; and the further step of encoding comprises encoding a second service data unit into plural packet data units all at the second data rate. 3. The method of claim 1 , wherein the first data rate is a higher throughput rate and the second data rate is a lower throughput rate. 4. The method of claim 1 , wherein the step of determining comprises determining an error measure for the first data unit and comparing the error measure against a predetermined threshold. 5. The method of claim 1 , wherein the step of determining comprises determining a measure of channel quality and comparing the measure against a predetermined threshold. 6. The method of claim 1 further comprising: further determining that the second data rate should be changed; and encoding a further data unit, in response to the step of further determining, at the first rate, including inserting a synch sequence and further synch flag bits wherein the further synch flag bits form an indicator of the second data rate. 7. A method of communicating data in a communications system, comprising: receiving a first data unit including a data unit rate indicator synch sequence and synch flag bits; determining from data unit rate indicator which one of plural rates the first data unit is encoded at; and decoding the first data unit based on said one of plural rates. 8. The method of claim 7 further comprising: determining that said one of plural rates should be changed; and transmitting a response indicative of a need to change said one of plural rates. 9. A method of multirate communication of data in a communications system, comprising: providing a channel having plural subchannels for receiving data; receiving plural data units from plural subscribers via the channel, and for a first data unit determining first supplemental information about the first data unit based on a first data unit synch flag bit, for a second data unit determining second supplemental information about the second data unit based on a second data unit synch flag bit, and decoding the first and second data units based on the first and second supplemental information, respectively. 10. A communications unit for sending multirate data communications, comprising: a transceiver; a processor, coupled to the transceiver, comprising an encoder operable to receive data and encode the data in data units each at one of plural rates, and a rate adjustor operable to control the encoder to encode the data units each at a selected rate; and a rate determination unit, coupled to the processor, operable to determine when to change from a first selected rate for a first data unit to a second selected rate for a following second data unit and communicating to the rate adjustor to change to the second selected rate. 1 1 . A communications unit for receiving multirate data communications, comprising: a transceiver; a rate detector coupled to the transceiver, operable to determine coding rates for data units received at the transceiver by detecting synch flag bits for each of the data units indicative of a selected coding rate; and a decoder coupled to the transceiver and rate detector, for decoding each of the data units based on the selected coding rate indicated by the synch flag bits detected.

Inventors: DUPONT PIERRE B, GERHARDS RONALD H, SPEAR STEPHEN LEE, DUPONT, PIERRE, B., GERHARDS, RONALD, H., SPEAR, STEPHEN, LEE
Applicants: MOTOROLA INC, MOTOROLA INC.
Application year: 1996
Main classification: H04L23
IPC codes: H04L1, H04W72