Communication system for forward link rate scheduling
Abstract
IN A COMMUNICATION SYSTEM, CAPABLE OF VARIABLE SPEED TRANSMISSION, THE PROGRAMMING OF LARGE SPEED DATA TRANSMISSION IMPROVES THE USE OF THE LINK SITUATED AT THE TERM, AND DECREASES THE DELAY OF THE TRANSMISSION IN DATA COMMUNICATION. EACH REMOTE STATION (6) IS ASSIGNED THE PRIMARY CODE CHANNEL WHILE THE COMMUNICATION WITH AN ELEMENT LASTS. CHANNELS OF SECONDARY CODES OF DIFFERENT TYPES AND TRANSMISSION CAPABILITIES CAN BE ASSIGNED, BY A CHANNEL PROGRAMMER (12), FOR SCHEDULED TRANSMISSION OF DATA TRAFFIC AT HIGH SPEEDS. SECONDARY CODE CHANNELS ARE ASSIGNED IN ACCORDANCE WITH A SERIES OF SYSTEM OBJECTIVES, A PARAMETER RELATIONSHIP AND THE INFORMATION COLLECTED ON THE STATE OF THE COMMUNICATIONS NETWORK. SECONDARY CODE CHANNELS CAN BE GROUPED IN SECONDARY CODE CHANNEL SETS. THE DATA IS DISTRIBUTED IN DATA SECURITIES AND IS TRANSMITTED BY THE PRIMARY AND SECONDARY CODE CHANNELS, WHICH HAVE BEEN ASSIGNED TO THE PROGRAMMED USER.

