HK1106890B - Method and communication system for scheduling data transmissions on a forward link - Google Patents
Method and communication system for scheduling data transmissions on a forward link Download PDFInfo
- Publication number
- HK1106890B HK1106890B HK07112328.1A HK07112328A HK1106890B HK 1106890 B HK1106890 B HK 1106890B HK 07112328 A HK07112328 A HK 07112328A HK 1106890 B HK1106890 B HK 1106890B
- Authority
- HK
- Hong Kong
- Prior art keywords
- channel
- cell
- data
- transmission rate
- remote station
- Prior art date
Links
Description
The application is a divisional application of Chinese patent application with the application number of 98800464, 10, 1998 and the name of 'method and communication system for scheduling data transmission on forward link'.
Technical Field
The present invention relates to data communication. More particularly, the present invention relates to a method and apparatus for forward link rate scheduling of data transmissions in a communication network.
Background
The latest communication systems are required to support various applications. One such communication system IS a Code Division Multiple Access (CDMA) system that IS used in a dual-mode wideband spread spectrum cellular network system (hereinafter referred to as the IS-95A standard) according to the "TIA/EIA/IS-95A mobile station-base station compatibility standard. CDMA systems allow voice and data communications between users over a terrestrial link. The use of CDMA techniques in multiple access communication systems is disclosed in U.S. patent No. 4,901,307, entitled "spread spectrum multiple access communication system using satellite or terrestrial repeaters," and U.S. patent No. 5,103,459, entitled "system and method for generating waveforms in a CDMA cellular telephone system," both of which are assigned to the assignee of the present invention and are incorporated herein by reference.
The IS-95A standard IS designed to optimize voice communications and a number of important system design parameters are selected to achieve this goal. For example, processing delays are minimized because delays between speakers are not tolerated. A traffic channel capable of carrying voice data for the duration of the call is assigned to each user. Once the call is terminated, another user can obtain the channel.
According to the IS-95A standard, each traffic channel IS designed to support a symbol rate of 19.2 Ksps. With the 1/2 rate convolutional encoder, the data rate for each traffic channel reaches 9.6 kbps. Although the IS-95A standard IS not specifically specified, higher data rates may be supported by using other code rates. For example, a data rate of 144Kbps is obtained by using an 1/2 rate convolutional encoder and deleting two out of every 8 symbols to obtain a punctured 3/4 rate convolutional encoder.
A CDMA system must operate within pre-existing frequencies distributed in the cellular network frequency band. By design, a CDMA system conforming to the IS-95A standard IS allocated a 1.2288MHz bandwidth to fully utilize the cellular frequency band. The forward link is used for transmissions from the cell to the remote station. On the forward link, the 1.2288MHz bandwidth is divided into 64 code channels, where each code channel has a capacity of 19.2 Ksps. Most code channels are defined as traffic channels and are allocated to users for voice communication, if necessary. Some code channels are defined as paging channels for paging and message transmission (messages) between a cell and a remote station. Several code channels, such as a pilot channel and a synchronization channel, are reserved for additional systems.
In a CDMA system, users communicate with each other through remote stations, which in turn communicate with each other through one or more base stations. In this specification, a base station refers to the hardware that communicates with a remote station. A cell refers to either a hardware or a geographic coverage area depending on the context in which the term is used.
In a CDMA system, communication between users is conducted through one or more cells served by a base station. By transmitting voice data on a reverse link to a cell, a first user at one remote station communicates with a second user at a second remote station, and the cell receives the voice data and may send the data to another cell or to the Public Switched Telephone Network (PSTN). If the second user is on the remote station, data is transmitted to the second remote station over the forward link of the same cell or a second cell. In addition, the data is transmitted over the PSTN to a second user on a standard telephone system. In the IS-95A system, separate frequencies are allocated to the forward link and the reverse link, respectively, and are independent of each other.
During communication, the remote station communicates with at least one cell. During soft handoff, the CDMA remote station is able to communicate with multiple cells simultaneously. Soft handoff is the process of establishing a link with a new call before breaking the link with the previous call. Soft handoff minimizes the possibility of dropped calls. A method and system for providing communication with a remote station over more than one call during a soft handoff process is described in U.S. Pat. No. 5,267,261, entitled "Mobile station assisted Soft handoff in a CDMA cellular telephone System," assigned to the assignee of the present invention and incorporated herein by reference.
A CDMA system is a spread spectrum communication system. The benefits of spread spectrum communications are known in the art and can be better understood by reference to the cited references. Each code channel in a CDMA system may transmit up to 19.2 Ksps. The 19.2Ksps is then spread over the entire 1.2288MHz system bandwidth. The IS-95ACDMA system increases capacity by sending fewer bits and thus using less power when the user IS not speaking. Reducing the transmit power during idle increases the forward link capacity since the forward link capacity between the cell and the remote station is limited by the maximum transmit power available to the cell.
The user at each remote station transmits at a different bit rate depending on the level of speech during the user's conversation. The variable rate speech vocoder provides full rate speech data when the user is speaking and provides low rate speech data when quiet (e.g., pauses). Variable rate vocoders are described in detail in U.S. patent No. 5,414,796 (entitled "variable rate vocoder" and assigned to the assignee of the present invention and incorporated herein by reference).
The forward link capacity for voice communications between a cell and a remote station, such as measured by the number of users supportable by the CDMA system, may be determined by the bit rate of the user at each remote station. This is because the design or given system has fixed other parameters that determine the forward link capacity. For example, the maximum transmit power available per cell is limited by FCC regulations and also by the tolerable level of neighbor interference. The transmit power required for a given symbol rate depends on the energy-to-noise-per-bit ratio (Eb/No) required by the remote station, the path loss (e.g., the location of the remote station within the region), and the noise level, all of which cannot be controlled. The required Eb/No to maintain the desired performance depends on the channel conditions, e.g., fading. Finally, a CDMA system bandwidth of 1.2288MHz is chosen by design.
On the forward link, the required transmit power also depends on the orthogonality of the code channels. Walsh code spreading is used to obtain orthogonality of forward link code channels. Orthogonality minimizes interference between code channels. In a multipath environment, such orthogonality is not preserved and, as a result, the interference level increases. The required transmit power is then increased to maintain the same operating Eb/No.
At any given moment, the amount of voice activity is not determinable. Furthermore, in general, there is no correlation between the degree of voice activity among users. Thus, the total power transmitted from a cell to all users within the cell varies over time and can approximate a gaussian distribution. Each voice data is transmitted at less than optimum power during the period of time when the level of speech activity is high and the required transmit power exceeds the maximum transmit power available to the cell. Since the path loss is fixed, the Eb/No drops. The lower Eb/No increases the frame error probability in the voice data received by the user. This condition is called an outage.
The number of users that can access the communication system is limited to maintain a predetermined Frame Error Rate (FER). The effect of limiting forward link capacity to maintain a predetermined FER is to force the cell to transmit at less than full capacity on average, thereby underutilizing the forward link capacity of the cell. In the worse case, up to half of the forward link capacity is wasted to maintain a headroom of up to 3 dB. The headroom is the difference between the maximum transmit power available in a cell and the average transmit power in a cell. The headroom is only utilized during periods when the user's voice activity is high.
Data communication in a CDMA system has different characteristics than voice communication. For example, data communications are generally characterized by long periods of inactivity (or low levels of activity), segmented by high burst communication data. An important system requirement for data communication is the transmission delay required to communicate the data string. The effect of transmission delay on data communication is different from that on voice communication, but it is an important metric for measuring the quality of a data communication system.
A method for transmitting data traffic in code channel frames having a fixed size, wherein the data source provides data at variable rates, is described in U.S. patent No. 5,504,773 (entitled "method and apparatus for transmitting data formatting"), assigned to the assignee of the present invention and incorporated herein by reference. The data is divided into data frames and each data frame may be further subdivided into data portions. The data portion is then encoded into a 20msec wide code channel frame. At the 19.2Ksps symbol rate, each code channel frame contains 384 symbols. Depending on the application, the data is encoded with either an 1/2 rate convolutional encoder or a convolutional encoder that punctures 1/2 rate to obtain rate 3/4 rate. By using a 1/2 rate encoder, the information rate is approximately 9.6 Kbps. At a 9.6Kbps data rate, there are 172 data bits, 12 Cyclic Redundancy Check (CRC) bits, and 8 code tail bits per code channel frame.
By transmitting data in parallel on multiple code channels, high speed data transmitted on the forward link may be obtained. The use of multiple code channels for data transmission is described in U.S. patent No. 08/656,649 (entitled "method and apparatus for providing rate-scheduled data in a spread spectrum communication system," 1996 application No. 5/31, assigned to the assignee of the present invention, and incorporated herein by reference).
The demand for the forward link is constantly changing over time, partly because of varying degrees of voice activity. By transmitting data traffic during low voice activity, inefficient application to the forward link may be improved. To avoid degradation in the quality of voice communications, data transmission should be dynamically adjusted to match the available forward link capacity of the cell.
In handling a large amount of intermittent bursty data traffic, the system should be designed to transmit at high data rates and to allocate forward link resources to users whenever needed based on the availability of resources. In a CDMA system, the design should take into account other existing systems. First, since voice communications cannot tolerate excessive delays, they should be sent in preference to any data traffic. Second, since the amount of voice activity at any given moment is unpredictable, data transmission should be automatically adjusted so that the forward link capacity is not exceeded. Third, since a user may be in soft handoff between multiple cells, data transmission should be allocated according to the forward link capacity of each cell participating in the soft handoff. The present invention has been made in view of these and other problems.
Disclosure of Invention
According to one aspect of the present invention, there is provided a method for scheduling data transmission on a forward link in a communication network comprising at least one cell and at least one scheduled user, said method comprising the steps of: determining available forward link capacity for each of said at least one cell; assigning a designated transmission rate to each of said at least one scheduled user; transmitting the designated transmission rate to at least one scheduled user; wherein the designated transmission rate is based on the available forward link capacity of each of the at least one cell.
According to another aspect of the present invention, there is provided an apparatus for scheduling data transmission on a forward link in a communication network including at least one cell and at least one scheduled user, the apparatus comprising: controller means for collecting status information for the communication network, wherein the status information is used for scheduling data transmissions from the at least one cell to the at least one scheduled user; storage means coupled to the controller means for storing state information for storing the device state information; timing means coupled to the controller means for providing timing signals to the controller means, the timing signals enabling the controller means to schedule data transmissions.
The present invention also provides an apparatus for scheduling data communications on a forward link between a cellular base station and one or more remote stations, the apparatus comprising: means for determining resources available for forward link data communication in the cell during each of a series of scheduling periods; means for allocating the available resources in each scheduling period to the or each remote station; means for controlling data communication in the forward link in accordance with the resources allocated to the or each remote station respectively.
The present invention also provides a method of scheduling data communication on a forward link between a cellular base station and one or more remote stations, the method comprising: determining resources available in a cell for forward link data communications in each of a series of scheduling periods; allocating available resources to the or each remote station during each scheduling period; the communication of data in the forward link is controlled in accordance with the resources allocated to the or each remote station respectively.
The utilization of the forward link is improved by providing means for transmitting data traffic on the primary and secondary code channels, and the transmission delay for data communication in a CDMA system is reduced.
Each remote station is assigned a primary code channel for the duration of communication with the cell. A cell may use the primary code channel for unscheduled transmissions with a small amount of data and transmit control messages without additional delay caused by scheduling. Each remote station may not allocate or allocate multiple secondary code channels. The secondary code channels may be of various types, and each type may have the same or different transmission capacity as the primary code channel. The secondary code channel is assigned by the channel scheduler for high speed scheduled data traffic transmission. The secondary code channels are assigned by the channel scheduler during each scheduling period, and can be reallocated during the scheduling period based on availability of forward link capacity. Further, the secondary code channels may be grouped into secondary code channel groups, where each group is defined by a unique group of secondary code channels.
When a cell has a large amount of data to transmit to a remote station, the channel scheduler collects information about how much data to transmit, the forward link capacity available in the network for each cell, and other parameters as will be described below. Based on the collected information and a set of system objectives, the channel scheduler schedules high speed data transmissions by allocating resources to remote stations and selecting sets of secondary code channels corresponding to the designated transmission rates. The data is divided into data frames and each data frame is also divided into data portions. All data portions are encoded and expanded into code channel frames. The code channel frame is transmitted on the designated primary and secondary code channels. The remote station receives the code channel frame on each of the assigned code channels and re-encodes the data portion of the channel frame. If the amount of demand for forward link transmission increases, one or more secondary code channels may be temporarily removed, if necessary, to meet the additional demand.
The channel scheduler allocates a data transmission rate according to the amount of data to be transmitted. A small amount of data is sent immediately on the primary code channel. For large amounts of data, the channel scheduler allocates secondary code channels. The secondary code channel increases the forward link transmission rate and thus reduces the time required to transmit large amounts of data.
Priorities are assigned to users in a CDMA system based on a number of factors. These factors include the amount of energy transmitted per bit required for the performance level required by the user, the cell list supporting the user, the amount of data to be transmitted, the type of data service provided to the user, and the amount of delay experienced by the user. The available resources are allocated first to the highest priority users and finally to the lowest priority users.
Drawings
The features, objects, and advantages of the present invention will become more apparent from the detailed description of exemplary embodiments set forth below when taken in conjunction with the drawings. Wherein like reference numerals designate corresponding parts throughout the several views, and wherein:
figure 1 is a schematic diagram of a cellular network including a plurality of cells, a plurality of base stations, and a plurality of remote stations;
fig. 2 is a block diagram illustrating an exemplary embodiment of the present invention in a CDMA communication system;
FIG. 3 is a block diagram of a channel controller;
FIG. 4 is a block diagram of an exemplary receiver architecture at a remote station;
FIG. 5 is a flow chart of forward link rate scheduling of the present invention;
FIG. 6 is a flow chart of transmission rate allocation of the present invention;
FIG. 7 is a flow chart of transmission rate reallocation of the present invention;
FIG. 8 is a timing diagram showing allocation of transmission rates and transmission of data at the allocated transmission rates;
fig. 9 is a diagram illustrating an exemplary application of forward link rate scheduling of the present invention.
Detailed Description
Referring to the drawings, FIG. 1 illustrates an exemplary cellular network including a plurality of cells 2a-2 g. Each cell 2 is served by a respective base station 4. Although the present invention is applicable to all wireless communication formats, in the exemplary embodiment, the cellular network is a CDMA communication network. In a CDMA network, various remote stations 6 are distributed throughout. Each remote station 6 communicates with one or more cells depending on whether the remote station is in soft handoff. For example, remote stations 6a and 6b communicate only with base station 4c and remote stations 6d and 6e communicate only with base station 4d, but remote station 6c, which is close to the cell border, is in soft handoff while communicating with 4c and 4 d. The application of soft handoff in a CDMA system is described in detail in the aforementioned U.S. patent No. 5,267,261.
In fig. 2, an exemplary block diagram of the basic structure of a CDMA network is shown. The base station controller 10 connects the data packet network interface (PIN)22, the PSTN30 and all base stations 4 in the CDMA network (only one base station 4 is shown in fig. 2 for simplicity). Base station controller 10 coordinates communications between remote station 6 in the CDMA network and other users connected to data packet network interface 22 and PSTN 30. PSTN30 is connected to users through a standard telephone network (not shown in fig. 2).
The data source 20 contains a large amount of information to be transmitted to the remote station 6. Data source 20 provides data to data packet network interface 22. The data packet network interface 22 receives the data and provides the data to the selector unit 14. The data packet network interface 22 receives the data and provides the data to the selector unit 14. The base station controller 10 comprises a plurality of selector units 14 (only two of which are shown in fig. 2 for simplicity). A selector element 14 is assigned to control communication between one or more base stations 4 and remote station 6. if selector element 14 is not assigned to remote station 6, indicating that the primary code channel is not assigned to remote station 6, data packet network interface 22 informs call control processor 16 that remote station 6 needs to be paged. Call control processor 16 then directs base station 4 to page remote station 6 and the primary code channel is assigned to remote station 6. After remote station 6 has allocated the primary code channel and has allocated selector element 14, data packet network interface 22 transmits data from data source 20 to selector element 14. Selector element 14 maintains a queue containing data to be transmitted to remote station 6.
A channel scheduler 12 is connected to all selector elements 14 within the base station controller 10. The channel scheduler 12 schedules high speed data transmissions and allocates code channels to be used for high speed data transmissions on the forward link. The schedule for the specified transmission rate is provided to selector element 14 for transmission to remote station 6 via base station 4.
The selector unit 14 transmits the data in the data frame to the base station 4. In the description, a data frame refers to the amount of data transmitted from the base station 4 to the remote station 6 within one frame time period. If data transmission occurs over multiple code channels, the data frame is also divided into data portions, each data portion being transmitted over one of the primary or secondary code channels. The data portion may thus be a fraction of a data frame or an entire data frame, depending on the number of code channels used. Each data portion is encoded and the resulting encoded data is referred to as a code channel frame.
The data frames are sent from the selector unit 14 to the channel units 40a and 40 b. As disclosed in the aforementioned U.S. patent No. 5,504,773, the channel elements 40a and 40b format the data frame, insert a set of generated CRC bits and a set of tail bits, convolutionally encode the data and interleave the encoded data. Channel elements 40a and 40b are then based on long pseudo-noise (PN) codes, Walsh codes, and short PN codes1And PNQCode, spread interleaved data. The spread data is upconverted, filtered and amplified by a transmitter (TMTR)42 to obtain an RF signal. The RF signals are transmitted over the air via an antenna 44 on a forward link 50.
At remote station 6, the RF signal is received by an antenna 60 and transmitted to a receiver (RCVR) 62. The receiver 62 filters, amplifies, frequency downconverts, and quantizes the RF signal and provides a digitized baseband signal to a demodulator (DEMOD) 64. Demodulator 64 despreads the digitized baseband signal and provides a demodulated output from demodulator 64 to decoder 66. The decoder 66 performs the signal processing functions performed at the base station 4 in reverse order, specifically, de-interleaving, convolutional decoding, and CRC detection. The decoded data is provided to a data transmission receiver 68. As described above, the hardware supports the transmission of data and voice communications over a CDMA network.
The above-described functions may also be implemented by other embodiments. For example, the channel scheduler 12 and the selector unit 14 may be comprised within the base station 4. The channel scheduler 12 and the selector unit 14 depend on whether a centralized or decentralized scheduling process is required. Accordingly, other embodiments of the above described functions may be considered and are within the scope of the invention.
The forward link transmission can be divided into two types. The first includes non-scheduled tasks which, in the preferred embodiment, are not scheduled because no additional processing delay can be tolerated. Such transmissions include voice communications and some overhead such as pilot signals, paging information, and acknowledgements of data traffic. The second includes scheduling tasks that can tolerate additional processing and queue delays. This involves most of the data communication between the cell and the remote station 6. A high rate may be assigned to this second type.
As shown in fig. 1, remote station 6 is distributed throughout the CDMA network and may communicate with one or more cells simultaneously. Thus, the channel scheduler 12 coordinates the transmission of scheduled and unscheduled tasks across the CDMA network. Channel scheduler 12 schedules the transmission of scheduled tasks on the forward link between the cell and remote station 6 based on the availability of forward link capacity to avoid degradation in the transmission quality of scheduled and unscheduled tasks. The channel scheduler 12 is tasked with allocating available resources to each scheduled user at the remote station 6 in the CDMA network to optimize a set of objectives. These objectives include: (1) improved forward link utilization by transmitting as many scheduled and unscheduled users as can be supported within the system capacity limit, (2) improved communication quality by increasing the transmission rate to minimize the transmission delay of the data, and (3) allocating resources to all scheduled users according to a set of priorities. By balancing a series of factors, the goal is optimized. The above factors are described in detail below.
Fig. 3 shows a block diagram of the channel scheduler 12 of the present invention. The controller 92 collects pertinent information from all cells within the CDMA network and schedules high speed data transmissions. The controller 92 may be implemented in a microcontroller, microprocessor, Digital Signal Processor (DSP) chip, or ASIC programmed to perform the functions described above. The controller 92 is connected to all selector units 14 within the base station controller 10. The controller 92 collects information about the forward link requirements and the capacity available at each cell. The collected information is stored in the storage unit 94 and retrieved by the controller 92 as needed. The memory unit 94 may be implemented by employing one of a storage element or any rate of storage device, such as a RAM storage device, a latch, or other type of storage device as is known in the art. The controller 92 is also coupled to a timing unit 96. The timing unit 96 may be implemented with a counter driven by a system clock, an oscillator on a circuit board locked to an external signal, or a receiving system memory unit synchronized to an external signal source. Timing unit 96 provides controller 92 with the timing needed to perform forward link rate scheduling. The timing signals also allow the controller 92 to send a schedule of the specified transmission rates to the selector element 14 at appropriate intervals.
I. Forward link rate scheduling
Fig. 5 shows a flow chart of a forward link rate scheduling method. The first step in the scheduling process (step 200) involves collecting all relevant information needed to optimize the allocation of resources to each scheduled user. The pertinent information may include the maximum transmit power available for each cell, the number of scheduled and unscheduled users, the transmit power of the unscheduled task for each remote station 6 in the previous scheduling period, the transmit energy per bit of the scheduled task in the previous scheduling period, the amount of data to be scheduled and transmitted to each user, the current membership set for each remote station 6 listing the cells with which the remote station 6 is communicating, the priority of the scheduled users, and the available code channels for transmission by each cell. Each of these parameters is described in detail below. Information from each cell is collected and the channel scheduler 12 allocates resources to scheduled users based on the collected information and a set of above-mentioned objectives (step 202). The allocated resources may be in the form of a specified transmission rate or in the form of allocated transmit power. The allocated transmit power can then be equated to a specified transmission rate based on the energy per bit required to schedule the user. The schedule for the assigned transmission rate is then transmitted to each remote station 4 for which a transmission rate has been assigned (in step 204). Data is transmitted to selector element 14 and transmitted to remote station 6 at a specified transmission rate, followed by a predetermined number of frames. Then, in step 206, the channel scheduler 12 waits until the next scheduling period to restart the scheduling cycle.
As described above, resource allocation can be achieved by at least two embodiments. In a first embodiment, the channel scheduler 12 allocates a data transmission rate to each scheduled user. In a second embodiment, the channel scheduler allocates transmit power to each scheduled user.
In the first embodiment, fig. 6 further shows a flow chart for allocating resources for a scheduled user in the flow chart step 202 of fig. 5. After having collected the appropriate information needed to optimally allocate data transmission rates to the scheduled users, the channel scheduler 12 proceeds to the flow chart of fig. 6. The channel scheduler 12 starts in state 210. In a first step, the channel scheduler 12 calculates the total remaining power available in each cell in the CDMA network (in step 212). The total remaining power available for scheduled transmissions for each cell is calculated as follows:
wherein, PjIs the total remaining power available, P, for cell jmax,jIs the maximum transmit power available, P, for cell jbackoff,jIs the compensation power of cell j,is the predicted transmit power required for the non-scheduled task at cell j. The back-off power is a value that allows the cell to account for changes in the transmit power required for scheduled and unscheduled tasks within a scheduling period. The compensatory power may also be used for forward link power control of the scheduling task. Hereinafter, each term of the power of equation (1) and the derivation of equation (1) will be described in detail.
The channel scheduler 12 then lists the priority list of all scheduled users in step 214. The priority table is a function of a number of factors, each of which is described in detail below. The scheduled users are ranked according to their relative priorities, i.e., the scheduled user with the highest priority is at the top of the list and the scheduled user with the lowest priority is at the bottom of the list. The channel scheduler 12 then cycles through and allocates the available forward link capacity to the scheduled users based on the priority table.
In a first step in the transmission rate allocation loop, the channel scheduler 12 selects the scheduled user with the highest priority in the priority table (in step 216). The channel scheduler 12 then identifies the cell supporting this scheduled user. These cells are listed in the active member group of the scheduling user. In the exemplary embodiment, each cell in the active set of members communicates with remote station 6 on a primary code channel. High speed data transmission on the secondary code channel may be achieved through one or more cells in the active set of members. The channel scheduler 12 first selects a cell in the active set of members that support high speed data transmission. For each selected cell, the channel scheduler 12 calculates the maximum supportable transmission rate for the scheduled user (in step 218). The maximum supportable transmission rate can be calculated by dividing the total remaining power available in the selected cell by the energy per bit required to transmit to the user. To ensure that the transmit power allocated to this scheduled user is available by each selected cell, the channel scheduler 12 selects (in step 220) the minimum transmission rate from the list of maximum supportable transmission rates. The selected minimum transmission rate is defined as the maximum transmission rate for this scheduled user. The channel scheduler 12 then determines the amount of data to be sent to the scheduled user by looking at the length of the data queue. Based on the queue size, the channel scheduler 12 recommends a preferred transmission rate (in step 222). The preferred transmission rate is equal to or lower than the minimum transmission rate required to transmit data within the scheduling interval.
The channel scheduler 12 allocates a data transmission rate for the scheduled user based on the preferred transmission rate and the maximum transmission rate (in step 224). The designated transmission rate is the lower of the preferred transmission rate and the maximum transmission rate to maintain consistency throughout the remaining power of the desired cell. Upon completion of the assignment of the data transmission rate to this scheduled user, the channel scheduler 12 removes the scheduled user from the priority table (in step 226). The total remaining power available to each desired cell is then updated (in step 228) to reflect the power allocated to the scheduled user that was just removed from the priority table. The channel scheduler 12 then decides whether the transmission rate has been allocated to all scheduled users on the priority table (in step 230). If the priority list is not empty, the channel scheduler 12 returns to step 216 and assigns the data transmission rate to the scheduled user with the next highest priority. The allocation loop is repeated until the priority list does not contain any scheduled users. If the priority table is empty, the assignment process terminates in state 232.
In the second embodiment, the resource allocation for the scheduled users in step 202 of the flowchart of fig. 5 is done by allocating a transmission power to each scheduled user. In this embodiment, steps 210, 212 and 214 are the same as in the first embodiment except that the transmission rate allocation loop is replaced by a transmission power allocation loop. In a first step within the transmit power allocation loop, the channel scheduler 12 selects the scheduled user with the highest priority on the priority table. The channel scheduler 12 then selects a cell in the active set of members that supports high speed data transmission for the scheduled user. For each desired cell, the channel scheduler 12 calculates the maximum supportable transmit power for the scheduled users. To ensure that the allocated transmit power for this scheduled user is available from each of the required cells, the channel scheduler 12 selects the minimum transmit power from a table of maximum supportable transmit powers. The channel scheduler 12 then recommends a preferred transmit power based on the queue size. The allocated transmission power is the lower one of the minimum transmission power and the preferred transmission rate. The allocated transmit power is then sent to a selector element 14 which determines the assigned transmission rate based on the allocated transmit power and the required energy per bit for the scheduled user.
Upon completion of the allocation of transmit power to this scheduled user, the channel scheduler 12 removes the scheduled user from the priority table. The total remaining power available for each selected cell is then updated to reflect the power allocated to the scheduled user that was just removed from the priority table. The channel scheduler 12 then decides whether or not transmission power has been allocated to all scheduled users on the priority table. If the priority table is not empty, the channel scheduler 12 allocates transmission power to the scheduled user having the next highest priority. The transmit power allocation loop is repeated until the priority table does not contain any scheduled users. If the priority table is empty, the assignment process terminates.
In a second embodiment, the selector unit 14 may allocate a new data transmission rate to scheduled users at each frame during a scheduling period according to a change in the required Eb/No of the scheduled users. This allows the selector element 14 to maintain the communication quality of scheduled and unscheduled tasks by maintaining the required Eb/No while limiting the required transmit power to the maximum transmit power available to the cell.
The total remaining power available in each selected cell may also be allocated to scheduled users without using an allocation ring. For example, the entire transmission power may be allocated according to a weighting function. The weighting function can be based on the priority of the scheduled users and/or some other factor.
The priority table determines the resource allocation, e.g., the allocation of transmit power, to the scheduling users. More resources are allocated to scheduled users with higher priority than to scheduled users with lower priority. Although it is preferable to allocate resources in order according to the priority of the scheduled users, this is not necessarily limiting. The available resources may be allocated in any order and all fall within the scope of the present invention.
Forward link rate scheduling may be performed in a continuous, intermittent, or staggered manner. If the scheduling is performed continuously or intermittently, the scheduling interval is selected so that the transmission power of the cell is fully utilized for the duration of the scheduling period, but not exceeding the maximum transmission power available to each cell. This object can be achieved by the following examples. Other embodiments that are variations or combinations of the following embodiments are contemplated and are within the scope of the present invention.
In the first embodiment, scheduling (or resource allocation) is performed every frame. This embodiment allows the channel scheduler 12 to dynamically adjust the transmit power required for the scheduling task every frame to take full advantage of the total remaining power available to each cell in the network. More processing per frame is required to allocate resources. In addition, more overhead is required per frame to transmit the necessary scheduling information to each scheduled user.
In a second embodiment, scheduling is performed every K frames, where K is an integer greater than 1. For each scheduling interval, the channel scheduler 12 allocates a maximum amount of resources to each scheduling task. In an exemplary embodiment, the compensation power P may be removed from equation (1)backoff,jCalculating maximum allocated resources and/or required transmit power for non-scheduled tasksThe maximum allocated resource is calculated. Alternatively, by applying a larger than actual P in equation (1)max,jMay calculate the maximum allocated resource. The schedule for the specified transmission rate is sent to the scheduled user once per scheduling period. As described below, data transmission at the designated transmission rate occurs later every predetermined number of frames. The maximum allocated resources for the scheduling task are allocated by the channel scheduler 12 for the scheduling duration. The channel scheduler 12 may transmit data at a lower transmission rate if the total remaining power available to the cell does not support data transmission at the specified transmission rate during the scheduling period.
The second embodiment has the advantage that less overhead is required to send the schedule for a given transmission rate to the scheduling user. In a first embodiment, a schedule for a specified rate is sent to a scheduled user every frame. Then, a portion of the available transmit power is allocated to this overhead. In a second embodiment, the schedule for the specified transmission rate is sent to the scheduled user once per scheduling period. For example, if the scheduling interval is 10 frames, then the second embodiment only requires 1/10 overhead that is slightly larger than that of the first embodiment, while still maintaining efficient utilization of the forward link.
Alternatively, in a third embodiment, the forward link rates may be scheduled in staggered fashion. In this embodiment, the scheduling is triggered by certain events. For example, channel scheduler 12 may perform forward link rate scheduling whenever a request for high speed data transmission is received or whenever transmission of scheduled high speed data to remote station 6 is completed. Channel scheduler 12 knows the amount of data to be transmitted to each remote station 6 and the designated transmission rate. The channel scheduler 12 can then determine when the high speed data transmission is complete. Upon terminating the scheduled transmission to remote station 6, channel scheduler 12 may perform the scheduling and assign forward link resources to other remote stations 6. The designated transmission rate is transmitted to remote station 6 which has been assigned a transmission rate.
Forward link rate scheduling may be performed by the channel scheduler 12 for all cells in the CDMA network. This measure enables channel scheduler 12 to efficiently schedule high speed data transmissions to remote stations 6 in soft handoff and communicating with multiple cells. Scheduling of the entire network is more complex due to the various interactions between the cell and the remote station 6. To simplify scheduling, scheduling tasks may be divided into two categories, specifically, scheduling tasks for remote stations 6 in soft handoff and scheduling tasks for remote stations 6 not in soft handoff. With this measure, forward link rate scheduling for remote station 6 communicating with only one cell can be performed at the cell level. Remote station 6, which is in communication with a plurality of cells, may be scheduled by channel scheduler 12. The present invention can be used for all measures of forward link rate scheduling including centralized scheduling, distributed scheduling and any combination thereof.
Resource reallocation
In a first embodiment of the above resource allocation procedure, where resource allocation is performed every frame, resources may be reallocated during the scheduling period to match the forward link demand with the available transmit power. Although resources are allocated per frame, scheduling delays may result in sub-optimal resource allocation. During the scheduling delay, the state of the system may change. Furthermore, the initial prediction may be less accurate and require alteration.
In a second embodiment of the resource allocation procedure, in which resource allocation is performed every K frames, resources may also be reallocated within the scheduling period. In an exemplary embodiment of the second embodiment, data transmission occurs at a specified transmission rate for the duration of the scheduling period without employing a resource reallocation procedure. This simplifies the scheduling procedure, but can lead to interruptions when the required transmit power exceeds the maximum transmit power available to the cell. In the preferred embodiment, resources are reallocated every frame to minimize the possibility of interruptions.
The channel scheduler 12 may transmit data at a lower transmission rate if the total remaining power of the cell does not support data transmission at the specified transmission rate during the scheduling period. For each frame in which the total remaining power of the cell is insufficient to meet the requirements of scheduled and unscheduled tasks, the channel scheduler 12 determines the forward link demand, the amount by which the forward link resources are increased, and assigns a lower transmission rate for some or all of the scheduled users so that the transmit power required by the cell does not exceed the maximum transmit power available to the cell. In the exemplary embodiment, the lower transmission rate is referred to as a temporary transmission rate and is used for only one frame. For frames following the scheduling period, the assigned transmission rate is applied unless they are changed again by the channel scheduler 12. In the exemplary embodiment, resource reallocation is performed every frame to ensure that the transmit power required for scheduled and unscheduled tasks for each cell is less than the maximum transmit power available to the cell. Resource reallocation may be accomplished by several embodiments, two of which are described below. Other embodiments are contemplated and are within the scope of the invention.
In a first embodiment of the resource reallocation procedure, which is complementary to the first embodiment of the resource allocation procedure described above, the resource reallocation is done by transmission rate reallocation. The flow chart of fig. 7 illustrates this embodiment. The channel scheduler 12 starts in state 240. In a first step (step 242), the channel scheduler 12 builds a cell list of cells in the network in which the transmit power required for scheduled and unscheduled tasks exceeds the transmit power available to the cell. The channel scheduler 12 then applies equation (1, calculating the total remaining power available to each cell in the cell list (in step 244). Next, the channel scheduler 12 builds a priority table for all scheduled users that are communicating with at least one cell in the middle of the cell and that have been assigned a transmission rate during the current scheduling period (in step 246). The scheduled users in the priority table are referred to as affected scheduled users.then, the channel scheduler 12 enters a loop and reallocates the transmit power of some or all of the affected scheduled users based on the priority table and the cell list.
In a first step in the transmission rate reallocation loop, the channel scheduler 12 selects the affected scheduled user with the highest priority (in step 248). The channel scheduler 12 then identifies the cells supporting the affected scheduled users for high speed data transmission. These cells are referred to as selected cells. Next, the channel scheduler 12 calculates the maximum supportable transmission rate for the affected scheduled users per each selected cell (in step 250). To ensure that the scheduled user-selected transmit power is available for provision by each selected cell, the channel scheduler 12 selects the minimum transmission rate from the maximum supportable transmission rate and the specified transmission rate table (in step 252). The selected minimum transmission rate is defined as a temporary transmission rate. In the preferred embodiment, only the temporary transmission rate is allocated to the scheduled user (in step 254) for the upcoming frame. In step 256, the affected scheduled users are removed from the priority table. Then in step 258, the total remaining power available for each selected cell is updated to reflect the power allocated to the affected scheduled users that were just removed from the priority table. The channel scheduler 12 then updates the cell list and removes all cells with zero remaining power (in step 260). Next, the channel scheduler 12 determines whether the cell list is empty (in step 262). If the cell list is not empty, the channel scheduler 12 determines if the priority list is empty (in step 264). If the priority table is not empty, the channel scheduler 12 returns to step 248 and reassigns the data transmission rate to the affected scheduled user with the next highest priority. The transmission rate reallocation loop continues until the cell list or priority list is empty. If the cell list or priority list is empty, the transmission rate reallocation process terminates (at state 266).
In a second embodiment, which is complementary to the second embodiment of the resource allocation procedure described above, the resource reallocation is done by transmission power reallocation. In this embodiment, steps 240, 242 and 244 are the same as in the first embodiment except that the transmission rate redistribution loop is replaced by a transmission power redistribution loop. In a first step within the transmission rate reallocation loop, the channel scheduler 12 builds a cell table in the network cell where the transmit power required for scheduled and unscheduled tasks exceeds the transmit power available to the cell. Under-power is defined as the amount of transmit power required by a cell being less than the transmit power available to the cell. The channel scheduler 12 then establishes a priority list of all scheduled users that are communicating with only one cell and have been allocated transmit power during the current scheduling period. The scheduling users in the priority table are referred to as affected scheduling users. The channel scheduler 12 then enters a loop and reallocates the transmit power of some or all of the affected scheduled users based on the priority table and the cell table.
In a first step within the transmit power reallocation loop, the channel scheduler 12 selects the affected scheduled user with the lowest priority. The channel scheduler 12 then identifies the cell that supports high speed data transmission for the affected scheduled user and reallocates the transmit power to reduce the power deficit. The reallocated transmission power is transmitted to a selector unit 14 which determines a temporary transmission rate based on the reallocated transmission power and the required energy per bit for the affected scheduled user. The scheduled user is then removed from the priority list and the power of each selected cell is updated to be insufficient to reflect the power return. The channel scheduler 12 then updates the cell list and removes cells that do not have any power shortfalls. If neither the cell list nor the priority list is empty, the channel scheduler 12 reallocates the transmit power of the affected scheduled users having the next lowest priority. The transmit power redistribution loop continues until the cell list and priority list are empty. If the cell list or priority list is empty, the transmission power reallocation process is terminated.
The resource reallocation performed at each frame during the scheduling period allows the channel scheduler 12 to dynamically allocate forward link resources at each frame. The additional overhead required for scheduling of transmission temporary transmission rates is minimal because only a small fraction of the scheduled users' transmission rates are reallocated per frame. In practice, only enough scheduled users are reallocated so that all cells in the network transmit at less than the maximum transmit power available to the cell.
Data transmission and reception at the temporary transmission rate may be accomplished by a number of embodiments, three of which are described below. Other embodiments are contemplated and are within the scope of the invention. In exemplary ones of these embodiments, high speed data transmission occurs over multiple code channels. The principle of using a plurality of code channels and code channel groups for high-speed data transmission is described in detail below. In effect, the transmission rate assigned by channel scheduler 12 to each remote station 6 is equivalent to a set of code channels. The identity of the assigned code channel is transmitted to each remote station 6. Each remote station 6 receives data transmitted on the assigned code channel for each frame during the scheduling period. For data transmission at the temporary transmission rate, a subset of the designated code channels is employed.
In a first embodiment, the temporary transmission rate is transmitted on the primary code channel to the affected scheduled users at remote station 6. At the same time, data is transmitted to the affected scheduled users at the temporary transmission rate in the same frame. At each frame, an identification of the subset is sent to the remote station 6, where data transmission occurs at the temporary transmission rate. Remote station 6 demodulates the primary code channel, and the secondary code channel, associated with the assigned transmission rate. Remote station 6 then retains the data received on the secondary code channel associated with the temporary transmission rate and discards the remaining data.
Each scheduled user receives a data transmission at a specified transmission rate at each frame within the scheduling period. For each frame, the scheduling user confirms that the transmission rate is not reallocated. If the scheduled user determines that data transmission occurs at the temporary transmission rate, the scheduled user retains the portion of the data received within the temporary transmission rate. Due to the delay in processing the primary code channel, it may be necessary to store the received data for one frame before the scheduling user can determine which subset of the received data is valid.
In a second embodiment, the temporary transmission rate is transmitted on the primary code channel to the affected scheduled users at remote station 6. After remote station 6 receives the temporary transmission rate and configures the hardware to receive the data transmission at the temporary transmission rate, the data transmission at the temporary transmission rate occurs over two more frames. This embodiment has additional processing delay but minimizes the buffering requirements for the remote station 6. However, this embodiment saves battery power at the remote station 6 since only the code channels carrying the high speed data transmission are demodulated and decoded. But due to scheduling delays, the dynamic allocation of resources is not optimal. Furthermore, scheduling delays may result in higher compensatory power requirements in equation (1).
Also in the third embodiment, remote station 6 demodulates all secondary code channels associated with the specified transmission rate and performs CRC detection on the received code channel frame. Remote station 6 then retains the data portion of the code channel frame, including the code channel frame that does not contain frame errors and discards the code channel frame that contains frame errors.
Transmission Power considerations
As noted above, the transmit power required for unscheduled tasks, such as voice communications, varies over time but is allocated to the requesting remote station 6 as soon as needed. In order to maintain signal quality at an acceptable level, the total transmit power required by each cell should be below the maximum transmit power available to the cell. Therefore, the overall transmission rate required for each cell should satisfy the following equation:
wherein the content of the first and second substances,
Punscheduled,jthe required transmit power of the jth cell of the unscheduled task in the next scheduling period.
NjThe number of scheduled users to be scheduled in the jth cell,
Pijthe required transmit power for the ith scheduled user in the jth cell,
Pmax,jthe maximum transmit power available for the jth cell.
The total transmit power required by each cell should be kept below the maximum transmit power available to that cell throughout the scheduling period to avoid a sudden degradation in the transmission quality of scheduled and unscheduled tasks. Although the FCC and the neighborhood of the network dictate an upper limit on transmit power for interference considerations, the maximum transmit power available to each cell varies from cell to cell. The purpose of the channel scheduler 12 is to schedule the transmission of scheduling tasks such that the transmission power over the entire scheduling period reaches the maximum transmission power but does not exceed it.
In a CDMA system that conforms to the IS-95A standard, the average transmit power through the cell IS compensated for the maximum transmit power to maintain headroom. This reserve provides a margin for operating the dynamic power control mechanism on the forward link. Such a mechanism is required in view of the mobility of the remote station 6. The headroom also accommodates changes in the required transmit power for non-scheduled tasks during the scheduling period, such as changes due to changes in the amount of voice activity. In consideration of the compensation power, equation (2) becomes:
as described above, the power needs to be compensated to accommodate the dynamic changes of the non-scheduled tasks. Operating a cell at an average transmit power compensated for a maximum transmit power is necessary to provide good quality communication for scheduled and unscheduled tasks. The back-off power ensures that transmit power is available during high demand periods (e.g., high voice activity). Back-off power also represents underutilization of the forward link for most of the time (e.g., during normal or low levels of voice activity). Efficient use of the forward link may be achieved by dynamically changing the transmit power of scheduled tasks to compensate for increases or decreases in the required transmit power of non-scheduled tasks.
To meet the constraints set forth by equation (3), the channel scheduler 12 needs to determine the required transmit power for the non-scheduled tasks for each cell in the following scheduling period. By voice activityThe amount and channel conditions effectively determine the required transmit power for the non-scheduled tasks. Thus, due to the unpredictable nature of voice and channel conditions, the required transmit power cannot be accurately determined. The required transmit power of the non-scheduled tasks may be predicted by averaging the actual transmit power of the non-scheduled tasks in the previous scheduling period. Then, in the subsequent power calculation, the predicted transmission power of the non-scheduled task (reference numeral is)。
By determining the required transmit energy per bit and the transmission rate of each scheduled user at remote station 6 required for the required performance level, the required transmit power P for the scheduling task can be predictedij. Each remote station 6 requires a different energy per bit of transmission depending on the location and channel conditions of the remote station 6 within the CDMA network. For example, the remote station 6a (see fig. 1) near a cell site (e.g., near the base station 4c serving the cell) has a smaller path loss and, therefore, may require less transmit energy per bit for the required performance level. Conversely, a remote station 6c located at the edge of a cell may require a greater transmitted energy per bit for the same performance level. For each scheduled user, the previous transmit power P is known at a selector unit 14 located in the base station controller 10ijAnd previous transmission rateR ij. Using these two measures to obtain a solution according to the equationg ij=P ij/R ijThe previous energy per bit is calculated. Then, according tog ijDetermines the average energy per bit gij. For example, the average energy per bit may be defined as gijIs calculated as the average of the last four calculated values. Knowing the average energy per bit of the previous transmission, the channel scheduler 12 is based on PiJ=gij/RijPredicting the required transmission power P of the scheduling task in the next scheduling periodijWherein R isijThe assigned transmission rate of the task is scheduled. Then, the equation that the channel scheduler 12 should satisfy when allocating resources becomes:
the forward link transmit power for data transmission to each remote station 6 is adjusted to maintain the desired level of performance. The forward link power control mechanism may be implemented in a number of ways. For example, for voice communications on the forward link, remote station 6 determines whether the received code channel frame is in error. If a frame error occurs, remote station 6 sends an Error Indication Bit (EIB) message back to the cell requiring the increased transmit power. The cell then increases the transmit power until the frame error ceases. Alternatively, the cell may statistically average the Frame Error Rate (FER) and vary the transmit power based on the FER. Both schemes may be used for forward link power control for the transmission of scheduling tasks. In a third approach, demodulator 64 at remote station 6 performs a signal-to-noise ratio calculation based on measurements of the received signal. The remote station 6 then transmits a message to the cell requiring an increase or decrease in transmit power based on the signal-to-noise ratio calculation. The scope of the invention is equally applicable to all methods that can be used to determine the energy per bit required to transmit data.
The implementation and use of EIB transmission is described in U.S. Pat. No. 5,568483 entitled "method and apparatus for formatting transmitted data," which is assigned to the assignee of the present invention and incorporated herein by reference. Further, in U.S. patent application No. 08/283,308 (entitled "method and apparatus for controlling power in a variable rate communication system", filed 7/29/1994), U.S. patent application No. 08/414,633 (entitled "method and apparatus for performing fast forward power control in a mobile communication system", filed 3/31/1995), U.S. patent No. 08/559,386 (entitled "method and apparatus for performing fast forward power control in a mobile communication system", filed 11/15/1995), U.S. patent application No. 08/722,763 (entitled "method and apparatus for measuring link quality in a spread spectrum communication system", filed 9/27/1996), and U.S. patent No. 80/710,335 (entitled "method and apparatus for performing distributed forward power control"), application No. 9/16/1996), which is assigned to the assignee of the present invention and is incorporated herein by reference.
The channel scheduler 12 allocates forward link resources to scheduled users in each cell such that all cells in the network satisfy equation (4). The actual transmit power required for the non-scheduled tasks may be higher or lower than the predicted transmit power in the following scheduling period. The quality and efficiency of the communication depends on the accuracy of the prediction of the required transmit power in the current scheduling period. If the resources cannot be reallocated, a low-side misprediction results in sending additional forward link demands with insufficient power, e.g., increased demands due to increased voice activity. Conversely, conservative prediction of the required transmit power on the high side results in inefficient utilization of the forward link. By making the prediction at a time as close as possible to the time at which the prediction is used, the accuracy of the prediction of the transmission power required for the non-scheduled task can be improved.
IV. Soft Handover
All remote stations 6 in a CDMA network may be in soft handoff between cells at any given moment. Each remote station 6 in soft handoff communicates with two or more cells simultaneously. The use of soft handoff in a CDMA system is described in detail in the aforementioned U.S. patent No. 5,267,261.
In allocating resources to remote station 6 in soft handoff, channel scheduler 12 ensures that each cell participating in soft handoff satisfies the constraint of equation (4). At the beginning of each scheduling interval, selector element 14 conveys the active set of members of each remote station 6 in the CDMA network to channel scheduler 12. The active member set includes all cell lists for communication with remote station 6. In the exemplary embodiment, each cell in the active set of members communicates with remote station 6 on a primary code channel. High speed data transmission on the secondary code channel may be accomplished through one or more cells in the active set of members. The channel scheduler 12 first selects a cell that supports high speed data transmission. For each selected cell, the channel scheduler 12 calculates the maximum allocated resource that can be supported by the cell. The largest allocated resource in all selected cells in the active set of members forms the allocated resource table. Since all selected cells should satisfy equation (4), the minimum allocated resource in the maximum allocated resource table satisfies the constraint of equation (4) for all cells. The maximum amount of resources that can be allocated to a particular remote station 6 is then the smallest of the maximum allocated resource tables.
V. code channel group
The method and apparatus for forward link rate may be applied to any communication system capable of variable rate data transmission. This scheduling is used, for example, in CDMA systems, GLOBALSTAR systems, Time Division Multiple Access (TDMA) systems, or Frequency Division Multiple Access (FDMA) systems. It is within the scope of the invention to use the code channel set or other embodiments described below for a CDMA system or other variable rate communication system.
A CDMA system consistent with the IS-95A standard utilizes spread Quadrature Phase Shift Keying (QPSK) on the forward link. At the base station 4, the same data stream is provided to the I and Q modulators. The modulated I and Q signals are combined and transmitted. At remote station 6, demodulator 64 demodulates the received signal into I and Q components. The components are combined to obtain a demodulated output. Using QPSK spreading in this manner, the 1.2288MHz system bandwidth for a CDMA system conforming to the IS-95A standard contains 64 code channels, each of which IS capable of transmitting at a 19.2Ksps symbol rate.
In this mode, at base station 4, one data stream is provided to the I modulator and a second data stream is provided to the Q modulator. At the remote station 6, the I and Q components are decoded separately. Thus, the 64 code channels of the IS-95ACDMA system are doubled to 128 code channels.
Alternatively, the number of code channels in a CDMA system may be increased by increasing the system bandwidth. For example, increasing the system bandwidth to 2.4576MHz (e.g., by combining adjacent 1.2288MHz wideband bands) may double the number of code channels. In addition, the number of code channels can be quadrupled by doubling the system bandwidth and providing different data streams to the I and Q modulators. The present invention can be used in a CDMA system, or any variable rate transmission system, regardless of the number of code channels.
Depending on the hardware structure and system definition, the primary code channel and the secondary code channel, which will be described below, may be defined or distinguished from a common channel group of code channels. For example, a system may contain 128 code channels, and each code channel may be used as either a primary code channel or a secondary code channel, depending on how the code channels are allocated. A code channel that has been allocated as a primary code channel cannot be allocated as a secondary code channel. Alternatively, the primary and secondary code channels may be selected from different tables. For example, 64 primary code channels may be established from the I component of a QPSK modulated signal, and 64 secondary code channels may be established from the Q component. The present invention may be used regardless of how the primary and secondary code channels are defined.
The secondary code channels may be of various types, and each type may have the same or different transmission capacity as the primary code channel. For example, the secondary code channels may include code channels having the same 19.2Ksps transmission capacity as the primary code channels. In addition, the secondary code channel may include high transmission capacity (e.g., in excess of 19.2Ksps) and may be capable of variable rate data transmission. One such high transmission capacity channel is described in U.S. patent application serial No. (entitled "method and apparatus for providing high speed data in a spread spectrum communication system (FAT PIPE"), filed 12/10/1996), which is assigned to the assignee of the present invention and is incorporated herein by reference. The invention can be used for all types and transmission capacities of channels.
The maximum transmission rate that can be assigned to a scheduled user depends on some considerations. The forward link capacity is limited and one goal of the system is to utilize all available capacity. In the simple case of a CDMA network comprising one cell and one remote station 6, the entire available capacity can be allocated to the remote station 6 whenever needed. This results in minimal transmission delay. In the more complex case, which also better reflects an actual CDMA network, multiple remote stations 6 compete for available resources. In competing remote stations 6, channel scheduler 12 first allocates resources to the remote station 6 having the highest priority. If most of the available resources are allocated to this remote station 6, then a large number of remote stations 6 wait in sequence. Therefore, in order to meet the system goal of fairness in allocating resources, resource allocation is limited to a predetermined range.
Data transmission from the cell to remote station 6 occurs on one or more code channels. A first code channel, referred to as the primary code channel, is assigned to remote station 6 during the call setup phase of the communication or during the soft handoff call setup phase of the cell. In the exemplary embodiment, the primary code channel has the characteristics of an IS-95A traffic channel and IS a variable rate channel capable of transmission at 1/8, 1/4, 1/2 rates and at full rate. Preferably, the primary code channel is transmitted at 1/8 rate when idle and at full rate when transmitting data, although 1/4 and 1/2 rates may also be employed. The acknowledgment, request to send, and control bits may be transmitted at rate 1/8, while the data and control bits may be transmitted at full rate. The primary code channel is used by remote station 6 during communication with the cell. For the case of transmitting large amounts of data to remote station 6, a secondary code channel is allocated.
In the exemplary embodiment, data is transmitted on the primary code channel while the cell receives the data. If a cell receives a large amount of data and the channel scheduler 12 determines that an additional code channel is needed to transmit the data, the channel scheduler 12 allocates a secondary code channel. The channel scheduler 12 then passes the identity of each assigned secondary code channel to the selector element 14. The selector element 14 sends information of the assigned secondary code channel to the base station 4 serving the cell. Information is transmitted to remote station 6 over forward link 50 on a primary code channel. In an exemplary embodiment, if each secondary code channel is capable of transmitting at a data rate of 9.6Kbps, the allocation of 16 secondary code channels increases the data transmission rate to 163.2Kbps (9.6Kbps x 17 code channel (or 1 primary code channel +16 secondary code channels)). The use of secondary code channels for data transmission is described in detail in the above-mentioned U.S. patent application No. 08/656,649. The allocation of secondary code channels may be accomplished by the following embodiments.
In a first embodiment, the channel scheduler 12 may allocate each secondary code channel separately. This embodiment provides maximum flexibility in that the channel scheduler 12 can assign any one of the secondary code channels to any one of the remote stations 6. In the exemplary embodiment, the protocol used to identify each designated secondary code channel is the same as the protocol used to identify the designated traffic channel. According to IS-95A, a unique 8-bit code IS used to identify the designated traffic channel. Each secondary code channel is thus identified by a unique 8-bit code and transmitted to the remote station 6. For example, if 16 secondary code channels are allocated by the channel scheduler 12, 128 bits are transmitted to remote station 6. Then, approximately 3/4 code channel frames in overhead are required to communicate the identity of the designated secondary code channel to the remote station 6(128 bit/172 bit/frame 3/4 frame). This amount of overhead indicates that the primary code channel is not fully utilized.
In a second preferred embodiment, the present invention is applicable to a CDMA system using the principle of code channel groups. In this embodiment, the secondary code channels are grouped into channel groups labeled Cm. In the exemplary embodiment, there are 16 channel groups associated with each primary code channel. Each channel group is defined by a 4-bit code and includes a unique set of zero or more secondary code channels. A primary code channel is assigned to remote station 6 during a call setup phase of an ongoing communication with a cell or during a call setup phase of a soft handoff with an additional cell, and remote station 6 transmits a channel group definition associated with the primary code channel. The channel group definition identifies secondary code channels for each of the 16 channel groups. During the data transmission phase, a 4-bit code identifying the designated channel group for subsequent data transmission is transmitted to remote station 6.
Channel scheduler 12 may assign separate or overlapping channel groups to remote stations 6. For separate channel groups, no secondary code channel is assigned to more than one remote station 6 within the same cell. Remote stations 6 that have been assigned separate channel groups may then simultaneously receive the data transmitted on the secondary code channels in the separate channel groups. For example, if a channel group containing secondary code channels 33, 49, 65 and 81 is allocated to a first remote station 6 on primary code channel 4 and a channel group containing secondary code channels 35, 51, 67 and 83 is allocated to a second remote station 6 on primary code channel 6, then data transmission may occur simultaneously on those primary and secondary code channels.
Alternatively, overlapping channel groups may be assigned to remote station 6. For overlapping channel groups, at least one secondary code channel is assigned to more than one remote station 6 within the same cell. Remote stations 6 assigned overlapping channel groups may receive data transmitted on the assigned channel groups at different times using time multiplexing. However, channel scheduler 12 may intentionally assign overlapping sets of channels to multiple remote stations 6 and transmit the same data to multiple remote stations 6 simultaneously. For example, if a channel group containing secondary code channels 33, 49, 65 and 81 is assigned to a first remote station 6 on a primary code channel and a channel group containing secondary code channels 33, 51, 67 and 83 is assigned to a second remote station 6 on the primary code channel, then during one time slot T1 data transmission may occur on the secondary code channel assigned to the first remote station 6 and during a second time slot T2 data transmission may occur on the secondary code channel assigned to the second remote station 6. However, channel scheduler 12 may assign overlapping sets of channels to both remote stations 6 and transmit the same data to both remote stations 6 simultaneously. In the above example, the data to be transmitted to both remote stations 6 is transmitted on a secondary code channel 33 common to both remote stations 6. In this case, two remote stations 6 may receive data transmitted on overlapping channel groups simultaneously.
As described above, the secondary code channels may be of various types, and each type may have multiple and/or varying transmission capacities. For simplicity of illustration, the following discussion focuses only on one type of secondary code channel having the same transmission capacity as the primary code channel. In the following example, it is assumed that there are 128 code channels in a CDMA system.
An exemplary channel group definition for one primary code channel is shown in table 1. As shown in table 1, primary code channel number 4 is associated with 16 unique channel groups having physical numbers C0 through C15. Each channel group contains no or multiple secondary code channels. In the exemplary embodiment, C0 is reserved for the channel group that does not contain secondary code channels, while C15 is reserved for the channel group that contains the largest number of secondary code channels. The definition of the channel groups may be accomplished by one of several embodiments, such as selecting a secondary code channel associated with each primary code channel.
In a first embodiment, a systematic approach is used to obtain secondary code channels associated with each primary code channel. The first secondary code channel in the channel set is obtained in one of several ways. For example, the first secondary code channel may be an offset of the primary code channel, or may be selected randomly. The next secondary code channel is then selected based on the offset of the previously selected secondary code channel. For example, for channel group C15 in table 1, the first secondary code channel is 25. The 25 may be chosen randomly or offset 21 from the primary code channel 4. The next secondary code channel associated with primary code channel 4 is offset 8 from the previous secondary code channel. Thus, for primary code channel 4, the secondary code channels are 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, and 113. Likewise, for primary code channel 6, the secondary code channels are 27, 35, 43, 51, 59, 67, 75, 83, 91, 99, 107, and 115. The first embodiment provides a simple and efficient method of allocating secondary code channels while equally distributing the secondary code channels over all primary code channels. The first secondary code channels are preferably selected so that the available secondary code channels are evenly distributed, e.g., no instances of using secondary code channels at different frequencies occur.
Table 1-definition of channel groups of primary code channels 4
| Code channel group | Secondary code channel in channel group (one member in current member group) |
| C0C1C2C3C4C5C6C7C8C9C10C11C12C13 | -3349658133,4965,8133,49,65,8197,11325,4157,7389,10525,41,57,7333,49。65,81,97,113 |
| Code channel group | Secondary code channel in channel group (one member in current member group) |
| C14C15 | C1033,49,65,81,97,113,25,41,57,73,89,105 |
In a second embodiment, the secondary code channels associated with each primary code channel are defined using a hashing function. An exemplary embodiment of the present embodiment is as follows. For the channel group definition shown in table 1, 12 secondary code channels are associated with each primary code channel (see C15 in table 1). Next, each secondary code channel in the forward link is listed 12 times in the hash table. For example, secondary code channel 1 is listed up to 12 times, secondary code channel 2 is listed up to 12 times, and so on. For each primary code channel, 12 secondary code channels are randomly selected from the hash table and placed into the channel group C15 for that primary code channel. The selected secondary code channel located at C15 is removed from the hash table. In selecting a secondary-code channel from the hash table, any secondary-code channels that are equivalent to the oldest selected secondary-code channel are placed back into the hash table and a new secondary-code channel is randomly selected. If the primary and secondary code channels are derived from the same channel group (pool) of code channels, the selected secondary code channel, which is identical to the primary code channel, is also placed back into the hash table. The 12 different secondary code channels selected and placed in C15 become the secondary code channels associated with a particular primary code channel. This process ensures that no primary or secondary code channels are identical. This process is then repeated for all primary code channels, except that a secondary code channel is selected from the same hash table that is successively scaled down. The hashing function distributes the secondary code channels randomly and uniformly over all the primary code channels. In assigning secondary code channels using hashing functions, care should be taken that the channel groups may be separated or overlapped, depending on the desired characteristics of the channel groups.
In a third embodiment, channel groups are defined such that all available secondary code channels are utilized in one channel group definition. Suppose that is provided with 2mIndividual secondary code channel, limitedChannel group, thus at 0, 20、21、22Up to 2mData transmission may occur over a single secondary code channel. An exemplary embodiment of this embodiment for a simple case of 8 secondary code channels is shown in table 2. C0 has no channel group. C1 to C8 each contain one secondary code channel (0 to 7), respectively. C9 through C12 each contain two secondary code channels. The secondary code channel in C9 is combined with the secondary code channel in C10 and denoted by C13. Similarly, the secondary code channel in C11 is combined with the secondary code channel at C12 and denoted by C14. C15 contains all available secondary code channels as the largest group.
Third embodiment requires 2m+1A channel group to define 2mSecondary code channels and requires m +1 bits to convey the identity of the designated channel group. For example, if the number of available secondary code channels is 128, 256 channel groups are required and 8 bits are required to identify the designated channel group. Although the number of channel groups may be constant, the channel group definition is simple and it need not be transmitted to the remote station 6 during the set-up phase of the call. This embodiment also allows all remote stations 6 in the same cell, or even all CDMA networks, to utilize the same channel group definition and simplify the transmission rate allocation process.
TABLE 2-channel group definition Using the third embodiment
| Code channel group | Secondary code channel in channel group (one member in current member group) |
| C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15 | -012345670,12,34,56,70,1,2,34,5,6,70,1,2,3,4,5,6,7 |
Other embodiments for defining the channel groups associated with each primary code channel are contemplated and fall within the scope of the present invention. Regardless of how the channel groups are defined, the present invention may be used in any variable rate communication system that utilizes code channels.
For ease of illustration, all cells in a CDMA network may use the same channel group definition. For example, all cells may define a channel group associated with primary code channel 4 as shown in table 1. Within a cell, each remote station 6 may have a unique channel group definition, depending on the assigned primary code channel. Thus, the channel group definition for primary code channel 6 is different from that for primary code channel 4. The channel group definitions described in the first and second embodiments may be used in this embodiment.
Alternatively, all remote stations 6 in the same cell, or even in the entire CDMA network, may have the same channel group definition. The channel group definition described in the third embodiment can be used for this measure. This approach simplifies forward link rate scheduling since only one channel group definition is available for all remote stations 6 in the network. However, defining the channel groups in this way limits the availability of secondary code channels to the channel scheduler 12, thus increasing the complexity of forward link rate scheduling. The present invention can be used for all channel group definitions.
Regardless of how the channel groups are defined, in the first embodiment, the channel scheduler 12 may allocate any channel group for high speed data transmission between the cell and the remote station 6. For example, the remote station 6 may communicate with three cells and may be assigned C3 by a first cell, C8 by a second cell and C14 by a third cell. Scheduling information comprising the assigned channel groups C3, C8, and C14 is then transmitted to remote station 6 on the primary code channel. This measure may require additional scheduling information to be transmitted since each cell may be assigned a different set of channels. In the preferred embodiment, the same set of channels is assigned by all cells communicating with remote station 6. Since only one identification needs to be sent, the preferred embodiment requires fewer overhead bits to send the assigned channel group identification. This limitation on the channel group assignment limits the availability of secondary code channels and thus increases the complexity of forward link rate scheduling.
When receiving the transmitted data, remote station 6 demodulates all the secondary code channels in the channel set assigned to it. For example, if remote station 6 is assigned primary code channel 4 during the call setup phase of communication with a cell and then assigned channel set C7 during data transmission (see table 1), remote station 6 demodulates secondary code channels 33, 49, 65 and 81, as well as the primary code channels, and reassembles the data portion of the code channel frames from those five code channels. Since C0 contains a null table, remote station 6 of assigned channel set C0 demodulates only the transmitted data on the primary code channel. During soft handoff, remote station 6 communicates with multiple cells. For example, during a call setup phase of the communication, a primary code channel 4 is assigned to remote station 6. The remote station 6 then moves to another location and the primary code channel is assigned to the remote station 6 by the second cell. The remote station 6 then demodulates the primary code channels 4 and 6 for communication with both cells. If during data transmission, remote station 6 is assigned channel set C7 (see table 3) by both cells, then remote station 6 demodulates secondary code channels 33, 49, 65 and 81 from the first cell and secondary code channels 35, 51, 67 and 83 from the second cell. In addition, remote station 6 demodulates primary code channel 4 from the first cell, as well as primary code channel 6 from the second cell.
Table 3-channel group definition of primary code channels 4 and 6
| Code channel group | Secondary code channel in channel group (one member in current member group) |
| CO | - |
| C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15 | (33,35)(49,51)(65,67)(81,83)(33,35),(49,51)(65,67),(81,83)(33,35),(49,51),(65,67),(81,83)(97,99),(113,115)(25,27),(41,43)(57,59),(73,75)(89,91),(105,107)(25,27),(41,43),(57,59),(73,75)(33,35),(49,51),(65,67),(81,83)(97,99),(113,115)(25,27),(41,43)(57,59),(73,75)(89,91),(105,107)(33,35),(49,51),(65,67),(81,83)(97,99),(113,115)(25,27),(41,43)(57,59),(73,75)(89,91),(105,107) |
Data is only transmitted on the secondary code channel when scheduled by the user channel scheduler 12. In the preferred embodiment, all secondary code channels are transmitted at full rate. Data transmission on the secondary code channel is more efficient than on the primary code channel because the primary code channel also carries overhead bits needed to support multiple features in a CDMA system.
In the preferred embodiment, the designated set of channels are transmitted to remote station 6 via the primary code channel. At the beginning of the scheduling period, the cell transmits an identification of the channel group for the next data transmission. For 16 channel groups, only 4 bits are needed to convey the identity of the assigned channel group. A protocol may be established whereby certain bits of the code channel frame remaining on the primary code channel are used to specify the identity of the channel group.
Retransmission of code channel frame errors
The identification of the designated channel group is transmitted to remote station 6 and the subsequent transmission of data on the designated secondary code channel occurs every predetermined number of frames. Remote station 6 may sometimes have difficulty receiving the code channel frame of the primary code channel in error. When this occurs, the remote station 6 does not know the identity of the assigned channel group. In the following embodiment, it is assumed that there is a two frame processing delay between the identification of the designated channel group received by the cell and the transmission of data on the designated channel group. In frame k, identification of the designated channel group occurs by the cell on the primary code channel, and in frame k +2, data transmission occurs on the designated secondary code channel. The following embodiments also apply to the case where the processing delay between the identification of a specified channel group received by a cell and the transmission of data on the specified channel group is of a different duration and varies from frame to frame.
In a first embodiment, a cell retransmits data corresponding to a time period for which the assigned channel group is unknown to the remote station 6. Remote station 6 transmits an EIB message to the cell indicating code channel frame K of the primary code channel was received in error. Since the remote station 6 is unaware of the channel group at frame K +2, the cell retransmits code channel frame K on the primary code channel and subsequently transmits code channel frame K +2 on the designated secondary code channel.
In a second embodiment, if code channel frame k on the primary code channel is received in error, then remote station 6 demodulates the transmitted data at frame k +2 using the channel set identified in the preceding code channel frame k-1. This embodiment does not work well if the set of channels allocated at frame k-1 is different or separate from the channels allocated at frame k. For example, referring to Table 1, if the assigned channel group at frame k-1 is C13 and the assigned channel group at frame k is C14, then remote station 6 using channel group C13 to demodulate the transmitted data at frame k receives the erroneous data.
In a third embodiment, if code channel frame k on the primary code channel is received in error, then remote station 6 demodulates the transmitted data at frame k +2 using the channel group with the largest number of secondary code channels. This embodiment works reasonably well if the largest channel group contains all secondary code channels that can be allocated to remote station 6. For example, C15 satisfies this situation because C15 in table 1 contains all code channels in channel groups C0 through C14. The valid code channel frame is a subset of the demodulated code channel frame. A disadvantage of this embodiment is that more processing is required at the remote station 6. In addition, it may be necessary to store a large amount of data until the remote station 6 can determine which demodulated code channel frame is valid. If each code equivalent frame is encoded with its own CRC bit set, remote station 6 can determine the validity of the code channel frame by performing a CRC check on each demodulated code channel frame. Alternatively, if the entire data frame is encoded with one CRC bit group and the CRC bits are allocated across all code channel frames, then remote station 6 may perform CRC detection on different combinations of different demodulated code channel frames. Finally, remote station 6 may store all demodulated code channel frames, notify the cell of frame errors on the primary code channel and wait to retransmit the identification of the assigned channel group.
In a preferred fourth embodiment, at frame k, the cell transmits on the primary code channel the identification of the assigned channel group for frame k +2, and the identification of the assigned channel group for frame k. If the code channel frame is received in error, remote station 6 demodulates the transmitted data at frame k +2 using the maximum channel set, as in the third embodiment. However, since the identification of the channel group assigned to frame k +2 is also transmitted on the primary code channel at frame k +2, remote station 6 is able to determine which demodulated code channel frame is valid. Additional storage units for one frame of data may be needed until the assigned secondary code channel is determined from the demodulated primary code channel. For a system with 16 channel groups per primary code channel, only 4 additional bits are needed to transmit the identification of the designated channel group in the current frame.
Transmitting the identity of the designated channel group on two code channel frames separated by two frames provides redundancy and time diversity. The transmitted data is demodulated correctly except that both code channel frames k and k +2 of the primary code channel have reception errors. This is less likely to occur.
Demodulating and decoding multiple code channels
Demodulation of multiple code channels and demodulation of multipath signals during soft handoff is described in detail in U.S. patent No. 5,109,390 (entitled "diversity receiver in CDMA cellular telephone system"), which is assigned to the assignee of the present invention and incorporated herein by reference. The present invention also extends the receiver described in each of the 5,109,390 patents to receive multiple code channel groups.
An exemplary block diagram of demodulator 64 and decoder 66 in remote station 6 of the present invention is shown in fig. 4. RF signals transmitted from the cells are received by an antenna 60 and provided to a receiver 62. Receiver 62 amplifies and filters the received RF signal, downconverts the RF signal to baseband, and quantizes the baseband signal into digital bits. The digitized baseband signal is provided to a demodulator 64. The demodulator 64 comprises at least one Rake receiver 100. Rake receiver 100 uses the method described in detail in U.S. patent 5,109,390, using appropriate PN1And PNQAnd the Walsh code demodulates the digitized baseband signal. The demodulated output from the Rake receiver 100 is provided to a decoder 66. In decoder 66, descrambler 10 descrambles the demodulated output with the long PN code assigned to remote station 6. The descrambled data is then rearranged by the deinterleaver 112 and the deinterleaved data is provided to the viterbi decoder 116 through the MUX 114. The viterbi decoder 116 convolutionally decodes the deinterleaved data and supplies the decoded data to the CRC check unit 118. CRC check unit 118 performs a CRC on the decoded data and provides the error free data portion of the received code channel frame to data transfer receiver 68.
Demodulator 64 is then implemented with a number of embodiments. In the first embodiment, one Rake receiver 100 is required for each set of code channels received by the remote station 6. Each Rake receiver 100 includes at least one correlator 104, and each correlator 104 is referred to as a finger of the Rake receiver 100. At least one correlator 104 is required for each code channel in a group. Each correlator 104 is capable of despreading the digitized baseband signal from receiver 62 with the unique short PN code and unique Walsh code assigned to the particular correlator 104 by remote station 6. The operations performed by the correlator 104 reflect the operations performed at the transmitting cell. In the cell, the encoded data is first spread with a unique Walsh code assigned to the code channel over which the data is transmitted. The spread data is then re-spread by a unique short PN code assigned to the particular transmitting cell.
Not all correlators 104 and all Rake receivers 100 in the remote station 6 are in use at all times. In effect, combiner 106 combines only the outputs from correlators 104 that have been assigned by remote station 6. In addition, the decoder 66 decodes only the output from the Rake receiver 100 that has been assigned by the remote station 6. The correlator 104 and Rake receiver that are not assigned by the remote station 6 are ignored. In fact, in the preferred embodiment, remote station 6 only demodulates and decodes the code channels that have been assigned to it, and does not demodulate and decode any other code channels. This feature is particularly important for the remote station 6 as a mobile device, since it is desirable to conserve battery power and extend the operating life of the device.
Each assigned correlator 104 first despreads the digitized baseband signal from receiver 62 with the short PN code assigned to that correlator 104 by remote station 6. The assigned short PN code is identical to the short PN code used to spread data in the cell. The assigned short PN codes typically offset in time the short PN codes used by the cell to account for transmission delays through the forward link 50, as well as processing delays performed by the receiver 62. Correlator 104 then despreads the output from the first despreading operation with the Walsh code assigned to correlator 104 by remote station 6. The assigned Walsh code corresponds to the Walsh code assigned to the code channel being demodulated by correlator 104. The despread bits from each assigned correlator 104 within the same Rake receiver 100 are combined by a combiner 106 and provided to the decoder 66.
In a second embodiment, one Rake receiver 100 may be used to demodulate all code channels assigned to remote station 6. This requires buffering of the digitized baseband signal from the receiver 62. The Rake receiver 100 then demodulates a code channel frame once and provides a demodulated output to the decoder 66. This embodiment requires the Rake receiver 100 to operate at a higher speed than the Rake receiver of the first embodiment. In practice, doubling the speed can reduce the Rake receiver 100 by half.
Decoder 66 receives the demodulated output from Rake receiver 100 and performs a number of operations complementary to those of the transmitting cell. The decoder 66 may be implemented by a number of embodiments. In the first embodiment, the demodulated output from each Rake receiver 100 is provided to a separate descrambler 110. Descrambler 110 despreads the demodulated output with the long PN code assigned to remote station 6 and provides the descrambled data to deinterleaver 112. The deinterleaver 112 rearranges the bits in the descrambled data in the reverse order of that performed in the transmitting cell. The de-interleaving function provides time diversity that improves the performance of subsequent convolutional decoding by spreading burst errors introduced by transmission on the forward link 50. The deinterleaved data is multiplexed by the MUX114 and supplied to the viterbi decoder 116. The viterbi decoder 116 convolutionally decodes the deinterleaved data and provides the decoded data to the CRC check unit 118. CRC check unit 118 performs a CRC check on the decoded data and provides the error free data portion of the received code channel frame to data transport receiver 68. In the preferred embodiment, a viterbi decoder 116 is used to decode the data transmitted on all code channels.
In the second embodiment, the demodulated output from the Rake receiver 100 is multiplexed by a MUX114 and processed by a descrambler 110, a deinterleaver 112 and a viterbi decoder 116. A set of hardware is used to decode all code channel frames, minimizing hardware requirements. Furthermore, time multiplexing of the hardware requires the hardware to operate at higher speeds.
The demodulator 64 is operated in one of at least four different modes. In the first mode, the demodulator 64 is used to demodulate signals transmitted from a cell over a code channel. In this mode, only one Rake receiver 100 is used to demodulate the received signal. Within a given Rake receiver 100, a different correlator 104 is assigned to each of the multipaths of the received signal. The short PN codes and Walsh codes used by each assigned correlator 104 are identical. However, the short PN code used by each assigned correlator has a different time offset to compensate for the different delays of each path. The search correlator 104x continuously searches for the strongest multipath to which no correlator 104 has been assigned. Search correlator 104x informs remote station 6 when the newly found multipath signal strength exceeds a predetermined threshold. The remote station 6 then assigns the newly found multipath to a correlator 104.
For example, remote station 6 communicates with a cell via primary code channel 4. Remote station 6 may assign primary code channel 4 to Rake receiver 100 a. In the Rake receiver 100a correlators 104 are assigned to different multipaths of the signal received on the primary code channel 4. For example, correlator 104a may be assigned to a first multipath, correlator 104b may be assigned to a second multipath, and so on. The outputs from the assigned correlators 104 are combined by combiner 106a and provided to decoder 66. In the decoder 66, the demodulated output from the Rake receiver 104a is descrambled by a descrambler 110a, reordered by a deinterleaver 112, switched through a MUX114, convolutionally decoded by a viterbi decoder 116 and checked by a CRC check unit 118. The error free data portion from CRC check unit 118 is provided to data receiver 68.
In the second mode, the demodulator 64 is used to demodulate signals transmitted from a plurality of cells over a set of multiple code channels. This occurs for remote station 6 in a soft handoff state. In this mode, the entire group is assigned to one Rake receiver 110. Each code channel in the group is assigned to at least one correlator 104 in the Rake receiver 100. Each correlator 104 despreads the baseband output from the receiver 62 with a unique short PN code and a unique Walsh code corresponding to the cell and code channel, respectively, to which the particular correlator 104 has been assigned. The outputs from the designated correlators 104 are combined by a combiner 106. The combined signal improves the estimation of the data redundantly transmitted over the set of multiple code channels.
For example, remote station 6 is in soft handoff and communicates with a first cell via primary code channel 4 and with a second cell via primary code channel 6. The remote station 6 assigns at least one correlator 104 of the same Rake receiver 100 to each of the two primary code channels 4 and 6. For example, remote station 6 may assign correlator 104a to primary code channel 4 and correlator 104b to primary code channel 6. The estimates from the assigned correlators 104 are combined by combiner 106a to provide an improved data estimate that is provided to decoder 66. The decoder 66 decodes the data from the Rake receiver 100ad demodulation in the same way as described in the first mode.
In the third mode, signals transmitted from one cell over multiple sets of code channels are demodulated by demodulator 64. This occurs when a cell is transmitting data to a remote station at a high data transmission rate. Each group includes one code channel. In this mode, one Rake receiver 100 is assigned to each set of code channels. The same short PN code and the same Walsh code are assigned to the correlators 104 in the same Rake receiver 100. Because each Rake receiver 100 is demodulating a different code channel, the same short PN code, but a different Walsh code, is assigned to the correlators 104 in the different Rake receivers 100.
In this mode, each Rake receiver performs the same function as in the first mode. Basically, the code channels in each group are assigned to at least one correlator 104. Correlators 104 in the same Rake receiver 100 are assigned to different multipaths of the signal received on the code channel assigned by that particular Rake receiver 100. Thus, each correlator 104 in the same Rake receiver 100 uses the same short PN code and the same Walsh code. Each assigned correlator 104 within the same Rake receiver 100 is offset in time to account for the different delays of the multipaths. The outputs from the assigned correlators 104 in each Rake receiver 100 are combined by a combiner 106 and provided to the decoder 66.
For example, during a call setup phase of communication with a cell, remote station 6 is assigned primary code channel 4 and then assigned a designated channel group C7 during high speed data transmission. Referring to table 1, the code channel group C7 includes four secondary code channels 33, 49, 65, and 81. The remote station 6 assigns five different Rake receivers 100 to the five code channels. For example, remote station 6 may assign Rake receiver 100a to primary code channel 4, Rake receiver 100b to secondary code channel 33, Rake receiver 100c (not shown in fig. 4) to secondary code channel 65, and so on. In the Rake receiver 100a correlators 104 are assigned to different multipaths of the signal received on the primary code channel 4. For example, correlator 104a may be assigned to a first multipath, correlator 104b may be assigned to a second multipath, and so on. The outputs from the designated correlators 104 are combined by a combiner 106 a. The demodulated outputs from the five designated Rake receivers 100 are provided to a decoder 66.
In the decoder 66, the demodulated output from the Rake receiver 100a is descrambled by a descrambler 110a and reordered by a deinterleaver 112 a. Likewise, the demodulated output from the Rake receiver 100b is descrambled by a descrambler 110b and reordered by a deinterleaver 112 b. Five separate descramblers 110 and deinterleavers 112 are combined and assigned to each of the five demodulated outputs from the five Rake receivers 100. The deinterleaved data from the five deinterleavers 112 are multiplexed in a predetermined order through the MUX114 and provided to the viterbi decoder 116. The deinterleaved data is convolutionally decoded by the viterbi decoder 116 and checked by the CRC detection unit 188. The error free data portion from CRC check unit 118 is provided to data receiver 68.
In the fourth mode, signals transmitted from multiple cells over multiple sets of code channels are demodulated by demodulator 64. This may occur for a remote station 6 that is in soft handoff with multiple cells and receives data from multiple cells at a high data transmission rate. Each group contains more than one code channel. In this mode, one Rake receiver 100 is assigned to each set of code channels. Each Rake receiver 100 performs the same function in this mode as in the second mode. Within the same Rake receiver 100, at least one correlator 104 is assigned to each code channel in the group. Each correlator 104 uses a unique short PN code, and a unique Walsh code, corresponding to the cell and code channel, respectively, to which the particular correlator 104 is assigned.
For example, remote station 6 communicates with a first cell via primary code channel 4 and a second cell via primary code channel 6 during soft handoff. During subsequent high data transmissions, remote station 6 is assigned a designated channel group C7. Referring to table 3, C7 contains four secondary code channels (33, 35), (49, 51), (65, 67), (81, 83). The remote station 6 assigns five different Rake receivers 100 to the five sets of code channels. For example, remote station 6 may assign Rake receiver 100a to a first set of primary code channels (4, 6), Rake receiver 100b to a second set of secondary code channels (33, 35), Rake receiver 100c (not shown in fig. 4) to a third set of secondary code channels (49, 51), and so on. In the Rake receiver 100a, at least one correlator 104 is assigned to each code channel in the group. For example, remote station 6 may assign correlator 104a to primary code channel 4 and correlator 104b to primary code channel 6. Correlators 104c through 104m may be assigned by remote station 6 to the second strongest multipaths of primary code channels 4 and 6. The outputs from the designated correlators 104 within the Rake receiver 100a are combined by a combiner 106 a. The demodulated outputs from the five designated Rake receivers 100 are provided to a decoder 66.
The decoder 66 receives the demodulated outputs from the five Rake receivers 100 and decodes the data in the same manner as described in the third mode. The demodulated outputs from each of the five Rake receivers 100 are substantially descrambled by a separate descrambler 110, reordered by a separate deinterleaver 112, multiplexed by a MUX114, convolutionally decoded by a viterbi decoder 166 and checked by a CRC detection element 188. The error free data portion from CRC check unit 118 is provided to data receiver 68.
The discussion above of demodulating and decoding data transmissions on multiple sets of code channels can be extended to remote stations in soft handoff with three or more base stations. Each group of code channels basically requires a separate Rake receiver 100. Further, each code channel in a group is assigned to at least one different correlator 104 in the same Rake receiver 100. The outputs from the assigned correlators 104 are combined and the data transmitted over the set of code channels is decoded.
The exemplary demodulator 64 and decoder 66 hardware shown in fig. 4 may be implemented in other modes. For example, demodulator 64 and decoder 66 may be configured to demodulate and decode data transmitted on multiple sets of code channels, where each set includes one code channel and data is not transmitted from the same cell. This is similar to the third mode described above except that the Rake receiver 100 is assigned different short PN codes corresponding to different transmitting cells. Alternatively, demodulator 64 and decoder 66 may be configured to demodulate and decode data transmitted on multiple sets of code channels, where each set contains a different number of code channels. This is a variation of the fourth mode described above. These and other modes of employing demodulator 64 and decoder 66 are contemplated and fall within the scope of the present invention.
CRC bits
According to IS-95A, CRC bits are appended to each data portion to enable remote station 6 to check for frame errors. The CRC bits are generated according to a CRC polynomial specified by IS-95A. In particular, for a data transmission rate of 9.6Kbps, the particular polynomial is g (x) ═ x12+x11+x10+x9+x8+x4+ x + 1. For each data portion, 12 CRC bits are appended. In the present invention, the number of CRC bits can be increased or decreased depending on the required reliability of detectionAnd (4) sex. More CRC bits allow frame errors to be detected with higher reliability, but require more overhead. Conversely, fewer CRC bits reduces the reliability of frame error detection, but requires less overhead.
In the case of high speed data transmission on multiple code channels, CRC bits for the multiple code channels may be generated with at least two embodiments. In the first embodiment, each data part IS appended with its own CRC bits set, similar to the IS-95A standard. This embodiment requires more overhead but allows detection of frame errors on each data portion. Only the erroneously received data portion is retransmitted.
In a second embodiment, a frame of data to be transmitted on a designated code channel within a frame is encoded by a CRC generator. The generated CRC bits may be transmitted in one of several modes. In the first mode, the data frame may be divided into data portions, as described above. The CRC bits are also divided and appended to each data portion. Each code channel frame then contains a data portion and some CRC bits. In the second mode, the CRC bits are sent over one code channel frame. All code channel frames contain only the data portion except the last code channel frame. The last code channel frame contains CRC bits and some data. The second mode provides time diversity of the CRC bits and improves frame error detection by remote station 6.
At remote station 6, the data portion and CRC bits of the channel frame are re-encoded. In the second embodiment, remote station 6 is only able to determine whether all code channel frames were received correctly or whether one or more frame errors occurred. Remote station 6 cannot determine which code channel frames were received in error. Thus, the frame error indication instructs that all code channel frames of the frame need to be retransmitted by the cell. The second embodiment has the advantage that the data frame uses a smaller number of CRC bits.
For example, suppose that high-speed data transmission occurs over 12 code channels. In the first embodiment, each of the 12 data portions is accompanied by its own 12 CRC bit groups. All 144 CRC bits are required for 12 data portions. These 144 CRC bits enable each code channel frame to detect frame errors. Thus, if a code channel frame received on a code channel has an error, only the error frame needs to be retransmitted.
For the second embodiment, the entire data frame is encoded with a set of CRC bits. Preferably, the number of CRC bits is less than the number of total CRC bits used in the first embodiment. In the above example, for a 12 code channel frame, the number of CRC bits used is at least 12, but less than 144. Since there are about 12 times as many data bits, more CRC bits are required so that a frame error can be detected with higher reliability. Assuming that 24 CRC bits allow frame errors to be detected with the required reliability, the 24 CRC bits can be divided into 12 CRC blocks, where each CRC block contains two CRC bits. A CRC block is appended to each of the 12 data portions. Alternatively, 24 CRC bits may be sent over one code channel frame. At the remote station 6, the data portion and 24 CRC bits are reassembled. Remote station 6 can only determine whether all 12 code channel frames were received correctly. If frame errors are indicated, remote station 6 cannot determine which code channel frames were received in error. Thus, all 12 code channel frames are retransmitted by the cell. For 120 CRC bits saved in overhead, remote station 6 can still detect frame errors, but not as accurately as the first embodiment. The second embodiment requires a trade-off between less overhead and redundant retransmission of code channel frames.
IX. timing of forward link rate scheduling
By making the prediction as close as possible to the time at which the prediction is to be applied, the accuracy of the prediction of the transmission power required for the non-scheduled task can be improved. During the delay period, i.e. from the predicted moment to the moment of actual deployment, it is possible that the state of the network has changed. For example, a voice user may have started or stopped talking, may have added or subtracted users from the network, or may have changed channel conditions. By limiting the processing delay to a small number of frames, the prediction of the required transmit power for non-scheduled tasks is very accurate for the present invention. In a preferred embodiment, the processing delay is 4 frames or less.
The channel scheduler 12 may make predictions in short time intervals (e.g., by maintaining short scheduling intervals) to improve the accuracy of the predictions and to allow the channel scheduler 12 to respond quickly to changes in the forward link demand. In the exemplary embodiment, the prediction is made every frame, resources are allocated or reallocated every frame and a schedule for a specified transmission rate is transmitted to remote station 6 every frame.
Fig. 8 is a schematic diagram illustrating a timing diagram for forward link rate scheduling of the present invention. At frame k, the status of the entire CDA network is measured and sent to the channel scheduler 12 (in block 300). In an exemplary embodiment, the state of the CDMA network may include the total remaining power available for scheduling tasks in each cell, the amount of data transmitted to each scheduled user, the current set of members for each remote station 6, the per-bit transmission energy for each scheduled user, and the code channels available for transmission by each cell. At frame k +1, the channel scheduler 12 allocates resources and sends the information to the selector unit 14 located within the base station controller 10 (in block 302). The resource allocation by the channel scheduler 12 may be in the form of a specified transmission rate or in the form of an allocated transmit power. If channel scheduler 12 allocates transmit power selector element 14 calculates the assigned transmission rate based on the allocated transmit power of remote station 6 and the required energy per bit. At frame k +4, the specified transmission rate is utilized. Within frame k +1, selector element 14 conveys (in block 304) to channel element 40a schedule for the specified transmission rate and data frame to be transmitted in frame k + 2. Further, in frame k +1, channel element 40 receives a schedule of the specified transmission rate and data frame from selector element 14 (in block 306). At frame k +2, channel element 40 transmits an identification of the designated channel group for frame k +4 and frame k +2 to remote station 6 on the primary code channel (in block 308). During frame k +3, remote station 6 receives the data frame and determines the identity of the designated channel group (in block 310). However, if necessary, remote station 6 reconfigures the hardware to receive the forthcoming high-speed data transmission. At frame k +4, data is transmitted on the primary and secondary code channels assigned to remote station 6 (in block 312).
In the exemplary embodiment, the processing delay between the time of receipt of the desired information from the cell by the channel scheduler 12 and the time of data transmission at the specified transmission rate is 4 frames. At frame k, the channel scheduler 12 receives information from the cell. At frame k +4, the cell transmits data on the designated primary and secondary code channels to remote station 6. For a CDMA system conforming to the IS-95A standard, each delay frame represents a 20msec delay. In the exemplary embodiment, a processing delay of 4 frames represents a delay of 80 msec. This delay period is short enough that the prediction of the required transmit power is of reasonable accuracy and the quality of the communication on the forward link is not reduced to a small extent. Furthermore, since the channel scheduler 12 is able to continuously monitor the forward link usage and dynamically reallocate resources for scheduled tasks, the initial prediction of the required transmit power for non-scheduled tasks is not critical in the present invention.
The above description of exemplary embodiments represents one method of implementing the present invention. Other variations in the timing of the forward link rate scheduler are contemplated and are within the scope of the invention.
In one of many embodiments, scheduling information containing the specified transmission rate may be transmitted to remote station 6. In a first embodiment, certain bits in the code channel frame of the primary code channel are reserved for scheduling information. In a second embodiment, the scheduling information is sent using a separate signaling message. A signaling message may be sent to remote station 6 whenever there is a new allocation of data transmission rates. Other embodiments of transmitting the scheduling information by employing variations or combinations of the above embodiments are contemplated and fall within the scope of the invention.
Fig. 9 shows a schematic diagram of forward link rate scheduling and high speed data transmission of the present invention. As noted above, the remote station 6 is assigned a primary code channel for the duration of the communication with the cell. In fig. 9, the primary code channel is transmitted at 1/8 rate when idle and at full rate when transmitting data. The backlog data to be transmitted to the remote station 6 is shown by a solid line and is given in terms of the number of code channel frames. The number of code channel frames is equal to the number of code channels multiplied by the number of frames required to transmit all the data. For example, 20 code channel frames may be sent over 20 frames by one code channel or 5 frames by four code channels. Although the capacity of the primary code channel is slightly less than that of the secondary code channel, the difference is omitted in the following example for simplicity of explanation since additional bits are present in the primary code channel. The following discussion relates to an embodiment in which forward link rate scheduling is performed per frame as described above. The following example also applies to embodiments where forward link rate scheduling is performed every K frames.
In the example shown in fig. 9, remote station 6 is assigned a primary code channel, but there is no data in the cells to transmit to remote station 6 in frame 1 and frame 2. Thus, the cell transmits on the primary code channel at 1/8 rate. During frame 2, the cell receives two code channel frames for transmission to remote station 6. At frame 3 and frame 9, the cell transmits a code channel frame on the primary code channel with the backlog data being zeroed at the end of frame 3. Note that on the primary code channel, the data transmission does not have any scheduling delay. At frame 3, the data received during frame 2 is immediately transmitted on the primary code channel. The immediate transmission on the primary code channel allows the signaling to be expeditious from the cell to the remote station 6. For example, TCP acknowledgements require about 40 bytes and can fit into one code channel frame using header compression. Within a frame, a TCP acknowledgement may be sent immediately on the primary code channel.
During frames 5 and 6, the cell transmits at 1/8 rate while idle and waiting for data. During frame 6, the cell receives a large amount of data to transmit to remote station 6. At frame 7, the channel scheduler 12 receives the queue length information from the selector element 14, collects other information about the network status (e.g., the total remaining power available to transmit scheduling tasks from each cell), allocates resources and passes the information to the selector element 14. In this example, the channel scheduler 12 allocates a channel group C7 from table 1 containing four secondary code channels. At frame 8, the cell transmits a second code channel frame and the assigned channel group from the queue to the remote station 6 on the primary code channel. At frame 9, the base station 4 continues to transmit data on the primary code channel and reduces the backlog data to 25 code channel frames. During frame 9, remote station 6 receives the second code channel frame, along with the identification of the designated channel group, and configures the hardware to receive the upcoming high speed data transmission. At frames 10 and 11, high speed data transmission occurs on the primary code channel and the four secondary code channels.
In this example, the demand on the forward link from the non-scheduled tasks increases during frame 8. At frame 9, the channel scheduler 12 allocates resources for non-scheduled tasks with less available forward link capacity. The channel scheduler 12 determines that a channel group C6 with a small number of secondary code channels (2) is available to free up capacity for additional demand. At frame 10, a new channel set containing two secondary code channels is transmitted to remote station 6. At frame 11, the remote station 6 receives the new channel group. Also at frame 12, the cell transmits data on the new channel set.
Also, in this example, the amount of forward link demand by the non-scheduled tasks is reduced during frame 9. During frame 10, having a greater forward link capacity, channel scheduler 12 transmits channel set C7 with four secondary code channels to remote station 6. At frame 11, the identity of the new channel group is transmitted to the remote station 6. At frame 12, remote station 6 receives the identification of the new channel group. Also at frame 13, the cell transmits data on the new channel group.
During frame 12, the channel scheduler 12 recognizes that the queue is empty when the currently scheduled transmission is completed and only two code channels are needed to transmit the remaining data at frame 15. At frame 13, the channel scheduler 12 causes the cell to transmit a new channel set C3 identification containing only one secondary code channel to the remote station 6 via selector element 14. At frame 14 the remote station 6 receives the identification of the new channel group and reconfigures the hardware and at frame 15 the cell transmits two remaining code channel frames on the new channel group.
At frame 13, the realization queue is almost empty and the channel scheduler 12 causes the cell to transmit the identity of the new channel group C0 containing the zero-time code channel through the selector element 14. At frame 16, the cell utilizes the new channel set. Having transmitted all the data, the cell transmits at 1/8 rate on the primary code channel at frame 16 when idle and waiting for more data.
The above example shows that there is a processing delay of 4 frames between the time data is available in the cell (at frame 6 in fig. 9) and the high speed data transmission (at frame 10 in fig. 9). This example also shows that the transmission rate can be adjusted at each frame to make full use of the forward link every frame.
Priority assignment
To optimize utilization of the forward link, the remote station 6 is allocated resources for scheduling tasks based on the priority of the remote station 6. The forward link transmit power is assigned first to the remote station 6 with the highest priority and finally to the remote station 6 with the lowest priority. A number of factors may be used to determine the priority of the remote station 6. The following discussion details some exemplary factors that may be considered in assigning priorities. Other factors may also be considered and are within the scope of the present invention.
An important factor for the process of determining priority in remote station 6 is the energy per bit that needs to be transmitted to remote station 6. Remote stations 6 located at the edge of a cell or those in adverse channel conditions require a greater energy per bit to meet the required level of performance due to greater transmission loss and/or higher Eb/No from the cell to the remote station 6. Conversely, a remote station 6 located near a cell (e.g., near a base station 4 serving the cell) requires less energy per bit to maintain the same performance level. In practice, the symbol rate that can be transmitted to remote station 6 is inversely proportional to the transmission loss and Eb/No for the same amount of transmit power. For example, if the transmission loss to the second remote station 6 is approximately 6dB more than to the first remote station 6, or if the second remote station 6 requires a 6dB higher Eb/No than the first remote station 6, then the data transmission to the second remote station 6 at 9.6Kbps can only be supported for the full remaining power for data transmission to the first remote station 6 at 38.4Kbps (symbol rate of 1/4). Since the remote station 6, which requires less energy per bit, consumes less resources for a given transmission rate, it preferably transmits to that remote station first.
Referring to fig. 1, remote stations 6a and 6b are closer to the base station than remote station 6 c. Likewise, remote stations 6d and 6e are closer to 4d than remote station 6 c. Then by transmitting first to remote stations 6a, 6b, 6d and 6e at time slot T1 and then to remote station 6c at time slot T2. In general, it is preferable to assign a higher priority to remote stations 6 that require less energy per bit to maintain a communication link.
Remote station 6 may be in a state of soft handoff for multiple cells. If multiple cells transmit to remote station 6 simultaneously, then more resources may be consumed by remote station 6 in a soft handoff state. In addition, remote stations 6 in soft handoff are typically located near the cell edge and require more energy per bit. Thus, by assigning a low priority to remote stations 6 in soft handoff, higher throughput can be achieved.
The optimization of the resource allocation also depends on the amount of data transmitted to the remote station 6. The transmitted data is stored in a queue located in the selector unit 14. Thus, the length of the queue represents the amount of data to be sent. At the beginning of each scheduling interval, a queue of all scheduled tasks is sent to the channel scheduler 12. If the queue length for the scheduled task is short, the channel scheduler 12 removes the task from the rate scheduler. The transmission of small amounts of data may be completed on the primary code channel within a satisfactory time period. The channel scheduler 12 allocates resources for transmitting large amounts of data only when needed. The amount of resources allocated to each remote station is therefore approximately proportional to the length of the queue to be transmitted to the remote station 6.
The type of data to be transmitted is another important consideration in assigning priorities among remote stations 6. Some data are time sensitive and need to be considered quickly. Other data types may tolerate longer transmission delays. It is clear that higher priority is assigned to data that is time critical.
For example, remote station 6 may have difficulty receiving some of the transmitted data in error. Remote station 6 also determines frame errors using the appended CRC bits in the received code channel frame. Upon determining that a code channel frame was received in error, the Error Indication Bit (EIB) for that code channel frame is marked and the remote station 6 notifies the cell of the frame error. The implementation and application of EIB transmission is disclosed in the above-mentioned us patent No. 5,568,483. The channel scheduler 12 then schedules retransmissions of the erroneously received code channel frame. At the remote station 6, other signal processing relies on the code channel frames received in error. Therefore, the channel scheduler 12 gives the retransmitted data a higher priority than the data transmitted for the first time.
In contrast, a repeated frame error represented by the same remote station 6 may indicate that the forward link has been corrupted. Thus, the forward link allocated for repeated retransmission of erroneously received code channel frames is wasted. In this case, the remote station 6 may be temporarily set in the holding state. Data transmission at high transmission rates may be suspended until forward link conditions improve. The channel scheduler 12 can still be on the primary code channel and continuously monitor the performance of the forward link. Upon receiving an indication of improved forward link conditions, channel scheduler 12 brings remote station 6 out of hold and resumes high speed transmission of data to remote station 6. Alternatively, the data may be deleted in the queue after the attempted retransmission is unsuccessful by a predetermined amount.
In assigning priorities among remote stations 6, it is desirable to differentiate remote stations 6 based on the type of data service provided. For example, charging structures may be established for different data transfer services. Higher priority is given to those services that require extra charges. Through the charging structure, the user at each remote station 6 can individually determine the priority, and the type of service that the user will receive.
The priority of remote station 6 may also be a function of the amount of delay of remote station 6. First, the available forward link resources are assigned to the remote station 6 with the best priority. Then, remote stations 6 with low priority typically experience longer transmission delays. The priority of remote station 6 may be increased as the amount of delay experienced by the low priority remote station 6 increases. This avoids data sent to the low priority remote station 6 remaining in the queue indefinitely. In this way, the priority level can be incremented to achieve high quality communication for scheduled and unscheduled tasks while maintaining the goals of the system.
Different weights are assigned to each contributing factor depending on the optimized system objective set. For example, to maximize throughput on the forward link, a greater weight is given to the energy per bit required by remote station 6, whether or not remote station 6 is in a soft handoff state. The weighting scheme does not take into account the type of data and the priority of the remote station 6 and thus does not relate to fairness of system objectives.
Alternatively, a fee structure may be maintained that allows the user at each remote station 6 to individually determine the priority of the remote station 6. Willing to pay a premium for the resource represents a higher importance. In this case, the system seeking the highest revenue and customer satisfaction may transmit first to the remote station 6 that is charged the highest, even though the transmission requires more resources. Other weighting schemes may be generated to achieve any number of system goals, using the factors described above, as well as other factors not discussed, and are within the scope of the present invention.
The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown above but is to be accorded the widest scope consistent with the principles and novel features described herein.
Claims (12)
1. A method for scheduling data transmission on a forward link in a communication network including at least one cell and at least one scheduled user, the method comprising the steps of:
determining available forward link capacity for each of said at least one cell;
assigning a designated transmission rate to each of said at least one scheduled user;
transmitting the designated transmission rate to the at least one scheduled user;
wherein the designated transmission rate is based on the forward link capacity available to each of the at least one cell;
the step of assigning further comprises the steps of:
determining an active membership group for each of said at least one scheduling user, said active membership group including at least one cell with which said scheduling user communicates; and is
The designated transmission rate is also based on the available forward link capacity of one or more of the at least one cell in the active set of members.
2. The method of claim 1, wherein the determining step, the allocating step, and the transmitting step are repeated every K frames, where K is an integer greater than or equal to 1.
3. The method of claim 1, wherein said assigning step further comprises the steps of;
receiving a queue length for each of the at least one scheduled user, the queue length determining an amount of data to be sent to each of the at least one scheduled user;
wherein the designated transmission rate is further based on the queue length for each of the at least one scheduled user.
4. The method of claim 3, wherein said assigning step further comprises the steps of;
establishing a priority list of scheduling users, wherein the priority list comprises each scheduling user, and each scheduling user is distributed with priority;
wherein the assigned transmission rate is further based on the priority of each of the at least one scheduled user.
5. The method of claim 4, wherein said step of assigning further comprises the steps of:
selecting a selected scheduled user from the priority list of scheduled users, the selected scheduled user having a highest priority among the at least one scheduled user in the priority list;
calculating a maximum supportable transmission rate for said selected scheduled user per one or more of said at least one cell in said active member group of said selected scheduled user;
selecting a minimum transmission rate from the maximum supportable transmission rates, the minimum transmission rate being defined as a maximum transmission rate;
wherein the specified transmission rate is equal to or lower than the maximum transmission rate.
6. The method of claim 5, wherein said assigning step further comprises the steps of;
recommending a preferred transmission rate, said preferred transmission rate based on said queue length of said selected scheduled user;
wherein the specified transmission rate is equal to or lower than the preferred transmission rate.
7. The method of claim 6, wherein said assigning step further comprises the steps of;
updating the forward link capacity available to one or more of the at least one cell in the active set of members of the selected scheduled user to reflect the capacity allocated to the selected scheduled user;
removing the selected scheduled user from the priority table.
8. The method of claim 2, further comprising the steps of:
reassigning said assigned transmission rate of 0 or more of said at least one scheduled user to a temporary transmission rate prior to repeating said determining step, said assigning step and said transmitting step, wherein said temporary transmission rate is dependent upon said forward link capacity available to each of said at least one cell.
9. The method of claim 8, wherein said reassigning step comprises the steps of: a temporary cell list of affected cells having transmission powers unsuitable for transmitting data to the at least one scheduled user is established from a cell in the communication network.
10. The method of claim 9, wherein said reassigning step further comprises the steps of:
establishing a temporary priority table of affected scheduled users, said affected scheduled users including said at least one scheduled user in the communication network.
11. The method of claim 10, wherein said reassigning step further comprises the steps of:
selecting an affected scheduled user from the temporary priority table of affected scheduled users, the selected affected scheduled user having a highest priority among the at least one scheduled user in the temporary priority table;
calculating a maximum temporary supportable transmission rate for said selected affected scheduled user in one or more of said at least one cell in said active member group of said selected affected scheduled user;
selecting a minimum transmission rate from the maximum temporary supportable transmission rates, the minimum transmission rate being defined as a maximum temporary transmission rate;
wherein the temporary transmission rate is equal to or lower than the maximum temporary transmission rate and the specified transmission rate.
12. The method of claim 11, wherein said reassigning step further comprises the steps of:
updating the forward link capacity available to one or more of the at least one cell in the active member group of the selected affected scheduled users to reflect the capacity allocated to the selected affected scheduled users;
removing the selected affected scheduled users from the priority table.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/798,951 | 1997-02-11 | ||
| US08/798,951 US6335922B1 (en) | 1997-02-11 | 1997-02-11 | Method and apparatus for forward link rate scheduling |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1106890A1 HK1106890A1 (en) | 2008-03-20 |
| HK1106890B true HK1106890B (en) | 2011-03-18 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101820313B (en) | Method for forward link rate scheduling of data transmission and communication system | |
| US8396033B2 (en) | Method and apparatus for forward link rate scheduling | |
| US7519044B1 (en) | Channel structure for communication systems | |
| JP4559008B2 (en) | System for allocating resources in a communication system | |
| US5914950A (en) | Method and apparatus for reverse link rate scheduling | |
| JP2001516975A (en) | Method and apparatus for reverse link speed scheduling | |
| HK1106890B (en) | Method and communication system for scheduling data transmissions on a forward link | |
| HK1105131B (en) | Communication system for forward link rate scheduling | |
| MXPA98008424A (en) | Method and apparatus for forward link rate scheduling | |
| HK1020827B (en) | Method and communication system for scheduling data transmissions on a forward link | |
| HK1091965B (en) | Channel structure for communication systems | |
| HK1030323B (en) | Channel structure for communication systems |