[go: up one dir, main page]

HK1041398B - Method and apparatus for minimizing overhead in a communication system - Google Patents

Method and apparatus for minimizing overhead in a communication system Download PDF

Info

Publication number
HK1041398B
HK1041398B HK02102859.4A HK02102859A HK1041398B HK 1041398 B HK1041398 B HK 1041398B HK 02102859 A HK02102859 A HK 02102859A HK 1041398 B HK1041398 B HK 1041398B
Authority
HK
Hong Kong
Prior art keywords
packet
packets
transmitted
transmission rate
block
Prior art date
Application number
HK02102859.4A
Other languages
Chinese (zh)
Other versions
HK1041398A1 (en
Inventor
Rathonyi Bela
Olofsson Hakan
Ullah Kahn Farooq
Original Assignee
艾利森电话股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/120,163 external-priority patent/US6359877B1/en
Application filed by 艾利森电话股份有限公司 filed Critical 艾利森电话股份有限公司
Publication of HK1041398A1 publication Critical patent/HK1041398A1/en
Publication of HK1041398B publication Critical patent/HK1041398B/en

Links

Description

Method and apparatus for minimizing overhead in a communication system
Background
The present invention relates generally to methods and apparatus for minimizing overhead in a communication system. More particularly, the present invention relates to a method and apparatus for minimizing overhead for packet retransmission in a communication system.
Fig. 1 is a block diagram of an exemplary cellular radiotelephone system including an exemplary base station 110 and mobile station 120. Although station 120 is shown as a "mobile station," station 120 may also be a fixed cell station. The base station includes a control and processing unit 130 connected to a Mobile Switching Center (MSC)140, which unit 130 is in turn connected to a PSTN (not shown). The general aspects of such cellular radiotelephone systems are well known in the art. The base station 110 manages a plurality of voice channels through a voice channel transceiver 150 controlled by the control and processing unit 130. Each base station also includes a control channel transceiver 160 that may be capable of managing more than one control channel. The control channel transceiver 160 is controlled by the control and processing unit 130. the control channel transceiver 160 broadcasts control information on a control channel of a base station or cell to mobile stations locked to that control channel. It will be appreciated that: transceivers 150 and 160 can be implemented as a single device, similar to voice and control transceiver 170, for use with control and traffic channels sharing the same radio carrier.
The mobile station 120 receives the information broadcast on the control channel at its voice and control channel transceiver 170. Processing unit 180 then evaluates the received control channel message that includes characteristics of the cell that is the candidate for the mobile station to lock onto, and determines to which cell the mobile station should lock onto. Advantageously, the received control channel information includes not only absolute information relating to the cell with which it is associated, but also relative information relating to other cells in the vicinity of the cell with which the control channel is associated, for example as described in U.S. patent No. 5353332 to Raith et al entitled "method and apparatus for communication control in a wireless telephone system".
Modern communication systems, such as cellular and satellite radio systems, employ various modes of operation (analog, digital, dual-mode, etc.) and access techniques such as Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), and hybrids of these techniques.
In north america, a digital cellular radiotelephone system using TDMA IS known as the digital advanced mobile phone service (D-AMPS), some characteristics of which are specified in the TIA/EIA/IS-136 standard published by the telecommunications industry association and the electronics industry association (TIA/EIA). Another digital communication system using direct sequence CDMA IS specified using the TIA/EIA/IS-95 standard, while a frequency hopping CDMA communication system IS specified using the EIA SP3389 standard (PCS 1900). The PCS 1900 standard is a common application outside north america for the GSM system introduced for Personal Communication Services (PCS) systems.
Several proposals for next generation digital cellular communication systems are currently being discussed in various standards-setting organizations, including the International Telecommunications Union (ITU), the European Telecommunications Standards Institute (ETSI), and the japan radio industry and business Association (ARIB). In addition to transmitting voice information, next generation systems are expected to transmit packet data and to cooperate with packet data networks that are also typically designed according to industry-wide data standards such as the Open Systems Interface (OSI) model or the Transmission control protocol/Internet protocol (TCP/IP) suite. The internet is one of the most obvious examples today of such standards-based packet data networks in pursuit of this goal.
Advantages of introducing a packet data protocol in a cellular system include the ability to support high data rate transmissions while enabling flexible and efficient utilization of radio frequency bandwidth over the radio interface. The General Packet Radio Service (GPRS), which is a packet mode for the global system for mobile communications (GSM) standard, is designed for so-called "multi-slot operation" in which a single user is allowed to occupy more than one transmission resource simultaneously.
An overview of the GPRS network architecture is shown in fig. 2A. Information packets coming from an external network enter the GPRS network at the GGSN (gateway GPRS service node) 10. The packet is then routed from the GGSN through the backbone network 12 to the SGSN (serving GPRS support node) 14 serving the area in which the addressed GPRS remote station resides. These packets are routed from the SGSN 14 to the correct BSS (base station system) in a dedicated GPRS transmission. The BSS includes a plurality of Base Transceiver Stations (BTSs) (only one of which, BTS18, is shown) and a Base Station Controller (BSC) 20. The interface between the BTS and the BSC is called the a-bis interface. This BSC is a GSM specific representation, while for other exemplary systems the term Radio Network Control (RNC) is used for nodes having functions similar to a BSC. The packets are then transmitted by BTS18 to remote station 21 over the air interface using the selected information transmission rate.
A GPRS register holds all GPRS subscription data. The GPRS register may or may not be incorporated with the HLR (home location register) 22 of the GSM system. Subscriber data may be exchanged between the SGSN and the MSC/VLR24 to ensure interaction such as restricted roaming services. The access network interface between BSC20 and MSC/VLR24 is a standard interface known as the a interface based on the mobile application part of CCITT signaling system No. 7. The MSC/VLR24 also accesses the land-line system through the PSTN 26.
In most digital communication systems, the communication channels are implemented by frequency modulating radio carrier signals having frequencies close to 800 Megahertz (MHZ), 900MHZ, and 1900 MHZ. In TDMA systems and even in the range of CDMA systems, each radio channel is divided into a series of time slots, each time slot containing a burst of information from a user. These time slots are organized into successive frames, each frame having a predetermined duration, and successive frames may be organized into a series of superframes, which are commonly referred to as superframes. This type of access technology used by the communication system (e.g., TDMA or CDMA) affects how user information is represented in time slots or frames, but current access technologies all use a time slot/frame structure.
Time slots allocated to the same user that may not be consecutive time slots on a radio carrier may be considered logical channels allocated to this user. During each time slot, a predetermined number of digital bits are transmitted according to the particular access technology (e.g., CDMA) used by the system. In addition to logical channels for voice or data traffic, the cellular radio communication system also provides logical channels for control messages, such as paging/access channels for call setup messages exchanged by base stations and mobile stations. In general, the transmission bit rates of these different channels do not have to be uniform, and the lengths of the time slots in these different channels do not have to be uniform. The setting of the possible transmission bit rate of a channel is generally a finite integer value and is well known to transmitters and receivers using this channel.
In cellular radio systems, an air interface protocol is required in order to allow mobile stations to communicate with base stations and Mobile Switching Centers (MSCs). This air interface protocol is used to originate or receive cellular telephone calls. The physical layer (layer 1) defines parameters of the physical communication channel, such as carrier radio frequency spacing, modulation characteristics, etc. The link layer (layer 2) defines the techniques required for accurate transmission of information within the limits of the physical channel, e.g., error correction and detection, etc. The Radio Resource Control (RRC) layer 3 defines procedures for receiving and processing information transmitted on a physical channel. For example, TIA/EIA/IS-136 and TIA/EIA/IS-95 specify air interface protocols. The functions of the layer 2 protocol include delimitation or framing of layer 3 messages that may be sent between a communication layer 3 peer entity residing within the cellular switching system and a mobile station.
The physical channel between the remote station and the base station is typically divided into time frames as shown in fig. 2B. The information units transmitted during a time frame can be referred to as transport blocks. In next generation systems, data can be combined into packets for transmission. One or several data packets can be transmitted within one transport block.
One characteristic of many communication systems is: the rate at which the remote station and base station can transmit user information bits may be different for different channels in the system and may vary over time even within one channel, for example, in response to changes in the amount of information to be transmitted. The transmission rate is sometimes allowed to vary only at the beginning of a frame and must be maintained at a constant value throughout the frame. Thus, the size of the transport blocks can vary from frame to frame, depending on the transmission rate of a particular frame, which is representative of the third generation systems that ETSI and ARIB are currently considering. The remote station is assigned a set of different speeds that can be used for the transmission of the information bits. The base station controls the speed allocation for each channel and sends a message to the remote station to inform the mobile station of which transmission rates the mobile station is allowed to use. Such a message may be sent by the base station in every frame it sends.
How the transmission rate varies depends on the system. For example, in a TDMA system, the different number of time slots allocated to a user may vary over time. Different modulation and coding schemes can also result in different transmission rates, as disclosed, for example, in commonly assigned U.S. patent No.6208663 filed on 1997, 8/29. For CDMA systems, the spreading factor can be varied to change the rate of the traffic channel, which is one proposal in the IMT2000 standard being developed. In TDMA and CDMA systems, channel coding with a puncturing (puncturing) scheme (i.e., a method for selecting which bits to discard and the channel encoder output before transmission) can also be used to obtain different rates.
It is assumed that one packet is less than or equal to one transport block in length. The number of different packet sizes is assumed to be a finite integer value. The size of these packets depends on the transmission rate setting currently used for this channel and is therefore well known to both the transmitter and the receiver. The packets are assigned sequence numbers and are transmitted within a transport block in the order of the sequence numbers. The allocation of sequence numbers is arbitrary and unknown to the receiver. The receiver only knows how large the total transport block is for each received frame. Thus, there is no need for framing, since the receiver always knows where the transport block starts and ends. The transmitter does not send any information about the composition or arrangement of packets in the transport block.
At the layer 2 level, a packet typically includes a header portion, an information portion (I portion), and an error detection code portion. This header portion typically includes information for requesting retransmission of the corrupted packet, and this retransmission scheme is commonly referred to as an automatic repeat request (ARQ) scheme. An error detection portion, called a Cyclic Redundancy Code (CRC), is used to determine whether the rest of the packet has been corrupted in some way when sent over the channel. If so, a retransmission request signal is transmitted to the transmitter, thereby retransmitting the original data.
Hybrid ARQ schemes utilize redundancy to provide low error rates. There are fixed redundancy ARQ schemes such as type I hybrid ARQ schemes and variable redundancy ARQ schemes such as soft combining and type II and type III hybrid ARQ schemes.
In soft combining as shown in fig. 2C, when the first decoding attempt fails, a copy of the information that has been originally transmitted is transmitted. If the second decoding attempt of the originally transmitted information combined with this copy fails, a new copy of this information is transmitted to increase the probability of successful decoding at the receiving entity. Multiple retransmissions of the same information can be performed as needed until the information is successfully decoded.
In the type II hybrid ARQ scheme shown in fig. 2D, data redundancy can be increased until the received information is successfully decoded. Redundancy is added by transmitting system information from the information decoder and, if necessary, also redundant information output by the channel encoder (generated by another generator that generates this code polynomial). As shown in fig. 2D, if the first decoding attempt fails, redundant information R1 is sent. If the second decoding attempt of the originally transmitted information with this redundant information R1 fails, redundant information R2 is transmitted, and so on. The type II hybrid ARQ scheme may be further enhanced by retransmitting a received block with a weak carrier-to-interference ratio (C/I) starting with the block with the lowest C/I received. A decoding attempt is made after diversity/soft combining of the newly transmitted information with the previous information at each block retransmission. This process continues until decoding is successful.
These schemes have the problem of requiring the storage of previously transmitted information so that this information can be combined with the newly transmitted information for decoding, which consumes a large amount of memory.
In a type III hybrid ARQ scheme, each sub-block is itself decodable. Thus, previously transmitted blocks can always be discarded when no storage space is available.
Variable transmission rates present problems for packet retransmissions because the rate of transmission may be different from the rate of retransmission. Techniques have been proposed to handle variable transmission rate packet retransmissions. According to one technique, the packet sequence number is always incremented by 1, and this packet size is always fixed to the packet size corresponding to the smallest possible rate within the possible transmission rate settings. Otherwise, it is not possible to handle retransmission of packets when changing the transmission rate, which would result in much overhead due to the higher transmission rate, the fixed data packet size being smaller than the size of the packets that can actually be transmitted. Many unnecessary radio resources are wasted due to this overhead.
According to another technique, a fixed packet length is used, but for lower transmission rates one packet can be sent in several time frames using interleaving, which results in a large delay. In addition, this wastes channel resources because the packet size is always the same regardless of the amount of user data.
Channel error characteristics in communication systems vary widely and depend on, for example, the speed of the mobile station, different reflections from objects such as buildings, mountains, etc., noise interference, cell traffic load, and transmission rate. These channel characteristics may differ depending on the environment in which the mobile station is moving around or in which the fixed cell site is installed. These channel characteristics affect throughput.
In the conventional solution described above, the packet size is fixed for different transmission rates. There is no continuous assessment of the number of retransmitted packets and no adjustment to packet size to maximize throughput. Thus, these packet sizes will not be optimal under certain traffic channel conditions.
There are various well-known methods for adjusting the transmission rate. For example, for systems using more than one modulation and/or channel coding scheme (MCS), such as GPRS GSM, D-AMPS + +. EDGE GSM, switching to Higher Level Modulation (HLM) or less channel coding may result in higher information bit rates, and vice versa. Similarly, in wideband cdma (wcdma) systems, different Transport Formats (TFs) are used to obtain different information rates. The TF is defined by the transmission rate, the code, the interleaving depth and the repetition and puncturing scheme used.
For efficient transmission over the radio interface, higher layer PDUs (protocol data units) are segmented into RLC (radio link control) blocks or packets of smaller size, which also allow retransmissions to be performed according to an ARQ protocol denoted RLC protocol (RLCP) at the RLC block level.
An RLC connection is established between two peer entities, e.g., a base station and a remote station as shown in fig. 1, for the transmission of RLC blocks. Each entity has a receiver that receives RLC blocks and a transmitter that transmits RLC blocks. The block transmission between the two entities is controlled by a window, i.e. the window size is used to limit the maximum number of a large number of RLC blocks (unacknowledged blocks).
Two different approaches are currently used to partition blocks in a higher layer PDU frame into RLC blocks in systems using more than one MCS/TF. According to one approach, the entire block in a higher layer PDU frame is divided into RLC blocks whose size corresponds to the currently used MCS or TF, which makes it impossible to switch between different modes during the transmission period of the higher layer PDU frame. According to a second method, blocks in a higher layer PDU frame are divided into RLC block sizes corresponding to the lowest transmission rates. An integer number of these relatively small units are then transmitted during one block period. Segmenting blocks in higher layer PDU frames into smaller units corresponding to the minimum transmission rate will result in large overhead due to RLC headers and CRCs for small size units, e.g., 16 kbit/sec bearer traffic in a system with a frame length equal to 10 ms has a block size of only 160 bits, while overhead accounts for 25% of the capacity (e.g., 16 bit CRC and 24 bit LRC header). This approach also makes the use of soft combining and/or type II hybrid ARQ difficult because a transport block should only contain one RLC block to support both type II hybrid ARQ and soft combining.
Thus, there is a need for a method and apparatus that reduces the overhead of packet retransmissions and also for a method and apparatus that supports type II hybrid ARQ and soft combined variable rate packet retransmissions.
Summary of The Invention
It is therefore an object of the present invention to maximize the utilization of resources and reduce the overhead in packet retransmissions. It is another object of the present invention to maximize throughput. It is yet another object of the present invention to support type II hybrid ARQ with soft combining in variable rate packet retransmissions.
This and other objects are achieved in accordance with the exemplary embodiments of the present invention by a method and apparatus for transmitting/retransmitting packets in a communication system.
According to the first embodiment, a current transmission rate is determined, a sequence number is assigned to a packet for transmission based on the current transmission rate, the size of a packet, and the sequence number of a previously transmitted packet, and the packet is transmitted. The size of this packet is adjusted so that the entire packet fits into a single transport block at the current transmission rate.
According to the second embodiment, the size of a packet for transmission is adjusted according to the throughput. The number of packets retransmitted during a certain time period is determined and this measurement is used to select the packet size that maximizes the throughput.
According to the third embodiment, it is determined whether a packet is being retransmitted. If not, the current transmission rate is determined, a sequence number is assigned to the packet, and the packet is transmitted as in the first embodiment. Otherwise, the packet is retransmitted at its original rate.
Brief Description of Drawings
The features, objects, and advantages of the present invention will become apparent from the description to follow, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts, and in which:
FIG. 1 is a block diagram of a cellular exemplary radiotelephone communications system;
FIG. 2A shows a GSM/GPRS network architecture;
FIG. 2B shows physical channels divided into frames;
FIG. 2C shows a soft combining retransmission scheme;
fig. 2D shows a type II hybrid retransmission scheme;
FIGS. 3A and 3B illustrate an exemplary packet sequence numbering technique according to a first embodiment;
fig. 3C and 3D show exemplary packet transmission/retransmission in a channel according to the first embodiment;
fig. 3E shows a method for packet transmission/retransmission according to the first embodiment;
FIG. 3F shows a method for maximizing throughput according to a second embodiment;
4A-4C illustrate exemplary error correction decoding;
fig. 5A shows exemplary packet sequence numbers according to the third embodiment;
fig. 5B shows packet transmission/retransmission in a channel according to a third embodiment; and
fig. 5C shows a method for packet transmission/retransmission according to the third embodiment.
Detailed Description
According to exemplary embodiments of the present invention, packet size, sequence numbering, and/or transmission rate can be adjusted to minimize packet retransmission overhead in a communication system.
According to the first embodiment, the packet size can be selected to minimize overhead. For example, the packet size can be chosen such that for each transmission rate, the entire packet fits into one transport block. Thus, no additional overhead is wasted when transmitting at high transmission rates. In addition, the packets can be assigned sequence numbers in such a manner that retransmission of erroneous packets can be efficiently handled at different transmission rates.
A sequence number may be assigned to a packet based on the size of the information part (I-part) in the packet and the current transmission rate among a set of transmission rates. The amount of information that fits into the smallest packet can correspond to a sequence number incremented by "1" (one unit). Thus, a packet with the smallest I-portion can be assigned a sequence number that is one step 1 larger than the previously assigned sequence number. The sequence number can be selected for a larger packet size (with a larger I-portion) so that retransmission can always be performed when this packet is corrupted or lost (i.e., when an error is detected in the received packet), and the minimum rate in this rate set can be used to retransmit the entire I-portion of the erroneous packet, which can be achieved by rearranging the long packet into several smaller packets at the transmitter. Then, in addition to those packets that hold the first or last part of the original I-part, smaller packets can be assigned new sequence numbers when they are transmitted, as will be explained in more detail below with reference to fig. 3C and 3D.
Assume that the size of the smallest I part (corresponding to a sequence number plus 1) that can be transmitted is LIThen the following rule applies to determine that the sequence number of any packet holding an I-portion is increased by SEQ-INCREASE:
(SEQ_INCREASE-1)*LI(I-Part) size ≤ SEQ _ INCREASE LI (1)
Thus, the following equation can be used to determine the increase in sequence number of a packet of the current length size that must be retransmitted over the channel using a transport block of length L:
whereinIs an operator that rounds arguments to the nearest larger integer value.
The sequence number of the packet will be denoted NS in the following. This representation of sequence numbers is commonly used in conventional ARQ systems based on the well-known high-level data link control (HDLC) protocol.
Packets having I portions greater than the minimum packet size, corresponding to sequence number increases greater than 1 unit, can be assigned sequence numbers in a number of ways, two of which are shown in fig. 3A and 3B.
In fig. 3A and 3B, the packet in the first row represents the largest I part. According to an exemplary embodiment, the packets may be obtained, for example, by dividing a block of higher layer PDU frames in a conventional manner. These packets may be stored, for example, in an intermediate buffer.
The packets in the first row are numbered 4 steps apart. For example, in fig. 3A, the packet numbers NS-0 and NS-4 in the first row, and in fig. 3B, the packet numbers NS-3 and NS-7 in the first row.
In the second row, the packets contain an I-part twice the size of the smallest I-part. The packets shown in the first row can be obtained, for example, by dividing them into two. The packets in the second row are numbered 2 steps apart. For example, in fig. 3A, the packets in the second row are numbered NS-0, NS-2, NS-4, and NS-6. The packets in the second row of fig. 3B are numbered NS-1, NS-3, NS-5, and NS-7.
In the third row, the packets contain I-parts of the same size as the minimum I-part and are numbered consecutively. For example, the packets shown in the second row may be obtained by dividing the packets into two. Thus, in fig. 3A and 3B, the packet number in the third row is NS-1, NS-2, NS-3, …, NS-7.
For convenience of explanation, a manner of performing sequence number reallocation when one packet is retransmitted at a lower transmission rate is explained with reference to fig. 3B. Assuming that a packet assigned the sequence number NS-7 in the first row is to be retransmitted on a channel that can transmit only a packet at 1/4, which is the rate at which the packet in the first row can be transmitted, the original packet assigned NS-7 can be divided into four packets numbered NS-4, NS-5, NS-6, and NS-7.
Fig. 3C and 3D show an example of how packets are transmitted/retransmitted in a channel at a variable transmission rate according to the first embodiment of the present invention. These packets are transmitted in transport blocks from a transmitting entity, e.g., a mobile station, to a receiving entity, e.g., a base station. One or more packets are sent in each transport block. A single transport block is transmitted to each receiving entity during each time frame as described above with reference to fig. 2B. The receiving entity detects errors in the received packet. For convenience of explanation, the transmitting entity and the receiving entity are respectively denoted as ARQ entity 1 and ARQ entity 2 in fig. 3D. Of course, it should be understood that: both ARQ entity 1 and ARQ entity 2 include transmit and receive capabilities.
In fig. 3C and 3D, the sequence number of the packet is denoted as NS, and the transmission rate group is (R, 2R, 3R, 4R). The increase in sequence number (i.e., sequence number step size) for full size packets sent at these rates is (1, 2, 3, 4). In other words, there is a difference of 1 between consecutive assigned sequence numbers at rate R, a difference of 2 between consecutive assigned sequence numbers at rate 2R, and so on.
In fig. 3C, the arrows indicate the moments when the rate change occurs. The rate change is not shown in fig. 3D, but the time at which the rate change occurs can be inferred from the packet sequence number. For example, information sent from a receiving entity to a sending entity can cause rate changes, which can be performed in any conventional manner. Fig. 3C and 3D also show a reverse channel transmitting a retransmission request for the selected packet.
Packet transmission begins at a corresponding sequence number step equal to 1 in the first time frame at a rate R. The first packet transmitted is assigned a sequence number of 0. In the next frame, a sequence number 1 is assigned to the transmitted packet.
In the third frame, this rate changes to 2R corresponding to a sequence number step of 2. The packet sent in this frame is assigned sequence number 3 (a step size 2 larger than 1). This packet is lost on the channel, as can be seen from fig. 3D, and an error is detected at the receiving entity. In the fourth frame, the next packet to be transmitted is assigned a sequence number of 5 (a step size of 2 greater than 3). A retransmission request signal or Negative Acknowledgement (NAK) is sent back to the transmitting entity in the next frame along with the sequence number 3.
In the fifth frame, the rate also changes to 3R corresponding to the sequence number step 3. The packet sent in this frame is assigned a sequence number of 8 (3 steps greater than 5). As shown in fig. 3D, the packet is then lost on the channel and an error is detected in the received packet.
Since this rate is large enough to transmit a packet with sequence number 3, this packet is retransmitted next. This leaves only enough room in the transport block in this frame to send a packet of a size that can be sent at rate R. Thus, a packet of this size is assigned sequence number 9 (a step size 1 larger than 8) and transmitted together with a packet assigned sequence number 3.
A NAK signal is sent to the transmitter in the next frame along with the sequence number 8 to request retransmission. In the seventh frame, the rate is also changed to 2R corresponding to the sequence number step 2. Thus, the next packet transmitted is assigned a sequence number of 11 (2 steps greater than 9).
Subsequently, in the eighth frame, the rate is changed to R corresponding to the sequence number step 1. Therefore, the next packet transmitted is assigned a sequence number of 12 (a step size 1 greater than 11).
In the ninth frame, the packet with sequence number 8 will be retransmitted. However, a packet with sequence number 8 includes 3 times the amount of information that can be transmitted in one transport block at rate R. Thus, the packet having the sequence number of 8 is divided into 3 packets to which the sequence numbers of 6, 7, and 8 are respectively assigned, and the packets are consecutively transmitted in the ninth, tenth, and eleventh frames.
As shown in fig. 3D, packets assigned sequence numbers 6 and 11 are lost on the channel, and errors are detected in the received packets. During the eleventh frame, a NAK signal is transmitted to the transmitting side together with the sequence numbers.
In the twelfth frame, the rate is changed to 4R corresponding to the sequence number step 4. At this rate, there is sufficient space in the transport block to retransmit packets assigned sequence number 6 and packets assigned sequence number 11, and there is sufficient remaining space to transmit packets containing information that can be transmitted at rate R. Therefore, the next packet is assigned sequence number 13 (a step size 1 larger than 12) and is transmitted in the same transport block as the packets with sequence numbers 6 and 11.
To simplify the sequence numbering, two or more packets can be combined into one packet and one number can be used instead of the multiple sequence numbers, if possible. For example, referring to fig. 3C, if a rate change message arrives indicating an allowed rate equal to 2R just before the packet NS-7 is sent, the NS-7 packet and the I portion of the NS-8 packet can be merged together and retransmitted at a rate 2R including only the sequence number NS-8, which is applicable only to consecutively numbered packets. For example, the NS-3 packet and the NS-9 packet in fig. 3C cannot be merged together when transmitted in the same transport block because the 1 part is not consecutive.
Assigning sequence numbers in the manner described above can solve the problem of how to handle retransmissions when higher rate packets must be retransmitted at lower transmission rates. Transmission channel resources are not wasted on unnecessary overhead information, which increases channel throughput.
In addition, overhead can be further reduced by adjusting the packet size to fit the entire packet into the transport block. As an illustrative example, consider the proposal of ETSI and ARIB to develop the IMT2000 WCDMA standard with 10 ms time frames and different transmission rates in one rate set. Assume that this rate set includes a transmission rate of (32, 64, 128) kilobits/second, which corresponds to a packet size of a set of (320, 640, 1280) bits. Each RLCP packet holds a sequence number, some control bits, and a CRC, resulting in an overhead of approximately 32 bits per RLCP packet. Using conventional techniques, these packet sizes would all be assigned to a minimum packet size of 320 bits, and the packet sequence number would be incremented by 1 for each successive packet. Thus, at a rate of 32 kbits/sec, only one packet will be sent per time frame, and the resulting overhead will be 32 bits. At a rate of 64 kbits/sec, two packets will be sent per time frame, resulting in a 64-bit overhead. At a rate of 128 kbit/s, 4 packets will be sent per time frame, resulting in an overhead of 128 bits.
According to the first embodiment, the packet size can be adjusted according to the transmission rate so that a single packet is transmitted in each transport block. This will result in a constant overhead of 32 bits regardless of the transmission rate. The throughput of the 64 kbit/s and 128 kbit/s channels will increase by 5.5% and 8.3%, respectively. It will be appreciated that: such a large throughput gain occurs only when the channel is error-free. Otherwise, the throughput gain will be smaller because the retransmitted packet size will be larger, thereby reducing throughput.
Fig. 3E shows a method of packet transmission/retransmission of a packet according to the first embodiment. At step 300, the transmission rate is determined and at step 310, the packet size, e.g., the size of the I-portion, is determined. It should be understood that: the steps can also be performed in reverse order. At step 320, the packet size is adjusted so that the entire packet fits into a single transport block. At step 330, the packet (or packets if the packet is divided into smaller packets at step 320) is assigned a sequence number. This packet(s) is then transmitted at step 340. This method is repeated for each packet transmitted and retransmitted.
According to the second embodiment of the present invention, in addition to allocating sequence numbers to packets according to the amount of information in each packet and the transmission rate, the packet size can be adjusted to maximize the throughput. According to this embodiment, for example, a continuous measurement algorithm in the processor may evaluate whether the current packet size is best suited for the current channel conditions. For example, this algorithm measures the number of retransmitted packets on the transmitting entity during a certain time period and uses these measurements to adjust the packet size to obtain maximum throughput. It is determined whether this throughput is higher for larger/smaller packets. If this is the case, the packet size is increased/decreased accordingly.
According to this embodiment, the throughput of the system is increased and each ARQ entity can maximize its own throughput according to the current channel conditions, and throughput measurements can be performed in a conventional manner. For example, assume that the set of rates used is 32, 64, 128 kilobits/second and that the set of packet sizes used is 320, 640 and 128 bits. Also assume that the overhead for a packet is 40 bits and that the transmitting entity transmits at a rate of 128 kbit/s and uses a packet size of 640 bits including this overhead. During the time period T, the transmitting entity transmits a total of 100 packets including 3 retransmission packets. The throughput, denoted P, can be calculated as the number of useful bits successfully transmitted during time period T. The number of errors for other packet sizes can be predicted to be the same, i.e., 3 errors for 200 packets of size 320 bits and 50 packets of size 1280 bits. The value of the throughput P for each packet size can then be calculated as:
P320=(320-40)*(2*100-3)/T=55160/T
P640=(640-40)*(100-3)/T=58200/T
P1280=(1280-40)*(100/2-3)/T=58280/T
based on these calculations, this throughput is for a packet P of size 1280 bits1280Is the largest. Thus, to maximize throughput, the transmitting entity can adjust the packet size to 1280 bits when transmitting at a rate of 128 kilobits/second.
Fig. 3F shows a method for maximizing throughput according to a second embodiment. This method may be performed as part of step 320 in fig. 3E. At step 322, the throughput is determined. At step 324, a packet size that maximizes this throughput is determined. At step 326, the packet size is adjusted to maximize throughput.
To detect errors, a CRC is attached to the packets. For example, one CRC may be included in each transport block. In this case, there is only one CRC for error detection of the entire transport block. When a transport block comprises more than one packet, each packet is assigned a different sequence number, there must be additional signaling between the sending entity and the receiving entity to inform the receiving entity: where in this transport block the different packets are located. To this end, the sequence number of the packet within a block can be included within a block header and, if desired, a length indicator that informs the receiving entity of the length of the I-portion corresponding to each particular sequence number. With this method, a CRC check can be performed on each transport block at the receiving entity.
Alternatively, the CRC may be included in each packet assigned a different sequence number. For example, referring to fig. 3C, when the packets are transmitted in frame 12, each packet can hold a CRC value, i.e., 3 CRCs can be transmitted within the transport block. This requires some additional processing by the receiving entity in performing the CRC check, as will be described in more detail below.
The receiving entity, upon receiving this block, does not know how the entire transport block is protected with CRC. The receiving entity only knows the length of the entire transport block denoted L. The size of a packet is called AiWhere i-1, …, M, and M is a finite value, i.e., has a finite number of packet sizes. May be in increasing order (i.e., A)1<A2<…<AM) These packet sizes are combined. For a block of length L, for a limited number of packets A in each blockiThe following rules apply to each transport block:
L=∑Ai (3)
the order in which packets are placed in a particular transport block is arbitrary. For example, referring to FIG. 3C, the block can be written with 3! These packets are arranged in the 12 th frame in 6 different ways: {6, 11, 12}, {6, 12, 11}, {11, 6, 12}, {11, 12, 6}, {12, 6, 11} and {12, 11, 6 }.
Assuming that a transport block has a length L of 10 units and the set of different possible packet sizes is {1, 2, 4, 5, 6, 10} depending on the rate set used, this transport block can include different combinations of packets of different sizes, e.g., [2, 2, 2, 2, 2], [5, 2, 21], [10], [6, 4], etc.
According to an exemplary embodiment, CRC-OK (CRC pass) of packets from the smallest size within a group of possible sizesA check is made to start this CRC check. CRC-OK indicates that no errors were detected in the received packet. If the check result of the packet having the smallest size is not CRC-OK, the next packet size is checked, and so on until the largest packet size has been checked. If the CRC-OK is not obtained after checking the maximum possible packet size, then after the end of the minimum packet size in this data block (i.e., at A)1Thereafter) starts to repeat the process and continues until the end of this block. In packet A1Until the end of the transport block, only packets having a size suitable for the remaining sub-blocks are examined. If the first sub-block fails to result in a CRC-OK, the start position is moved to a second minimum packet size A2After the end of (c). The remaining sub-blocks of this transport block are examined as before. When the CRC-OK is obtained, this sub-block is released and a new lookup is started again from the minimum packet size and continues until the entire data block is checked.
This process is illustrated in fig. 4A, and fig. 4A shows a flow chart of how a CRC decoding algorithm for a transport block can be implemented. The representation used in FIG. 4A is based on the C programming language syntax, but the invention is not limited to C programming implementations.
The process begins at step 400 where a CRC decode instruction is issued at step 400, for example by a processor in the receiving entity. At step 405, a packet size variable and an adjustable variable are initialized. In step 410, a variable "first" is set equal to the packet size A [ j ]. Next, at step 420, a process variable "i" is set equal to 0 and the CRC register is set to a predetermined value, such as 1 or 0. Next, in step 425, i is incremented by 1 and it is determined whether i is less than or equal to M, where M is a number of possible packet sizes. In step 430 it is determined whether the ith packet size is smaller than L-first, i.e. whether the ith packet with size a [ i ] fits into a sub-block of this transport block, except for the packet with length of the variable first. If this is true, at step 435, it is determined whether CRC-OK has been generated for a sub-block of the transport block having the size of packet size A [ i ] minus A [ i-1], starting from the variable first plus the deviation of packet size A [ i-1 ]. If not, the process returns to step 425. If so, this sub-block is released at step 440 and the variable first is incremented by the size of the ith packet at step 445. From there, the process returns to step 420.
If it is determined in step 425 that + + i is not less than or equal to M, then it is determined in step 450 whether first is less than L. If so, it is determined in step 455 whether a CRC OK has been generated for a sub-block of the transport block having a size of L-first-A [ i-1], starting from the variable first plus the deviation of the packet size A [ i-1 ]. If so, the sub-block is released in step 460. If it is determined in step 450 that the variable first is not less than L or CRC OK is not obtained in step 455, it is determined in step 465 whether first is equal to L. If not, j + +, i.e., j is incremented by 1, at step 470, and the process returns to step 410. If it is determined in step 465 that first is equal to L, i.e., the end of this output block has been reached, or if this sub-block is released in step 460, then the process ends in step 480.
The CRC check can be performed using a Linear Feedback Shift Register (LFSR) or with hardware or software. The bit stream to be CRC OK checked may be passed through this LFSR. The function CRC Check (arg1, arg2) in steps 435 and 455 corresponds to starting checking the number of arg2 data units at position arg1 of the stream of data units running through the LFSR. This data unit may be, for example, a bit or a byte. The function CRC-CHECK () returns TRUE if the resulting register values are valid, and returns FALSE if these values are invalid.
As an example of how CRC decoding works, consider a set of packet sizes {320, 480, 640} bits and the size of a transmitted block having a size L equal to 640 bits, as shown in fig. 4B. It is assumed that the transport block to be checked comprises two packets of size 320 bits each and that the first packet is erroneous, i.e. will not result in a valid CRC check. Fig. 4C shows the CRC decoding step according to these assumptions.
Referring to FIG. 4C, a process variable j is set to 0 and packet size variables A [0], A [1], A [2], A [3], and A [4] are set to 0, 320, 480, 640, and 640, respectively, at step 405. At step 410, a process variable first is set to 0. At step 420, a process variable i is set to 0 and the CRC register is reset.
In step 425, i is incremented by 1 and it is determined that i (1) is less than or equal to M (3). At step 430, A [1] (320) is determined to be less than L-first (640). Next, in step 435, the first 320 bits of the block are examined and it is determined that a CRC OK was not obtained for the 320 bits examined. Then, step 425 is repeated and it is determined that i +1(2) is less than or equal to M (3). At step 430, A [2] (480) is determined to be less than L-first (640). In step 435, a sub-block containing 160 bits that is 320 bits offset from the beginning of the block is examined and it is determined: CRC-OK is not obtained for a total of 480 bits of this block examined. Subsequently, step 425 is repeated and it is determined that A [3] (3) is less than or equal to M (3). At step 430, it is determined that A [3] (640) is not less than L-first (640). Thus, step 450 is performed and it is determined that first (0) is less than L (640). Next, in step 455, a sub-block containing 160 bits that is offset by 480 bits from the beginning of the block is examined and it is determined: for a total of 640 bits of this block checked, CRC-OK is not obtained. Subsequently, in step 465, it is determined that first (0) is not equal to L (640), and in step 470, j is set equal to 1.
Next, step 410 is repeated and first is set equal to 320. Next, in step 420, i is reset to 0 and the CRC register is reset. Then, in step 425, i is incremented by 1, and it is then determined that i is less than or equal to M (3). At step 430, it is determined that A [1] is not less than L-first (320), and at step 450 it is determined that first (320) is less than L (640). In step 455, it is determined that CRC OK is obtained for a sub-block containing 320 bits whose start of the block is offset by 320 bits. This sub-block is released at step 460 and the process ends at step 480.
According to a third embodiment, while the above-described embodiments have the advantages of low overhead and increased throughput, the packet size can be adjusted so that each transport block contains only one RLCP to support both type II and type III hybrid ARQ and soft combining. This allows the receiving entity to combine newly transmitted information with previously transmitted information to increase the probability of successful decoding.
According to a third embodiment, to support both type II and type III hybrid ARQ and soft combining, the packet size is adjusted only for the original transmission and all retransmissions of the same packet are performed at the original transmission rate. The reason for this is: if the rate is allowed to change at retransmission, the information retransmitted within a transport block will be different from the information originally sent within a transport block, which will make type II and type III hybrid ARQ and soft combining quite complicated.
Fig. 5A shows packet sequence numbers according to the third embodiment. According to a third embodiment, the sequence numbering is similar to the first and second embodiments, at least for the original transmission of the packet. In fig. 5A, the packet in the first row has an information portion four times larger than the smallest I portion. The packets are assigned sequence numbers 4, 8, 12 and 16, respectively. The packets in the second row represent how the packets are actually sent.
For example, assume that a packet in the first row assigned a sequence number NS-4 will be transmitted on a channel that can only transmit packets at 1/2, the rate at which packets in the first row can be transmitted. The original packet with NS-4 assigned can then be divided into two packets with the numbers NS-2 and NS-4. Assume that packets in the first row assigned sequence numbers NS-8 and NS-12 are to be transmitted on a channel that can transmit packets at the same rate as the packets in the first row. It is then not necessary to divide these packets for transmission. Assume that a packet with sequence number NS-16 assigned in the first row is to be transmitted on a channel that can only transmit packets at 1/4, the rate at which packets in the first row can be transmitted. The original packet with NS 16 assigned thereto can then be divided into four packets numbered NS 13, NS 14, NS 15 and NS 16.
Fig. 5B shows an exemplary transmission/retransmission according to the third embodiment. In fig. 5B, one transmission packet is transmitted in each time frame. The arrows indicate the rate change. Although described with reference to soft combining, it will be appreciated that this can be extended to type II and type III hybrid ARQ schemes, as well as other variable redundancy schemes.
In FIG. 5B, the rate set is { R, 2R, 3R, 4R }. At maximum rate, the packet sequence number is 4, 8, 12, 16. At the beginning of the transmission, the rate is 2R, which is half the maximum rate. Thus, the first packet is divided into two packets numbered 2 and 4. A packet with sequence number 2 is sent at rate 2R in the first frame. In the next frame, a packet with sequence number 4 is sent (2 steps larger than 2). An error is detected in the received packet with sequence number 2 and a NAK signal is sent to the transmitting entity in the third frame along with sequence number 2. Also, in the 3 rd frame, the rate becomes 4R and a packet to which a sequence number of 8 (a step size larger than 4) is allocated is transmitted.
In the fourth frame, the packet having sequence number 2 is retransmitted at a rate 2R which is the original transmission rate of this packet. The transmission is soft combined with the previous transmission in the receiving entity and the packet is successfully decoded.
In the fifth frame, a packet is transmitted with sequence number 12 assigned (4 steps greater than 8). Subsequently, the rate becomes R, and this rate remains fixed for the next 3 frames. Thus, the packet having the sequence number of 16 is divided into four packets assigned with the sequence numbers of 13, 14, 15, and 16, and the packets assigned with consecutive sequence numbers of 13, 14, and 15 are transmitted in the sixth, seventh, and eighth frames, respectively. An error is detected in the received packet with sequence number 12 and a NAK signal is sent to the transmitting entity during the eighth frame, along with sequence number 12. In the ninth frame, a packet assigned sequence number 12 is retransmitted at its original transmission rate 4R. Next, in the tenth frame, a packet assigned a sequence number of 16 (a step size 1 larger than 15) is transmitted.
Fig. 5C shows a method for packet transmission/retransmission according to the third embodiment. The method begins at step 500 and determines whether a packet is being retransmitted at step 500. If not, the process proceeds to steps 510, 520, 530 and 540, to determine the transmission rate, determine the packet size, adjust the packet size, assign a sequence number(s), and transmit the packet(s), respectively, in a manner similar to steps 300 and 340 shown in FIG. 3E. If it is determined in step 500 that the packet is being retransmitted, the process proceeds to step 560, the original transmission rate is determined in step 560, and the packet is retransmitted at this rate in step 570.
The technique according to the third embodiment has many advantages, including low overhead, because only one header and one CRC are required for each packet, which also makes it easier to perform soft combining and type II and type III hybrid ARQ. Too many packet sequence numbers may result in a situation where the intermediate sequence numbers remain unused, but this is very limited in terms of overhead, e.g., two extra bits for a sequence numbering step equal to 4.
All processing for the above-described sequence numbering, packet size adjustment and transmission rate variation can be performed in the processor of the transceiver, for example.
Although described in terms of an application to a CDMA system, it will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the essential characteristics thereof, such as a TDMA system or a hybrid CDMA-DMA system. The above-described embodiments are therefore to be considered in all respects illustrative and not restrictive.

