I. Claim of Priority under 35 U.S.C. §119
[0001] The present Application for Patent claims priority to Provisional Application Serial
No.
60/679,316, entitled "METHOD AND APPARATUS FOR WIRELESS HIGH RATE COMMUNICATIONS," filed May
9, 2005, assigned to the assignee hereof, and expressly incorporated herein by reference.
BACKGROUND
I. Field
[0002] The present disclosure relates generally to communication, and more specifically
to techniques for transmitting data in a wireless communication system.
II. Background
[0003] In a wireless communication system, a transmitter typically processes (e.g., encodes
and symbol maps) traffic data to generate data symbols. The transmitter may multiplex
a training sequence with the data symbols to assist a receiver perform various functions
such as channel estimation. The training sequence is also commonly referred to as
pilot. The transmitter then processes the data symbols and training sequence to generate
a radio frequency (RF) modulated signal and transmits this signal via a wireless channel.
The wireless channel distorts the transmitted signal with a channel response and further
degrades the signal with noise and interference.
[0004] The receiver receives the transmitted signal and processes the received signal to
obtain samples. The receiver may estimate the wireless channel response based on the
training sequence. The receiver may then perform data detection (e.g., equalization)
on the samples with the channel estimate to obtain symbol estimates, which are estimates
of the data symbols sent by the transmitter. The receiver may then process (e.g.,
symbol demap and decode) the symbol estimates to obtain decoded data.
[0005] The training sequence is useful to achieve good performance. However, the training
sequence represents overhead that reduces the efficiency of the system. There is therefore
a need in the art for techniques to transmit data and training sequence efficiently
in a wireless communication system.
SUMMARY
[0006] Techniques for transmitting data and training sequence efficiently in a wireless
communication system (e.g., a GSM/EDGE system) are described herein. These techniques
may utilize new slot formats and/or new block formats having higher data capacity
and described below.
[0007] According to an embodiment of the invention, an apparatus is described which includes
at least one processor and a memory. The processor(s) generate multiple bursts comprising
a training sequence that is shared by the multiple bursts. The processor(s) then send
the multiple bursts in multiple time slots, one burst in each time slot. The multiple
bursts may include other fields, as described below.
[0008] According to another embodiment, an apparatus is described which includes at least
one processor and a memory. The processor(s) receive multiple bursts comprising a
training sequence that is shared by the multiple bursts. The multiple bursts are received
in multiple time slots, one burst in each time slot. The processor(s) derive a channel
estimate based on the training sequence and perform data detection (e.g., equalization)
on the multiple bursts with the channel estimate.
[0009] According to yet another embodiment, an apparatus is described which includes at
least one processor and a memory. The processor(s) process a data block to obtain
multiple output blocks, generate at least two bursts for each output block, and send
the at least two bursts for each output block in at least two time slots of a respective
frame, one burst in each time slot. The bursts for different output blocks are sent
in different frames.
[0010] According to yet another embodiment, an apparatus is described which includes at
least one processor and a memory. The processor(s) receive at least two bursts for
each of multiple output blocks. The bursts for different output blocks are received
in different frames, and each burst for each output block is received in one time
slot of a respective frame. The processor(s) process the bursts received for the multiple
output blocks to obtain symbol estimates and further decode the symbol estimates to
obtain a decoded data block.
[0011] Various aspects and embodiments of the invention are described in further detail
below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 shows a block diagram of a transmitter and a receiver.
[0013] FIG. 2 shows a frame structure in GSM/EDGE.
[0014] FIG. 3 shows transmission of a packet data block in GSM/EDGE.
[0015] FIG. 4 shows a normal burst in EDGE.
[0016] FIG. 5A shows a burst with no training sequence.
[0017] FIG. 5B shows a burst with a short training sequence.
[0018] FIG. 6A shows a 2-slot format with no guard period between two bursts.
[0019] FIGS. 6B and 6C show 2-slot formats with a training sequence shared by two bursts
and no guard period between the bursts.
[0020] FIG. 7A shows a multi-slot format with a training sequence and no guard period between
bursts.
[0021] FIG. 7B shows a multi-slot format with full and short training sequences and no guard
period between bursts.
[0022] FIG. 8 shows transmission of two packet data blocks in a 2-slot allocation.
[0023] FIGS. 9A and 9B show transmission of a packet data block in a 2-slot allocation using
normal bursts and concatenated bursts, respectively.
[0024] FIG. 9C shows transmission of a packet data block in a multi-slot allocation.
[0025] FIG. 10 shows a process for transmitting data with slot aggregation.
[0026] FIG. 11 shows a process for receiving data with slot aggregation.
[0027] FIG. 12 shows a process for transmitting data with data block aggregation.
[0028] FIG. 13 shows a process for receiving data with data block aggregation.
DETAILED DESCRIPTION
[0029] The word "exemplary" is used herein to mean "serving as an example, instance, or
illustration." Any embodiment described herein as "exemplary" is not necessarily to
be construed as preferred or advantageous over other embodiments.
[0030] The techniques described herein may be used for various wireless communication systems
such as Time Division Multiple Access (TDMA) systems, Code Division Multiple Access
(CDMA) systems, Frequency Division Multiple Access (FDMA) systems, and Orthogonal
Frequency Division Multiple Access (OFDMA) systems. The terms "system" and "network"
are often used interchangeably. A TDMA system may implement a radio technology such
as Global System for Mobile Communications (GSM). GSM may utilize General Packet Radio
Service (GPRS) or Enhanced Data rates for Global Evolution (EDGE) for data transmission.
EDGE is an enhancement to GPRS and supports higher data rates using the same GSM spectrum.
A CDMA system may implement a radio technology such as Wideband-CDMA (W-CDMA), cdma2000,
and so on. cdma2000 covers IS-2000, IS-856 and IS-95 standards. These various radio
technologies and standards are known in the art. GSM and W-CDMA are described in documents
from an organization named "3rd Generation Partnership Project" (3GPP). cdma2000 is
described in documents from an organization named "3rd Generation Partnership Project
2" (3GPP2). For clarity, the techniques are specifically described below for a GSM
EDGE radio access network (GERAN), and GSM terminology is used in much of the description
below.
[0031] FIG. 1 shows a block diagram of an embodiment of a transmitter 110 and a receiver 150 in
a wireless communication network 100, e.g., a GERAN. For downlink transmission, transmitter
110 may be part of a base station (BS), and receiver 150 may be part of a mobile station
(MS). For uplink transmission, transmitter 110 may be part of a mobile station, and
receiver 150 may be part of a base station. A base station is generally a fixed station
that communicates with the mobile stations and may also be referred to as a Node B,
an access point, a base transceiver station (BTS), or some other terminology. A mobile
station may be fixed or mobile and may also be referred to as a user equipment (UE),
a user terminal, a terminal, a subscriber station, or some other terminology. A mobile
station may be a cellular phone, a personal digital assistant (PDA), a wireless device,
a wireless modem, a handheld device, or some other device or apparatus.
[0032] At transmitter 110, a transmit (TX) data processor 120 receives traffic data that
may be partitioned into packet data blocks. Processor 120 processes (e.g., encodes
and interleaves) each packet data block in accordance with a coding scheme (MCS) and
provides multiple (e.g., four) output blocks for the packet data block. Processor
120 may perform processing for Radio Link Control (RLC) and Medium Access Control
(MAC), which are two sublayers at a link layer (L2) in a protocol stack. A modulator
122 multiplexes the output blocks with training sequences and overhead bits, processes
the multiplexed data, training sequence, and overhead as specified by GSM/EDGE, and
provides output symbols. Modulator 122 may perform processing for a physical layer
(L1) that is below the link layer in the protocol stack. A transmitter unit (TMTR)
124 processes (e.g., converts to analog, amplifies, filters, and frequency upconverts)
the output symbols and generates an RF modulated signal, which is transmitted from
an antenna 126.
[0033] At receiver 150, an antenna 152 receives the transmitted signal and provides a received
signal to a receiver unit (RCVR) 154. Receiver unit 154 processes (e.g., filters,
amplifies, frequency downconverts, and digitizes) the received signal to obtain samples.
A demodulator (Demod)/equalizer 156 performs data detection (e.g., equalization) on
the samples and provides symbol estimates. A receive (RX) data processor 160 processes
(e.g., deinterleaves and decodes) the symbol estimates to obtain decoded data blocks.
In general, the processing by demodulator 156 and RX data processor 160 is complementary
to the processing by modulator 122 and TX data processor 120, respectively, at transmitter
110.
[0034] Controllers/processors 130 and 170 direct the operation of various processing units
at transmitter 110 and receiver 150, respectively. Memories 132 and 172 store program
codes and data for transmitter 110 and receiver 150, respectively.
[0036] Time slot management and scheduling in GERAN occur on two levels: assignment and
allocation, which may be briefly described as follows:
- Assignment - a user is assigned a set of one or more time slots of an RF channel on
which the user might receive data. The assigned time slots may be shared with up to
six other users. Assignment of time slots is semi-static and controlled by upper-layer
signaling.
- Allocation - a user is allocated a given time slot if data is sent in that time slot
to the user. Allocations of time slots are dynamic and controlled on a per packet
data block basis by the MAC layer. Each packet data block includes a header that indicates
the intended recipient of that packet data block.
[0037] For a voice call, a mobile station/user may be assigned one time slot for the duration
of the call. For a packet data call, a user may be assigned one or multiple time slots.
A multi-slot allocation is an allocation of more than one consecutive or nonconsecutive
time slot in a TDMA frame to a user. For both voice and packet data, user-specific
data for a user may be sent in each time slot assigned to that user and in TDMA frames
used for traffic data.
[0038] FIG. 3 shows transmission of a packet data block in GSM/EDGE. A packet data block may also
be referred to as a message, a packet, a data block, an RLC block, an RLC/MAC block,
or some other terminology. The packet data block is processed (e.g., formatted, encoded,
interleaved, and partitioned) to obtain four output blocks. Four bursts are then generated
for the four output blocks, as described below. The four bursts are sent in four time
slots with the same index in four consecutive TDMA frames. The packet data block is
thus sent over four TDMA frames to achieve time diversity.
1. Slot formats for physical layer
[0039] FIG. 4 shows the format of a normal burst 410 used to send traffic data in EDGE. Normal
burst 410 includes two tail bit fields, two data fields, two stealing flag (SF) fields,
a training sequence field, and a guard period. The duration of each field, in number
of symbols, is shown below the field. EDGE uses either GMSK or 8-PSK. Each symbol
carries one bit in GMSK and three bits in 8-PSK. Each tail bit field carries tail
bits, e.g., all ones or all zeros. The tail bits are used to set an equalizer/decoder
at the receiver to a known state at the start and end of the burst. The stealing flags
may be used to indicate which packet format is employed for a packet data block, whether
traffic data or signaling is being sent in the packet data block, and/or other information
regarding the packet data block. Each data field carries traffic data. The training
sequence field carries one of a set of predetermined 26-symbol sequences that are
identified by different training sequence codes (TSCs). The guard period is provided
to allow the transmitter to ramp up prior to the first tail bit field and to ramp
down after the last tail bit field in a manner to minimize interference to other RF
channels.
[0040] When EDGE uses GMSK, the normal burst format is slightly different from the normal
burst format used with 8-PSK. Stealing flag fields are used to distinguish among four
possible packet formats and are placed differently with respect to the 8-PSK case.
Each data field includes 58 symbols.
[0041] Normal burst 410 in FIG. 4 may be used to send 114 data symbols and 34 overhead symbols
in 156.25 symbol periods. This represents an efficiency of approximately 73% (or 114/156.25)
for data.
[0042] In an aspect, new slot formats having higher data efficiency are described. These
new slot formats remove certain overhead fields, such as the training sequence (TS)
field and the guard period, in some bursts to increase data capacity. Some new slot
formats also involve aggregation of multiple time slots in multi-slot allocations.
Some new slot formats may be used for single-slot allocations while other new slot
formats are suitable for multi-slot allocations.
[0043] FIG. 5A shows an embodiment of a TS-free burst 510 with no training sequence. TS-free burst
510 includes two tail bit fields and a data field. Each field may have the duration
given below the field. In this embodiment, the training sequence field and the two
stealing flag fields are omitted. TS-free burst 510 has an efficiency of approximately
91% (or 142/156.25) for data, which is an improvement of approximately 24% over normal
burst 410 in FIG. 4.
[0044] Various other bursts without training sequence may also be defined. In another embodiment,
a TS-free burst includes two tail bit fields, a data field, and a stealing flag field.
The stealing flag field may be located next to the left tail bit field, the right
tail bit field, or some other location within the burst. In yet another embodiment,
a TS-free burst includes multiple (e.g., two) stealing flag fields that may be located
in the symbol positions shown in FIG. 4 or some other positions. In yet another embodiment,
a stealing flag field is combined with the tail bit fields. For example, all zeros
for the tail bits may correspond to a stealing flag of '0', and all ones for the tail
bits may correspond to a stealing flag of '1'.
[0045] In yet another embodiment, a TS-free burst includes only a data field. The receiver
may utilize an equalizer that does not require tail bits at the start and end of a
burst. In yet another embodiment, a TS-free burst includes a cyclic prefix field followed
by a data field. The cyclic prefix field carries a copy of the rightmost portion of
the data field. The cyclic prefix converts a linear convolution into a circular convolution
and allows the receiver to take a fast Fourier transform (FFT) of a burst and perform
equalization in the frequency domain.
[0046] A TS-free burst, such as burst 510 in FIG. 5A, may be used for transmission whenever
acceptable performance can be achieved without a training sequence. In one embodiment,
a TS-free burst is used for a multi-slot allocation. For example, if N time slots
are allocated, where N > 1, then the first burst may carry the training sequence,
and the second through N-th bursts may omit the training sequence. The receiver may
derive a channel estimate based on the training sequence in the first burst and may
use this channel estimate for equalization of each subsequent burst. In another embodiment,
a TS-free burst is used for a static or slowly varying channel. For example, if the
user is stationary, then the wireless channel may not vary much over time, and good
performance may be achieved by sending the training sequence periodically (e.g., every
some number of time slots or TDMA frames) instead of every burst. It may also be possible
to achieve good performance without sending any training sequence.
[0047] In another embodiment, which may be used for single-slot and multi-slot allocations,
normal bursts and TS-free bursts are sent based on a predetermined pattern. This pattern
may indicate which time slots to send normal bursts and which time slots to send TS-free
bursts. For example, in a multi-slot allocation, the pattern may indicate transmission
of normal bursts in the first, middle, and/or other time slots and TS-free bursts
in remaining time slots. As another example, in a single-slot allocation, the pattern
may indicate transmission of a normal burst in every L-th TDMA frame and TS-free bursts
in remaining TDMA frames. The pattern may be defined based on channel conditions and/or
other factors and may be updated as needed. In general, if multiple bursts are sent
within a sufficiently short period of time (e.g., in consecutive time slots) to the
same user, then one or more bursts may be sent with training sequence, and remaining
bursts may be sent without training sequence.
[0048] In some embodiments described above, such as the embodiment shown in FIG. 5A, a TS-free
burst does not include any stealing flag field. Signaling may be sent in various manners.
In one embodiment, the first burst in a multi-slot transmission may include stealing
flags that may apply to all subsequent bursts in this multi-slot transmission. In
another embodiment, normal burst 410 may be used whenever a stealing flag is needed
to indicate transmission of signaling. The receiver may detect the format of a given
received burst, e.g., by correlating the received data in the training sequence field
against the known training sequence.
[0049] FIG. 5B shows an embodiment of a short TS burst 520 with a short training sequence. Short
TS burst 520 includes two tail bit fields, two data fields, and a short training sequence
field. Each field may have the duration given below the field. The short training
sequence is shorter than the (normal/full) training sequence in FIG. 4 and may have
a duration of five symbol periods, as shown in FIG. 5B, or some other duration. Various
other bursts with short training sequence may also be defined.
[0050] In general, any combination of normal bursts, TS-free bursts, and short TS bursts
may be used for single-slot and multi-slot transmissions. For example, a multi-slot
transmission may comprise a normal burst followed by short TS bursts. As another example,
a multi-slot transmission may comprise a normal burst followed by a combination of
short TS bursts and TS-free bursts. Short TS bursts may be sent periodically (e.g.,
every other time slot) to assist the receiver with channel tracking and equalization
processes. The receiver may be classified as belonging to one of multiple possible
classes. One class of receivers may be able to operate well without any training sequence
in time slots 2 through N. Another class of receivers may benefit from a short training
sequence sent in each of time slots 2 through N. Yet another class of receivers may
perform well with a short training sequence sent in only some of time slots 2 through
N. A combination of normal bursts, TS-free bursts, and/or short TS bursts may also
be used for single-slot transmissions.
[0051] FIG. 6A shows an embodiment of a 2-slot format 600 with no guard period between bursts. Slot
format 600 includes a full burst 610 having no guard period followed by a normal burst
620 with a guard period. Full burst 610 includes a single tail bit field, two data
fields, two stealing flag fields, and a training sequence field. The single tail bit
field is located at the start of burst 610, and no tail bit field is included at the
end of the burst. The second data field is extended to include the omitted tail bit
field and the omitted guard period. Normal burst 620 includes all of the fields of
normal burst 410 in FIG. 4 except for the first tail bit field at the start of the
burst. The first data field is extended to include the omitted tail bit field. Each
field of each burst may have the duration given below the field.
[0052] Various other full bursts without guard period may also be defined. For example,
a full burst may include (1) only one data field, (2) one or more data fields and
a training sequence field, (3) one or more data fields and a short training sequence
field, (4) one or more data fields, a training sequence field, and one or more stealing
flag fields, (5) one or more data fields and one or more tail bit fields, or (6) some
other combination of fields.
[0053] A full burst may be used in a multi-slot allocation to improve efficiency by sending
data in the guard period between two time slots allocated to the same user. If the
user is allocated multiple consecutive time slots, then the transmitter may ramp up
before the first time slot and ramp down after the last time slot. Other ramps may
be omitted, and data may be sent in all of the guard periods between the first and
last bursts.
[0054] The tail bit fields may be removed whenever ramp ups and ramp downs are omitted,
as shown in FIG. 6A. Other fields in bursts 610 and 620 may also be removed. For example,
one of the two training sequence fields may be removed, one of the two sets of stealing
flag fields may be removed, and so on.
[0055] FIG. 6B shows an embodiment of a 2-slot format 602 with a training sequence shared by two
bursts and no guard period between bursts. Slot format 602 includes full burst 610
followed by a TS-free burst 630. TS-free burst 630 includes a single data field, a
single tail bit field, and a guard period. The single tail bit field is located at
the end of burst 630, and no tail bit field is included at the start of the burst.
The data field is extended to include the omitted tail bit field, training sequence
field, and stealing flag fields. Each field of each burst may have the duration given
below the field.
[0056] In slot format 602, the training sequence is sent in the first burst 610 and is located
in the same position as the training sequence in normal burst 410 in FIG. 4. This
placement of the training sequence in slot format 602 may simplify receiver processing.
However, performance may be improved by moving the training sequence to another location.
[0057] FIG. 6C shows another embodiment of a 2-slot format 604 with a training sequence shared by
two bursts and no guard period between bursts. Slot format 604 includes a full burst
612 followed by a burst 632. The combination of bursts 612 and 632 includes all of
the fields of bursts 610 and 630 in FIG. 6B. However, in this embodiment, the training
sequence field and the two stealing flag fields are moved near the center of the two
aggregated bursts 612 and 632. Slot format 604 results in the data at the left and
right edges of the concatenated bursts having shorter distances to the training sequence
than in slot format 602. This centering of the training sequence may improve performance
in a time-variant channel.
[0058] FIGS. 6A through 6C show exemplary slot formats for two bursts. Other slot formats
for two bursts may also be defined with fewer, different, or additional fields and
possibly with the fields placed in other locations.
[0059] FIG. 7A shows an embodiment of an N-slot format 700 with a training sequence shared by N
bursts and no guard periods between bursts, where N > 2. Slot format 700 may be used
for a multi-slot allocation of more than two time slots. In this embodiment, a training
sequence field and two stealing flag fields are placed near the center of the N bursts.
The training sequence field and stealing flag fields may be located within a single
burst as shown in FIG. 7A (e.g., if N is an odd value) or may span across two bursts
as shown in FIG. 6C (e.g., if N is an even value). The first N-1 bursts may be full
bursts having no guard periods, and the last burst has a guard period. The first burst
may include a tail bit field located at the start of the burst, and the last burst
may include a tail bit field located at the end of the burst. In general, an N-slot
format may include any combination of fields that may be located anywhere within the
N bursts.
[0060] FIG. 7B shows an embodiment of an N-slot format 702 with full and short training sequences
and no guard periods between bursts, In this embodiment, a training sequence field
and two stealing flag fields are included in the first burst. A short training sequence
may be included in each subsequent burst or only some of the subsequent bursts.
[0061] In an embodiment, a 2-slot format is defined for two time slots, a 3-slot format
is defined for three time slots, a 4-slot format is defined for four time slots, and
so on. A specific slot format may thus be defined and used for each possible multi-slot
allocation. The receiver would then have knowledge of the slot format used for a given
multi-slot transmission based on the number of allocated time slots.
[0062] In general, various multi-slot formats may be defined for aggregation of time slots
in multi-slot allocations. Intermediate ramp ups and ramp downs, and hence the guard
periods, between allocated time slots may be removed. In an embodiment, a single training
sequence is sent in a multi-slot transmission, while the rest of the transmission
is mostly data, as shown in FIGS. 6B through 7B. In other embodiments, a multi-slot
transmission may include (1) a full training sequence and one or more short training
sequences, (2) multiple full training sequences, (3) multiple short training sequences,
(4) some other combination of full and short training sequences, or (5) no training
sequence. In one embodiment, tail bit fields are included at the start and end of
a multi-slot transmission, as shown in FIGS. 6A through 7B. In other embodiments,
one or more additional tail bit fields may be included during (e.g., in the middle
of) a multi-slot transmission.
[0063] The removal of overhead fields, such as the training sequence fields, guard periods,
stealing flag fields, and tail bit fields, allows more data symbols to be sent in
the removed overhead fields. The additional data capacity may be viewed as an increase
in bandwidth at the physical layer, which may be used to send more data symbols. The
additional data capacity may also be exploited to improve performance or increase
protection, as described below.
[0064] Slot aggregation refers to combining or aggregation of multiple time slots such that
the bursts sent in these time slots can share training sequence and achieve higher
data efficiency through removal of some overhead fields. As shown in FIGS. 6B through
7B, any number of time slots may be combined to form an aggregated slot. In one embodiment,
each time slot has a duration of 156.25 symbol periods. Multiple time slots may be
aggregated such that the guard period at the end of the last burst is at least 8 symbol
periods long. In another embodiment, a TDMA frame is defined having 8 time slots of
157, 156, 156, 156, 157, 156, 156 and 156 symbol periods. For both embodiments, continuous
symbol timing may be maintained across an entire aggregated slot so that complication
introduced by the 0.25 symbol between consecutive time slots can be avoided.
[0065] The removal of the training sequence may not degrade performance. For small aggregations
(e.g., aggregation of two time slots), the duration of a new slot format may still
be within the coherence time of interest. The coherence time is the time span in which
a wireless channel is deemed to be relatively static. For example, even at 200 Km/h
in GSM900 frequency band, the coherence time is approximately 3 ms, which is longer
than five time slots. The coherence time is even longer for lower velocities. Hence,
a single training sequence may be able to provide good performance when placed near
the middle of an aggregated slot covering four or possibly more time slots. Additional
full or short training sequence(s) may be sent, if needed, to achieve the desired
performance.
[0066] The receiver may also implement a channel tracking equalizer to improve performance
for larger aggregations (e.g., aggregation of four or more time slots). The channel
tracking equalizer may be based on an adaptive maximum likelihood sequence estimator
(MLSE), least mean square (LMS) and/or Kalman filtering, and so on.
2. Block formats for RLC/MAC
[0067] Referring back to FIG. 3, a packet data block includes a L2 header and an L2 payload.
The L2 header indicates the intended recipient of the packet data block among all
users assigned with the time slots used to send the packet data block. EDGE supports
coding schemes CS1 through CS4 and MC1 through MC9. The L2 payload carries one block
of data for coding schemes CS1 through CS4 and MCS1 through MCS6 and two blocks of
data for MCS7 through MCS9. Each block is appended with 12 parity bits (BCS) followed
by six '0' tail bits to form a formatted block. These parity bits are referred to
as a block code sequence (BCS) and are used for error detection. Each formatted block
is encoded with a convolutional code and punctured to obtain a code block having the
desired number of code bits. Similarly, the L2 header is appended with eight parity
bits followed by six tail bits, encoded with another convolutional code, and punctured
to generate a coded header. The parity bits for the L2 header are referred to as a
header code sequence (HCS) and are used for error detection. The coded header and
coded block(s) are multiplexed, interleaved, and partitioned into four output blocks.
Four bursts are generated for the four output blocks and sent in four time slots with
the same index in four consecutive TDMA frames, as shown in FIG. 3.
[0068] FIG. 8 shows transmission of two packet data blocks 810 in a 2-slot allocation. Each packet
data block 810 is processed to generate four bursts, which are sent in four time slots.
In general, with the conventional block format shown in FIG. 8, L packet data blocks
are sent in an allocation of L time slots, where L≥1. One packet data block is sent
in each allocated time slot. Each packet data block is processed and transmitted in
the same manner regardless of whether any other packet data blocks are also being
sent. Each packet data block includes an L2 header, which is overhead that reduces
data efficiency. The coded header represents a large percentage (approximately 17%)
of the coded packet data block for lower data rates of MCS1 through MCS4 in GSM.
[0069] In another aspect, new block formats having higher data efficiency are described.
These new block formats support aggregation of data to be sent in a multi-slot allocation
(or data block aggregation) and may be used for allocations of two or more time slots.
These new block formats may be used with conventional slot formats (e.g., normal burst
410 shown in FIG. 4) as well as with the new slot formats described above.
[0070] FIG. 9A shows a format of a packet data block 910 sent in a 2-slot allocation using normal
bursts 410 in FIG. 4. Packet data block 910 includes an L2 header that may have the
same size and format as the L2 header of packet data block 810 in FIG. 8. However,
the L2 payload of packet data block 910 is more than twice the L2 payload of packet
data block 810 due to the use only one L2 header for the 2-slot allocation. Packet
data block 910 is processed to generate four output blocks that are sent in four TDMA
frames. Each output block is sent as two bursts in two time slots of one TDMA frame.
[0071] FIG. 9B shows a format of a packet data block 920 sent in a 2-slot allocation using 2-slot
format 602 in FIG. 6B. Packet data block 920 includes an L2 header that may have the
same size and format as the L2 header of packet data block 810 in FIG. 8. However,
the L2 payload of packet data block 920 is larger than the L2 payload of packet data
block 910 due to the higher capacity of the two bursts in 2-slot format 602. For example,
packet data block 920 may include two blocks of data for coding schemes MCS1 through
MCS6 and four blocks of data for MCS7 through MCS9
[0072] FIG. 9C shows a format of a packet data block 930 sent in an N-slot allocation using N-slot
format 700 in FIG. 7A. Packet data block 930 may be processed to generate four output
blocks, which may be sent in four TDMA frames. Each output block is sent in an aggregated
slot composed of N time slots. Packet data block 930 includes a single L2 header and
has an L2 payload that is more than N times the L2 payload of packet data block 810.
The additional data capacity results from not having to include L2 headers for time
slots 2 through N as well as higher capacity of the N bursts in N-slot format 700.
[0073] FIGS. 9A through 9C show exemplary new block formats for 2-slot and N-slot allocations.
Other new block formats may also be defined. In an embodiment, a 2-slot block format
is defined for an allocation of two time slots, a 3-slot block format is defined for
an allocation of three time slots, a 4-slot block format is defined for an allocation
of four time slots, and so on. In this embodiment, a specific block format may be
used for each possible multi-slot allocation. The receiver would then have knowledge
of the packet data block being sent in a given multi-slot transmission based on the
number of allocated time slots.
[0074] In the embodiments described above, a packet data block is sent over four TDMA frames
to achieve time diversity. In other embodiments, a packet data block may be sent in
fewer or more than four TDMA frames. For example, to achieve a shorter transmission
time interval (TTI), a packet data block may be (1) partitioned into two output blocks
and sent in two TDMA, frames or (2) sent as one output block in one TDMA frame. Each
output block may be sent in multiple time slots with a multi-slot allocation.
3. Aggregation at physical and RLC/MAC layers
[0075] As shown in FIGS. 6A through 9C, aggregation of data blocks at RLC/MAC may be performed
independently of aggregation of time slots/bursts at the physical layer. For aggregation
at only the physical layer, multiple (K) packet data blocks may be processed to generate
K sets of output blocks. Each aggregated slot may then carry K output blocks for the
K packet data blocks. For aggregation at only RLC/MAC, a single packet data block
may be processed to generate multiple sets of four output blocks. Each set of output
blocks may then be sent in four time slots of the same index, as shown in FIGS. 9A
and 9B. For aggregation at both the physical layer and RLC/MAC, a single packet data
block may be processed to generate one set of output blocks, and each output block
may be sent in an aggregated slot composed of multiple time slots.
[0076] The new slot and block formats described herein improve data capacity by reducing
overhead. More data may be sent with the higher data capacity. Hence, higher data
rates and throughput may be achieved with the new slot and block formats.
[0077] The new slot and block formats also support more efficient coding schemes, which
may provide additional gains. Tail-biting convolutional coding in GSM with Viterbi
decoding may provide good performance for small block sizes (e.g., up to 150 bits).
Larger blocks may be sent using the multi-slot formats and/or multi-slot block formats
described above. The larger blocks may be encoded with more efficient codes such as
Turbo codes, hyper-codes, low density parity check (LDPC) codes, and/or some other
codes that can outperform tail-biting convolutional code for larger blocks (e.g.,
more than 150 bits). For example, a Turbo code with four iterations may yield gains
of approximately 1.5, 1.8 and 2.0 decibels (dB) in terms of energy-per-bit-to-total-noise
ratio (Eb/No) for larger packet data blocks sent in 2, 3 and 4 aggregated time slots,
respectively, over a convolutional code with constraint length of K = 7.
[0078] The new slot and block formats may also be used with a larger BCS (e.g., 16 bits
instead of 12 bits) for improve error detection performance, new puncturing and/or
coding schemes for improved error correction performance, or a combination thereof.
[0079] A wireless network may support conventional and new slot formats. Alternatively or
additionally, the wireless network may support conventional and new block formats.
Signaling may be used to indicate the capability of the wireless network and the mobile
stations in terms of support for the new slot and block formats. Signaling may also
be used to indicate whether conventional or new slot formats and whether conventional
or new block formats are being used. In an embodiment, signaling may be performed
as follows:
[0080] The new slot and block formats may be used for downlink transmission from a base
station to a mobile station as well as for uplink transmission from a mobile station
to a base station. The same or different new slot formats may be used for the downlink
and uplink. Similarly, the same or different new block formats may be used for the
downlink and uplink. The specific slot and block formats to use for each link may
be selected separately, e.g., based on capabilities of the wireless network and the
mobile station, channel conditions, and/or other factors.
[0081] FIG. 10 shows an embodiment of a process 1000 for transmitting data with slot aggregation.
Process 1000 may be performed by a transmitter, which may be a base station for downlink
transmission or a mobile station for uplink transmission. A data block is processed
(e.g., encoded, interleaved, and partitioned) to obtain multiple output blocks (block
1012). Multiple bursts comprising a training sequence that is shared by the multiple
bursts are generated for each output block (block 1014). The multiple bursts for each
output block are sent in multiple time slots (e.g., consecutive time slots in one
TDMA frame), one burst in each time slot (block 1016).
[0082] The multiple bursts for each output block may be generated in accordance with GSM/EDGE.
The multiple bursts may also be generated in various manners. The multiple bursts
may comprise a first burst with the training sequence and a second burst without a
training sequence, e.g., as shown in FIG. 6B. The training sequence may also be located
near the middle of the multiple bursts, e.g., as shown in FIGS. 6C and 7A. The multiple
bursts may further comprise at least one short training sequence, with each short
training sequence being shorter than the training sequence, e.g., as shown in FIG.
7B. For example, the training sequence may be sent in the first burst, and each remaining
burst may comprise a short training sequence.
[0083] The multiple bursts may have no guard period between adjacent bursts. A guard period
may follow the last burst. The multiple bursts may include at least one burst having
only data and tail bits, e.g., as shown in FIG. 5A, 6B and 7A. The multiple bursts
may comprise a first tail bit field located at the start of the first burst and a
second tail bit field located at the end of the last burst, e.g., as shown in FIGS.
6B through 7B. The multiple bursts may comprise at least one stealing flag field.
[0084] FIG. 11 shows an embodiment of a process 1100 for receiving data with slot aggregation. Process
1100 may be performed by a receiver, which may be a base station for uplink transmission
or a mobile station for downlink transmission. Multiple bursts comprising a training
sequence that is shared by the multiple bursts are received for each of multiple output
blocks (block 1112). The multiple bursts for each output block are received in multiple
time slots, one burst in each time slot. A channel estimate is derived for the multiple
bursts for each output block based on the training sequence in the multiple bursts
(block 1114). Data detection (e.g., equalization) is performed on the multiple bursts
for each output block with the channel estimate for the multiple bursts (block 1116).
The multiple bursts may further comprise at least one short training sequence. The
channel estimate for the multiple bursts for each output block may then be updated
with the at least one short training sequence in the multiple bursts for that output
block.
[0085] FIG. 12 shows an embodiment of a process 1200 for transmitting data with data block aggregation.
A data block is processed (e.g., encoded, interleaved, and partitioned) to obtain
multiple output blocks (block 1212). The data block may comprise a header indicating
the intended recipient of the data block and a payload carrying data. The data block
may have a size determined by the number of time slots allocated for the data block.
The data block may be encoded with a Turbo code, a convolutional code, and/or some
other code to generate coded data, and the coded data may be partitioned into the
multiple output blocks. At least two bursts are generated for each output block (block
1214). The at least two bursts for each output block are sent in at least two time
slots (e.g., consecutive time slots) of a respective frame, one burst in each time
slot (block 1216). The bursts for different output blocks are sent in different frames.
For example, four output blocks may be obtained for the data block, and the bursts
for the four output blocks may be sent in four consecutive frames.
[0086] The bursts for each output block may (1) comprise a training sequence that is shared
by these bursts, (2) have no guard period between adjacent bursts, and/or (3) comprise
a first tail bit field located at the start of the first burst and a second tail bit
field located at the end of the last burst. The bursts for each output block may also
have different and/or additional fields.
[0087] FIG. 13 shows an embodiment of a process 1300 for receiving data with data block aggregation.
At least two bursts are received for each of multiple output blocks (block 1312).
The bursts for different output blocks are received in different frames, and each
burst for each output block is received in one time slot of a respective frame. The
bursts received for the multiple output blocks are processed (e.g., equalized) to
obtain symbol estimates (block 1314). For block 1314, a channel estimate may be derived
for the bursts for each output block based on the training sequence in these bursts.
The bursts for each output block may then be equalized with the channel estimate to
obtain the symbol estimates for the output block. The symbol estimates are decoded
(e.g., with a Turbo decoder, a Viterbi decoder, or some other decoder) to obtain a
decoded data block (block 1316).
[0088] Those of skill in the art would understand that information and signals may be represented
using any of a variety of different technologies and techniques. For example, data,
instructions, commands, information, signals, bits, symbols, and chips that may be
referenced throughout the above description may be represented by voltages, currents,
electromagnetic waves, magnetic fields or particles, optical fields or particles,
or any combination thereof.
[0089] Those of skill would further appreciate that the various illustrative logical blocks,
modules, circuits, and algorithm steps described in connection with the embodiments
disclosed herein may be implemented as electronic hardware, computer software, or
combinations of both. To clearly illustrate this interchangeability of hardware and
software, various illustrative components, blocks, modules, circuits, and steps have
been described above generally in terms of their functionality. Whether such functionality
is implemented as hardware or software depends upon the particular application and
design constraints imposed on the overall system. Skilled artisans may implement the
described functionality in varying ways for each particular application, but such
implementation decisions should not be interpreted as causing a departure from the
scope of the present invention.
[0090] The various illustrative logical blocks, modules, and circuits described in connection
with the embodiments disclosed herein may be implemented or performed with a general
purpose processor, a digital signal processor (DSP), an application specific integrated
circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic
device, discrete gate or transistor logic, discrete hardware components, or any combination
thereof designed to perform the functions described herein. A general-purpose processor
may be a microprocessor, but in the alternative, the processor may be any conventional
processor, controller, microcontroller, or state machine. A processor may also be
implemented as a combination of computing devices, e.g., a combination of a DSP and
a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction
with a DSP core, or any other such configuration.
[0091] The steps of a method or algorithm described in connection with the embodiments disclosed
herein may be embodied directly in hardware, in a software module executed by a processor,
or in a combination of the two. A software module may reside in RAM memory, flash
memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable
disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary
storage medium is coupled to the processor such that the processor can read information
from, and write information to, the storage medium. In the alternative, the storage
medium may be integral to the processor. The processor and the storage medium may
reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the
processor and the storage medium may reside as discrete components in a user terminal.
[0092] Headings are included herein for reference and to aid in locating certain sections.
These headings are not intended to limit the scope of the concepts described therein
under, and these concepts may have applicability in other sections throughout the
entire specification.
[0093] The previous description of the disclosed embodiments is provided to enable any person
skilled in the art to make or use the present invention. Various modifications to
these embodiments will be readily apparent to those skilled in the art, and the generic
principles defined herein may be applied to other embodiments without departing from
the spirit or scope of the invention. Thus, the present invention is not intended
to be limited to the embodiments shown herein but is to be accorded the widest scope
consistent with the principles and novel features disclosed herein.
FURTHER SUMMARY OF THE INVENTION
[0094]
- 1. An apparatus comprising:
at least one processor configured to generate multiple bursts comprising a training
sequence that is shared by the multiple bursts and to send the multiple bursts in
multiple time slots, one burst in each time slot; and
a memory coupled to the at least one processor.
- 2. The apparatus of 1, wherein the multiple bursts comprise a first burst with the
training sequence and a second burst without a training sequence.
- 3. The apparatus of 1, wherein the training sequence is located near the middle of
the multiple bursts.
- 4. The apparatus of 1, wherein the multiple bursts further comprise at least one short
training sequence, each short training sequence being shorter than the training sequence.
- 5. The apparatus of 1, wherein the training sequence is sent in a first burst of the
multiple bursts, and wherein each remaining burst comprises a short training sequence
that is shorter than the training sequence.
- 6. The apparatus of 1, wherein the multiple bursts have no guard periods between adjacent
bursts.
- 7. The apparatus of 1, wherein a guard period follows a last burst of the multiple
bursts.
- 8. The apparatus of 1, wherein the multiple bursts comprise at least one burst having
only data and tail bits.
- 9. The apparatus of . 1, wherein the multiple bursts further comprise a first tail
bit field located at the start of a first burst and a second tail bit field located
at the end of a last burst among the multiple bursts.
- 10. The apparatus of 1, wherein the multiple bursts further comprise at least one
stealing flag field.
- 11. The apparatus of 1, wherein the multiple bursts are sent in consecutive time slots
of a frame.
- 12. The apparatus of 1, wherein the at least one processor processes a data block
to obtain multiple output blocks and generates the multiple bursts for each of the
multiple output blocks.
- 13. The apparatus of 1, wherein the at least one processor generates the multiple
bursts in accordance with Global System for Mobile Communications (GSM) and Enhanced
Data rates for Global Evolution (EDGE).
- 14. A method comprising:
generating multiple bursts comprising a training sequence that is shared by the multiple
bursts; and
sending the multiple bursts in multiple time slots, one burst in each time slot.
- 15. The method of 14, wherein the generating the multiple bursts comprises generating
the multiple bursts to have no guard periods between adjacent bursts.
- 16. The method of 14, wherein the generating the multiple bursts comprises generating
at least one burst to have only data and tail bits.
- 17. The method of 14, wherein the generating the multiple bursts comprises generating
the multiple bursts in accordance with Global System for Mobile Communications (GSM)
and Enhanced Data rates for Global Evolution (EDGE).
- 18. An apparatus comprising:
means for generating multiple bursts comprising a training sequence that is shared
by the multiple bursts; and
means for sending the multiple bursts in multiple time slots, one burst in each time
slot.
- 19. The apparatus of 18, wherein the means for generating the multiple bursts comprises
means for generating the multiple bursts to have no guard periods between adjacent
bursts.
- 20. The apparatus of 18, wherein the means for generating the multiple bursts comprises
generating at least one burst to have only data and tail bits.
- 21. The apparatus of 18, wherein the means for generating the multiple bursts comprises
means for generating the multiple bursts in accordance with Global System for Mobile
Communications (GSM) and Enhanced Data rates for Global Evolution (EDGE).
- 22. An apparatus comprising:
at least one processor configured to receive multiple bursts comprising a training
sequence that is shared by the multiple bursts, to derive a channel estimate based
on the training sequence, and to perform data detection on the multiple bursts with
the channel estimate, wherein the multiple bursts are received in multiple time slots,
one burst in each time slot; and
a memory coupled to the at least one processor.
- 23. The apparatus of 22, wherein the multiple bursts further comprise at least one
short training sequence, each short training sequence being shorter than the training
sequence, and wherein the at least one processor updates the channel estimate with
the at least one short training sequence.
- 24. An apparatus comprising:
at least one processor configured to process a data block to obtain multiple output
blocks, to generate at least two bursts for each output block, and to send the at
least two bursts for each output block in at least two time slots of a respective
frame, one burst in each time slot, and wherein bursts for different output blocks
are sent in different frames; and
a memory coupled to the at least one processor.
- 25. The apparatus of 24, wherein the at least two bursts for each output block are
sent in consecutive time slots.
- 26. The apparatus of 24, wherein four output blocks are obtained for the data block,
and wherein the bursts for the four output blocks are sent in four consecutive frames.
- 27. The apparatus of 24, wherein the data block comprises a header indicating an intended
recipient of the data block and a payload carrying data.
- 28. The apparatus of 24, wherein the data block has a size determined based on the
number of time slots allocated for the data block.
- 29. The apparatus of 24, wherein the at least one processor encodes the data block
with a Turbo code to generate coded data and partitions the coded data into the multiple
output blocks.
- 30. The apparatus of 24, wherein the at least two bursts for each output block comprise
a training sequence that is shared by the at least two bursts.
- 31. The apparatus of 24, wherein the at least two bursts for each output block have
no guard periods between adjacent bursts.
- 32. The apparatus of 24, wherein the at least two bursts for each output block comprise
a first tail bit field located at the start of a first burst and a second tail bit
field located at the end of a last burst among the at least two bursts.
- 33. A method comprising:
processing a data block to obtain multiple output blocks;
generating at least two bursts for each output block; and
sending the at least two bursts for each output block in at least two time slots of
a respective frame, one burst in each time slot, and wherein bursts for different
output blocks are sent in different frames.
- 34. The method of 33, further comprising:
determining size of the data block based on the number of time slots allocated for
the data block.
- 35. The method of 33, wherein the generating the at least two bursts for each output
block comprises generating the at least two bursts for each output block to include
a training sequence that is shared by the at least two bursts.
- 36. An apparatus comprising:
means for processing a data block to obtain multiple output blocks;
means for generating at least two bursts for each output block; and
means for sending the at least two bursts for each output block in at least two time
slots of a respective frame, one burst in each time slot, and wherein bursts for different
output blocks are sent in different frames.
- 37. The apparatus of 36, further comprising:
means for determining size of the data block based on the number of time slots allocated
for the data block.
- 38. The apparatus of 36, wherein the means for generating the at least two bursts
for each output block comprises means for generating the at least two bursts for each
output block to include a training sequence that is shared by the at least two bursts.
- 39. An apparatus comprising:
at least one processor configured to receive at least two bursts for each of multiple
output blocks, to process the bursts received for the multiple output blocks to obtain
symbol estimates, and to decode the symbol estimates to obtain a decoded data block,
wherein bursts for different output blocks are received in different frames, and wherein
each burst for each output block is received in one time slot of a respective frame;
and
a memory coupled to the at least one processor.
- 40. The apparatus of 39, wherein the at least two bursts for each output block comprise
a training sequence, and wherein the at least one processor derives a channel estimate
for the at least two bursts for each output block based on the training sequence in
the at least two bursts, and processes the at least two bursts for each output block
with the channel estimate to obtain symbol estimates for the output block.