Term
Term ended
Projected expiry passed 10 February 2018, 8.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
6 claims: 6 independent, 0 dependent
- 1ES 2 255 148 T3 IS 2 255 148 T3 CLAIMS REIVINDICACIONES 1. Procedure for scheduling data transmissions over a direct link (50) in a communication network comprising at least one cell (2) and at least one scheduled user (6), and for assigning a transmission speed to said transmissions data, in which said direct link (50) has an unscheduled capacity for unscheduled transmissions and a residual capacity for scheduled transmissions, the procedure comprising the following steps:1. Procedimiento para programar las transmisiones de datos por un enlace directo (50) en una red de comunicación que comprende por lo menos una célula (2) y por lo menos un usuario programado (6), y para asignar una velocidad de transmisión a dichas transmisiones de datos, en el que dicho enlace directo (50) presenta una capacidad no programada para transmisiones no programadas y una capacidad residual para transmisiones programadas, comprendiendo el procedimiento las etapas siguientes: determinar dicha capacidad residual del enlace directo disponible para cada una de dicha por lo menos una célula (2);determining said residual direct link capacity available for each of said at least one cell (2);asignar (202) una velocidad de transmisión asignada a cada uno de dicho por lo menos un usuario programado (6);assigning (202) an assigned transmission rate to each of said at least one scheduled user (6);enviar (204) dicha velocidad de transmisión asignada a dicho por lo menos un usuario programado (6);sending (204) said assigned transmission rate to said at least one scheduled user (6);en el que dicha velocidad de transmisión asignada se basa en dicha capacidad residual de enlace directo disponible para cada una de dicha por lo menos una célula (2);wherein said assigned transmission rate is based on said residual forward link capacity available for each of said at least one cell (2);en el que dicha etapa de asignación comprende además la etapa que consiste en determinar un conjunto de miembros activos para cada uno de dicho por lo menos un usuario programado (6), conteniendo dicho conjunto de miembros activos por lo menos una célula (2) que se comunica con dicho usuario programado (6);wherein said assignment step further comprises the step consisting of determining a set of active members for each of said at least one programmed user (6), said set of active members containing at least one cell (2) that communicates with said programmed user (6);en el que dicha velocidad de transmisión asignada se basa además en dicha capacidad de enlace directo disponible para una o más de dicha por lo menos una célula (2) de dicho conjunto de miembros activos. wherein said assigned transmission rate is further based on said forward link capacity available to one or more of said at least one cell (2) of said set of active members. 2. Method according to claim 1, in which said determination step, said allocation step and said sending step are repeated every K frames, where K is an integer greater than or equal to one. 2. Procedimiento según la reivindicación 1, en el que dicha etapa de determinación, dicha etapa de asignación y dicha etapa de envío se repiten cada K tramas, siendo K un entero mayor o igual a uno. 3. Method according to claim 2, further comprising the step consisting in reassigning said assigned transmission rate of zero or higher value of said at least one user programmed to a temporary transmission rate, said temporary transmission rate being dependent on said capacity forward link available for each of said at least one cell. 3. Procedimiento según la reivindicación 2, que comprende además la etapa que consiste en reasignar dicha velocidad de transmisión asignada de valor cero o superior de dicho por lo menos un usuario programado a una velocidad de transmisión temporal, siendo dicha velocidad de transmisión temporal dependiente de dicha capacidad de enlace directo disponible para cada una de dicha por lo menos una célula. 4. Procedimiento según la reivindicación 3, en el que dicha etapa de reasignación comprende además la etapa que consiste en crear una lista temporal de células de las células afectadas por dicha por lo menos una célula (2) de la red de comunicación, presentando dichas células afectadas una potencia de transmisión inadecuada para transmitir datos a dicho por lo menos un usuario programado (6). Four. Method according to claim 3, in which said reassignment step further comprises the step consisting of creating a temporary list of cells of the cells affected by said at least one cell (2) of the communication network, said cells having affected inadequate transmit power to transmit data to said at least one programmed user (6). 5. Method according to claim 4, wherein said reassignment step further comprises the step consisting of creating a temporary list of priorities of affected scheduled users, said affected scheduled users comprising said at least one scheduled user (6) of the network Communication. 5. Procedimiento según la reivindicación 4, en el que dicha etapa de reasignación comprende además la etapa que consiste en crear una lista temporal de prioridades de los usuarios programados afectados, comprendiendo dichos usuarios programados afectados dicho por lo menos un usuario programado (6) de la red de comunicación. 6. The method according to claim 5, wherein said reassignment step further comprises the following steps: 6. Procedimiento según la reivindicación 5, en el que dicha etapa de reasignación comprende además las etapas siguientes: seleccionar un usuario programado afectado de entre dicha lista de prioridades temporal de usuarios programados afectados, presentando dicho usuario programado afectado seleccionado la prioridad más alta de entre dicho por lo menos un usuario programado en dicha lista de prioridades temporal (6);selecting an affected scheduled user from said temporary priority list of affected scheduled users, said affected scheduled user having selected the highest priority from among said at least one scheduled user on said temporary priority list (6);calcular una velocidad de transmisión temporal máxima admisible para dicho usuario programado afectado seleccionado por una o más de dicha por lo menos una célula (2) de dicho conjunto de miembros activos de dicho usuario programado afectado seleccionado;calculating a maximum permissible temporary transmission rate for said affected scheduled user selected by one or more of said at least one cell (2) of said set of active members of said selected affected scheduled user;seleccionar una velocidad de transmisión mínima de entre dichas velocidades de transmisión temporales máximas admisibles, siendo definida dicha velocidad de transmisión mínima como una velocidad de transmisión temporal máxima;selecting a minimum transmission rate from among said maximum permissible temporary transmission rates, said minimum transmission rate being defined as a maximum temporary transmission rate;en el que dicha velocidad de transmisión temporal es menor o igual a dicha velocidad de transmisión temporal máxima y a dicha velocidad de transmisión asignada. wherein said temporary transmission rate is less than or equal to said maximum temporary transmission rate and said assigned transmission rate. 7. Method according to claim 1, wherein said assignment step further comprises the following step: 7. Procedimiento según la reivindicación 1, en el que dicha etapa de asignación comprende además la etapa siguiente: receiving a queue size for said at least one scheduled user (6), said queue size determining the amount of data to be transmitted to each of said at least one scheduled user (6);Y recibir un tamaño de cola para dicho por lo menos un usuario programado (6), siendo dicho tamaño de cola determinante de la cantidad de datos que se van a transmitir a cada uno de dicho por lo menos un usuario programado (6);y ES 2 255 148 T3 en el que dicha velocidad de transmisión asignada se basa además en dicho tamaño de cola para cada uno de dicho por lo menos un usuario programado (6). ES 2 255 148 T3 wherein said assigned transmission speed is further based on said queue size for each of said at least one scheduled user (6). 8. The method according to claim 7, wherein said assignment step further comprises the following step: 8. Procedimiento según la reivindicación 7, en el que dicha etapa de asignación comprende además la etapa siguíente: crear una lista de prioridades de los usuarios programados (6), conteniendo dicha lista de prioridades cada uno de dicho por lo menos un usuario programado (6) y siendo una prioridad asignada a cada uno de dicho por lo menos un usuario programado (6);y en el que dicha velocidad de transmisión asignada se basa además en dicha prioridad de cada uno de dicho por lo menos un usuario programado (6). create a priority list of scheduled users (6), said priority list containing each of said at least one scheduled user (6) and a priority being assigned to each of said at least one scheduled user (6) ;and wherein said assigned transmission rate is further based on said priority of each of said at least one scheduled user (6). 9. Procedure for scheduling transmissions over a direct link (50) of a communication network comprising at least one cell (2) and at least one scheduled user (6), said procedure comprising the following steps: 9. Procedimiento para programar las transmisiones por un enlace directo (50) de una red de comunicación que comprende por lo menos una célula (2) y por lo menos un usuario programado (6), comprendiendo dicho procedimiento las etapas siguientes: (a) determinar la capacidad del enlace directo disponible para cada una de dicha por lo menos una célula (2);(a) determining the forward link capacity available for each of said at least one cell (2);(b) asignar (202) una velocidad de transmisión asignada a cada uno de dicho por lo menos un usuario programado (6);y (c) enviar (204) dicha velocidad de transmisión asignada a cada uno de dicho por lo menos un usuario programado (6);(b) assigning (202) an assigned transmission rate to each of said at least one scheduled user (6);and (c) sending (204) said transmission rate assigned to each of said at least one scheduled user (6);en el que: in which: (d) dicha velocidad de transmisión asignada se basa en: (d) said assigned transmission speed is based on: (1) dicha capacidad de enlace directo disponible para cada una de dicha por lo menos una célula (2);(1) said forward link capacity available to each of said at least one cell (2);
- 2(2) dicha capacidad de enlace directo disponible para una o más de dicha por lo menos una célula (2) del conjunto de miembros activos;(2) said forward link capacity available to one or more of said at least one cell (2) of the set of active members;
- 3(3) el tamaño de cola de cada uno de dicho por lo menos un usuario programado (6); y (4) la prioridad de cada uno de dicho por lo menos un usuario programado (6); (3) the queue size of each of said at least one scheduled user (6); and (4) the priority of each of said at least one scheduled user (6); (e) dicha etapa de asignación comprende además las etapas siguientes:(e) said allocation stage further comprises the following stages: (1) determinar dicho conjunto de miembros activos para cada uno de dicho por lo menos un usuario programado (6), conteniendo dicho conjunto de miembros activos por lo menos una célula (2) que se comunica con dicho usuario programado (6);(1) determining said set of active members for each of said at least one scheduled user (6), said set of active members containing at least one cell (2) that communicates with said scheduled user (6);(2) receive said queue size for each of said at least one scheduled user (6), said queue size being determining the amount of data to be transmitted to each of said at least one scheduled user (6);(2) recibir dicho tamaño de cola para cada uno de dicho por lo menos un usuario programado (6), siendo dicho tamaño de cola determinante de la cantidad de datos que se van a transmitir a cada uno de dicho por lo menos un usuario programado (6);(3) crear una lista de prioridades de usuarios programados (6), conteniendo dicha lista de prioridades cada uno de dicho por lo menos un usuario programado y siendo dicha prioridad asignada a cada uno de dicho por lo menos un usuario programado;(3) creating a priority list of scheduled users (6), said priority list containing each of said at least one scheduled user and said priority being assigned to each of said at least one scheduled user;
- 4(4) seleccionar un usuario programado seleccionado (6) de entre dicha lista de prioridades de usuarios programados, teniendo dicho usuario programado seleccionado la prioridad más alta de dicho por lo menos un usuario programado en dicha lista de prioridades;(4) selecting a selected scheduled user (6) from said scheduled user priority list, said scheduled user having selected the highest priority of said at least one scheduled user in said priority list;
- 5(5) calcular la velocidad de transmisión máxima admisible para dicho por lo menos un usuario programado seleccionado (6) por una o más de dicha por lo menos una célula (2) de dicho conjunto de miembros activos de dicho usuario programado seleccionado; y (6) seleccionar una velocidad de transmisión mínima de dichas velocidades de transmisión máximas admisibles, siendo definida dicha velocidad de transmisión mínima como una velocidad de transmisión máxima; y (f) en el que dicha velocidad de transmisión asignada es menor o igual a dicha velocidad de transmisión máxima. (5) calculating the maximum allowable transmission speed for said at least one selected scheduled user (6) by one or more of said at least one cell (2) of said set of active members of said selected scheduled user; and (6) selecting a minimum transmission speed from said maximum allowable transmission speeds, said minimum transmission speed being defined as a maximum transmission speed;Y (f) wherein said assigned transmission rate is less than or equal to said maximum transmission rate. ES 2 255 148 T3 IS 2 255 148 T3 10. The method according to claim 9, wherein said allocation step further comprises the step of recommending a preferred transmission rate, said preferred transmission rate based on said queue size of said selected scheduled user (6), and on the that said assigned transmission speed is less than or equal to said preferred transmission speed. 10. Procedimiento según la reivindicación 9, en el que dicha etapa de asignación comprende además la etapa que consiste en recomendar una velocidad de transmisión preferida, basándose dicha velocidad de transmisión preferida en dicho tamaño de cola de dicho usuario programado seleccionado (6), y en el que dicha velocidad de transmisión asignada es menor o igual a dicha velocidad de transmisión preferida. 11. Procedimiento según la reivindicación 10, en el que dicha etapa de asignación comprende además las etapas siguientes:eleven. Method according to claim 10, wherein said allocation step further comprises the following steps: actualizar dicha capacidad de enlace directo disponible para una o más de dicha por lo menos una célula (2) de dicho conjunto de miembros activos de dicho usuario programado seleccionado (6), para que refleje la capacidad asignada a cada uno de dicho por lo menos un usuario programado seleccionado (6);y suprimir dicho usuario programado seleccionado (6) de dicha lista de prioridades. update said available forward link capacity for one or more of said at least one cell (2) of said set of active members of said selected scheduled user (6), to reflect the capacity assigned to each of said at least a selected scheduled user (6);and deleting said selected scheduled user (6) from said priority list. 12. Procedure for scheduling data transmissions on a direct link (50) of a communication network, comprising at least one cell and at least one scheduled user (6), said procedure comprising the following steps: 12. Procedimiento para programar las transmisiones de datos en un enlace directo (50) de una red de comunicación, que comprende por lo menos una célula y por lo menos un usuario programado (6), comprendiendo dicho procedimiento las etapas siguientes: (a) determinar la capacidad del enlace directo disponible para cada una de dicha por lo menos una célula (2);(a) determining the forward link capacity available for each of said at least one cell (2);(b) asignar una velocidad de transmisión asignada a cada uno de dicho por lo menos un usuario programado (6);(b) assigning an assigned transmission rate to each of said at least one scheduled user (6);(c) enviar dicha velocidad de transmisión asignada a dicho por lo menos un usuario programado (6) y (d) reasignar dicha velocidad de transmisión asignada de valor cero o superior de dicho por lo menos un usuario programado (6) a una velocidad de transmisión temporal;(c) send said assigned transmission speed to said at least one programmed user (6) and (d) reassign said assigned transmission speed of zero or higher value of said at least one programmed user (6) at a speed of temporary transmission;en el que: in which: (e) dicha velocidad de transmisión asignada se basa en dicha capacidad de enlace directo disponible para dicha por lo menos una célula (2);(e) said assigned transmission rate is based on said forward link capacity available to said at least one cell (2);(f) dicha etapa de determinación, dicha etapa de asignación y dicha etapa de envío se repiten cada K tramas, siendo K un entero mayor o igual a uno;(f) said determination stage, said assignment stage and said sending stage are repeated every K frames, K being an integer greater than or equal to one;(g) dicha velocidad de transmisión temporal depende de dicha capacidad de enlace directo disponible para cada una de dicha por lo menos una célula;(g) said temporal transmission rate depends on said forward link capacity available for each of said at least one cell;(h) dicha velocidad de transmisión temporal es menor o igual a la velocidad de transmisión temporal máxima y dicha velocidad de transmisión asignada;y (i) dicha etapa de reasignación comprende además las etapas siguientes: (h) said temporary transmission rate is less than or equal to the maximum temporary transmission rate and said assigned transmission rate;and (i) said reassignment step further comprises the following steps: (1) crear una lista temporal de células de células afectadas por dicha célula por lo menos de la red de comunicación, presentando dichas células afectadas una potencia de transmisión inadecuada para transmitir datos a cada uno de dicho por lo menos un usuario programado (6);(1) create a temporary list of cells of cells affected by said at least one cell in the communication network, said affected cells having inadequate transmission power to transmit data to each of said at least one programmed user (6) ;(2) crear una lista de prioridades temporal de los usuarios programados afectados, comprendiendo dichos usuarios programados afectados dicho por lo menos un usuario programado (6) de la red de comunicación;(2) creating a temporary priority list of affected scheduled users, said affected scheduled users comprising said at least one scheduled user (6) of the communication network;(3) seleccionar un usuario programado afectado de dicha lista de prioridades temporal de los usuarios programados afectados, presentando dicho usuario programado afectado seleccionado la prioridad más alta de dicho por lo menos un usuario programado en dicha lista de prioridades temporal;(3) selecting an affected scheduled user from said temporary priority list of affected scheduled users, said affected scheduled user having selected the highest priority of said at least one scheduled user on said temporary priority list;(4) calcular una velocidad de transmisión temporal máxima admisible para dicho usuario programado afectado seleccionado para cada una de dicha por lo menos una célula (2) de dicho conjunto de miembros activos de dicho usuario programado afectado seleccionado;(4) calculating a maximum allowable temporary transmission rate for said selected affected scheduled user for each of said at least one cell (2) of said set of active members of said selected affected scheduled user;(5) seleccionar una velocidad de transmisión mínima de dichas velocidades de transmisión temporales máximas admisibles, siendo definida dicha velocidad de transmisión mínima como una velocidad de transmisión temporal máxima;(5) selecting a minimum transmission rate from said maximum allowable temporary transmission rates, said minimum transmission rate being defined as a maximum temporary transmission rate;
- 6(6) actualizar dicha capacidad de enlace directo disponible para una o más de dicha por lo menos una célula (2) de dicho conjunto de miembros activos de dicho usuario programado afectado seleccionado, para que refleje la capacidad asignada a dicho usuario programado afectado seleccionado (6);y (7) suprimir dicho usuario programado afectado seleccionado de dicha lista de prioridades. (6) update said available forward link capacity for one or more of said at least one cell (2) of said set of active members of said selected affected scheduled user, to reflect the capacity assigned to said selected affected scheduled user ( 6);and (7) deleting said selected affected scheduled user from said priority list.
Independent claims6
273 paragraphs in 18 sections, as filed
IS 2 255 148 T3
DESCRIPTION
Procedure and apparatus for programming forward link speeds.
Background of the invention
I. Field of the invention
The present invention relates to data communication. More particularly, the present invention relates to a method and apparatus for programming forward link rates for data transmission in a communication network.
II. Description of Related Art
The ability to work with a variety of applications requires a modern communication system. One such communication system is a code division multiple access (CDMA) system that complies with the "TIA / EIA / IS-95A Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System", called hereinafter "standard IS-95A". The CDMA system allows voice and data communications between users, through a terrestrial link. The use of CDMA techniques in a multiple access communication system is disclosed in US Patent No. 4,901,307, entitled "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS", and US Patent No. 5,103. 459, entitled "SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM", both assigned to the assignee of the present invention.
The IS-95A standard has been designed to optimize voice communication and therefore many of the important design parameters of the system are selected to achieve this goal. For example, since a time delay between loudspeakers is unacceptable, an attempt will be made to minimize processing delays. Each user will be assigned a traffic channel capable of transmitting voice data throughout the call. At the end of the call, the traffic channel will be available to another user.
According to the IS-95A standard, each traffic channel is designed to support a symbol rate of 19.2 Ks / s. If a 1/2 rate convolutional encoder is used, the data rate of each traffic channel is close to 9.6 Kb / s. Although not specified in the IS-95A standard, higher data rates are permissible thanks to the use of other code indices. For example, a data rate of 14.4 Kb / s is obtained by using a 1/2 rate convolutional encoder and suppressing two out of eight symbols to obtain a 3/4 rate punctured convolutional encoder.
The CDMA system must work within the pre-existing frequency allocation of the cellular band. By design, a 1.2288 MHz bandwidth is allocated to IS-95A compliant CDMA systems so that the cellular band is fully utilized. Forward link refers to transmission from a cell to remote stations. On the forward link, the 1.2288 MHz bandwidth is divided into 64 code channels, each of which has a capacity of 19.2 Ks / s. Most code channels are defined as traffic channels that are assigned, upon request, to users for voice communication. Some code channels are defined as paging channels that are used for paging and messaging between the cell and remote stations. Various code channels, such as pilot and sync channels, are reserved for system-specific content.
In the CDMA system, users communicate with each other through remote stations, which in turn communicate with each other through one or more base stations. As used herein, the term "base station" refers to the hardware with which remote stations communicate. The term "cell" refers to hardware or geographic coverage area, depending on the context in which the term is used.
In the CDMA system, communications between users are directed through one or more cells that are served by base stations. A first user at a remote station communicates with a second user at a second remote station, or an ordinary telephone, by transmitting voice data over the reverse link to a cell. The cell receives the voice data and can route the data to another cell or a public switched telephone network (PSTN). If the second user is at a remote station, the data is transmitted over the forward link of the same cell, or a second cell, to the second remote station. Otherwise, the data is routed through the PSTN to the second user of the ordinary telephone system. In IS-95A systems, the forward link and the reverse link are assigned separate frequencies, and the links are independent of each other.
The remote station communicates with at least one cell during a communication. Remote CDMA stations are capable of communicating with multiple cells at the same time during a soft handoff. A soft handoff is the procedure of establishing a link with a new cell before breaking the link with the previous cell. Soft transfer minimizes the likelihood of calls being dropped. The procedure and system for allowing communication with a remote station through more than one cell during the soft handoff procedure are disclosed in US Patent No. 5,267,261, entitled "MOBILE ASSISTED SOFT HANDOFF IN A CDMA CELLULAR TELEPHONE SYSTEM ”,
ES 2 255 148 T3 assigned to the assignee of the present invention. Soft handoff affects various aspects of CDMA system design because attention needs to be paid to the status and capacity of each of the various cells involved in soft handoff when a new resource allocation is made.
The CDMA system is a spread spectrum communication system. The benefits of spread spectrum communication are well known in the art and can be appreciated by referring to the references cited above. Each code channel of the CDMA system can transmit up to 19.2 Ks / s. The 19.2 Ks / s is then distributed across the entire 1.2288 MHz bandwidth of the system. The CDMA IS-95A system increases capacity by transmitting fewer bits, and therefore using less power, when the user is not speaking. Since the capacity of the forward link between the cell and the remote station is limited by the maximum transmit power available to the cell, reducing the transmit power during idle periods allows the forward link capacity to be increased.
The user of each remote station transmits at a different bit rate, depending on the level of speech activity of that user's conversation. A variable rate speech vocoder provides speech data at full rate when the user is in active conversation, and at slow rate during periods of silence (eg, pauses). The variable rate vocoder is described in detail in US Patent No. 5,414,796, entitled "VARIABLE RATE VOCODER", assigned to the assignee of the present invention.
The forward link capacity for voice communication between the cell and remote stations, measured by the number of users that the CDMA system can support, can be determined by the user bit rate of each remote station. This is so, because other parameters that determine the capacity of the forward link are set by the design of the system or are given. For example, the maximum transmit power available to each cell is limited by FCC regulations and also by acceptable levels of interference with adjacent cells. The transmit power required for a given symbol rate depends on the energy-per-bit / noise ratio (Eb / No) required for the remote station, the path loss (e.g., the location of the remote station within the cell) and noise level, which are factors that cannot be controlled. The Eb / No ratio needed to maintain the desired performance level depends on the condition of the channel (eg fading). Lastly, the 1.2288 MHz bandwidth of the CDMA system is selected by design.
In the forward link, the necessary transmission power also depends on the orthogonality of the code channels. Walsh code spreading is used to obtain the orthogonality of the forward link code channels. Orthogonality minimizes interference between code channels. Orthogonality is not conserved in a multipath environment and consequently the level of interference increases. The necessary transmission power is therefore increased to maintain the same Eb / Non-operating ratio.
The amount of vocal activity at any given time is non-deterministic. Also, there is usually no correlation in the level of vocal activity of the users. Consequently, the total power transmitted from a cell to all users of that cell varies with time and can be calculated as a Gaussian distribution. During the period of time when the speech activity level is high and the required transmit power exceeds the maximum transmit power available to the cell, each bit of voice data is transmitted with less than optimal power. Since the path loss is fixed, the Eb / No ratio is reduced. The reduction of the Eb / No causes an increase in the probability of errors in frames of the voice data received by the users. This event is referred to as "cut".
The number of users capable of accessing the communication system is limited, in order to maintain a predetermined frame error rate (FER). Limiting the forward link capacity to maintain the predetermined FER forces the cell to transmit at less than full capacity, on average, and consequently causes the cell's forward link capacity to be underutilized. In the worst case, up to half of the forward link capacity will be wasted to maintain a spare capacity of up to 3dB. The reserve capacity is the difference between the maximum transmit power available to the cell and the average transmit power of the cell. The reserve capacity is only used during the period when the voice activity of the users is high.
Data communication in the CDMA system has different characteristics than voice communication. For example, data communication is often characterized by a long period of inactivity, or low activity, interspersed with large bursts of data traffic. An important system requirement for data communication is the transmission delay necessary to transfer the data burst. Transmission delay does not have the same impact on data communication as on voice communication, but it is an important metric for measuring the quality of the data communication system.
A method for transmitting data traffic in fixed-size code channel frames, in which the data source provides data at a variable rate, is described in detail in US Patent No. 5,504,773, entitled "METHOD AND APPARATUS FOR THE FORMATTING OF DATA FOR TRANSMISSION ”assigned to the assignee of the present invention. The data is divided into data frames and each data frame can be further divided into data parts. The data portions are then encoded to form 20 ms amplitude code channel frames. At the 19.2 Ks / s symbol rate, each code channel frame contains 384 symbols.
IS 2 255 148 T3
To encode the data, a 1/2 speed encoder or a punched 1/2 speed encoder is used to obtain a 3/4 speed convolutional encoder, depending on the application. With a 1/2 speed encoder, the information rate is approximately 9.6 Kb / s. At the data rate of 9.6 Kb / s, 172 data bits, 12 cyclic redundancy check (CRC) bits, and 8 code tail bits will be available per code channel frame.
High-speed data transmission is possible over the forward link, simultaneously transmitting data traffic through several code channels. The use of various code channels for data transmission is disclosed in US Patent No. 5,859,840, entitled "METHOD AND APPARATUS FOR PROVIDING RATE SCHEDULED DATA IN A SPREAD SPECTRUM COMMUNICATION SYSTEM", filed May 31, 1996 and assigned to the assignee of the present invention.
The demand for direct link changes continuously over time, due in part to variations in the level of voice activity. Inefficient forward link utilization can be improved by transmitting data traffic during the period of low speech activity. To avoid degradation of the quality of voice communication, data transmission should be dynamically adjusted to match the available forward link capacity of the cell.
When faced with large bursts of sporadic data traffic, the system design should provide the ability to transmit at high data rates and the ability to allocate direct link resources to users, when requested, based on the availability of resources. In a CDMA system, the design will need to take other system considerations into account. First, since voice communication cannot tolerate a long delay, the transmission of voice data should be given priority over the transmission of any type of data traffic. Second, since the amount of speech activity at any given time is unpredictable, the forward link must be continuously monitored and the data transmission must be dynamically adjusted so as not to exceed the capacity of the forward link. Third, since the user may be experiencing soft handoff between multiple cells, the data rate must be assigned based on the forward link capacity of each of the cells involved in the soft handoff. The present invention addresses these and other issues.
Attention will now turn to WO 96 37081 A1 which discloses a creditor bandwidth manager for radio system connections. The allocation of codes to mobiles in a CDMA mobile radio system determines the effective bandwidth allocated to these mobiles and, consequently, the amount of information that mobiles can supply at any one time. One of the requirements of cellular mobile radio systems is that they must have data and voice service capabilities. Said data services can tolerate a certain delay in transmission and are characterized by being of the burst type. The present invention relates to a bandwidth allocation system that can take advantage of these characteristics to more efficiently use the bandwidth available in the system, allocating codes only when mobiles are active. By counting the number of data received correctly through the air interface, the bandwidth allocation system can establish a fair code allocation for mobiles, in such a way that each mobile in the system receives the bandwidth that it needs. corresponds and experiences the same delay.
Attention will now turn to WO 95 07578 A1 which discloses a method and apparatus for controlling data transmission rates for communications with a base station and a plurality of remote users. The utilization of communication resources is measured, either the forward link resources (from the base station to the remote users) or the reverse link resources (from the remote users to the base station). The measured utilization value is compared with at least a predetermined threshold value, and the data transmission rates of the communications or a subset of the communications over said communications resources are modified according to said comparisons.
According to the present invention, there is provided a method for scheduling data transmissions over the forward link in a communication network, according to claims 1, 9 and 12. Preferred embodiments of the present invention are disclosed in the claims subordinate.
Summary of the invention
According to one aspect of the present invention, a method is provided for scheduling data transmissions over the direct link of a communication network comprising at least one cell and at least one scheduled user, said method comprising the following steps: determining the forward link capacity available to each of said at least one cell; assigning an assigned transmission rate to each of said at least one scheduled user and sending said assigned transmission rate to said at least one scheduled user, and wherein said assigned transmission rate is based on said forward link capacity available for each of said at least one cell.
According to another aspect of the present invention, there is provided an apparatus for scheduling the transmission of data over the direct link in a communication network comprising at least one cell and at least one programmed user, said apparatus comprising: control means for collecting status information for said communication network and for scheduling data transmissions from said at least one cell to said at least one cell
ES 2 255 148 T3 minus one programmed user; memory means connected to said control means for storing said status information and timing means connected to said control means for providing timing signals to said control means, said timing signals allowing to perform scheduling of data transmission to said means of control.
The present invention also provides an apparatus for scheduling data communication over the direct link between a base station and one or more remote stations of a cell, the apparatus comprising: means for determining, in each period of a sequence of scheduling periods, the resources available in the cell for data communication over the forward link; means for allocating the resources available in each scheduling period to the remote station or to each remote station and means for controlling data communication over the forward link, depending on the resources allocated respectively to the remote station or each remote station.
The present invention also provides a method for scheduling data communication over the direct link between a base station and one or more remote stations of a cell, the method comprising the following steps: determining, in each period of a sequence of scheduling periods , the resources available in the cell for data communication over the forward link; assigning the available resources in each scheduling period to said remote station and controlling data communication over the direct link, depending on the resources assigned respectively to the remote station or each remote station.
In a CDMA system, forward link utilization is improved and the data communication delay is reduced by providing means of transmitting data traffic through the primary and secondary code channels. Each remote station is assigned a primary code channel for the duration of communication with a cell. The primary code channel can be used by the cell to effect unscheduled transmissions of small amounts of data and control messages without the additional delay caused by scheduling. Remote stations may or may not be assigned secondary code channels. The secondary code channels can be of several types and each type can have the same transmission capacity as the primary code channel or a different capacity. Secondary code channels are assigned by the channel scheduler for the scheduled transmission of high speed data traffic. Secondary code channels are assigned by a channel scheduler in each programming period, and may be reassigned during the programming period, depending on the availability of forward link capacity. Furthermore, the secondary code channels may be grouped into sets of secondary code channels, each set being defined by means of a unique grouping of secondary code channels.
When the cell presents a large amount of data to transmit to the remote station, the channel scheduler collects information regarding the amount of data to be transmitted, the forward link capacity available for each cell in the network, and other parameters to be indicated. later. Based on the information collected and based on a list of system targets, the channel scheduler schedules high-speed data transmission, assigning a resource to the remote station, and selecting a set of secondary code channels corresponding to the assigned transmission rate. . The data is divided into data frames, and each data frame can also be divided into data parts. All data parts are encoded and distributed in code channel frames. The code channel frames are transmitted through the assigned primary and secondary code channels. The remote station receives the code channel frames for each of the assigned code channels and reassembles the data portions of the code channel frames. If the transmission power demand for the forward link increases, one or more secondary code channels may be temporarily abandoned, as needed, to meet the additional demand.
The data transmission rate is assigned by the channel scheduler based on the amount of data to be transmitted. Small amounts of data are transmitted immediately over the primary code channel. For larger amounts of data, the channel programmer assigns the secondary code channels. Secondary code channels increase the forward link transmission speed and therefore reduce the time required to transmit larger amounts of data.
Users of the CDMA system are assigned a priority based on a group of factors. These factors include the transmission power per bit that the user needs for the required level of performance, the list of cells serving the user, the amount of data to be transmitted, the type of data to be transmitted, the type of data service that is provided to the user and the amount of delay the user has already experienced. The available resources are assigned first to the user with the highest priority and last to the user with the lowest priority.
Brief description of the drawings
The characteristics, objectives and advantages of the present invention will become more apparent from the detailed description of an exemplary embodiment provided below, taken in conjunction with the drawings, in which similar reference characters are used. to refer to similar elements, and in which:
Figure 1 is a diagram of a cellular network comprising a plurality of cells, a plurality of base stations, and a plurality of remote stations;
Figure 2 is a block diagram illustrating the implementation example of the present invention in a CDMA transmission system;
Figure 3 is a block diagram of the channel controller;
Figure 4 is a block diagram of the remote station receiver structure example;
Figure 5 is a forward link rate schedule flow chart of the present invention;
Figure 6 is a flow chart of the baud rate assignment of the present invention;
Figure 7 is a flow chart of the baud rate reassignment of the present invention;
Figure 8 is a timing diagram representing the allocation of transmission rates and the transmission of data at the assigned transmission rate, and Figure 9 is a diagram representing an example of use of forward link rate scheduling. the present invention.
Detailed description of the preferred embodiments
With reference to the Figures, Figure 1 represents an example of a cellular communication network that is composed of several cells 2a to 2g. Each cell 2 receives service from a corresponding base station 4. In the exemplary embodiment, the cellular network is a CDMA communication network, although the present invention is applicable to all wireless communication formats. Scattered throughout the CDMA network, there are several remote stations 6. Each of the remote stations 6 communicates with one or more cells, depending on whether or not the remote station is undergoing a soft handoff. For example, remote stations 6a and 6b communicate exclusively with base station 4c, remote stations 6d and 6e communicate exclusively with base station 4d, but remote station 6c that is located near the edge of a cell is experiencing a disturbance. seamless transfer and communicates simultaneously with base stations 4c and 4d. The use of soft handoff in a CDMA system is described in detail in the aforementioned US Patent No. 5,267,261.
Figure 2 shows an example block diagram illustrating the basic architecture of the CDMA network. The base station controller 10 interfaces with a packet network interface (PNI) 22, the PSTN 30, and all base stations 4 in the CDMA network (only one base station 4 is depicted in Figure 2 for simplicity). The base station controller 10 coordinates communication between the remote stations 6 of the CDMA network and other users connected to the packet network interface 22 and the PSTN 30. The PSTN 30 interfaces with users through the telephone network current (not represented in Figure 2).
The data source 20 contains a large amount of information that must be transmitted to the remote station 6. The data source 20 provides the data to the packet network interface 22. The packet network interface 22 receives the data and provides it. to the selection element 14. The base station controller 10 contains many selection elements 14, although only one is shown in Figure 2 for simplicity. A selection element 14 is assigned to control communication between one or more base stations 4 and remote station 6. If selection element 14 has not been assigned to remote station 6, indicating that a channel has not been assigned From primary code to remote station 6, packet network interface 22 indicates to call control processor 16 that remote station 6 needs to be located. Call control processor 16 then instructs base station 4 to locate remote station 6 and assign a primary code channel to it. Once remote station 6 has been assigned a primary code channel and selection element 14 has been assigned, packet network interface 22 supplies data from data source 20 to selection element 14. Selection element 14 maintains a queue containing the data to be transmitted to remote station 6.
Channel scheduler 12 connects to all selection elements 14 of base station controller 10. Channel scheduler 12 schedules high speed data transmission and assigns code channels to be used in broadcast data transmission. high speed by direct link. The assigned baud rate programming is provided to selection element 14, routed through base station 4, and transmitted to remote station 6.
The selection element 14 sends the data, in data frames, to the base station 4. As used herein, the term "data frame" refers to the amount of data that is transmitted from the base station 4 to the remote station 6 in a one frame time period. If the data transmission takes place over several code channels, the data frame is further divided into data parts, each data part being transmitted through a primary or secondary code channel. Accordingly, a data part can be a fraction of the data frame or the entire data frame, depending on the number of code channels used. Each piece of data is encoded and the resulting encoded data forms what is called a "code channel frame".
IS 2 255 148 T3
The data frames are sent from selection element 14 to channel elements 40a and 40b. Channel elements 40a and 40b format the data frames, input a set of generated CRC bits and a set of code tail bits, and subject the data to interleaved and convolutional encoding in accordance with US Patent No. 5,504,773. mentioned above. Channel elements 40a and 40b then perform spreading of the interlaced data with a long pseudo-noise (PN) code, a Walsh code, and PN codes.<sub>I</sub> and PN<sub>what</sub> short. The spread data is frequency-boosted, filtered, and amplified by the transmitter (TMTR) 42 to obtain an RF signal. The RF signal is transmitted through the air, via antenna 44, on forward link 50.
At remote station 6, the RF signal is received by antenna 60 and routed to receiver (RCVR) 62. Receiver 62 filters, amplifies, frequency down, and quantizes the RF signal and provides the digitized baseband signal to the demodulator. (DEMOD) 64. The digitized baseband signal is de-spread by demodulator 64 and the demodulated outputs of demodulator 64 are provided to decoder 66. The decoder 66 performs the inverse functions of the signal processing functions performed in the base station 4, in particular the deinterleaving, convolutional decoding and CRC verification functions. The decoded data is provided to the data sink 68. The hardware, as described above, is capable of transmitting voice and data communications over the CDMA network.
The functions described above can also be performed by other implementations. For example, channel scheduler 12 and selection element 14 can be included in base station 4. The location of channel scheduler 12 and selection element 14 depends on whether centralized or distributed programming processing is desired. Accordingly, other implementations of the functions described above, which are within the scope of the present invention, may be considered.
Forward link transmissions can be divided into two classes. The first class contains unscheduled tasks that, in the preferred embodiment, have not been scheduled due to intolerance of additional processing delays. This class includes voice communications and some of the system's own content, such as the pilot signal, paging information, and data traffic confirmations. The second class covers scheduled tasks that can tolerate additional processing and queuing delays. This class includes most data communications between cells and remote stations 6. This second class can be assigned high speeds.
As shown in Figure 1, remote stations 6 are scattered throughout the CDMA network and can communicate with one or more cells at a time. Accordingly, the channel scheduler 12 coordinates the transmissions of scheduled and unscheduled tasks throughout the CDMA network. The transmission of the scheduled tasks over the direct link between the cells and the remote stations 6 is scheduled by the channel scheduler 12, based on the availability of the forward link capacity, to avoid degradation in the transmission of the scheduled tasks and not scheduled. The channel programmer 12 is in charge of the function of assigning the available resources to each programmed user of the remote station 6 of the CDMA network to optimize, in this way, a set of objectives. These goals include (1) better utilization of the forward link by transmitting as many scheduled and unscheduled tasks as the system capacity limitations can support, (2) better communication quality by increasing the transmission speed and therefore minimizing data transmission delay and (3) fair allocation of resources to all scheduled users based on a set of priorities. The objectives are optimized by balancing a list of factors that will be described in more detail later.
In Figure 3, a block diagram of the channel scheduler 12 of the present invention is depicted. Controller 92 collects pertinent information from all cells in the CDMA network and schedules high-speed data transmissions. Controller 92 may be implemented in a microcontroller, a microprocessor, a digital signal processing (DSP) chip, or an ASIC programmed to perform the described function. Controller 92 connects to all selection elements 14 of base station controller 10. Controller 92 collects information regarding forward link demand and available capacity in each cell. The collected information is stored in memory element 94 and is retrieved by controller 92 when needed. The memory element 94 may be implemented by a storage element or any one of the memory devices known in the art, such as RAM memory devices, latches, or other types of memory devices. Controller 92 also connects to timing element 96. The timing element 96 may be implemented with a counter that is driven by the system clock, a built-in oscillator that is synchronized with an external signal, or a storage element that receives the system timing from an external source. Timing element 96 provides controller 92 with the timing signals necessary to perform forward link rate programming. The timing signals also allow the controller 92 to send the schedule of the baud rates assigned to the selection element 14 with the appropriate interval.
I. Direct link speed programming
Figure 5 shows the flow chart of the forward link rate scheduling procedure. The first stage of the scheduling procedure, step 202 includes the collection of all pertinent information necessary for the optimal allocation of resources to each scheduled user. Relevant information
ES 2 255 148 T3 can include the maximum transmission power available for each cell, the number of scheduled and unscheduled users, the transmission power of the unscheduled task of each remote station 6 during the previous programming periods, the power of transmission per bit for scheduled tasks from previous scheduling periods, the amount of data to be scheduled and transmitted to each user, the set of active members of each remote station 6 indicating the cells with which the remote station 6 communicates, the priority of scheduled users, and the code channels available for transmission for each cell. All these parameters are described in detail below. Once the information for each cell has been collected, the channel scheduler 12 allocates the resources to the scheduled users based on the collected information and the set of objectives mentioned above in step 202. The allocated resources may take the form of a assigned baud rate or an assigned baud power. Then, the assigned transmit power can be matched to an assigned transmit rate, based on the required energy per bit of the programmed user. The schedule of the assigned baud rates is then sent to each remote station 4 that has been assigned a baud rate in step 204. The data is sent to the selection element 14 and transmitted to the remote station 6, at the assigned transmission rate, after a predetermined number of frames. Channel scheduler 12 then waits, in step 206, until the next scheduling period to restart the scheduling cycle.
As indicated above, resource allocation can be done by at least two embodiments. In the first embodiment, channel scheduler 12 assigns a data rate to each scheduled user, and in the second embodiment, channel scheduler 12 assigns a transmit power to each scheduled user.
In the first embodiment, the allocation of resources to scheduled users, in step 202 of the flow chart of Figure 5, is illustrated by the flow chart depicted in Figure 6. Channel scheduler 12 initiates the flow of activities represented in the diagram of Figure 6, after collecting the pertinent information necessary for the optimal allocation of data transmission rates to the scheduled users. Channel scheduler 12 begins at step 210. In step 212, channel scheduler 12 calculates the total residual power available for each cell in the CDMA network. The total residual power available for scheduled transmission for each cell is calculated as follows:
P - P - P _ P <sup>1</sup> j <sup>1</sup> max, j <sup>1</sup> backoff, j <sup>1</sup> unscheduled, j (1) where Pj is the total residual power available to cell j, P<sub>max</sub>, j the maximum available transmit power for cell j, P<sub>backoff</sub>, j is the compensation power for cell j and P<sub>unscheduled</sub>, j is the expected transmit power required for the unscheduled tasks of cell j. Compensation power is a value that allows cells to compensate for variations in transmit power required for scheduled and unscheduled tasks in the scheduling period. The compensation power can also be used for direct link power control of scheduled tasks. A complete and detailed description of each of the power terms in equation (1) and of obtaining equation (1) is provided below.
Channel scheduler 12 then creates a priority list of all scheduled users in step 214. The priority list depends on numerous factors which are described in detail below. Scheduled users are arranged according to their relative priority, that is, the scheduled user with the highest priority is placed at the top of the list and the scheduled user with the lowest priority is placed at the bottom of the list . The channel scheduler 12 then loops and allocates the available forward link capacity to scheduled users, based on the priority list.
In the first stage of the baud rate allocation loop, channel scheduler 12 selects the scheduled user that has the highest priority from the priority list, in step 216. Channel scheduler 12 then identifies cells that service this scheduled user. These cells are indicated in the set of active members of the scheduled user. In the exemplary embodiment, each cell in the set of active members communicates with remote station 6 on the primary code channel. High speed data transmission over the secondary code channels can be done through one or more cells of the active member set. Channel scheduler 12 first selects cells from the set of active members that will allow high speed data transmission. For each selected cell, the channel scheduler 12 calculates the maximum allowable transmission rate for the programmed user, in step 218. The maximum allowable transmission rate can be calculated by dividing the total residual power available for the selected cell by the energy per bit. necessary to transmit to the user. To ensure that the transmission power to be assigned to that scheduled user can be provided by each selected cell, the channel scheduler 12 selects the minimum transmission rate from the list of maximum allowable transmission rates, in step 220. The selected minimum baud rate is defined as the maximum baud rate for this scheduled user. The channel scheduler 12 then determines the amount of data to be transmitted to the scheduled user, based on the size of the data queue. Channel scheduler 12 recommends a preferred transmission rate, according to the size of the queue, in step 222. The preferred transmission rate is the minimum transmission rate (or a lower rate) needed to transmit the data in the scheduling interval.
IS 2 255 148 T3
Channel scheduler 12 assigns a data rate to the scheduled user, based on the preferred rate and maximum rate, in step 224. The assigned rate is the lower of the preferred rate and the maximum transmission rate, also in this case, to stay within the total residual power for the selected cells. Once a data rate is assigned to this scheduled user, channel scheduler 12 deletes the scheduled user from the priority list, at step 226. Then, at step 228, the total residual power available for each cell selected, to reflect the power assigned to the programmed user just removed from the priority list. The channel scheduler 12 then determines in step 230 whether a baud rate has been assigned to all scheduled users on the priority list. If the priority list is not empty, channel scheduler 12 returns to step 216 and assigns a data rate to the scheduled user having the next highest priority. The allocation loop repeats until the priority list contains no scheduled users. If the priority list is empty, the allocation procedure ends at step 232.
In the second embodiment, the allocation of resources to the scheduled users, in step 202 of the flow chart of Figure 5, is performed by assigning a transmit power to each scheduled user. In this embodiment, steps 210, 212, and 214 are the same as in the first embodiment, but the transmission rate allocation loop is replaced by a transmit power allocation loop. In the first stage of the transmit power allocation loop, channel scheduler 12 selects the scheduled user having the highest priority from the priority list. Channel scheduler 12 then selects cells from the active member set to serve this scheduled user in high speed data transmission. For each selected cell, channel scheduler 12 calculates the maximum allowable transmit power for the scheduled user. To ensure that the transmit power assigned to this scheduled user can be provided by each selected cell, the channel scheduler 12 selects the minimum transmit power from the list of maximum allowable transmit powers. The channel scheduler 12 then recommends a preferred transmit power based on the size of the queue. The assigned transmit power is the lesser of the minimum transmit power and the preferred transmit power. Then, the assigned transmit power is sent to the selection element 14 which determines the assigned transmit rate based on the assigned transmit power and required energy per bit of the programmed user.
Once a transmit power has been assigned to this scheduled user, channel scheduler 12 deletes the scheduled user from the priority list. The total residual power available for each selected cell is then updated to reflect the power assigned to the scheduled user that was just removed from the priority list. The channel scheduler 12 then determines whether a transmit power has been assigned to all scheduled users on the priority list. If the priority list is not empty, the channel scheduler 12 assigns a transmit power to the scheduled user having the next highest priority. The transmit power allocation loop repeats until the priority list contains no programmed users. If the priority list is empty, the allocation procedure ends.
In the second embodiment, the selection element 14 may assign new data rates to the scheduled users in each frame of the schedule period, based on changes in the required Eb / No ratio of the scheduled users. This allows the selection element 14 to maintain the communication quality of scheduled and unscheduled tasks, maintaining the necessary Eb / No ratio while limiting the necessary transmit power to the maximum transmit power available to the cells.
The total residual power available for each selected cell can also be allocated to scheduled users without using any allocation loop. For example, the total transmit power can be assigned according to a weighting function. The weighting function can be based on the priority of scheduled users or other factors.
The priority list determines the allocation of resources (eg, transmit power) to scheduled users. A scheduled user with a higher priority is assigned more resources than a user with a lower priority. Although it is preferable to allocate resources in an order based on the priority of scheduled users, this is not a necessary limitation. The available resources can be assigned according to any type of order, these being within the scope of the present invention.
Forward link rate scheduling can be done continuously, periodically, or staggered. If scheduling is done continuously or periodically, the scheduling interval is selected in such a way that the transmit power of the cells is fully used for the entire scheduling period, but does not exceed the maximum transmit power available for each cell. This objective can be achieved by the embodiments indicated below. It is possible to consider other embodiments that constitute variants or combinations of the following embodiments and that are within the scope of the present invention.
In the first embodiment, scheduling (or resource allocation) is done frame by frame. This embodiment allows channel scheduler 12 to dynamically adjust the transmit power required for scheduled tasks in each frame to fully utilize the total residual power available.
ES 2 255 148 T3 for each cell in the network. More processing is needed to allocate the resources in each frame. Also, more system time is required to transmit, in each frame, the necessary scheduling information to each scheduled user.
In the second embodiment, scheduling is performed every K frames, where K is an integer greater than one. At each scheduling interval, channel scheduler 12 allocates the maximum amount of resources for each scheduled task. In the exemplary embodiment, the maximum amount of allocated resources can be calculated by removing the compensation power, P<sub>backoff</sub>, j, from equation (1) or using a low prediction of the necessary transmit power, P<sub>unscbeduled</sub>, j, for unscheduled tasks. Alternatively, the maximum amount of resources allocated can be calculated using a value greater than the specific value of P<sub>max</sub>, j in equation (1). Schedule of assigned baud rates is broadcast to scheduled users once per schedule period. Data transmissions at the assigned transmission rates occur after a predetermined number of frames, as indicated below. The maximum amount of resources allocated for scheduled tasks is allocated by channel scheduler 12 for the entire scheduling period. If during a scheduling period the total residual power available to the cell does not allow the transmission of data at the assigned transmission rates, the channel scheduler 12 may perform the transmission of data at lower transmission rates.
The second embodiment has the advantage that it requires less system time to transmit the programming of the transmission rates assigned to the scheduled users. In the first embodiment, the schedule of the assigned rates is transmitted in each frame to the scheduled users. A part of the available transmit power is thus allocated to these additional tasks. In the second embodiment, the schedule of the assigned baud rates is transmitted once in each schedule period to the scheduled users. For example, if the scheduling interval is ten frames, the second embodiment will need slightly more than 1/10 the time of the first embodiment and still maintain efficient forward link utilization.
On the other hand, in a third embodiment, the scheduling of the forward link speeds can be staggered. In this embodiment, the schedule can be triggered by certain events. For example, channel scheduler 12 may perform forward channel rate scheduling whenever a request for high-speed data transmission is received or each time a scheduled high-speed data transmission to remote station 6 ends. Channel scheduler 12 knows the amount of data to be transmitted to each remote station 6 and the assigned transmission rate. In this way, the channel scheduler 12 can determine when the high speed data transmission ends. When the scheduled transmission to remote station 6 ends, channel scheduler 12 can perform programming and assign direct link resources to other remote stations 6. The assigned baud rate is transmitted to remote stations 6 to which it has been assigned. assigned a baud rate.
Channel scheduler 12 can perform forward link rate scheduling for all cells in the CDMA network. This implementation allows channel scheduler 12 to effectively schedule high speed data transmission for remote stations 6 that are undergoing soft handoff and are communicating with multiple cells. Scheduling for the entire network is more complex, due to the various interactions between cells and remote stations 6. To simplify scheduling, scheduled tasks can be divided into two specific categories: scheduled tasks for remote stations 6 that are experiencing a soft handoff and scheduled tasks for remote stations 6 that are not experiencing any soft handoff. By this implementation, scheduling of forward link rates for remote stations 6 that are communicating with only one cell can be done at the cell level. Remote stations 6 that are communicating with multiple cells can be programmed by channel scheduler 12. The present invention is applicable to all implementations of forward link rate scheduling, including centralized scheduling, distributed scheduling, and combinations of both.
II. Reallocation of resources
In the first embodiment of the resource allocation routine described above, in which the resource allocation is performed in each frame, the resources can be reallocated during the scheduling period to match the demand of the forward link with the power of streaming available. Although resources are allocated on a frame-by-frame basis, the scheduling delay may determine that the resource allocation is less than optimal. During the programming delay, the state of the system may have changed. Also, initial forecasts may not be accurate and may require some modification.
In the second embodiment of the resource allocation routine, where the resource allocation is performed every K frames, the resources can also be reallocated during the scheduling period. In the implementation example of the second embodiment, the data transmission is performed at the assigned transmission rate for the entire scheduling period, without using the resource reallocation routine. In this way, the scheduling routine is simplified, although outages may occur when the required transmit power exceeds the maximum transmit power available to the cell. In the preferred implementation, resources are reallocated from frame to frame to minimize outages.
IS 2 255 148 T3
If during the scheduling period the total residual power for the cells does not allow data transmissions at the assigned transmission rates, the channel scheduler 12 may determine that the data transmissions are made at lower transmission rates. For each frame in which the total residual power for the cell is inadequate to meet the demand for scheduled and unscheduled tasks, channel scheduler 12 determines the amount of forward link demand increase and forward link resources available. and assigns lower transmission speeds for some or all scheduled users, in such a way that the necessary transmission power for the cells does not exceed the maximum transmission power available for the cells. In the exemplary embodiment, the lower transmission rates are called "temporary transmission rates" and are used for one frame only. For subsequent frames of the scheduling period, the assigned transmission rates are also used, provided they are modified, by the channel scheduler 12. In the exemplary embodiment, the resource reallocation is performed frame by frame. to ensure that the transmit power required for each cell's scheduled and unscheduled tasks is less than the maximum transmit power available to the cells. The reallocation of resources can be accomplished by various embodiments, two of which will be described below. Other embodiments that are within the scope of the present invention may also be considered.
In a first embodiment of the resource reallocation routine, which is complementary to the first embodiment of the resource allocation routine described above, the reallocation of resources is performed by the reallocation of transmission rates. This embodiment is illustrated in the flow chart of Figure 7. Channel scheduler 12 begins at step 240. In step 242, channel scheduler 12 creates a 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. Channel scheduler 12 then calculates the total residual power available for each cell in the cell list using equation (1), in step 244. The channel scheduler 12 then creates the priority list of all scheduled users who are communicating with at least one cell in the cell list and who have been assigned a baud rate for the current schedule period, at step 246. The scheduled users on the priority list are called "affected scheduled users." The channel scheduler 12 then loops and reallocates the transmission rate of some or all of the affected scheduled users based on the priority list and the cell list.
In the first stage (step 248) of the rate reassignment loop, channel scheduler 12 selects the affected scheduled user having the highest priority. The channel scheduler 12 then identifies the cells serving the affected scheduled user in high speed data transmission. These cells are called "selected cells." The channel scheduler 12 then calculates the maximum allowable transmission rate of the scheduled user for each selected cell, in step 250. To ensure that the necessary transmission power for this scheduled user can be provided by each of the selected cells, the channel scheduler 12 selects the minimum transmission rate from the list of maximum allowable transmission rates and the assigned transmission rate, at step 252. The selected minimum transmission rate is defined as the temporary transmission rate. In the preferred embodiment, the temporary transmission rate is only assigned to the scheduled user for the next frame, at step 254. The affected scheduled user is removed from the priority list at step 256. Then, at step 258, the total residual power available for each selected cell is updated to reflect the power allocated to the affected scheduled user that was just removed from the priority list. Channel scheduler 12 then updates the cell list and deletes cells for which the total residual power is zero, in step 260. Channel scheduler 12 then determines if the cell list is empty, at step 262. If the cell list is not empty, channel scheduler 12 determines if the priority list is empty, at step 264. If the priority list is not empty, channel scheduler 12 returns to step 248 and reassigns a data rate to the affected scheduled user having the next highest priority. The baud rate reassignment loop continues until the cell list or priority list is empty. If the cell list or priority list is empty, the baud rate reassignment procedure ends at step 266.
In the second embodiment, which is complementary to the second embodiment of the resource allocation routine described above, the reallocation of resources is performed by the reallocation of transmission powers. In this embodiment, steps 240, 242, and 244 are the same as in the first embodiment, but the rate reassignment loop is replaced by a transmit power reassignment loop. In the first stage of the transmit power reallocation loop, channel scheduler 12 creates a cell list of network cells in which the transmit power required for scheduled and unscheduled tasks exceeds the available transmit power for the cell. Power deficit is defined as the amount of transmit power required by a cell minus the transmit power available to the cell. The channel scheduler 12 then creates the priority list of all scheduled users who are communicating with at least one cell in the cell list and who have been assigned a transmit power for the current schedule period. . The scheduled users in the priority list are called "affected scheduled users." Channel scheduler 12 then loops and reallocates the transmit power of some or all of the affected scheduled users based on the priority list and the cell list.
IS 2 255 148 T3
In the first stage of the transmit power reallocation loop, channel scheduler 12 selects the affected scheduled user who has the lowest priority. The channel scheduler 12 then identifies the cells serving the affected scheduled user in high speed data transmission and reallocates the transmit power to reduce the power deficit. The reassigned transmit power is sent to the selection element 14 which determines the temporary transmission rate based on the reassigned transmit power and the required energy per bit of the affected scheduled user. The affected scheduled user is then removed from the priority list and the power deficit for each selected cell is updated to reflect the recovered power. The channel scheduler 12 then updates the cell list and deletes cells that are not experiencing a power deficit. If the cell list and priority list are not empty, the channel scheduler 12 reallocates the transmit power of the affected scheduled user exhibiting the next lowest power. The transmit power reallocation loop continues until the cell list or priority list is empty. If the cell list or priority list is empty, the transmission power reallocation procedure ends.
The resource reallocation performed in each frame of the scheduling period allows the channel scheduler 12 to dynamically allocate the forward link resources in each frame. The system time required to transmit the program of the temporary baud rates is minimal, since, in each frame, the baud rates of only a fraction of the scheduled users are reallocated. In reality, reallocation is only done for just the number of scheduled users that allows all cells in the network to transmit at a power that is less than the maximum transmit power available to the cells.
Transmission and reception of data at the temporary transmission rate can be accomplished by numerous embodiments, three of which will be described below. Other embodiments may be considered which are within the scope of the present invention. In the exemplary implementation of these embodiments, the high-speed data transmission takes place over several code channels. The concept of using multiple code channels and sets of code channels for high-speed data transmission is described in detail below. In essence, the transmission rate assigned by channel scheduler 12 to each remote station 6 is matched with a set of code channels. The identity of the assigned code channels is transmitted to each remote station 6. Each remote station 6 receives the data transmitted on the code channels assigned to each frame in the scheduling period. In transmitting data at the temporary rate, a subset of the allocated code channels is used.
In the first embodiment, the temporary transmission rates are transmitted over the primary code channels to the affected scheduled users of the remote stations 6. Simultaneously, in the same frame, data is transmitted to the affected scheduled users at the transmission rates. temporary transmission. The identity of the subset is transmitted to remote station 6 in each frame in which data transmission takes place at the temporary transmission rate. Remote stations 6 demodulate the primary code channel and associated secondary code channels at the assigned transmission rates. The remote stations 6 then keep the data received by the secondary code channels associated with the temporary transmission rates and reject the rest of the data.
In each frame of the scheduling period, each scheduled user receives the data stream at the assigned baud rate. For each frame, the user verifies that the transmission rate has not been reassigned. If the scheduled user determines that the data transmission has taken place at the temporary transmission rate, the scheduled user keeps the part of data received at the temporary transmission rate and rejects the rest of the data. It may be necessary to store the received data during a frame so that the programmed user can determine which subset of the received data is valid, due to the delay in processing the primary code channel.
In the second embodiment, the temporary baud rates are transmitted over the primary code channels to the affected scheduled users of the remote stations 6. The data transmission at the temporary baud rate occurs two frames later, once that the remote stations 6 have received the temporary transmission rates and configured the hardware to receive the data transmissions at the temporary transmission rates. This embodiment presents additional processing delay but minimizes the buffering requirement of the remote station 6. However, this embodiment saves battery power of the remote station 6, since they are only demodulated and decode the code channels that perform high-speed data transmission. However, due to scheduling delay, dynamic resource allocation is not optimal. Also, the scheduling delay may cause an increase in the compensation power requirement in equation (1).
Finally, in the third embodiment, the remote stations 6 demodulate all the secondary code channels associated with the assigned transmission rate and perform the CRC check of the received code channel frames. The remote stations 6 retain the data portions of the code channel frames that do not contain any frame errors and reject the code channel frames that contain errors.
IS 2 255 148 T3
III. Consideration of transmit power
As noted above, the transmission power required for unscheduled tasks, such as voice communication, varies over time, but is allocated on demand to requesting remote stations 6. To maintain an acceptable level of quality signal, the total transmit power required for each cell should be less than the maximum transmit power available to the cell. Therefore, the total transmit power required for each cell should comply with the following equation:
P, unscheduled, j, j + Σ Pij <sup>- P</sup>max, j (2) in which,
P<sub>unscheduled</sub>, j = necessary transmission power of the jth cell for unscheduled tasks during the next scheduling period,
Nj = number of programmed users to be programmed in the j-th cell,
Pij = necessary transmission power of the i-th programmed user of the j-th cell and
P<sub>max</sub>, j = maximum transmit power available for the jth cell.
The total transmit power required for each cell should remain below the maximum transmit power available to the cell throughout the scheduling period, to avoid unexpected degradation in the transmission of scheduled and unscheduled tasks. The maximum transmit power available to each cell may differ from cell to cell, although the upper limit is regulated by the FCC and by network issues relating to interference with adjacent cells. The objective of the channel scheduler 12 is to schedule the transmission of scheduled tasks in such a way that the transmission power throughout the scheduling period approaches the maximum transmit power without exceeding it.
In a CDMA system complying with the IS-95A standard, the average transmit power of a cell is lowered relative to the maximum transmit power to maintain spare capacity. The spare capacity provides a margin to use the dynamic power control mechanism on the forward link, which is necessary considering the mobility of the remote station 6. The reserve capacity also allows adaptation to variations in the transmit power required for unscheduled tasks, such as variations caused by changes in the amount of speech activity, during the scheduling period. If compensation power is taken into account, equation (2) becomes the following:
<sup>P</sup>unscheduled, j + Σ <sup>P</sup>ij - <sup>P</sup>max, j <sup>P</sup>backoff, j (3)
As noted above, compensation power is required to adjust for dynamic variations in unscheduled tasks. It is necessary to use the cell at an average transmit power that is less than the maximum transmit power, to provide quality communication of scheduled and unscheduled tasks. This compensating power ensures the availability of the transmit power during the period of high demand (for example, of high speech activity), although it also represents an under-utilization of the forward link for most of the time (for example, during a period of normal or low vocal activity). Efficient use of the forward link is achieved by dynamically changing the transmit power of scheduled tasks to compensate for the increase or decrease in transmit power required for unscheduled tasks.
To respect the restriction imposed by equation (3), the channel scheduler 12 needs to determine the transmit power needed for the unscheduled tasks of each cell in the next scheduling period. The transmit power required for unscheduled tasks is predominantly determined by the amount of speech activity and channel conditions. Consequently, the necessary transmit power cannot be determined with exact precision, due to the unpredictability of speech and channel conditions. The transmit power required for unscheduled tasks can be predicted by calculating the mean value of the transmitted power for unscheduled tasks from previous scheduling periods. The intended transmit power for unscheduled tasks, denoted by ^<sub>unscheduled</sub>, j is used later in subsequent power calculations.
The necessary transmission power, pij, for scheduled tasks can be predicted by determining the transmission energy per bit necessary to achieve the necessary performance level and the transmission speed for each user programmed in remote station 6. Each remote station 6 requires a different transmission energy per bit depending on the location of the remote station 6 within the CDMA network and the channel conditions. For instance,
ES 2 255 148 T3 remote station 6a (see Figure 1) located close to the cell site (i.e. close to base station 4c serving the cell) experiences less path loss and may therefore need less transmission power per bit to achieve the required level of performance. In contrast, the remote station 6c at the edge of the cell may need more transmission power per bit to achieve the same level of performance. For each scheduled user, the selection element 14 located in the base station controller 10 knows the previous transmission power pj and the previous transmission speed Ry. These two measurements are used to calculate the energy per bit above according to the equation g<sub>tj</sub> = pj / Rj. The mean bit energy, gj, can then be determined by calculating the statistical average of gj. For example, the average energy per bit can be defined as the average value of the last four calculated values of gj. Once the average energy per bit of the previous transmissions is known, the channel programmer 12 predicts the necessary transmission power, p, j, for the scheduled tasks of the following programming period as p, j = g, j * R, j , where Rjj is the transmission speed assigned for the scheduled task. Therefore, the equation that the channel scheduler 12 must satisfy when allocating resources is the following:
, j + Σ g¡j · <sup>R</sup>¡, J Pmax, j - Pl
- unscheduledj <sup>1</sup> Z_i & ¡j ¡<sup>—J</sup> backoffj (4)
The forward link transmit power for data transmission to each remote station 6 is adjusted to maintain the necessary level of performance. The forward link power control mechanism can be implemented by any of a number of existing procedures. For example, for voice communication over the forward link, remote station 6 determines whether a received code channel frame contains errors. If a frame error is found, remote station 6 sends an error indicator bit (EIB) message to the cell, requesting an increase in transmit power. The cell then increases the transmit power until no frame error occurs. On the other hand, the cell can calculate a statistical average of the frame error rate (FER) and vary the transmission power as a function of the FER. These two systems can also be used for direct link power control in the transmission of scheduled tasks. In a third system, the demodulator 64 of the remote station 6 calculates the signal-to-noise ratio based on the measurement of the received signal. Next, the remote station 6 transmits a message to the cell, in which it requests an increase or a reduction of the transmission power according to the calculation of the signal-to-noise ratio. The scope of the present invention is equally applicable to all procedures that can be used to determine the energy per bit necessary for data transmission.
The implementation and use of EIB transmission are disclosed in US Patent No. 5,568,483, entitled "METHOD AND APPARATUS FOR THE FORMATTING OF DATA FOR TRANSMISSION", assigned to the assignee of the present invention. In addition, the use of forward link power control is disclosed in US Patent No. 5,822,318, entitled "METHOD AND APPARATUS FOR CONTROLLING POWER IN A VARIABLE RATE COMMUNICATION SYSTEM," filed July 29, 1994, US Patent No. 6,055,209, entitled "METHOD AND APPARATUS FOR PERFORMING FAST FORWARD POWER CONTROL IN A MOBILE COMMUNICATION SYSTEM", filed March 31, 1995, US Patent No. 6,137,890, Also entitled "METHOD AND APPARATUS FOR PERFORING FAST FORWARD POWER CONTROL IN A MOBILE COMMUNICATION SYSTEM", filed on November 15, 1995, US Patent No. 5,903,554, entitled "METHOD AND APPARATUS FOR MEASURING LINK QUALITY IN A SPREAD SPECTRUM COMMUNICATION SYSTEM ", filed on September 27, 1996 and US Patent No. 5,893,055, entitled" METHOD AND APPARATUS FOR PERFORMING DISTRIBUTED FORWARD POWER CONTROL ", filed on September 16, 1996, which have been assigned to the assignee of the present invention.
The channel scheduler 12 allocates the direct link resources to the users of each cell, in such a way that equation (4) holds for all the cells in the network. The actual transmit power required for unscheduled tasks during the next scheduling period may be higher or lower than the expected transmit power. The quality and efficiency of the communication depends on the accuracy of the prediction of the necessary transmit power during the current scheduling period. An erroneous default prediction results in inadequate power to transmit the additional forward link demand (eg, increased demand due to increased voice activity) if it is not possible to reallocate resources. In contrast, a conservative prediction in excess of the necessary transmit power results in underutilization of the forward link. The accuracy of the prediction of the transmission power required for unscheduled tasks improves if the prediction is made at a time as close as possible to the time when the prediction is to be used.
IV. Transfer with continuity
At any given time, all remote stations 6 in a CDMA network may be experiencing a soft handoff between cells. Each remote station 6 that experiences a soft handoff communicates with two or more cells simultaneously. The use of soft handoff in the CDMA system is described in detail in the aforementioned US Patent No. 5,267,261.
IS 2 255 148 T3
When resources are allocated to a remote station 6 that is undergoing a soft handoff, the channel scheduler 12 ensures that each cell participating in the soft handoff satisfies the constraint of equation (4). At the beginning of each scheduling interval, the selection elements 14 send the set of active members of each remote station 6 of the CDMA network to the channel scheduler 12. The active member set contains the list of all cells that are communicating with remote station 6. In the exemplary embodiment, each cell in the active member set communicates with remote station 6 on the primary code channel . High speed data transmission on the secondary code channels can be performed through one or more cells of the active member set. Channel scheduler 12 first selects the cells that are to allow high speed data transmission. For each selected cell, channel scheduler 12 calculates the maximum amount of allocated resources that the cell can support. The maximum amount of resources allocated from all cells selected from the set of active members forms a list of possible allocated resources. Since equation (4) must be satisfied for all selected cells, the minimum amount of resources allocated from the list of maximum quantity of resources allocated meets the constraint of equation (4) for all cells. Therefore, the maximum amount of resources that can be assigned to a particular remote station 6 is the minimum amount from the list of maximum amount of assigned resources.
V. Code channel sets
The method and apparatus for scheduling forward link rates can be applied to any communication system capable of transmitting data at a variable rate. For example, the programming is applicable to a CDMA system, a GLOBALSTAR system, a time division multiple access (TDMA) system, or a frequency division multiple access (FDMA) system. Application to a CDMA or other type of variable rate communication system, using the concept of code channel sets to be described later, or other embodiments, is within the scope of the present invention.
An IS-95A compliant CDMA system uses Quadrature Phase Shift Keying (QPSK) spreading on the forward link. At base station 4, the same data stream is provided to the I and Q modulators. The I and Q modulated signals are combined and transmitted. At remote station 6, demodulator 64 demodulates the received signal and provides the I and Q components. The components are combined to obtain the demodulated output. When QPSK spreading is used in this way, the 1.2288 MHz bandwidth of an IS-95A compliant CDMA system contains 64 code channels, with each code channel capable of transmitting at a symbol rate of 19.2 Ks / s.
The number of code channels can be doubled by providing the I and Q modulators with different data streams at base station 4 and not combining the outputs of the I and Q modulators at remote station 6. In this mode, a stream of data is provided. data to the I modulator and a second data stream is provided to the Q modulator at base station 4. At remote station 6, the I and Q components are individually decoded. Therefore, the 64 code channels of the CDMA IS-95A system are doubled resulting in 128 code channels.
Alternatively, the number of code channels in the CDMA system can be increased by increasing the bandwidth of the system. Increasing the system bandwidth to 2.4576 MHz (for example, by combining adjacent 1.2288 MHz wide frequency segments) can double the number of code channels. Furthermore, if the system bandwidth is doubled and different data streams are provided to the I and Q modulators, the number of code channels can be quadrupled. The present invention is applicable to a CDMA system, or to any variable speed transmission system, regardless of the number of code channels.
Depending on the hardware implementation and system definition, the primary code channels and the secondary code channels, which will be described in greater depth later, can be defined from a group of community code channels or they can be channels differentiated. For example, a system can contain 128 code channels and each code channel can be used as a primary code channel or a secondary code channel, depending on how the code channel is assigned. A code channel that has been assigned as a primary code channel is not assigned as a secondary code channel. On the other hand, the primary and secondary code channels can be selected from different lists. For example, 64 primary code channels and 64 secondary code channels can be created from the I component and the Q component, respectively, of the QPSK modulated signal. The present invention can be applied regardless of how the primary code and secondary code channels are defined.
The secondary code channels can be of several types, and each type can have a transmission capacity equal to or different from that of the primary code channel. For example, the secondary code channels may consist of code channels that have the same 19.2 Ks / s transmission capacity as the primary code channels. Furthermore, the secondary code channels may consist of channels that have a high transmission capacity (eg, above 19.2 Ks / s) and are capable of transmitting data at variable rates. One of said high transmission capacity channels is disclosed in US patent application no., Entitled "METHOD AND APPARATUS FOR PROVIDING HIGH SPEED DATA IN A SPREAD SPECTRUM COMMUNICATION SYSTEM (FAT PIPE)", filed on December 10, 1996, assigned to the assignee of the present invention and included herein by reference. The present invention is applicable to channels of any type and transmission capacity.
IS 2 255 148 T3
The maximum transmission speed that can be assigned to scheduled users depends on a number of issues. Forward link capacity is limited and one of the goals of the system is to use all available capacity. In a simple case where the CDMA network contains a cell and a remote station 6, all the available capacity is allocated to the remote station 6, each time it is requested. This causes minimal transmission delay. In a more complicated situation, which also better reflects the actual CDMA network, many stations 6 compete for available resources. Among competing remote stations 6, channel scheduler 12 first allocates resources to remote station 6 having the highest priority. If a large part of the available resources is allocated to this remote station 6, then there will be a large number of remote stations 6 waiting for their turn. Therefore, to satisfy the system's objective of equitable resource allocation, the resource allocation is limited to a predetermined range.
Data transmission from a cell to remote station 6 occurs through one or more code channels. The first code channel, called the primary code channel, is assigned to remote station 6 during the call setup stage of a communication or during the call setup stage of a soft handoff with a cell. In the exemplary embodiment, the primary code channel has the characteristics of an IS-95A traffic channel and is a variable rate channel that is capable of transmitting at 1 / 8,1 / 4,1 / 2 rates. and 1. Preferably, the primary code channel transmits at rate 1/8 when idle and at rate 1 when transmitting data, although it may also use rate 1/4 and 1/2. Rate 1/8 can be used to transmit acknowledgments, retransmission requests, and control bits, while rate 1 can be used to transmit data and control bits. The primary code channel is dedicated to remote station 6 during the course of communication with the cell. For transmission of large amounts of data to remote station 6, secondary code channels are allocated.
In the exemplary embodiment, data transmission occurs over the primary code channel when the cell receives the data. If the cell receives a large amount of data and the channel scheduler 12 determines that additional code channels are needed to transmit the data, the channel scheduler 12 assigns secondary code channels. The channel scheduler 12 then transmits the identity of each of the secondary code channels assigned to the selection element 14. The selection element 14 routes the information of the assigned secondary code channels to the serving base station 4. to the cell. Information is transmitted to remote station 6 via forward link 50, on the primary code channel. In the exemplary embodiment, if each secondary code channel is capable of transmitting at a rate of 9.6 Kb / s, an allocation of 16 secondary code channels increases the data rate up to 163.2 Kb / s. s {9.6 Kb / sx 17 code channels (or 1 primary code channel + 16 secondary code channels)}. The use of secondary code channels for data transmission is disclosed in detail in US Patent Application No. 08 / 656,649, mentioned above. Secondary code channel assignment can be done by the embodiments listed below.
In the first embodiment, the channel programmer 12 may assign each secondary code channel individually. This embodiment offers the greatest flexibility, insofar as the channel scheduler 12 can assign any secondary code channel to any remote station 6. In the exemplary embodiment, the protocol used to identify each assigned secondary code channel is the same protocol used to identify the assigned traffic channel. According to the IS-95A standard, a unique 8-bit code is used to identify the assigned traffic channel. Accordingly, each secondary code channel is identified by a unique 8-bit code and transmitted to remote station 6. For example, if channel scheduler 12 assigns 16 secondary code channels, 128 bits will be transmitted to remote station 6. In this way, a system time of nearly 3/4 of a code channel frame (128 bits + 172 bits / frame ~ 3/4 frame) to convey the identity of the secondary code channels assigned to remote station 6. This amount of system time is inefficient use of the primary code channel.
In the second and preferred embodiment, the present invention is applied to a CDMA system using the concept of code channel sets. In this embodiment, the secondary code channels are grouped into channel sets designated by Cm. In the exemplary embodiment, there are 16 channel sets associated with each primary code channel. Each channel set is defined by a 4-bit code and contains a unique set of zero or more secondary code channels. During the call setup stage in a communication with a cell or during the call setup stage of a soft handoff with additional cells, a primary code channel is assigned and the channel set definition associated with that channel is sent primary code, to remote station 6. The channel set definition indicates the secondary code channels for each of the 16 channel sets. During the data transmission stage, the 4-bit code indicating the allocated channel set used in the next data transmission is sent to remote station 6.
Channel scheduler 12 may assign overlapping or disjointed channel sets to remote stations 6. For disjointed channel sets, no secondary code channel is assigned to more than one remote station 6 in the same cell. Therefore, remote stations 6 assigned to disconnected channel sets can simultaneously receive data transmissions on the secondary code channels of the disconnected channel sets. For example, if the first remote station 6 of the primary code channel 4 is assigned a set of channels containing the secondary code channels 33,49,65 and 81 and the second remote station 6 of the
ES 2 255 148 T3 primary code channel 6 a set of channels containing the secondary code channels 35, 51, 67 and 83, the data transmission can take place through these primary and secondary code channels simultaneously.
On the other hand, overlapping channel sets can be assigned to remote stations 6. In the case of overlapping channel sets, at least one secondary code channel is assigned to more than one remote station 6 of the same cell. Remote stations 6 assigned overlapping channel sets may receive the data transmissions on the assigned channel sets, at different times, by time multiplexing. However, the channel scheduler 12 may deliberately assign overlapping channel sets and transmit the same data to several remote stations 6 at the same time. For example, if the first remote station 6 of the primary code channel 4 is assigned a set of channels containing the secondary code channels 33, 49, 65 and 81, and the second remote station 6 of the code channel is assigned primary 6 a set of channels containing the secondary code channels 33,51,67 and 83, the data transmission can take place through the secondary code channels assigned to the first remote station 6 in a time interval T1, or it can take place through the secondary code channels assigned to the second remote station 6 in a second time slot T2. However, the channel scheduler 12 can assign overlapping channel sets and transmit the same data to both remote stations 6 simultaneously. In the above example, the data to be sent to both remote stations 6 is transmitted on the secondary code channel 33 which is common to both remote stations 6. In this case, both remote stations 6 can simultaneously receive the data transmissions on the overlapping channel sets.
As indicated above, the secondary code channels can be of various types and these types can have various or variable transmission capabilities. To simplify the description, this will focus on a type of secondary code channel that has the same transmission capacity as the primary code channel. In the following embodiments, it is assumed that there are 128 code channels in the CDMA system.
Table 1 illustrates an example channel set definition for a primary code channel. As depicted in Table 1, primary code channel number 4 is associated with 16 exclusive channel sets designated C0 through C15. Each channel set contains zero or more secondary code channels. In the exemplary embodiment, C0 is reserved for the channel set containing zero secondary code channels and C15 is reserved for the channel set containing the highest number of secondary code channels. The definition of the channel set, that is, the selection of the code channels to be associated with each primary code channel can be done by one of several existing embodiments.
In the first embodiment, the secondary code channel associated with each primary code channel is obtained in a systematic way. The first secondary code channel of the channel set is obtained by one of several methods. For example, the first secondary code channel can be selected using an offset from the primary code channel or it can be selected randomly. Subsequent secondary code channels are selected based on an offset from the previously selected secondary code channel. For example, for channel set C15 in Table 1, the first secondary code channel is 25. Channel 25 can be selected randomly or by applying an offset of 21 to primary code channel 4. The next secondary code channel associated with primary code channel 4 is obtained by applying an offset of 8 to the previous secondary code channel. Therefore, for the primary code channel 4, the secondary code channels are 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105 and 113. Also, for the primary code channel 6 , the sub code channels are 27, 35, 43, 51, 59, 67, 75, 83, 91, 99, 107 and 115. The first embodiment offers a simple and efficient method for allocating secondary code channels, and at the same time evenly distributing the secondary code channels among all the primary code channels. Preferably, the selection of the first secondary code channel is carried out in such a way that the distribution of the available secondary code channels is uniform, that is, no secondary code channel is used more often than others.
IS 2 255 148 T3
TABLE 1
Defining Channel Sets for Primary Code Channel 4
<td>Code Channel Set</td><td>Channel set child code channels (a member of the active member set)</td>
<td>C0</td><td><sub>-</sub></td>
<td>C1</td><td> 33</td>
<td>C2</td><td> 49</td>
<td>C3</td><td> 65</td>
<td>C4</td><td> 81</td>
<td>C5</td><td> 33, 49</td>
<td>C6</td><td> 65, 81</td>
<td>C7</td><td> 33,49, 65,81</td>
<td>C8</td><td> 97, 113</td>
<td>C9</td><td> 25,41</td>
<td>C10</td><td> 57, 73</td>
<td>C11</td><td> 89, 105</td>
<td>C12</td><td> 25, 41, 57, 73</td>
<td>C13</td><td> 33,49, 65,81,97, 113</td>
<td>C14</td><td> 25,41,57, 73, 89, 105</td>
<td>C15</td><td> 33, 49, 65, 81, 97, 113, 25,41, 57, 73, 89, 105</td>
In the second embodiment, a hash function is used to define the secondary code channels associated with each primary code channel. Next, the implementation example of this embodiment will be described. For the channel set definition depicted in Table 1, twelve secondary code channels are associated with each primary code channel (see C15 in Table 1). Next, each secondary code channel of the forward link is entered twelve times into a hash list. For example, secondary code channel 1 is included twelve times, secondary code channel 2 is included twelve times, and so on. For each primary code channel, twelve secondary code channels are randomly selected from the hash list and placed in channel set C15 for that primary code channel. The selected secondary code channel that is placed in C15 is removed from the hash list. When the secondary code channels are selected from the hash list, any secondary code channel that is identical to the previously selected secondary code channel is placed back on the hash list and a new secondary code channel is randomly selected. If the primary code channels and the secondary code channels are derived from the same community group of code channels, a selected secondary code channel that is identical to the primary code channel is also put back into the hash list. The twelve different secondary code channels that are selected and placed in C15 become the secondary code channels associated with that particular primary code channel. Using this procedure, you ensure that there are no primary or secondary code channels that are identical. The procedure is repeated in the same way for all the primary code channels, except that the selection of the secondary code channels is made from the same hash list that is experiencing constant decay. The hash function randomly and evenly distributes the secondary code channels among all the primary code channels. When assigning secondary code channels by the hash function, arrangements can be made so that the set of channels can be disjointed or overlapping, depending on the desired characteristics of the sets of channels.
In the third embodiment, the channel sets are defined such that all available secondary code channels are used in a channel set definition. If 2 are supposed to exist<sup>m</sup> secondary code channels, then the channel sets are defined in such a way that data transmission can occur through 0, 2<sup>0</sup>, 2<sup>1</sup>, 2<sup>2</sup> and up to 2<sup>m</sup> secondary code channels. In Table 2, an example of implementation of this embodiment is represented for a simple case of 8 channels of secondary code. C0 contains the empty set. C1 through C8 contain one secondary code channel each, 0 through 7, respectively. C9 through C12 contain two secondary code channels each. The secondary code channels from C9 are combined with those from C10 and represented by C13. Similarly, the secondary code channels of C11 are combined with those of C12 and represented by C14. C15 contains the largest set or all available secondary code channels.
The third embodiment requires 2<sup>m + 1</sup> channel sets to define 2<sup>m</sup> secondary code channels and requires m + 1 bits to convey the identity of the assigned channel set. For example, if the number of available secondary code channels is 128, then 256 channel sets are required and 8 bits are needed to identify the allocated channel set. Although the number of channel sets can be large, the definition of channel sets is simple and does not need to be transmitted to remote station 6 during the stage.
ES 2 255 148 T3 call establishment. This embodiment also allows all remote stations 6 of the same cell, or even the entire CDMA network, to use the same definition of channel sets and to simplify the procedure for assigning transmission rates.
TABLE 2
Defining Channel Sets Using the Third Embodiment
<td>Code Channel Set</td><td>Channel set child code channels (a member of the active member set)</td>
<td>C0</td><td><sub>-</sub></td>
<td>C1</td><td> 0</td>
<td>C2</td><td> 1</td>
<td>C3</td><td> 2</td>
<td>C4</td><td> 3</td>
<td>C5</td><td> 4</td>
<td>C6</td><td> 5</td>
<td>C7</td><td> 6</td>
<td>C8</td><td> 7</td>
<td>C9</td><td> 0, 1</td>
<td>C10</td><td> 2, 3</td>
<td>C11</td><td> 4, 5</td>
<td>C12</td><td> 6,7</td>
<td>C13</td><td> 0, 1, 2, 3</td>
<td>C14</td><td> 4, 5, 6, 7</td>
<td>C15</td><td> 0, 1, 2, 3, 4, 5, 6, 7</td>
Other embodiments can be designed to define the channel sets associated with each primary code channel, which are within the scope of the present invention. The present invention is applicable to any variable rate communication system that uses code channel sets, regardless of how the channel sets are defined.
For simplicity, all cells in the CDMA network can use the same channel set definition. For example, all cells may define the channel set associated with the primary code channel 4, which is depicted in Table 1. Within the cell, each remote station 6 may have a unique channel set definition depending on the channel. assigned primary code. Consequently, the definition of channel sets for primary code channel 6 is different from that of primary code channel 4. The definition of channel sets described in the first and second embodiments is applicable to this implementation.
On the other hand, all the remote stations 6 of the same cell, or even of the entire CDMA network, can have the same definition of channel sets. The definition of channel sets described in the third embodiment is applicable to this implementation. This implementation simplifies forward link rate scheduling, since only one channel set definition can be used for all remote stations 6 in the network. However, defining channel sets in this manner may limit the availability of the secondary code channels to the channel scheduler 12 and consequently increase the complexity of forward link rate scheduling. The present invention is applicable to all channel set definitions.
Regardless of how the channel sets are defined, in the first embodiment, the channel scheduler 12 can assign any set of channels for high-speed data transmission between a cell and the remote station 6. For example, the station Remote 6 can communicate with three cells, the first of which can be assigned C3, the second C8 and the third C14. Therefore, the scheduling information containing the assigned channel sets C3, C8 and C14 is transmitted to remote station 6 on the primary code channel. This implementation may require the transmission of additional scheduling information, since each cell can assign different sets of channels. In the preferred embodiment, all cells communicating with remote station 6 assign the same set of channels. The preferred embodiment requires fewer extra bits to transmit the identity of the assigned channel set, since only one identity needs to be transmitted. This restriction on channel set allocation can limit the availability of secondary code channels and increase the complexity of forward link rate scheduling.
When receiving data transmissions, remote station 6 demodulates all secondary code channels of the set of channels to which it is assigned. For example, if remote station 6 is assigned primary code channel 4
ES 2 255 148 T3 during the call establishment stage of the communication with a cell and then the set of channels C7 is assigned to it during a data transmission (see Table 1), the remote station 6 demodulates the secondary code channels 33, 49, 65 and 81, together with the primary code channel 4, and brings together the data portions of the code channel frames from these five code channels. The remote station 6 to which the channel set C0 is assigned only demodulates the data transmission on the primary code channel, since C0 contains the empty list.
During a soft handoff, remote station 6 communicates with multiple cells. In one example, a cell assigns remote station 6 primary code channel 4 during the call setup stage of a communication. Subsequently, remote station 6 moves to another location, where a second cell assigns it a primary code channel 6. Remote station 6 then demodulates primary code channels 4 and 6 for communications with the two cells. If both cells then assign channel set C7 (see Table 3) to remote station 6 during a data transmission, remote station 6 demodulates secondary code channels 33, 49, 65, and 8 from the first cell and secondary code channels 35, 51, 67 and 83 of the second cell. The remote station 6 further demodulates the primary code channel 4 of the first cell and the primary code channel 6 of the second cell.
TABLE 3
Defining Channel Sets for Primary Code Channels 4 and 6
<td>Code Channel Set</td><td>Channel set child code channels (two members of the active member set)</td>
<td>C0</td><td><sub>-</sub></td>
<td>C1</td><td> (33, 35)</td>
<td>C2</td><td> (49, 51)</td>
<td>C3</td><td> (65, 67)</td>
<td>C4</td><td> (81, 83)</td>
<td>C5</td><td> (33, 35), (49, 51)</td>
<td>C6</td><td> (65, 67), (81,83)</td>
<td>C7</td><td> (33, 35), (49, 51), (65, 67), (81, 83)</td>
<td>C8</td><td> (97, 99),(113, 115)</td>
<td>C9</td><td> (25, 27), (41, 43)</td>
<td>C10</td><td> (57, 59), (73, 75)</td>
<td>C11</td><td> (89,91),(105, 107)</td>
<td>C12</td><td> (25, 27), (41, 43), (57, 59), (73, 75)</td>
<td>C13</td><td> (33, 35), (49, 51), (65, 67), (81, 83), (97, 99), 113, 115)</td>
<td>C14</td><td> (25, 27), (41, 43), (57, 59), (73, 75), (89, 91), (105, 107)</td>
<td>C15</td><td> (33, 35), (49, 51), (65, 67), (81, 83), (97, 99), (113, 115), (25, 27), (41, 43), (57, 59), (73, 75), (89, 91), (105, 107)</td>
Data is transmitted only on secondary code channels if programmed by channel programmer 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 that on the primary code channel, because the primary code channel also transmits extra bits necessary to support many functions of the CDMA system.
In the preferred embodiment, the assigned channel set is communicated to remote station 6 via the primary code channel. At the beginning of the scheduling period, the cells transmit the identity of the channel set that is used for the next data transmission. For 16 channel sets, only four bits are needed to convey the identity of the assigned channel set. A protocol may be established to reserve certain bits of the primary code channel code channel frame for the identity of the assigned channel set.
SAW. Code channel frame error retransmission
The identity of the assigned channel set is transmitted to remote station 6 and data transmission over the assigned secondary code channels occurs a predetermined number of frames later. Inevitably, the code channel frame of the primary code channel is sometimes received with errors at remote station 6. When this happens, remote station 6 does not know the identity of the assigned channel set. This problem can be remedied by at least one of four embodiments. In the following embodiments, it is assumed that there is a two-frame processing delay between receiving the identity of the assigned channel set by the cell and transmitting data through the assigned channel set. The identity of the
ES 2 255 148 T3 assigned channel set is transmitted by the cell through the primary code channel in frame k, and data transmission through the assigned secondary code channels takes place in frame k + 2. The following embodiments can also be applied, in which the processing delay between receiving the identity of the set of channels assigned by the cell and the transmission of data through the set of assigned channels is of different duration or is variable from one frame to another.
In the first embodiment, the cell retransmits the data corresponding to the time period during which the assigned channel set is unknown by the remote station 6. The remote station 6 transmits an EIB message to the cell, indicating that the received primary code channel code channel frame k contains some error. The cell retransmits frame k of the code channel on the primary code channel and subsequently transmits frames k + 2 of the code channel on the assigned secondary code channel, since the remote station 6 does not know the set of channels assigned in frame k + 2.
In the second embodiment, if frame k of the code channel of the primary code channel is received with some error, remote station 6 demodulates the data transmission in frame k + 2 using the set of channels indicated in frame previous code channel k-1. This embodiment does not work well if the set of channels assigned in frame k-1 is different from or disjointed with the set of channels assigned in frame k. For example, referring to Table 1, if the channel set assigned in frame k-1 is C13 and the channel set assigned in frame k is C14, remote station 6 demodulating the data transmission in frame k through the channel set C13 you will receive erroneous data.
In the third embodiment, if frame k of the code channel of the primary code channel is received with some error, remote station 6 demodulates the data transmission in frame k + 2 by means of the set of channels presenting the number highest number of secondary code channels. This embodiment works well if the largest channel set contains all the secondary code channels that can be assigned to remote station 6. For example, the set C15 in Table 1 satisfies this condition, since it contains all the code channels of the channel sets C0 through C14. Valid code channel frames are a subset of the demodulated code channel frames. The drawback of this embodiment is that it requires a greater amount of processing at remote station 6. Also, it may be necessary to store a large amount of data until remote station 6 can determine which of the demodulated code channel frames are valid. If each code channel frame is encoded with its own set of CRC bits, remote station 6 will be able to determine the validity of the code channel frames by performing a CRC check on each demodulated code channel frame. On the other hand, if all the data frames are encoded with the same set of CRC bits and the CRC bits are distributed over all the code channel frames, the remote station 6 will be able to perform a CRC check on different combinations of the frames of the data. demodulated code channel. Finally, remote station 6 can store all demodulated code channel frames, communicate the frame error on the primary code channel to the cell, and wait for the identity of the assigned channel set to be retransmitted.
In the fourth and preferred embodiment, the cell transmits, in frame k, the identity of the set of channels assigned for frame k + 2, together with the identity of the set of channels assigned for frame k, on the channel of primary code. If code channel frame k is received in error, remote station 6 demodulates the data transmission in frame k + 2 using the largest channel set, as in the third embodiment. However, since the identity of the channel set assigned for frame k- + 2 is also transmitted on the primary code channel in frame k + 2, remote station 6 can determine which of the demodulated code channel frames They are valid. An additional storage element, possibly of a data frame, may be needed until it can be ascertained which secondary code channels have been allocated from the demodulated primary code channel. For a system featuring 16 channel sets per primary code channel, transmitting the identity of the assigned channel set in the current frame requires only four additional bits.
Transmission of the identity of the assigned channel set through two code channel frames separated by two frames provides redundancy and diversity over time. A data transmission is correctly demodulated, unless the k and k + 2 code channel frames of the primary code channel are both received with errors. This event is low probability.
VII. Demodulation and decoding of various code channels
The demodulation of various code channels during continuous transfer and multipath signals is described in detail in US Patent No. 5,109,390, entitled "DIVERSITY RECEIVER IN A CDMA CELLULAR TELEPHONE SYSTEM", assigned to the assignee hereof. invention. The receiver disclosed in US Patent No. 5,109,390 is expanded by the present invention to receive various groupings of code channels.
In Figure 4, an example block diagram of demodulator 64 and decoder 66 of remote station 6 of the present invention is depicted. The RF signals transmitted from the cells are received by the antenna 60 and provided to the receiver 62. The receiver 62 amplifies and filters the received RF signal, reduces the frequency of the RF signal to baseband, and quantizes the baseband signal into digital bits. . The digitized baseband signal is provided to demodulator 64. The demodulator 64 contains at least one RAKE 100 receiver. The RAKE 100 receivers demodulate the digitized baseband signal with the PN codes.<sub>I</sub> and PN<sub>OR</sub> suitable shorts and code
IS 2 255 148 T3
Walsh, in the manner described in greater detail in US Patent No. 5,109,390. The demodulated outputs from the RAKE receivers 100 are provided to decoder 66. In decoder 66, descramblers 110 descramble the demodulated outputs with the long PN code assigned to remote station 6. The descrambled data is then reordered by the deinterleavers 112 and the deinterleaved data is routed through the multiplexer (MUX) 114 to the Viterbi decoder 116. The Viterbi decoder 116 performs convolutional decoding of the deinterleaved data and provides the data decoded to the CRC verification element 118. The CRC verification element 118 performs the CRC verification of the decoded data and provides the error-free data portions of the received code channel frames to the data sink 68.
The demodulator 64 can be implemented in many embodiments. In the first embodiment, a RAKE 100 receiver is required for each grouping of code channels that the remote station 6 receives. Each RAKE 100 receiver contains at least one correlator 104, which constitutes what is called a "branch" of the RAKE 100 receiver. At least one correlator 104 is required for each code channel in a cluster. Each correlator 104 has the ability to de-spread the digitized baseband signal from receiver 62 with unique short PN codes and a unique Walsh code assigned to that particular correlator 104 by remote station 6. Operations performed by correlator 104 equal operations performed. in the transmitting cell. In the cell, the encoded data is first spread with the unique Walsh code assigned to the code channel over which the data is to be transmitted. The spread data is further spread by the unique short PN codes assigned to the particular transmitting cell.
Not all correlators 104 and all RAKE receivers 100 of remote station 6 are always used. In fact, only the outputs of correlators 104 that have been assigned by remote station 6 are combined by combiner 106. Furthermore, only the outputs of the correlators 104 that have been assigned by remote station 6 are combined by combiner 106. Furthermore, only the Outputs from RAKE receivers 100 that have been assigned by remote station 6 are decoded by decoder 66. Correlators 104 and RAKE 100 receivers not assigned by remote station 6 are ignored. Actually, in the preferred embodiment, remote station 6 does not demodulate or decode any code channel other than one of the code channels that have been assigned to it. This feature is particularly important for remote station 6, which is a mobile unit, as it saves battery power and extends the life of the unit.
Each assigned correlator 104 first de-spreads the digitized baseband signal from receiver 62 with the short PN codes assigned to that correlator 104 by remote unit 6. The assigned short PN codes are identical to the short PN codes used to spread the data in the cell. Typically, the assigned short PN codes have a time difference from the short PN codes used in the cell, to compensate for the transmission delay through the forward link 50 and the processing delay due to the receiver 62. Next, the correlator 104 de-spreads the output obtained after the first de-spreading operation with the Walsh code assigned to that 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 de-spread bits from each assigned correlator 104 from the same RAKE receiver 100 are combined by combiner 106 and provided to decoder 66.
In the second embodiment, a RAKE receiver 100 can be used to demodulate all code channels assigned to remote station 6. This requires buffering the digitized baseband signal from receiver 62. The receiver then RAKE 100 demodulates one code channel frame at a time and provides the demodulated outputs to decoder 66. In this embodiment, it is necessary for the RAKE 100 receiver to operate at a higher speed than the RAKE 100 receiver of the first embodiment. In fact, each factor of twofold increase in speed allows RAKE 100 receivers to be reduced in half.
The decoder 66 receives the demodulated outputs of the RAKE receivers 100 and performs a series of operations that are complementary to the operations performed in the transmitting cell. Decoder 66 can be implemented in many embodiments. In the first embodiment, the demodulated output from each RAKE receiver 100 is provided to a separate descrambler 110. Descrambler 110 de-spreads the demodulated output with a long PN code that has been assigned to remote station 6 and provides the descrambled data to deinterleaver 112. Deinterleaver 112 reorders the bits of the descrambled data in the reverse order of that used in the transmitting cell. . The de-interleaving function provides time diversity, which improves subsequent convolutional decoding performance by spreading the error bursts introduced by transmission on forward link 50. De-interleaving data is multiplexed through MUX 114 and provided to the Viterbi 116 decoder. The Viterbi decoder 116 performs the convolutional decoding of the de-interleaved data and provides the decoded data to the CRC verification element 118. The CRC verification element 118 performs the CRC verification of the decoded data and provides the error-free data portions of the frames. code channel numbers received to data sink 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 outputs from the RAKE 100 receivers are multiplexed through the MUX 114 and processed by a descrambler 110, a deinterleaver 112, and a Viterbi decoder 116. Hardware requirements are minimized when using uses hardware equipment to decode all code channel frames. Time multiplexing also requires hardware to operate at high speed.
IS 2 255 148 T3
The demodulator 64 is used in at least one of four different modes. In the first embodiment, demodulator 64 is used to demodulate the signal transmitted from a cell through a code channel. In this mode, only one RAKE 100 receiver is used to demodulate the received signal. In the assigned RAKE receiver 100, a different correlator 104 is assigned to each of the multiple paths of the received signal. The short PN codes and the Walsh code used by each of the assigned correlators 104 are the same. However, the short PN codes used by each assigned correlator 104 have a different time difference to compensate for the different delay of each multipath. Search correlator 104x performs a continuous search for the strongest multipath that has no correlator 104 assigned. Search correlator 104x alerts remote station 6 when the signal strength of the newly discovered multipath exceeds a predetermined threshold. The remote station 6 then assigns the newly found multipath to a correlator 104.
In one 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 100a. In RAKE receiver 100a, correlators 104 are assigned to the different multipaths of the signal received on primary code channel 4. For example, correlator 104a can be assigned to the first multipath, correlator 104b can be assigned to the second multipath, and so on. The outputs of assigned correlators 104 are combined by combiner 106a and provided to decoder 66. At decoder 66, the demodulated output from RAKE receiver 104a is descrambled by descrambler 110a, reordered by deinterleaver 112a, routed through MUX 114, convolutionally decoded by Viterbi decoder 116, and verified by CRC verification element. 118. The error-free data portions of the CrC check element 118 are provided to the data sink 68.
In the second embodiment, demodulator 64 is used to demodulate signals transmitted from multiple cells through a grouping of multiple code channels. This situation occurs when remote station 6 experiences a soft handoff. In this embodiment, the entire cluster is assigned to a RAKE receiver 100. Each code channel in the cluster is assigned to at least one correlator 104 of the RAKE receiver 100. Each correlator 104 de-spreads the baseband output of receiver 62 with the unique short PN codes and the unique Walsh code corresponding to the cell and code channel, respectively, to which the particular correlator 104 has been assigned. The outputs of the assigned correlators 104 are combined by the combiner 106. The combined signal improves the estimation of the data transmitted redundantly through the various code channels of the cluster.
In one example, remote station 6 undergoes a soft handoff and communicates with the first cell through primary code channel 4 and with the second cell through primary code channel 6. Remote station 6 allocates at least a correlator 104 from the same RAKE 100 receiver 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. Correlators 104c at 104m may be assigned by remote station 6 to the strongest multipaths of primary code channels 4 and 6. The estimates of the assigned correlators 104 are combined by the combiner 106a to provide an improved data estimate that is provided to the decoder 66. Decoder 66 decodes the demodulated data from RAKE receiver 100a in the same way as described in the first embodiment.
In the third embodiment, demodulator 64 is used to demodulate signals transmitted from a cell through various groupings of code channels. This situation occurs when the cell transmits data to remote station 6 at a high speed. Each grouping consists of one code channel. In this mode, a RAKE receiver 100 is assigned to each code channel grouping. Correlators 104 of the same RAKE 100 receiver are assigned the same short PN codes and the same Walsh code. Correlators 104 of different RAKE 100 receivers are assigned the same short PN codes but a different Walsh code, since each RAKE 100 receiver demodulates a different code channel.
Each RAKE 100 receiver performs, in this mode, the same function as in the first mode. In essence, the code channel of each cluster is assigned to at least one correlator 104. The correlators 104 of the same RAKE 100 receiver are assigned to different multipaths of the signal received by the code channel assigned to that RAKE 100 receiver. particular. Consequently, each correlator 104 in the same RAKE 100 receiver uses the same short PN codes and the same Walsh code. The short PN codes of each assigned correlator 104 of the same RAKE receiver 100 have a time difference to compensate for different multipath delays. The outputs of assigned correlators 104 from each RAKE receiver 100 are combined by combiner 106 and provided to decoder 66.
In one example, remote station 6 is assigned primary code channel 4 during the call setup stage of a communication with a cell and then assigned channel set C7 during a transmission period. data at high speed. Referring to Table 1, the C7 code channel set contains the four secondary code channels 33, 49, 65 and 81. 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 Figure 4) to secondary code channel 65, and so on. In RAKE receiver 100a, correlators 104 are assigned to different multipaths of the signal received on primary code channel 4. For example, correlator 104a can be assigned to the first multipath, correlator 104b to
ES 2 255 148 T3 the second multipath and so on. The outputs of assigned correlators 104 are combined by combiner 106a. The demodulated outputs of the five assigned RAKE receivers 100 are provided to decoder 66.
At decoder 66, the demodulated output from RAKE receiver 100a is descrambled by descrambler 110a and reordered by deinterleaver 112a. Also, the demodulated output from RAKE receiver 100b is descrambled by descrambler 110b and reordered by deinterleaver 112b. Five different combinations of descramblers 110 and deinterleavers 112 are assigned to each of the five demodulated outputs of the five RAKE receivers 100. The de-interleaved data from the five de-interleavers 112 is multiplexed through the MUX 114 in a predetermined order and provided to the Viterbi decoder 116. The de-interleaved data is convolutionally decoded by the Viterbi decoder 116 and verified by the CRC verification element. 118. The error-free data portions of the CRC check element 118 are provided to the data sink 68.
In the fourth embodiment, demodulator 64 is used to demodulate signals transmitted from various cells through various groupings of code channels. This situation occurs when remote station 6 undergoes a multi-cell soft handoff and receives high-speed data from multiple cells. Each grouping consists of more than one code channel. In this mode, a RAKE receiver 100 is assigned to each grouping of code channels. Each RAKE 100 receiver performs, in this mode, the same functions as in the second mode. In the same RAKE receiver 100, at least one correlator 104 is assigned to each of the code channels of the cluster. Each correlator 104 uses unique short PN codes and a unique Walsh code, corresponding to the cell and code channel, respectively, to which the particular correlator 104 has been assigned.
In one example, remote station 6 communicates with a first cell through primary code channel 4, and with a second cell through primary code channel 6 during a soft handoff. During a subsequent high speed data transmission, remote station 6 will be assigned channel set C7. Referring to Table 3, set C7 contains the four secondary code channel groupings (33, 35), (49, 51), (65, 67), and (81, 83). Remote station 6 assigns five different RAKE 100 receivers to the five code channel groupings. For example, remote station 6 may assign the RAKE receiver 100a to the first primary code channel grouping (4, 6), the RAKE receiver 100b to the second secondary code channel grouping (33, 35), the RAKE receiver 100c ( not shown in Figure 4) to the third grouping of secondary code channels (49, 51) and so on. At RAKE receiver 100a, at least one correlator 104 is assigned to each code channel in the cluster. For example, remote station 6 can assign correlator 104a to primary code channel 4, and correlator 104b to primary code channel 6. Correlators 104c at 104m can be assigned by remote station 6 to the next strongest multipaths of primary code channels 4 and 6. The outputs of assigned correlators 104 from RAKE receiver 100a are combined by combiner 106a. The demodulated outputs of the five assigned RAKE receivers 100 are provided to decoder 66.
Decoder 66 receives the demodulated outputs from the five RAKE receivers 100 and decodes the data in the same way as described for the third mode. In essence, the demodulated output from each of the five RAKE 100 receivers is descrambled by a separate descrambler 110, rearranged by a separate interleaver 112, multiplexed through MUX 114, subjected to convolutional decoding by Viterbi decoder 116, and verified by the CRC check element 118. The error-free data portions of the CRC check element 118 are provided to the data sink 68.
The above description of demodulation and decoding of data transmissions over various code channel groupings can be extended to a remote station experiencing soft handoff with three or more base stations. In essence, each grouping of code channels requires a separate RAKE 100 receiver. For example, the four sub-code channel groupings of the C7 channel set (see Table 3) require four RAKE 100 receivers. In addition, each code channel in a grouping is assigned to at least one different correlator 104 of the same receiver. RAKE 100. The output of the assigned correlator 104 is combined and decoded to obtain the data transmitted in that grouping of code channels.
The example hardware demodulator 64 and decoder 66 depicted in Figure 4 may be used in other embodiments. For example, demodulator 64 and decoder 66 can be configured to perform the tasks of demodulating and decoding transmitted data in various groupings of code channels, in which each group contains a code channel and the data is not transmitted. from the same cell. This is similar to what happens in the third embodiment described above, except that the RAKE 100 receivers are assigned different short PN codes corresponding to different transmitter cells. Alternatively, demodulator 64 and decoder 66 may be configured to demodulate and decode transmitted data in various groupings of code channels, each grouping containing a different number of code channels. This constitutes a variant of the fourth embodiment described above. These and other modes of use of demodulator 64 and decoder 66 can be considered and are within the scope of the present invention.
IS 2 255 148 T3
VIII. CRC bits
According to the IS-95A standard, the CRC bits are appended to each piece of data to allow the detection of frame errors by the remote station 6. The CRC bits are generated according to the CRC polynomial specified by the IS-95A standard. In particular, for a data rate of 96 Kb / s, the specified polynomial is g (x) = x<sup>12</sup> + x<sup>11</sup> + x<sup>10</sup> + x<sup>9</sup> + x<sup>8</sup> + x<sup>4</sup> + x + 1. For each data part, twelve CRC bits are appended. In the present invention, the number of CRC bits can be increased or decreased, depending on the desired detection accuracy. A larger number of CRC bits provides greater certainty in frame error detection, but requires more system time. In contrast, fewer CRC bits reduce the certainty of frame error detection, but require less system time.
In the case of high-speed data transmission over several code channels, the CRC bits for the various code channels can be generated by at least two embodiments. In the first embodiment, each piece of data is appended with its own set of CRC bits, similar to that specified by the IS-95A standard. This embodiment requires more system time but allows the frame errors of each individual data piece to be detected. Only the data parts received with some error are retransmitted.
In the second embodiment, the data frame to be transmitted through the allocated code channels during one frame is encoded by a CRC generator. The generated CRC bits can be transmitted in one of several possible modes. In the first embodiment, the data frame is divided into data parts in the manner described above. The CRC bits are also divided and appended to each piece of data. In this way, each code channel frame contains a data part and some CRC bits. In the second mode, the CRC bits are transmitted through a code channel frame. All code channel frames, except the last code channel frame, contain the data part only. The last code channel frame contains the 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 part of the code channel frames and the CRC bits are regrouped. In the second embodiment, remote station 6 is only able to determine if all code channel frames have been received correctly or if one or more frame errors have occurred. Remote station 6 cannot determine which of the code channel frames have been received in error. Consequently, an error indication in a frame forces the cell to retransmit all code channel frames for the frame. The second embodiment has the advantage that it uses a smaller number of CRC bits for the data frame.
In the following, it will be assumed that high speed data transmission is performed over twelve code channels. In the first embodiment, each of the twelve pieces of data is appended with its own set of twelve CRC bits. A total of 144 CRC bits are required for the twelve pieces of data. These 144 CRC bits allow error detection in each individual code channel frame. Consequently, if the code channel frame of a particular code channel is received in error, only the erroneous frame needs to be retransmitted.
In the second embodiment, the entire data frame is encoded with a single set of CRC bits. Preferably, the number of CRC bits used is less than the total number of CRC bits used in the first embodiment. In the example of twelve code channel frames above, the number of CRC bits used is at least 12, but less than 144. Since there is approximately twelve times the number of data bits, more CRC bits will be needed to allow more certain frame error detection. If 24 CRC bits are assumed to allow frame error detection with the required level of certainty, the 24 CRC bits can be divided into twelve CRC blocks, each CRC block containing two CRC bits. A CRC block is attached to each of the twelve data pieces. Alternatively, the 24-bit CRC can be retransmitted through a code channel frame. At remote station 6, the data parts and the 24 CRC bits are regrouped. Remote station 6 can only determine if all twelve code channel frames have been received correctly. If a frame error is indicated, remote station 6 cannot determine which of the code channel frames have been received in error. Consequently, the cell retransmits all twelve code channel frames. To reduce the additional contents of the system by 120 CRC bits, the remote station 6 is still able to detect frame errors, but without the precision of the first embodiment. The second embodiment requires finding a balance between less additional content and redundant transmission of code channel frames.
IX. Forward Link Rate Schedule Timing
The accuracy of the prediction of the transmission power required for unscheduled tasks can be increased by making the prediction at a time that is as close as possible to the time at which the prediction is to be used. During the delay period between the prediction time and the actual usage time, the state of the network may have changed. For example, it may happen that users have started or stopped talking, users have been added or removed from the network, or channel conditions have changed. If the processing delay is limited to a small number of frames, the prediction of the necessary transmission power for unscheduled tasks is sufficiently accurate for the present invention. In the preferred embodiment, the processing delay is four frames or less.
IS 2 255 148 T3
The channel scheduler 12 can make predictions in a short time interval (for example, by keeping a short schedule interval) to increase the accuracy of the predictions and allow the channel scheduler 12 to respond quickly to changes in demand from the channel. direct link. In the exemplary embodiment, the prediction is performed once per frame, the resources are allocated or reallocated once per frame, and the schedule of the allocated transmission rates is transmitted to the remote stations 6 once per frame.
In Figure 8, an example illustration of the timing diagram of the forward link rate scheduling of the present invention is represented. In frame k, the state of the entire CDMA network is measured and sent to channel scheduler 12 at block 300. In the exemplary embodiment, the CDMA network status may include the total residual power available for scheduled tasks in each cell, the amount of data to transmit to each scheduled user, the set of active members of each remote station 6 , the transmission energy per bit of each programmed user and the code channels available for transmission for each cell. In frame k + 1, channel scheduler 12 allocates resources and sends information to selection element 14 located within base station controller 10, at block 302. Resource allocation by channel scheduler 12 may consist of the assignment of a transmission speed or the assignment of a transmission power. If the channel scheduler 12 assigns a transmit power, the selection element 14 calculates the assigned transmit rate based on the assigned transmit power and the required energy per bit of the remote station 6. The assigned transmit rates are to be used. in plot k + 4. In frame k + 1, selection element 14 sends the schedule of the assigned transmission rates and the data frame, to be transmitted in frame k + 2, to channel element 40 in block 304. Also, In frame k + 1, channel element 40 receives the assigned baud rate schedule and data frame from selection element 14, at block 304. In frame k + 2, channel element 40 transmits the identity of the set of channels assigned for frame k + 4 and for frame k + 2 to remote station 6 on the primary code channel, at block 308. During frame k + 3, remote station 6 receives the data frame and determines the identity of the assigned channel set, in block 310. Remote station 6 then reconfigures the hardware, if necessary, to receive the next high speed data transmission. In frame k + 4, data is transmitted through the primary and secondary code channels assigned to remote stations 6, at block 312.
In the exemplary embodiment, the processing delay, between the time in which the channel scheduler 12 receives the necessary information from the cell and the time in which the data transmission is performed at the assigned transmission rate, It is four frames. In frame k, channel scheduler 12 receives the information from the cell. In frame k + 4, the cell transmits data to remote stations 6 on the assigned primary and secondary code channels. In a CDMA system complying with the IS-95A standard, each delay frame represents a delay of 20 ms. In the exemplary embodiment, the four processing delay frames represent 80 ms of delay. This delay period is short enough that the prediction of the necessary transmit power is moderately accurate and the communication over the forward link is not significantly degraded. Furthermore, the initial prediction of the transmit power required for unscheduled tasks is not overly critical in the present invention, due to the ability of channel scheduler 12 to continuously monitor forward link utilization and dynamically reallocate resources for tasks. scheduled.
The above description of the exemplary embodiment represents an implementation of the present invention. Other timing variants of the forward link rate scheduling routine may be considered over those described above, such variants being within the scope of the present invention.
The scheduling information containing the assigned transmission rates can be transmitted to the remote stations 6 in one of several possible embodiments. In the first embodiment, certain bits of the code channel frame of the primary code channel are reserved for scheduling information. In the second embodiment, the scheduling information is transmitted using separate signaling messages. The signaling message can be transmitted to remote station 6 whenever a new assignment of a data rate is made. Other embodiments may be considered for transmitting the programming information that are variants or combinations of the embodiments described above and that are within the scope of the present invention.
In Figure 9, an example diagram of the forward link rate scheduling and high speed data transmission of the present invention is depicted. As noted above, remote station 6 is assigned a primary code channel for the duration of communication with the cell. In Figure 9, the primary code channel transmits at rate 1/8 when idle and at rate 1 when transmitting data. The accumulation of data to be transmitted to remote station 6 is represented by a solid line and is provided 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 send all the data. For example, 20 code channel frames can be transmitted on one code channel for 20 frames or on four code channels for five frames. Although the capacity of the primary code channel is slightly less than that of the secondary code channel due to the extra bits of the primary code channel, the difference is ignored in the following example for simplicity. In the following, reference will be made to an embodiment already described above, in which the forward link rate scheduling is performed in each frame. The following example is also
ES 2 255 148 T3 applies to the embodiment in which forward link rate scheduling is performed once every K frames.
In the example depicted in Figure 9, a primary code channel is assigned to remote station 6, but the cell has no data to transmit to remote station 6 in frames 1 and 2. Consequently, the cell transmits to the remote station. 1/8 speed through primary code channel. During frame 2, the cell receives two code channel frames to transmit to remote station 6. The cell transmits a code channel frame in frames 3 and 4 on the primary code channel, so that the accumulation is zero at the end of frame 3. It should be noted that there is no scheduling delay in transmitting data to through the primary code channel. Data received during frame 2 is immediately transmitted on the primary code channel in frame 3. Immediate transmission on the primary code channel allows signaling to pass quickly from the cell to remote station 6. For example, TCP acknowledgment requires approximately 40 bytes and, through header compression, can fit into a channel channel frame. code. TCP acknowledgment can be transmitted immediately over the primary code channel during one frame.
During frames 5 and 6, the cell transmits at rate 1/8 while idle or waiting to receive data. During frame 6, the cell receives a large amount of data to transmit to remote station 6. In frame 7, the channel scheduler 12 receives the queue size information from the selection element 14, collects other information related to the state of the network (for example, the total residual power available for the transmission of scheduled tasks from each of the cells), allocates the resources and transmits the information to the selection element 14. In this example, channel scheduler 12 assigns channel set C7 from Table 1, which contains four secondary code channels. In frame 8, the cell transmits the second code channel frame of the queue along with the set of channels assigned to remote station 6 on the primary code channel. In frame 9, base station 4 continues to transmit data on the primary code channel and reduces the accumulation to 25 code channel frames. During frame 9, remote station 6 receives the second secondary code channel frame and the assigned channel set identity and configures its hardware to receive the next high speed data transmission. High-speed data transmission occurs through the primary code channel and the four secondary code channels in frames 10 and 11.
In this example, forward link demand due to unscheduled tasks increases during frame 8. In frame 9, channel scheduler 12 allocates resources for scheduled tasks that have lower forward link capacity. Channel scheduler 12 determines that channel set C6 can be used with two fewer secondary code channels to free up some capacity for additional demand. In frame 10, the new channel set containing two secondary code channels is transmitted to remote station 6. In frame 11, remote station 6 receives the new channel set. And, in frame 12, the cell transmits data over the new set of channels.
Also, in this example, forward link demand due to unscheduled tasks is reduced during frame 9. During frame 10, with increased forward link capacity, channel scheduler 12 allocates channel set C7 containing four secondary code channels to remote station 6. In frame 11, the identity of the new set of channels is transmitted to remote station 6. In frame 12, remote station 6 receives the identity of the new set of channels. And, in frame 13, the cell transmits data over the new set of channels.
During frame 12, the channel scheduler 12 observes that the queue will be empty when the current scheduled transmission ends, and that only two code channels are needed to transmit the rest of the data in frame 15. In frame 13, the scheduler of channels 12 instructs the cell, through the selection element 14, to transmit the identity of the new set of channels C3, which contains only one secondary code channel, to the remote station 6. In frame 14, the remote station receives the identity of the new data set and reconfigures its hardware. Finally, in frame 15, the cell transmits the two remaining code channel frames over the new set of channels.
When it observes that the queue is almost empty, in frame 13, the channel scheduler 12 instructs the cell, through the selection element 14, to send the identity of the new set of channels C0, which contains zero channels of secondary code . In frame 16, the cell uses the new set of channels. Once all the data has been transmitted, the cell transmits at the 1/8 rate on the primary code channel during frame 16, while it remains idle and waiting to receive more data.
The example above demonstrates that there are four frames of processing delay between the time that data is available to the cell (in frame 6 of Figure 9) and the time that high-speed data transmission is performed. (in frame 10 of Figure 9). The example also illustrates that the transmission rate can be adjusted in each frame, such that the forward link is fully used in each frame.
VIII. Prioritization
To optimize forward link utilization, resources for scheduled tasks are assigned to remote stations 6 based on the priority of remote stations 6. Forward link transmit power is first assigned to remote station 6 presenting highest priority, and last to the remote station
ES 2 255 148 T3 which has the lowest priority. In determining the priority of the remote stations 6, numerous factors can be taken into account. An example list containing some of the factors that can be considered in prioritization is described in detail below. It is also possible to consider other factors that are within the scope of the present invention.
An important factor in determining the priorities of remote stations 6 is the energy per bit needed to transmit to a remote station 6. Remote stations 6 located on the edge of a cell or those experiencing adverse channel conditions require more power per bit to provide the desired level of performance, because the transmission loss from the cell to remote station 6 or the Eb / No ratio are higher. In contrast, remote stations 6 located close to the cell site (eg, close to the base station 4 serving the cell) require less power per bit to provide the same level of performance. Actually, for the same amount of transmit power, the symbol rate with which it can be transmitted to the remote station 6 is inversely proportional to the transmission loss and the Eb / No ratio. For example, the total residual power that allows the data to be transmitted to the first remote station 6 at 38.4 Kb / s only allows the data to be transmitted to the second remote station 6 at 9.6 Kb / s (1/4 of the speed symbol) if the transmission loss to the second remote station 6 is approximately 6 dB greater than that of the first remote station 6, or if the second remote station 6 requires an Eb / No ratio 6 dB greater than that of the first station remote 6. It is preferable to transmit first to remote station 6 which requires less power per bit, because it consumes less resources for a given transmission speed.
With reference to Figure 1, remote stations 6a and 6b are closer to base station 4c than remote station 6c. Similarly, remote stations 6d and 6e are closer to base station 4d than remote station 6c. Therefore, better utilization of the forward link is achieved by first transmitting to remote stations 6a, 6b, 6d and 6e, in time slot T1, and then transmitting to remote station 6c, in time slot T2. Generally, it is preferable to assign a higher priority to remote station 6 which requires less power per bit to maintain the communication link.
Remote station 6 may undergo a soft handoff with multiple cells. The remote station 6 that undergoes a soft handoff may consume more resources if several cells transmit simultaneously to the remote station 6. Also, the remote station 6 that experiences a soft handoff is usually near the edge of the cell and requires more energy per bit. Consequently, it is possible to obtain a higher data throughput on the forward link by assigning a low priority to the remote station 6 which is undergoing a soft handoff.
The optimal allocation of resources also depends on the amount of data to be transmitted to the remote station 6. The data to be transmitted is stored in a queue located in the selection element 14. Therefore, the size of the queue indicates the amount of data to be transmitted. At the beginning of each scheduling interval, the queue size of all scheduled tasks is sent to channel scheduler 12. If the queue size for a scheduled task is small, channel scheduler 12 deletes the task from the rate schedule routine. Transmission of a small amount of data can be done in a satisfactory period of time through the primary code channel. Channel scheduler 12 only allocates resources, when necessary, to transmit a large amount of data. Therefore, the amount of resources allocated to each remote station is roughly proportional to the size of the queue of data to be transmitted to remote station 6.
The type of data to be transmitted is another important issue in prioritizing remote stations 6. Some types of data are time sensitive and require quick attention. Other types of data can tolerate a longer delay in transmission. Obviously, the highest priority is assigned to data that is time sensitive.
In one example, it is inevitable that some of the transmitted data that is received at the remote station 6 contains errors. Remote station 6 is able to determine a frame error by using the attached CRC bits of the received code channel frames. After determining that a code channel frame has been received with some error, the error indicator bit (EIB) for that code channel frame is flagged, and the remote station 6 informs the cell about the frame error. The implementation and use of EIB transmission is disclosed in US Patent No. 5,568,483, mentioned above. The channel scheduler 12 then schedules the retransmission of the received code channel frames that contain any errors. At remote station 6, another type of signal processing may depend on code channel frames received in error. Therefore, the channel scheduler 12 gives the data that is being retransmitted a higher priority than the data that is being transmitted for the first time.
Conversely, if the same remote station 6 repeatedly reports frame errors, this may indicate that the forward link is down. Consequently, allocating the forward link resources for repeated retransmission of code channel frames received in error is wasteful. In this case, the remote station 6 may be temporarily put into the hold state. High-speed data transmission can be suspended until the forward link condition improves. Channel scheduler 12 can still direct data transmission on the primary code channel and continuously monitor forward link performance. After being informed that the forward link condition has improved, the channel scheduler 12 overrides the hold status of the
ES 2 255 148 T3 remote station 6 and resumes high speed data transmission to remote station 6. On the other hand, the data in the queue can be deleted after a predetermined number of unsuccessful retransmission attempts.
When assigning priorities to remote stations 6, it may be desirable to differentiate remote stations 6 according to the type of data service being provided. For example, a pricing structure can be established for different data transmission services. The highest priority is given to services subject to a special rate. Through the pricing structure, the user of each remote station 6 can individually determine the priority and, consequently, the type of service that the user is to receive.
The priority of remote station 6 can also become a function of the amount of delay remote station 6 has already experienced. Available forward link resources are assigned first to remote station 6 with the highest priority. Consequently, the remote station 6 having a lower priority tends to experience a longer transmission delay. When the amount of delay experienced by the low priority remote station 6 is increased, the priority of the remote station 6 can be updated. This prevents data directed towards the low priority remote station 6 from remaining in the queue indefinitely. Without the priority update, the low priority remote station 6 may experience an intolerable amount of delay. Priority update can be increased in a way that enables high-quality communication of scheduled and unscheduled tasks, while maintaining system goals.
The factors are given different weights, depending on the set of system objectives that are optimized. For example, to maximize data throughput over the forward link, a higher weight is given to the energy per bit needed for remote station 6 when remote station 6 is undergoing a soft handoff. This weighting system does not take into account the data types or the priority of the remote stations 6, and therefore does not address the fairness objective of the system.
Alternatively, a pricing structure can be maintained that allows the user of each remote station 6 to individually determine the priority of remote station 6. Willingness to pay a special fee for the resource indicates a higher level of importance. In this case, the system that tries to maximize revenue and user satisfaction can first transmit to remote station 6 subject to a special rate, even though the transmission requires more resources. Other weighting systems may also be generated by the factors cited above, in addition to other factors not cited, to achieve any set of system objectives, such weighting systems being within the scope of the present invention.
The preceding description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be apparent to those skilled in the art, and the generic principles defined herein can be applied to other embodiments without the need for inventiveness.
Contents18
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
51 members in 17 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 19970798951 | United States of America | – | |
| 79895197 | United States of America | A | |
| 79895197 | United States of America | A | |
| 98905048798951 | – | – | – |
| US19970798951 | – | – | – |
Members51
| Document | Office | Kind | |
|---|---|---|---|
| CA2251397A1 | Canada | A1 | |
| WO9835514A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU6276298A | Australia | A | |
| WO9835514A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP0897644A2 | European Patent Office (EPO) | A2 | |
| CN1223059A | China | A | |
| ZA98988B | South Africa | B | |
| IL126538D0 | Israel | D0 | |
| BR9806115A | Brazil | A | |
| HK1020827A1 | Hong Kong, China | A1 | |
| JP2000509942A | Japan | A | |
| AR011656A1 | Argentina | A1 | |
| KR20000064932A | Republic of Korea | A | |
| TW444453B | Taiwan Province of China | B | |
| US6335922B1 | United States of America | B1 | |
| US2002012332A1 | United States of America | A1 | |
| IL126538A | Israel | A | |
| EP1603350A2 | European Patent Office (EPO) | A2 | |
| EP0897644B1 | European Patent Office (EPO) | B1 | |
| AT314794T | Austria | T | |
| ATE314794T1 | Austria | T1 | |
| DE69832930D1 | Germany | D1 | |
| EP1603350A3 | European Patent Office (EPO) | A3 | |
| US7054293B2 | United States of America | B2 | |
| ES2255148T3This record | Spain | T3 | |
| DE69832930T2 | Germany | T2 | |
| US2006203731A1 | United States of America | A1 | |
| KR100572905B1 | Republic of Korea | B1 | |
| CN1297161C | China | C | |
| EP1791374A2 | European Patent Office (EPO) | A2 | |
| EP1791374A3 | European Patent Office (EPO) | A3 | |
| CN101030933A | China | A | |
| JP3970332B2 | Japan | B2 | |
| CA2251397C | Canada | C | |
| EP1603350B1 | European Patent Office (EPO) | B1 | |
| DE69838767D1 | Germany | D1 | |
| HK1105131A1 | Hong Kong, China | A1 | |
| ES2293452T3 | Spain | T3 | |
| HK1106890A1 | Hong Kong, China | A1 | |
| DE69838767T2 | Germany | T2 | |
| EP1791374B1 | European Patent Office (EPO) | B1 | |
| AT439024T | Austria | T | |
| ATE439024T1 | Austria | T1 | |
| DE69841049D1 | Germany | D1 | |
| ES2328175T3 | Spain | T3 | |
| CN101030933B | China | B | |
| US7751370B2 | United States of America | B2 | |
| CN101820313A | China | A | |
| US2010273503A1 | United States of America | A1 | |
| US8396033B2 | United States of America | B2 | |
| CN101820313B | China | B |
Numbers
- Publication
- 2255148
- Publication, DOCDB
- 2255148
- Publication, EPODOC
- ES2255148T
- Application
- 98905048
- Application, DOCDB
- 98905048
- Application, EPODOC
- ES19980905048T
Titles2
- Spanish
- PROCEDIMIENTO Y APARATO PARA PROGRAMAR LAS VELOCIDADES EN ENLACE DIRECTO.
- English
- PROCEDURE AND APPLIANCE FOR PROGRAMMING SPEEDS IN DIRECT LINK.
Classification
- CPC, 11
- H04W52/346
- H04B7/2659
- H04W28/18
- H04W28/22
- H04W36/18
- H04W52/281
- H04W52/34
- H04W52/343
- H04W72/1273
- H04W72/563
- H04W72/52
- IPC, 11
- H04L29 06
- H04B7 005
- H04B7 26
- H04L29 08
- H04W28 18
- H04W28 20
- H04W28 22
- H04W52 28
- H04W52 34
- H04W72 04
- H04W72 12