Claims (16)

1. A method for transmitting packets in a communication system, the method comprising the steps of:
determining a current transmission rate;
assigning a sequence number to a packet for transmission based on a current transmission rate, a size of the packet, and a sequence number of a previously transmitted packet; and
the packet is sent at the current transmission rate.
2. The method of claim 1, further comprising:
the packet size is adjusted so that the entire packet fits into a single transport block at the current transmission rate.
3. The method of claim 2, wherein the adjusting step further comprises:
determining whether the transmission packet has the same size as a packet that can be transmitted in a single transport block at the current transmission rate; and
if the packet is large, the transmission packet is divided into 4 smaller packets.
4. The method of claim 3, further comprising: if the transmitted packet is smaller than the packets that can be transmitted in a single transport block, additional packets are appended to the transport block.
5. The method of claim 1, further comprising:
receiving a transmit block, the transmit block comprising one or more packets;
detecting an error in the one or more packets; and
retransmitting any of the one or more packets in the block in which the error has been detected, wherein if the transmission rate is lower than the rate at which the packets were originally transmitted at the time of retransmission, the packet is divided into smaller packets and the sequence numbers are reassigned to the smaller packets.
6. The method of claim 5, wherein the detecting step comprises:
checking the transmitted block for errors in the one or more packets; and
those packets in the transmitted block for which no errors were detected are released.
7. The method of claim 5, further comprising the step of adjusting the packet size to maximize throughput based on the number of packets retransmitted during a time period.
8. The method of claim 1, further comprising the steps of:
determining whether a packet is being retransmitted, wherein the steps of determining a current transmission rate, assigning a sequence number, and transmitting the packet at the current transmission rate are performed if the packet is not being retransmitted, or retransmitting the packet at its original transmission rate if the packet is being retransmitted.
9. A transceiver, comprising:
a processor for determining a current transmission rate and assigning a sequence number to a previously transmitted packet based on the current transmission rate, a size of the packet, and the sequence number of the packet; and
a transmitter for transmitting the packet at the current transmission rate.
10. The transceiver of claim 9, wherein the processor adjusts the packet size so that the entire packet fits into a single transport block at the current transmission rate.
11. The transceiver of claim 10, wherein the processor determines whether the transmitted packet has the same size as a packet that can be transmitted in a single transport block at the current transmission rate, and if the packet is larger, the processor divides the transmitted packet into smaller packets.
12. The transceiver of claim 11, wherein the processor appends additional packets in the transport block if the transmitted packet is smaller than a packet that can be transmitted in a single transport block.
13. The transceiver of claim 9, wherein the transmitted block is received and the processor detects errors in the transmitted block and if any errors are detected in the transmitted block, the transmitter retransmits the packets for which errors have been detected, and wherein if the transmission rate is lower at the time of retransmission than the rate at which the packets were originally transmitted, the processor divides the packets into smaller packets and reassigns sequence numbers to the smaller packets.
14. The transceiver of claim 13, wherein the processor detects errors by examining packets of the transmitted block for errors and releasing those packets of the transmitted block for which no errors were detected.
15. The transceiver of claim 14, wherein the processor adjusts packet size to maximize throughput based on the number of packets retransmitted during a time period.
16. The transceiver of claim 9, wherein the processor determines whether a packet is being retransmitted, and wherein if a packet is not being retransmitted, the processor determines a current transmission rate and assigns a sequence number, and the transmitter transmits the packet, or if the packet is being retransmitted, the transmitter retransmits the packet at its original transmission rate.
HK02102859.4A 1998-07-21 1999-07-13 Method and apparatus for minimizing overhead in a communication system HK1041398B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/120,163 US6359877B1 (en) 1998-07-21 1998-07-21 Method and apparatus for minimizing overhead in a communication system
US09/120,163 1998-07-21
PCT/SE1999/001263 WO2000005911A1 (en) 1998-07-21 1999-07-13 Method and apparatus for minimizing overhead in a communication system

Publications (2)

Publication Number Publication Date
HK1041398A1 HK1041398A1 (en) 2002-07-05
HK1041398B true HK1041398B (en) 2004-12-03

Family

ID=

Similar Documents

Publication Publication Date Title
CN1135014C (en) Method and apparatus for minimizing overhead in a communication system
CN1208921C (en) Method and apparatus for adaptive traffic control in a high data rate communication system
CN1173515C (en) Method and device for effectively retransmitting data in data superimposed voice communication system
CA2438527C (en) Reverse link channel architecture for a wireless communication system
CN1568607A (en) Retransmission method and device in wireless communication system
CN1568603A (en) Method and apparatus for message segmentation in a wireless communication system
CN1750450A (en) Method and apparatus for sending user equipment status information for uplink packet transmission
RU2310281C2 (en) Method and device for assigning a walsh space in communication system
AU2002255575A1 (en) Reverse link channel architecture for a wireless communication system
CN1679270A (en) Improved feedback for data transmissions
CN1659800A (en) Improved outer-loop scheduling design for communication systems with channel quality feedback mechanisms
CN1465158A (en) Reverse transmission device and method for improving transmission throughput of data communication system
HK1048210A1 (en) Method and apparatus for minimising total transmission energy in a communication system by using channel quality
CN1631011A (en) Method and system for improving data throughput
HK1041398B (en) Method and apparatus for minimizing overhead in a communication system
HK1070502A (en) Method and apparatus for retransmission in a wireless communication system
MXPA01000633A (en) Method and apparatus for minimizing overhead in a communication system
HK1057952B (en) Method and apparatus for adaptive transmission control in a high data rate communication system
HK1070504A (en) Method and apparatus for message segmentation in a wireless communication system
HK1098891A (en) Method and apparatus for channel sensitive scheduling in a communication system
HK1082611A (en) Improved feedback for data transmissions
HK1075988B (en) Method and system for improving data throughput
HK1073952A1 (en) Method and system for efficient and reliable data packet transmission
HK1073952B (en) Method and system for efficient and reliable data packet transmission
HK1069493A (en) Radio communication system, base station, method of correcting radio link quality information employed therefor, and its program