U.S. patent application number 10/969515 was filed with the patent office on 2005-03-10 for method and device for receiving information symbols over multiplexed channels.
This patent application is currently assigned to NORTEL NETWORKS LIMITED. Invention is credited to Gosne, Stephane, Le Strat, Evelyne, Leretaille, Catherine.
Application Number | 20050053166 10/969515 |
Document ID | / |
Family ID | 8845946 |
Filed Date | 2005-03-10 |
United States Patent
Application |
20050053166 |
Kind Code |
A1 |
Le Strat, Evelyne ; et
al. |
March 10, 2005 |
Method and device for receiving information symbols over
multiplexed channels
Abstract
A scheme for multiplexing transport channels on one or several
communication channels is used to operate in a normal mode and in a
compressed mode which requires a lower symbol rate to provide in
active periods in the communication channels. To match the symbol
rate on each of the transport channels, a symbol puncturing is
performed in two passes: marked symbols are introduced and are
subjected, along with the other information symbols, to different
operations including an interleaving, before being deleted from the
transmitted sequence. Accordingly, those operations can be
performed in the same manner in the normal and compressed modes,
which limits the complexity of the communicating entities.
Inventors: |
Le Strat, Evelyne; (Paris,
FR) ; Leretaille, Catherine; (Paris, FR) ;
Gosne, Stephane; (Issy-Les-Moulineaux, FR) |
Correspondence
Address: |
Michael L. Kenaga
Piper Rudnick LLP
P.O. Box 64807
Chicago
IL
60664-0807
US
|
Assignee: |
NORTEL NETWORKS LIMITED
|
Family ID: |
8845946 |
Appl. No.: |
10/969515 |
Filed: |
October 20, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10969515 |
Oct 20, 2004 |
|
|
|
09759843 |
Mar 26, 2001 |
|
|
|
Current U.S.
Class: |
375/260 |
Current CPC
Class: |
H04L 1/1819 20130101;
H04L 1/08 20130101; H04L 1/0071 20130101; H04L 1/0009 20130101;
H04L 1/0068 20130101; H04L 1/0066 20130101 |
Class at
Publication: |
375/260 |
International
Class: |
H04K 001/10 |
Foreign Application Data
Date |
Code |
Application Number |
Jan 14, 2000 |
FR |
00 00494 |
Claims
1. Method of processing Y digital streams obtained from a received
signal and comprising estimates of information symbols respectively
transmitted along Y communication channels simultaneously occupying
a transmission resource organized as successive frames, and
pertaining to X transport channels, X and Y being positive
integers, wherein the successive frames include compressed-mode
frames each having at least one inactive period during which no
symbol is transmitted, and wherein the estimates of information
symbols pertaining to each transport channel i
(1.ltoreq.i.ltoreq.X) are received in successive transmission time
intervals each comprising F.sub.i consecutive frames, F.sub.i being
a positive integer, the method comprising the following steps for
each frame: forming, in relation to each communication channel j
(1.ltoreq.j.ltoreq.Y) a first sequence composed of estimates
extracted from the time slots of said frame and, when said frame is
in compressed mode, of marked estimates placed at positions
corresponding to the inactive period of said frame; for each
communication channel, forming a second sequence of estimates by a
permutation of the estimates of the first sequence; forming a third
sequence of estimates including estimates of the second sequence
output for each communication channel; and distributing the
estimates of the third sequence into X segments of consecutive
estimates, the X segments being respectively assigned to the X
transport channels, and the following steps for each transmission
time interval relating to a transport channel: forming a fourth
sequence by concatenating the respective segments assigned to said
transport channel for the frames of said transmission time
interval; permuting the estimates of the fourth sequence and
forming a fifth sequence of estimates extracted from the permuted
fourth sequence; ignoring each marked estimate of the fifth
sequence, and forming a sixth sequence of symbols on the basis of
the other estimates of the fifth sequence; and decoding the sixth
sequence of estimates and outputting the decoded estimates.
2. Method according to claim 1, wherein the step of forming the
third sequence for at least one frame comprises concatenating the
second sequences formed for the Y communication channels and
deleting at least one estimate having a determined position in the
concatenated sequence.
3. Method according to claim 1, wherein the step of forming the
fifth sequence for at least one transmission time interval relating
to a transport channel comprises deleting at least one estimate
having a determined position in the permuted fourth sequence.
4. Device for processing Y digital streams obtained from a received
signal and comprising estimates of information symbols respectively
transmitted along Y communication channels simultaneously occupying
a transmission resource organized as successive frames, and
pertaining to X transport channels, X and Y being positive
integers, the successive frames including compressed-mode frames
each having at least one inactive period during which no symbol is
transmitted, and the estimates of information symbols pertaining to
each transport channel i (1.ltoreq.i.ltoreq.X) being received in
successive transmission time intervals each comprising F.sub.i
consecutive frames, F.sub.i being a positive integer, the device
comprising: means for forming, for each frame in relation to each
communication channel, a first sequence composed of estimates
extracted from the time slots of said frame and, when said frame is
in compressed mode, marked estimates placed at positions
corresponding to the inactive period of said frame; means for
forming, for each frame in relation to each communication channel,
a second sequence of estimates by permutation of the estimates of
the first sequence; means for forming, for each frame, a third
sequence of estimates including estimates of the second sequence
output for each communication channel; means for distributing the
estimates of the third sequence formed for each frame into X
segments of consecutive estimates, the X segments being
respectively assigned to the X transport channels; means for
forming a fourth sequence for each transmission time interval
relating to a transport channel, by concatenating the respective
segments assigned to said transport channel for the frames of said
transmission time interval; means for permuting the estimates of
the fourth sequence formed for each transmission time interval
relating to transport channel, and for forming a fifth sequence of
estimates extracted from the fourth permuted sequence; means for
deleting each marked estimate of the fifth sequence formed for each
transmission time interval relating to a transport channel, and for
forming a sixth sequence of symbols on the basis of the other
estimates of the fifth sequence; and means for decoding the sixth
sequence of estimates formed for each transmission time interval
relating to a transport channel, to output the decoded
estimates.
5. Device according to claim 4, wherein the means for forming the
third sequence of estimates comprise means for concatenating the
second sequences formed for the Y communication channels and means
for deleting at least one estimate having a determined position in
the concatenated sequence.
6. Device according to claim 4, wherein the means for forming the
fifth sequence comprise means for deleting at least one estimate
having a determined position in the permuted fourth sequence.
7. Radiocommunication terminal, comprising reception means to
provide Y digital streams from a received signal and processing
means for processing said Y digital streams to feed X transport
channels, X and Y being positive integers, said Y digital streams
including estimates of information symbols pertaining to the X
transport channels and respectively transmitted along Y
communication channels simultaneously occupying a transmission
resource organized as successive frames, the successive frames
including compressed-mode frames each having at least one inactive
period during which no symbol is transmitted, the estimates of
information symbols pertaining to each transport channel i
(1.ltoreq.i.ltoreq.X) being received in successive transmission
time intervals each comprising F.sub.i consecutive frames, F.sub.i
being a positive integer, wherein the processing means comprise:
means for forming, for each frame in relation to each communication
channel, a first sequence composed of estimates extracted from the
time slots of said frame and, when said frame is in compressed
mode, marked estimates placed at positions corresponding to the
inactive period of said frame; means for forming, for each frame in
relation to each communication channel, a second sequence of
estimates by permutation of the estimates of the first sequence;
means for forming, for each frame, a third sequence of estimates
including estimates of the second sequence output for each
communication channel; means for distributing the estimates of the
third sequence formed for each frame into X segments of consecutive
estimates, the X segments being respectively assigned to the X
transport channels; means for forming a fourth sequence for each
transmission time interval relating to a transport channel, by
concatenating the respective segments assigned to said transport
channel for the frames of said transmission time interval; means
for permuting the estimates of the fourth sequence formed for each
transmission time interval relating to a transport channel, and for
forming a fifth sequence of estimates extracted from the fourth
permuted sequence; means for deleting each marked estimate of the
fifth sequence formed for each transmission time interval relating
to a transport channel, and for forming a sixth sequence of symbols
on the basis of the other estimates of the fifth sequence; and
means for decoding the sixth sequence of estimates formed for each
transmission time interval relating to a transport channel, to
output decoded estimates for the transport channel.
8. Terminal according to claim 7, wherein the means for forming the
third sequence of estimates comprise means for concatenating the
second sequences formed for the Y communication channels and means
for deleting at least one estimate having a determined position in
the concatenated sequence.
9. Terminal according to claim 7, wherein the means for forming the
fifth sequence comprise means for deleting at least one estimate
having a determined position in the permuted fourth sequence.
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates to digital transmissions, and
more precisely to the shaping of one or more streams of information
symbols to be transmitted over one or more communication
channels.
[0002] In the present description, the invention will be described
more particularly in its application, nonlimiting, to third
generation radio communication networks of the UMTS type
("Universal Mobile Telecommunication System"). A general
description of this system is presented in the article: "L'UMTS: la
gnration des mobiles multimdia" [UMTS: the generation of the
multimedia mobile] by P. Blanc et al., L'Echo des Recherches, no.
170, 4.sup.th quarter 1997/1.sup.st quarter 1998, pages 53-68. In
this system, the invention finds application within the framework
of downlinks, that is to say from the base stations to the terminal
equipment, in frequency duplex mode (or FDD, "Frequency Domain
Duplex").
[0003] UMTS is a radio communication system using code-division
multiple access (CDMA), that is to say the symbols transmitted are
multiplied by spreading codes consisting of samples known as
"chips" whose rate (3.84 Mchip/s in the case of UMTS) is greater
than that of the symbols transmitted. The spreading codes
distinguish between various physical channels PhCH which are
superimposed on the same transmission resource constituted by
carrier frequency. The auto- and cross-correlation properties of
the spreading codes enable the receiver to separate the PhCHs and
to extract the symbols intended for it. For UMTS in FDD mode on the
downlink, a scrambling code is allocated to each base station, and
various physical channels used by this base station are
distinguished by mutually orthogonal "channelization" codes. For
each PhCH, the global spreading code is the product of the
"channelization" code and the scrambling code of the base station.
The spreading factor (equal to the ratio of the chip rate to the
symbol rate) is a power of 2 lying between 4 and 512. This factor
is chosen as a function of the bit rate of the symbols to be
transmitted on the PhCH.
[0004] The various physical channels obey a frame structure
illustrated in FIG. 1. The 10 ms frames follow one another on the
carrier frequency used by the base station. Each frame is
subdivided into 15 time slots of 666 .mu.s. Each slot can carry the
superimposed contributions of one or more physical channels,
comprising common channels and dedicated channels DPCH ("Dedicated
Physical CHannel"). The lower chart of FIG. 1 illustrates the
contribution of a downlink DPCH at a time slot in FDD mode, which
comprises:
[0005] a certain number of pilot symbols PL placed at the end of
the slot. Known a priori to the terminal, these symbols PL enable
it to acquire the synchronization and to estimate parameters which
are useful in demodulating the signal;
[0006] a transport format combination indicator TFCI placed at the
start of the slot;
[0007] a transmit power control TPC to be used by the terminal on
the uplink; and
[0008] two data fields, denoted DATA1 and DATA2, placed either side
of the TPC field.
[0009] The DPCH can thus be seen as amalgamating a physical channel
dedicated to control, or DPCCH ("Dedicated Physical Control
CHannel"), corresponding to the fields TFCI, TPC and PL, and a
physical channel dedicated to the data, or DPDCH ("Dedicated
Physical Data CHannel"), corresponding to the fields DATA1 and
DATA2.
[0010] For one and the same communication, it is possible to
establish several DPCHs corresponding to different "channelization"
codes, whose spreading factors may be equal or different. This
situation is encountered in particular when a DPDCH is insufficient
to provide the transmission bit rate required by the application.
In what follows, Y will denote the number, equal to or greater than
1, of downlink physical channels used for one and the same
communication from a base station.
[0011] Moreover, this same communication can use one or more
transport channels TrCH. Multiplexed TrCHs are typically used for
multimedia transmissions, in which signals of different natures to
be transmitted simultaneously require different transport
characteristics, in particular as regards protection against
transmission errors. On the other hand, certain coders may output,
in order to represent a given signal (audio for example), several
streams of symbols having different perceptual importances and
therefore requiring different degrees of protection. Multiple TrCHs
are then used to transport these various symbol streams. In what
follows, X will denote the number, equal to or greater than 1, of
transport channels used for a given communication on the aforesaid
Y physical channels.
[0012] For each transport channel i (1.ltoreq.i.ltoreq.X), there is
defined a transmission time interval TTI composed of F.sub.i
consecutive frames, with F.sub.i=1, 2, 4 or 8. Typically, the
shorter the delay with which the signal conveyed by the transport
channel must be received, the shorter is the TTI used. For example,
a TTI of 10 ms (F.sub.i=1) will be used for a telephony
application, while a TTI of 80 ms (F.sub.i=8) may be used for a
data transmission application.
[0013] The multiplexing of the X streams of information symbols
emanating from the TrCHs on the Y PhCHs is described in detail in
the technical specification 3G TS 25.212, "Multiplexing and channel
coding (FDD)", version 3.0.0 published in October 1999 by the 3GPP
(3.sup.rd Generation Partnership Project), which can be loaded from
ftp://ftp.3gpp.org/Specs/O- ctober.sub.--99/25_series/.
[0014] FIG. 2 diagrammatically illustrates the sending part of a
UMTS base station operating in FDD mode. Block 1 denotes the set of
sources respectively outputting streams of information symbols
a.sub.i (1.ltoreq.i.ltoreq.X) in relation to the X TrCHs used in a
communication.
[0015] Block 2 multiplexes the streams a.sub.i to form what is
referred to as a coded composite transport channel, or CCTrCH,
which is subsequently subdivided into one or more physical channels
PhCH#j (1.ltoreq.j.ltoreq.Y) on which synchronized streams of
symbols respectively denoted r.sub.j are transmitted.
[0016] Block 3 designates the circuits which modulate the streams
r.sub.j and combine them to form a signal processed by the radio
stage 4 before being sent over the air interface. Block 3 caters
for the spreading, by the "channelization" codes assigned to the
PhCHs, of each of the streams r.sub.j, as well as of any additional
streams which may be output in respect of other communications
supported at the same moment by the base station, the various
streams of symbols thus spread being subsequently summed and then
multiplied by the scrambling code of the base station. The
sequencing and parameterization of blocks 1, 2, 3 is catered for by
a control unit 5 in accordance with the parameters defined for the
base station and for the relevant communication.
[0017] FIG. 3 diagrammatically illustrates the receiving part of a
UMTS terminal communicating in FDD mode with a base station
according to FIG. 2. Block 7 demodulates the baseband signal
restored by the radio stage 6 from the signal picked up by the
antenna of the terminal, using the scrambling code of the base
station and the Y "channelization" codes assigned to the terminal.
For each of the Y physical channels j (1.ltoreq.j.ltoreq.Y), block
7 outputs data r'.sub.j representing estimates of the symbols of
the stream r.sub.j formed at base station level.
[0018] In the case where the symbols are bits, the estimates
r'.sub.j are "softbits", that is to say numerical values whose sign
characterizes the estimated bit and whose absolute value represents
the likelihood of this estimate.
[0019] The Y data streams r'.sub.j are delivered to a
demultiplexing block 8 which performs the operations inverse to
those of the multiplexer 2 of the base station. This block 8
outputs for each transport channel i (1.ltoreq.i.ltoreq.X) a stream
a'.sub.i of estimates (softbits or hardbits) of the symbols of the
stream a.sub.i. These estimates a'.sub.i are delivered to the
processing circuit of the TrCH i belonging to the block 9. The
sequencing and parameterization of blocks 7, 8, 9 is catered for by
a control unit 10 of the terminal.
[0020] As is usual in the field of digital radiocommunications, the
blocks 1-3,5 of the base station and 7-10 of the terminal can be
embodied by programming one or more digital signal processors
and/or by using specific logic circuits.
[0021] FIGS. 4 and 5 respectively detail the various functional
modules of the multiplexing block 2 and demultiplexing block 8 (see
the aforesaid specification 3G TS 25.212). In these figures, the
references bearing the index i (1.ltoreq.i.ltoreq.X) designate the
elements referring to TrCH i (blocks 20.sub.i and 40.sub.i), the
references bearing the index j designating the elements referring
to PhCH j (1.ltoreq.j.ltoreq.Y), and the references with no index
referring to the operations performed for each frame at CCTrCH
level.
[0022] The stream a.sub.i to be transmitted on each TRCH i is
composed of binary symbols output in the form of successive
transport blocks TrBk. The module 21.sub.i completes each TrBk by
adding thereto a cyclic redundancy code CRC, serving to detect any
transmission errors. The TrBk b.sub.i are then concatenated and/or
segmented by the module 22.sub.i so as to form blocks o.sub.i of
appropriate size for the input of the channel coder 23.sub.i.
[0023] For each TTI of transport channel i, the channel coder
23.sub.i outputs a sequence c.sub.i of E.sub.i coded bits denoted
c.sub.i,m (1.ltoreq.m.ltoreq.E.sub.i). Two types of error
correcting code may be applied by the module 23.sub.i:
[0024] a convolutional code of rate 1/2 or 1/3 and of constraint
length K=9;
[0025] a turbo code of rate 1/3 for the applications which require
the lowest error rates. In this case, the bits c.sub.i,3p+q of the
output sequence from the coder are systematic bits (copies of the
input blocks o.sub.i) if q=1, and parity bits if q=2 or 0.
[0026] The bit rate matching modules 24.sub.i delete (puncture) or
repeat bits of the sequences c.sub.i so as to match the bit rate of
the TrCHs to the global bit rate allowable on the PhCH or PhCHs
given their spreading factors. For each TTI on TrCH i, there is
defined, from the information provided by the higher protocol
layers, a parameter .DELTA.N.sub.i.sup.TTI, negative in the case of
puncturing and positive in the case of repetition. The sequence
g.sub.i produced by the module 24.sub.i for the TTI is composed of
G.sub.i=E.sub.i+.DELTA.N.sub.i.sup.TT- I bits denoted g.sub.i,n
(1.ltoreq.n.ltoreq.G.sub.i). In the case where the module 23.sub.i
has used a turbo code, the puncturing applied by the module
24.sub.i if .DELTA.N.sub.i.sup.TTI<0 is limited to the parity
bits, given the greater importance of the systematic bits to the
decoder.
[0027] In a given frame, the periods devoted to the various TrCHs
of the communication may have fixed positions (before the
intra-frame interleaving mentioned below) or variable positions. In
the case of fixed positions, it may be necessary to append to the
sequence g.sub.i, by means of the module 25.sub.i, one or more
marked symbols which will not be transmitted (the value of the
corresponding bit will for example be set to zero instead of .+-.1
in the output stream r.sub.j comprising such a symbol so that the
transmission power of the symbol is zero). The DTX ("Discontinuous
Transmission") bits thus marked are denoted ".delta.". In the
exemplary implementation considered here in a nonlimiting manner,
each symbol h.sub.i,n of the sequence h.sub.i output by the module
25.sub.i (0.ltoreq.n.ltoreq.F.sub.i.H.sub.i, with
G.sub.i.ltoreq.F.sub.i.- H.sub.i) is represented by two bits:
h.sub.i,n=(0, g.sub.i,n) if n.ltoreq.G.sub.i;
h.sub.i,n=(1, 0) if G.sub.i<n.ltoreq.F.sub.i.H.sub.i (marked
bits ".delta.").
[0028] The interleaving module 26i performs a permutation of the
sequence h.sub.i, with a view to distributing the symbols
pertaining to the TTI over the F.sub.i frames which it covers. This
interleaving consists in writing the symbols of the sequence
h.sub.i successively into the rows of a matrix comprising F.sub.i
columns, in permuting the columns of the matrix, and in then
reading the symbols of the matrix column by column to form the
sequence denoted q.sub.i. The module 27.sub.i then chops the
sequence h.sub.i into F.sub.i segments of consecutive symbols
corresponding to the F.sub.i columns of the interleaving matrix
after permutation, and respectively assigns these segments to the
F.sub.i frames of the TTI to form a sequence denoted f.sub.i for
each frame and each TrCH i (1.ltoreq.i.ltoreq.X).
[0029] In accordance with the specification 3G TS 25.212, the
permutation of columns performed by the interleaver 26i is such
that the symbol h.sub.i,n is found in the frame of rank
n.sub.i=BR(n-1, F.sub.i) of the TTI, the frames of the TTI being
numbered from n.sub.i=0 to n.sub.i=F.sub.i-1, and BR(x, 2.sup.y)
being defined as the integer whose representation to the base 2
corresponds to the reading in the reverse direction of the
representation to the base 2 on y digits of the remainder from the
Euclidean division of x by 2.sup.y (for example BR(51, 8)=BR(3,
8)=BR([011].sub.2, 2.sup.3)=[110].sub.2=6.
[0030] The sequences f.sub.i produced for the various TrCHs of the
communication (1.ltoreq.i.ltoreq.X) are multiplexed, that is to say
placed one after the other, by a module 28 forming a sequence s of
S symbols for the CCTrCH. In the case where the periods devoted to
the various TrCHs of the communication have variable positions, it
may be necessary to append to the sequence s, by means of the
module 29, one or more marked symbols ".delta.". In the exemplary
implementation considered here, each symbol w.sub.k of the sequence
w output by the module 29 1 ( 1 k j = 1 Y U j ,
[0031] with 2 S j = 1 Y U j
[0032] and U.sub.j equal to the number of bits per frame on the
DPDCH of physical channel j, which number depends on the spreading
factor allocated to the channel) is represented by two bits:
w.sub.k=(0, s.sub.k) if k.ltoreq.S;
[0033] 3 w k = ( 1 , 0 ) if S < k j = 1 Y U j .
[0034] The module 30 subsequently chops the sequence w into Y
segments of U.sub.1, U.sub.2, . . . , U.sub.Y consecutive symbols,
and respectively assigns these segments to the Y PhCHs to form a
sequence denoted u.sub.j for each PhCH j (1.ltoreq.j.ltoreq.Y). The
interleaving module 31.sub.j performs a permutation of the sequence
u.sub.j, with a view to distributing the symbols, within the
current frame, over the Y PhCHs employed by the communication. This
interleaving consists in writing the symbols of the sequence
u.sub.j successively to the rows of a matrix comprising thirty
columns, in permuting the columns of the matrix, and in then
reading the symbols of the matrix column by column to form the
sequence, denoted v.sub.j, of U.sub.j symbols.
[0035] The module 32.sub.j for mapping the physical channel finally
distributes the successive symbols of the sequence v.sub.j into the
fields DATA1 and DATA2 of the time slots of the current frame. The
module 32.sub.j can translate the information bits with values 0 or
1 into signed bits (.+-.1), and assign the value 0 to the marked
bits ".delta.". It furthermore supplements the stream r.sub.j
addressed to the block 3 by inserting the appropriate signalling
bits into the fields PL, TFCI and TPC of the DPCCH.
[0036] The demultiplexing block 8 comprises modules which perform,
in the reverse direction, the operations which are dual to those of
the modules 20.sub.i-32.sub.j of the multiplexing block 2. In FIG.
5, the primed references correspond to the estimates of the symbols
bearing the same unprimed references in FIG. 4. For the symbols
composed of two bits formatted as indicated hereinabove by reason
of the marking of the bits ".delta.", these estimates (softbits)
refer to the least significant bit.
[0037] For each 10 ms frame and each PhCH, the module 52.sub.j
extracts the sequence v'.sub.j of U.sub.j softbits pertaining to
the DPDCH from the fields DATA1 and DATA2 of the demodulated
signal. The deinterleaving module 51.sub.j applies the inverse
permutation to that of the module 31.sub.j to this sequence
v'.sub.j so as to restore the sequence of softbits u'.sub.j. The Y
sequences u'.sub.j are placed end to end by the multiplexing module
50 so as to form the sequence of softbits w' which relates to the
CCTrCH. In the case where the TrCH have variable positions, the
module 49 deletes the last 4 j = 1 Y U j - S
[0038] softbits of the sequence w', which correspond to ".delta."
bits. The softbit sequence s' produced by the module 49 is chopped
by the segmentation module 49 into X subsequences f'.sub.i
respectively assigned to the TrCHs.
[0039] For each TrCH i whose TTI comprises several frames
(F.sub.i>1), the module 47.sub.i concatenates the subsequences
produced in relation to the various frames so as to form the
sequence q'.sub.i subjected to the interframe deinterleaving module
46.sub.i. The latter carries out the permutation inverse to that of
the module 26i so as to restore the sequence of softbits h'.sub.i.
In the case where the TrCHs have fixed positions, the module
45.sub.i deletes the F.sub.i.H.sub.i-G.sub.i last softbits of the
sequence h'.sub.i, which correspond to ".delta." bits. The sequence
of softbits s' produced by the module 49 is then processed by the
bit rate matching module 44.sub.i which performs the following
operations:
[0040] insertion of a null softbit (minimum likelihood) in place of
each bit which has been punctured on transmission;
[0041] reevaluation of each softbit corresponding to a bit which
has been repeated on transmission, so as to sharpen the likelihood
thereof.
[0042] The output sequence c'.sub.i of the module 44.sub.i is
decoded by the module 43.sub.i so as to correct any transmission
errors. The symbols of the decoded blocks o'.sub.i output by the
module 43.sub.i can be softbits, or hardbits if the likelihood
measures are no longer required in the subsequent processing. On
the basis of these blocks o'.sub.i, the module 42.sub.i
reconstructs the estimated TrBk b'.sub.i, and the module 41.sub.i
verifies the integrity of the CRC so as to validate these TrBk in
the output stream a'.sub.i relating to TrCH i.
[0043] In the UMTS system, in particular in FDD mode, there is
provision for the communicating terminals to be furnished with time
windows so as to listen to one or more carrier frequencies
different from that supporting the communication. This listening
procedure allows in particular the terminals equipped with a single
radio frequency receiver to perform measurements of radio
parameters (module 11 of FIG. 3) with a view to possible automatic
transfer (handover):
[0044] from a UMTS FDD cell to another UMTS FDD cell using a
different carrier;
[0045] from a UMTS FDD cell to a UMTS TDD cell ("Time Domain
Duplex"); or else
[0046] from a UMTS FDD cell to a cell of a second-generation
network such as a GSM network.
[0047] During the listening window, which may extend over one or
more time slots of 666 .mu.s, the base station interrupts its
transmission to the terminal. This interruption is specific to the
air interface, and has no impact on the output bit rate of the
sources of the block 1 which relate to the various TrCHs. In the
course of each 10 ms frame having an inactive period (during which
no symbol is transmitted), it is therefore necessary, outside of
this inactive period, to increase the transmission bit rate on the
Y PhCHs.
[0048] These frames are said to use a compressed mode. In order for
the quality in terms of binary error rate (BER) or of frame error
rate (FER) not to be affected by the interruption of transmission,
the base station transmission power is increased in the
compressed-mode frames outside of the inactive period.
[0049] The interruptions of transmission can take place
periodically or on request. In the course of a given frame, the
number of time slots covered by the inactive period is a maximum of
7. The illustration of FIG. 1 shows two interruptions of
transmission GAP1, GAP2. The interruption GAP1 falls within a
single compressed-mode frame T1, while the interruption GAP2
straddles two compressed-mode frames T2, T2'. Interruptions
extending over two consecutive frames, such as GAP2, are useful in
particular for handovers to the GSM networks requiring a
measurement window of 6 ms.
[0050] As indicated in the aforesaid specification 3G TS 25.212, an
interruption going from slot N.sub.first to slot N.sub.last begins
at the TFCI or DATA2 field of the slot N.sub.first, and terminates
at the field DATA2 of slot N.sub.last. In both cases, the modules
32.sub.j of the multiplexing block 2 generate the inactive period
of the compressed-mode frame by placing the information bits in the
remaining DATA1 and DATA2 fields.
[0051] In compressed mode, two methods A and B can be used to match
the bit rate of the PhCHs to that of the TrCHs.
[0052] Method A consists in an additional puncturing (relative to
that which may be applied by the bit rate matching module
24.sub.i), serving to create the interruption of transmission in
each frame concerned.
[0053] Method B consists in dividing by 2 the Y spreading factors
employed in the compressed-mode frames. A limitation of this method
B is that it requires the availability of spreading codes of half
factor, thereby penalizing the code resources in the cell.
[0054] Method A poses a problem when the communication uses at
least one TrCH whose transmission time interval covers several
frames (F.sub.i>1): if one of these frames is in compressed
mode, then the additional puncturing must be carried out
specifically in this frame, this being tricky given the
interleaving applied by the modules 26i and the shifts generated in
the sequence of symbols by the bit rate matching module 24.sub.i.
An additional constraint in the case where a turbo code is used for
the channel coding on a TrCH is that it is not desirable to
puncture systematic bits.
[0055] Accordingly, the compressed mode according to method A
requires a priori fairly significant modifications to the
multiplexing and demultiplexing suite according to FIGS. 4 and 5,
and hence an increase in the complexity of the base stations and
terminals, which must naturally be compatible both with the
compressed mode and with the non-compressed mode.
[0056] An object of the present invention is to limit the impact of
these problems in the systems using a processing suite of the kind
described above.
SUMMARY OF THE INVENTION
[0057] The invention proposes a method of processing X streams of
information symbols to be transmitted on Y communication channels,
X and Y being positive integers, in which the Y communication
channels simultaneously occupy a transmission resource organized as
successive frames, in which the successive frames include
compressed-mode frames having at least one inactive period during
which no symbol is transmitted, in which the information symbols of
each stream i (1.ltoreq.i.ltoreq.X) are transmitted in the course
of successive transmission time intervals each comprising F.sub.i
consecutive frames, F.sub.i being a positive integer, and in which,
for each transmission time interval relating to a stream i
(1.ltoreq.i.ltoreq.X), integers E.sub.i, .DELTA.N.sub.i.sup.TTI and
.DELTA.N.sub.i.sup.cm are defined such that E.sub.i>0,
.DELTA.N.sub.i.sup.cm<0 if said transmission time interval
comprises at least one compressed-mode frame and
.DELTA.N.sub.i.sup.cm=0 if said transmission time interval does not
comprise any compressed-mode frame. The method comprises the
following steps for each transmission time interval relating to a
stream i (1.ltoreq.i.ltoreq.X):
[0058] forming a first sequence of E.sub.i symbols coded on the
basis of information symbols of said stream pertaining to said
transmission time interval;
[0059] forming a second sequence of symbols including
E.sub.i+.DELTA.N.sub.i.sup.TTI+.DELTA.N.sub.i.sup.cm symbols
extracted from the first sequence and -.DELTA.N.sub.i.sup.cm marked
symbols;
[0060] forming a third sequence of symbols by a permutation of the
symbols of the second sequence;
[0061] distributing the symbols of the third sequence into F.sub.i
segments of consecutive symbols, the F.sub.i segments being
respectively assigned to the frames of said transmission time
interval; and
[0062] for each frame of said transmission time interval, forming a
fourth sequence of symbols extracted from the segment assigned to
said frame,
[0063] said permutation and the placing of the marked symbols in
the second sequence when said transmission time interval comprises
at least one compressed-mode frame being such that each marked
symbol belongs, in the third sequence, to a segment assigned to a
compressed-mode frame,
[0064] and the following steps for each frame:
[0065] forming a fifth sequence of symbols including the symbols of
the fourth sequence output for said frame in relation to each
stream;
[0066] distributing the symbols of the fifth sequence into Y
segments of symbols, the Y segments being respectively assigned to
the Y communication channels;
[0067] for each communication channel, forming a sixth sequence of
symbols extracted from the segment assigned to said communication
channel;
[0068] for each communication channel, forming a seventh sequence
of symbols by a permutation of the symbols of the sixth sequence;
and
[0069] transmitting on each communication channel, in time slots of
said frame, symbols extracted from the seventh sequence,
[0070] each of said marked symbols being deleted before
transmission on each communication channel when said frame is in
compressed mode, so as to husband said inactive period in the
course of the frame.
[0071] The -.DELTA.N.sub.i.sup.cm marked symbols correspond to
those to which the additional puncturing is applied within the
framework of method A mentioned above. The use of a marking makes
it possible not to actually puncture them at the bit rate matching
level, so as to avoid having to modify the interleaving and
segmentation modules 26.sub.i, 27.sub.i, and possibly the other
modules of the processing suite. This results in a simplification
of the communicating entities since these same modules may be used
in the same way in compressed mode and in non-compressed mode.
[0072] In a preferred embodiment of the method, the marked symbols
are kept until the seventh sequences when the frame is in
compressed mode, without being extracted from the seventh sequences
for transmission. In the application described earlier, this makes
it possible not to modify any of the modules 26i to 31.sub.j of the
suite of FIG. 4, nor any of the modules 46.sub.i to 51.sub.j of the
suite of FIG. 5.
[0073] The method is compatible with the use of the DTX bits, as
described earlier. For this purpose, it is sufficient to insert
additional marked symbols, kept until the seventh sequences so as
to be transmitted with zero transmission power, into the second or
the fifth sequence. It is noted that the insertion of the
-.DELTA.N.sub.i.sup.cm marked symbols for the additional puncturing
can be performed either before, or after the insertion of the DTX
bits in the case where the TrCHs have fixed positions, that is to
say before or after module 25.sub.i.
[0074] The above method has an impact at the level of the
terminals, whose demultiplexing suite must be adapted.
[0075] Another aspect of the invention thus relates to a method of
processing Y digital streams obtained on the basis of a signal
received and comprising estimates of information symbols
respectively transmitted along Y communication channels
simultaneously occupying a transmission resource organized as
successive frames, and pertaining to X transport channels, X and Y
being positive integers, in which the successive frames include
compressed-mode frames having at least one inactive period during
which no symbol is transmitted, and in which the estimates of
information symbols pertaining to each transport channel i
(1.ltoreq.i.ltoreq.X) are received in the course of successive
transmission time intervals each comprising F.sub.i consecutive
frames, F.sub.i being a positive integer. This method comprises the
following steps for each frame:
[0076] forming, in relation to each communication channel j
(1.ltoreq.j.ltoreq.Y), a first sequence composed of estimates
extracted from the time slots of said frame and, when said frame is
in compressed mode, of marked estimates placed at positions
corresponding to the inactive period of said frame;
[0077] for each communication channel, forming a second sequence of
estimates by a permutation of the estimates of the first
sequence;
[0078] forming a third sequence of estimates including estimates of
the second sequence which is output for each communication channel;
and
[0079] distributing the estimates of the third sequence into X
segments of consecutive estimates, the X segments being
respectively assigned to the X transport channels,
[0080] and the following steps for each transmission time interval
relating to a transport channel i(1.ltoreq.i.ltoreq.X):
[0081] forming a fourth sequence by concatenating the respective
segments assigned to said transport channel for the frames of said
transmission time interval;
[0082] permuting the estimates of the fourth sequence and forming a
fifth sequence of estimates extracted from the fourth permuted
sequence;
[0083] ignoring each marked estimate of the fifth sequence, and
forming a sixth sequence of symbols on the basis of the other
estimates of the fifth sequence; and
[0084] decoding the sixth sequence of estimates and outputting the
decoded estimates.
[0085] The DTX bits can be taken into account without any problem.
In the case where the TrCHs have variable positions in the frame,
the formation of the third sequence then comprises a concatenating
of the second sequences which are formed for the Y communication
channels and a deleting of at least one estimate having a
determined position in the concatenated sequence. In the case where
the TrCHs have fixed positions in the frame, the formation of the
fifth sequence for the one transmission time interval including
this frame in relation to a transport channel comprises a deleting
of at least one estimate having a determined position in the fourth
permuted sequence.
[0086] The invention also proposes a device adapted to the
implementation of this method, which can form part of a UMTS
terminal, and comprising:
[0087] means for forming, for each frame in relation to each
communication channel, a first sequence composed of estimates
extracted from the time slots of said frame and, when said frame is
in compressed mode, marked estimates placed at positions
corresponding to the inactive period of said frame;
[0088] means for forming, for each frame in relation to each
communication channel, a second sequence of estimates by
permutation of the estimates of the first sequence;
[0089] means for forming, for each frame, a third sequence of
estimates including estimates of the second sequence which is
output for each communication channel;
[0090] means for distributing the estimates of the third sequence
formed for each frame into X segments of consecutive estimates, the
X segments being respectively assigned to the X transport
channels;
[0091] means for forming a fourth sequence for each transmission
time interval relating to a transport channel, by concatenating the
respective segments assigned to said transport channel for the
frames of said transmission time interval;
[0092] means for permuting the estimates of the fourth sequence
which is formed for each transmission time interval relating to a
transport channel i, and for forming a fifth sequence of estimates
extracted from the fourth permuted sequence,
[0093] means for deleting each marked estimate of the fifth
sequence which is formed for each transmission time interval
relating to a transport channel i, and for forming a sixth sequence
of symbols on the basis of the other estimates of the fifth
sequence; and
[0094] means for decoding the sixth sequence of estimates which is
formed for each transmission time interval relating to a transport
channel, so as to output the decoded estimates.
BRIEF DESCRIPTION OF THE DRAWINGS
[0095] FIG. 1, commented on earlier, is a diagram illustrating the
frame structure employed on the downlinks in the UMTS system in FDD
mode
[0096] FIGS. 2 and 3, commented on earlier, are schematic diagrams
of a base station and of a UMTS terminal to which the invention may
be applied
[0097] FIGS. 4 and 5, commented on earlier, are schematic diagrams
of the multiplexing and demultiplexing blocks of the base station
and of the terminal according to FIGS. 2 and 3.
[0098] FIGS. 6 and 7 are flow charts of procedures which can be
used to carry out the bit rate matching on the TrCHs in the
multiplexing block according to FIG. 4, in the case of the use of a
convolutional code.
[0099] FIGS. 8 and 9 are flow charts respectively showing
modifications made to the procedures of FIGS. 6 and 7 in accordance
with two embodiments of the invention.
[0100] FIGS. 10 and 11 are flow charts similar to FIGS. 6 and 8 for
the case where the information bits of the TrCH are protected by a
turbo code.
DESCRIPTION OF PREFERRED EMBODIMENTS
[0101] The invention is described hereinbelow within the context
described earlier of the UMTS downlinks in FDD mode. In the
examples considered below, the modifications made by the invention
occur essentially at the level of the bit rate matching modules
24.sub.i, 44.sub.i and of the modules 32.sub.j, 52.sub.j for
interfacing with the PhCHs.
[0102] We firstly consider the case of a TrCH i
(1.ltoreq.i.ltoreq.X) for which the module 23.sub.i applies a
convolutional code. In this case, the output bits from the coder
all have the same relative importance to the decoder. FIGS. 6 and 7
show an exemplary embodiment of the procedures applied by the bit
rate matching module 24.sub.i in the case of a puncturing and of a
repetition of bits, respectively.
[0103] These procedures use parameters e.sub.plus and e.sub.minus
defined as a function of the numbers of bits E.sub.i, G.sub.i at
the input and at the output of the module 24.sub.i, with
G.sub.i<E.sub.i in the case of puncturing (FIG. 6), and
G.sub.i>E.sub.i in the case of repetition (FIG. 7). The values
of these parameters are:
e.sub.plus=a.E.sub.i
e.sub.minus=a..vertline.G.sub.i-E.sub.i.vertline.=a..vertline..DELTA.N.sub-
.i.sup.TTI.vertline.
[0104] with a=2. The numbers E.sub.i, G.sub.i are determined as a
function of the information provided by the higher protocol layers
as described in the specification 3G TS 25.212. The variation in
the number of bits, due to the static bit rate matching is denoted
.DELTA.N.sub.i.sup.TTI. In non-compressed mode, we have
.DELTA.N.sub.i.sup.TTI=G.sub.i-E.sub.i. Within the notation used in
FIGS. 6 and 7, m designates the index of the symbols c.sub.i,m in
the input sequence c.sub.i (1.ltoreq.m.ltoreq.E.sub.- i), n
designates the index of the symbols g.sub.i,n in the output
sequence g.sub.i (1.ltoreq.n.ltoreq.G.sub.i), and e designates a
counter decremented and incremented to ensure a regular
apportioning of the punctured or repeated bits. We take m=n=1 and
e=E.sub.i on initializing 60 the procedure.
[0105] A loop is executed for the successive values of the index m,
lying between 1 and E.sub.i. Each iteration in this loop begins
with the decrementing 63 of the counter e by the value e.sub.minus.
The bit c.sub.i,m is punctured or repeated whenever e.ltoreq.0
during the test 64, in which case the counter e is incremented in
step 65 by the value e.sub.plus.
[0106] In the case of puncturing (FIG. 6), the test 64 is performed
just after the decrementing 63 of the counter e in each iteration.
When e>0 in the test 64, the bit c.sub.i,m should not be
punctured, and step 66 is executed so as to place this bit
c.sub.i,m in position n in the output sequence g.sub.i and to
increment the index n by one unit. The iteration terminates with
the end of loop test 67 after step 65 or 66. The bit rate matching
procedure is terminated when m=E.sub.i. Otherwise, m is incremented
by one unit in step 68 before returning to step 63 for the next
iteration.
[0107] The procedure is similar for repetition (FIG. 7), with the
following differences:
[0108] the step 66 of placing the bit c.sub.i,m in the output
sequence and of incrementing the index n precedes the test 64
pertaining to the sign of the counter e;
[0109] this step 66 is executed for all the bits of the input
sequence (after step 63), and re-executed whenever a bit must be
repeated (after step 65);
[0110] when the bit has been repeated sufficiently (e>0 in test
64), the iteration terminates with the end of loop test 67.
[0111] The invention proposes to adapt the procedures of FIGS. 6
and 7 to the case of the compressed mode, with a minimum impact on
the remainder of the multiplexing suite. This is performed by
placing marked bits "p" at judiciously chosen positions in the
input sequence of the inter-frame interleaver 26i for each TrCH
i.
[0112] In the implementation considered above, this marking can
consist in replacing each "p" bit by the two-bit symbol (1, 1),
which remains available when the marking (1, 0) is reserved for the
".delta." bits. It will however be observed that the marking of the
"p" bits could be the same as that of the ".delta." bits.
[0113] The marking of the "p" bits before the interleaver 26i makes
it possible to carry out downstream in the suite the additional
puncturing required by the compressed modes. Preferably, this
additional puncturing is performed at the level of the modules
32.sub.j relating to the Y PhCH: these modules tag the "p" marked
bits, position them at the level of the required interruption and
do not transmit them to the radio stage 4 (or transmit bits set to
zero instead of signed bits). This makes it possible to use the
modules 25.sub.i to 31.sub.j in the same way in compressed mode and
in non-compressed mode.
[0114] At the level of the receiver terminal, the modifications to
be made in order to support the compressed mode are also minor:
[0115] for each frame and each PhCH j, the extraction module
52.sub.j completes the softbits r'.sub.j by placing marked softbits
at the positions corresponding to the "p" marked bits. These marked
softbits "p" have a particular value which is not employed for the
other softbits, for example 0xFF for softbits of a byte. The
positions of the softbits to be marked are immediately
determinable: they correspond to the DATA1 and DATA2 fields not
transmitted during the interruption when the frame is in compressed
mode. The number N.sub.j.sup.TGL of marked softbits "p" is simply
the difference between the number of bits processed on channel j in
a frame in non-compressed mode and the number of bits processed in
channel j in the current frame (N.sub.j.sup.TGL>0 in compressed
mode, and N.sub.j.sup.TGL>0 in non-compressed mode);
[0116] the modules 51.sub.j to 45.sub.i work in the same way in
non-compressed mode and in compressed mode;
[0117] at the input of the bit rate matching modules 44.sub.i,
which operate as described earlier, the marked softbits "p" are
detected and deleted from the sequence g'.sub.i. The module
44.sub.i does not need to know a priori the positions of the bits
of the TrCH i which have undergone the additional puncturing;
[0118] the modules 43.sub.i to 41.sub.i work in the same way in
non-compressed mode and in compressed mode.
[0119] The number of bits of TrCH i per frame after the static bit
rate matching is denoted
Nfr.sub.i=(E.sub.i+.DELTA.N.sub.i.sup.TTI)/F.sub.i, and the number
of bits having to be marked "p" in frame n.sub.i belonging to the
TTI of this TrCH (0.ltoreq.n.sub.i.ltoreq.F.sub.i) is denoted
-.DELTA.N.sup.cm[n.sub.i]. In compressed mode, the positive number
-.DELTA.N.sup.cm[n.sub.i] depends on the position and on the
duration of the interruption in the course of frame n.sub.i of the
TTI, on spreading factors pertaining to the Y physical channels and
on the amounts of static bit rate matching already carried out in
the X TrCH of the communication. When the frame is not in
compressed mode, .DELTA.N.sup.cm[n.sub.i]=0. The total number
-.DELTA.N.sub.i.sup.cm of bits of the TTI to be marked "p" is given
by 5 N i cm = n i = 0 F i - 1 N cm [ n i ] .
[0120] Finally, the sequence g.sub.i of G.sub.i bits which is
output for the TTI by the module 24.sub.i comprises
E.sub.i+.DELTA.N.sub.i.sup.TTI+.- DELTA.N.sub.i.sup.cm symbols
representing bits extracted from sequence c.sub.i and
-.DELTA.N.sub.i.sup.cm marked symbols "p".
[0121] A first manner of proceeding at the level of the base
station (method 1 hereinbelow) consists, for each TrCH and each TTI
of this TrCH comprising at least one frame in compressed mode, in
identifying the bits which will be found in the compressed-mode
frame or frames after the other operations, in particular of
interleaving, executed in the multiplexing suite. An algorithm of
the same kind as that of FIG. 6 is then executed on these
identified bits so that some of them are marked "p".
[0122] FIG. 8 illustrates an embodiment according to this method 1,
showing steps 70-76 replacing step 66 in the procedure according to
FIG. 6 or 7. The parameters e.sub.plus and e.sub.minus for the bit
rate matching are defined as earlier (e.sub.plus=a.E.sub.i and
e.sub.minus=a..vertline..DELTA.N.sub.i.sup.TTI.vertline.), and
parameters of the same nature are moreover defined for the
additional puncturing in each TrCH i and each frame n.sub.i
belonging to the TTI of this TrCH:
e.sup.cm.sub.plus [n.sub.i]=a'.Nfr.sub.i
e.sup.cm.sub.minus[n.sub.i]=-a'..DELTA.N.sup.cm[n.sub.i]
[0123] with a'=2 (for example), and additional counters
e.sup.cm[n.sub.i] are initialized to Nfr.sub.i in step 60. In step
70, the index col of that frame of the TTI in which the symbol
g.sub.i,n will be found (column of the interleaver 26.sub.i after
permutation) is calculated using the function BR defined earlier.
If this frame is not in compressed mode (.DELTA.N.sup.cm[col]=0 in
test 71), the symbol g.sub.i,n receives the value (0, c.sub.i,m) in
step 72, then the index n is incremented by one unit in the final
step 73. If the frame is in compressed mode
(.DELTA.N.sup.cm[col]<0 in test 71), the counter e.sup.cm[col]
is decremented by the value e.sup.cm.sub.minus[col]. When
e.sup.cm[col].ltoreq.0 during test 75, the symbol g.sub.i,n is
marked "p" in step 76 (the bit c.sub.i,m will be punctured), in
which case the counter e.sup.cm[col] is incremented by the value
e.sup.cm.sub.plus[col] before incrementing the index n in the final
step 73. When e.sup.cm[col]>0 during test 75, the module 24 goes
to the aforesaid step 72 to assign the value (0, c.sub.i,m) to the
symbol g.sub.i,n which will be kept in the compressed-mode
frame.
[0124] Another way of proceeding at the base station level (method
2 hereinbelow) consists, for each TrCH i and each TTI of this TrCH
comprising at least one compressed-mode frame, in applying the bit
rate matching algorithm according to FIG. 6 or 7 to the sequence of
bits c.sub.i, while taking into account, in the number
.DELTA.N.sub.i of bits to be punctured or repeated, both the static
bit rate matching (.DELTA.N.sub.i.sup.TTI) and any possible
compressed mode (.DELTA.N.sub.i.sup.cm), and in adding the
.DELTA.N.sub.i.sup.cm marked bits "p" into the first positions of
the columns corresponding to compressed-mode frames. This makes it
possible to optimize the distance between the punctured or repeated
information bits. Four cases arise:
[0125] 1) .DELTA.N.sub.i.sup.TTI<0, so that
.DELTA.N.sub.i=.DELTA.N.sub- .i.sup.TTI+.DELTA.N.sub.i.sup.cm<0.
The puncturing rate is simply increased.
[0126] 2) .DELTA.N.sub.i.sup.TTI<0 and
.DELTA.N.sub.i.sup.TTi>0 and
.vertline..DELTA.N.sub.i.sup.cm>.DELTA.N.sub.i.sup.TTI so that
.DELTA.N.sub.i<0. Despite the repetition due to the static bit
rate matching, bits will nevertheless have to be punctured. Hence,
nothing is repeated, .DELTA.N bits are punctured and
-.DELTA.N.sub.i.sup.cm marked bits ("p") are inserted.
[0127] 3) .DELTA.N.sub.i.sup.TTI>0 and
.vertline..DELTA.N.sub.i.sup.cm.-
vertline.<.DELTA.N.sub.i.sup.TTI so that .DELTA.N.sub.i>0.
There is no need to puncture unique information bits. It is
sufficient to repeat less than what is demanded by the static bit
rate matching. Hence, .DELTA.N bits are repeated and
-.DELTA.N.sub.i.sup.cm marked bits ("p") are inserted.
[0128] 4) .DELTA.N.sub.i.sup.TTI>0 and
.vertline..DELTA.N.sub.i.sup.cm.- vertline.=.DELTA.N.sub.i.sup.TTI
so that .DELTA.N=0. There is no need either to puncture or to
repeat information bits. It is sufficient to insert
-.DELTA.N.sub.i.sup.cm marked bits ("p").
[0129] FIG. 9 illustrates an embodiment according to this method 2,
by showing steps 80-83 replacing step 66 in the procedure according
to FIG. 6 or 7. The parameters e.sub.plus and e.sub.minus for the
bit rate matching are defined by:
e.sub.plus=a.E.sub.i
e.sub.minus=a..vertline..DELTA.N.sub.i.sup.TTI+.DELTA.N.sub.i.sup.cm.vertl-
ine.
[0130] and F.sub.i additional counters cbi[n.sub.i] are used which
enumerate the bits "p" inserted at the start of the columns of the
interleaver (0.ltoreq.n.sub.i<F.sub.i). These counters
cbi[n.sub.i] are initialized to 0 in step 60. In step 80, the index
col of that frame of the TTI in which the symbol g.sub.i,n will be
found (column of the interleaver 26.sub.i after permutation) is
calculated using the function BR. If
cbi[col]<.DELTA.N.sup.cm[col] (test 81), step 82 is executed so
as to insert a bit "p" in position n of the output sequence g.sub.i
and to increment the counter cbi[col] and the index n by one unit,
after which the module 24.sub.i returns to step 80 for the next
position. When cbi[col]=.DELTA.N.sup.cm[col] in test 81 (that is to
say the frame is not in compressed mode since
.DELTA.N.sup.cm[col]=0, or all the bits "p" required have been
introduced into the compressed-mode frame), the final step 83 is
executed so as to write the bits c.sub.i,m (with the prefix 0) into
the symbol g.sub.i,n and to increment the index n by one unit.
[0131] In the case where the channel coding module 23.sub.i uses a
turbo code with the rate 1/3, the puncturing procedure is applied
by the bit rate matching module 24.sub.i only to the parity bits.
This is illustrated by FIG. 10. The procedure is similar to that of
FIG. 6, identical numeral references being employed to designate
homologous steps.
[0132] The counter e of FIG. 6 is replaced by two counters e.sub.1,
e.sub.2 assigned respectively to the bits c.sub.i,1+3x+k with k=1
and k=2. These two counters are initialized to E.sub.i/3 in step
60. The processing of these counters calls upon parameters:
e.sub.k,plus=a.sub.k.E.sub.i/3
e.sub.k,minus=a.sub.k..vertline..DELTA.N.sub.k,i.sup.TTI.vertline.
[0133] with a.sub.1=2 and a.sub.2=1, .DELTA.N.sub.1,i.sup.TTI and
.DELTA.N.sub.2,i.sup.TTI respectively designating the largest
integer equal to or less than .DELTA.N.sub.i.sup.TTI/2 and the
smallest integer equal to or less than
.DELTA.N.sub.i.sup.TTI/2.
[0134] In step 61, the pointer k is determined for the current
index m (this is the remainder of the Euclidean division of m-1 by
3). If k=0 (test 62), the bit c.sub.i,m is systematic and should
not be punctured: we go to step 66. When k=1 or 2 in test 62, steps
63-66 are executed as in the case of FIG. 6 by manipulating the
counter e.sub.k instead of the counter e so as to puncture the
appropriate bits.
[0135] In practice, the procedure of FIG. 10 can be executed by
separating the sequence c.sub.i into two subsequences: the
systematic bits (c.sub.i,3x) which are not subjected to puncturing,
and the other bits to which the procedure as described with
reference to FIG. 6 is applied, with appropriately adapted
parameters, the sequence g.sub.i then being constructed by
reinserting the systematic bits.
[0136] FIG. 11 shows steps adapted for replacing step 66 of FIG. 10
in the application of method 1 to the case of puncturing with a
turbo code. Steps 70-76 are entirely similar to those bearing the
same references in FIG. 6, and are executed only if k=1 or 2 in the
initial test 69. If k=0, we go directly to step 72 so as to avoid
puncturing the systematic bit. Steps 74-76 use, instead of the
counters e.sup.cm[n.sub.i], counters e.sub.k.sup.cm [n.sub.i] for
k=1, 2 and n.sub.i=0, 1, . . . , F.sub.i-1, which are initialized
to 6 N f r k , i = ( E i / 3 + N k , i TTI ) / F i
[0137] in step 60. The processing of these counters calls upon
puncturing parameters:
e.sub.k,.sup.cm.sub.plus [col]=a.sub.k.Nfr.sub.k,i
e.sub.k,.sup.cm.sub.minus
[col]=-a.sub.k..DELTA.N.sub.k.sup.cm[n.sub.i],
[0138] the positive or zero integer -.DELTA.N.sub.k.sup.cm[n.sub.i]
representing the number of parity bits k to be punctured in the
course of frame n.sub.i of the TTI (.DELTA.N.sub.1.sup.cm
[n.sub.i]+.DELTA.N.sub.2.- sup.cm
[n.sub.i]=.DELTA.N.sup.cm[n.sub.i]).
[0139] In the case of repetition with a turbo code, the bit rate
matching algorithm is the same as that of FIG. 7. The compressed
mode can be taken into account according to method 1 by replacing
step 66 of FIG. 7 by steps 69-76 of FIG. 11.
[0140] For the application of method 2 to the case of turbo codes
(repetition or puncturing), it is sufficient to replace step 66 of
FIG. 7 or 10 by steps 80-83 of FIG. 9.
[0141] The appendix to the present description provides a C
pseudocode corresponding to an exemplary bit rate matching
algorithm applied by the module 24.sub.i in accordance with the
present invention (method 2).
APPENDIX
[0142] e.sub.ini[ ] Initial value of variable e in the rate
matching pattern determination algorithm.
[0143] e.sub.ini[1]: initial value for convolutional codes and for
turbo codes Parity-1 bits
[0144] e.sub.ini[2]: initial value for turbo codes Parity-2
bits
[0145] e.sub.plus [ ] Increment of variable e in the rate matching
pattern determination algorithm.
[0146] e.sub.plus[1]: Increment of variable e in the rate matching
for convolutional codes and for turbo codes Parity-1 bits
[0147] e.sub.plus[2]: Increment of variable e in the rate matching
for turbo codes Parity-2 bits
[0148] e.sub.minus[ ] Decrement of variable e in the rate matching
pattern determination algorithm.
[0149] e.sub.minus[1]: Decrement of variable e in the rate matching
for convolutional codes and for turbo codes Parity-1 bits
[0150] e.sub.minus[2]: Decrement of variable e in the rate matching
for turbo codes Parity-2 bits
[0151] Initialisation:
[0152] .DELTA.N.sup.cm.sub.ij: Negative or null: number of bits to
be removed to create the required gaps in the compressed frames of
the transmission time interval in case of compressed mode, in each
transmission time interval on TRCH i with transport format j.
[0153] .DELTA.N.sup.cm[ ]: Negative or null: number of bits to be
removed in each frame of the TTI, to create if needed the required
gaps in this frame in each transmission time interval on TRCH i
with transport format j. The value will be nul for the
un-compressed frames. The size of this array is F, the number of
frames in the TTI.
[0154] For convolutional codes:
.DELTA.N.sub.i=.DELTA.N.sup.TTI.sub.il+.DELTA.N.sub.cm;
X.sub.i=N.sub.il.sup.TTI;
e.sub.ini[1]=1;
e.sub.plus[1]=2N.sub.il.sup.TTI;
e.sub.minus[1]=2.vertline..DELTA.N.sub.i.vertline.
[0155] puncturing part of algorithm is applied if
.DELTA.N.sub.i<=0, repetition is applied otherwise.
[0156] For Turbo Codes:
.DELTA.N.sub.i[1]=round down (.DELTA.N.sup.TTI.sub.il/2)+round up
(.DELTA.N.sup.cm/2), if Y sequence
.DELTA.N.sub.i[2]=round up (.DELTA.N.sup.TTI.sub.il/2)+round down
(.DELTA.N.sup.cm/2), if Y' sequence
X.sub.i=N.sub.il.sup.TTI/3;
e.sub.ini[1]=X.sub.i;
e.sub.ini[2]=X.sub.i;
e.sub.plus[1]=2X.sub.i;
e.sub.plus[2]=X.sub.i;
e.sub.minus[1]=2.vertline..DELTA.N.sub.i[1].vertline.;
e.sub.minus[2]=.vertline..DELTA.N.sub.i[2].vertline.
[0157] puncturing part of algorithm is applied if
.DELTA.N.sub.i[1]<=0 or .DELTA.N.sub.i[2]<=0, repetition part
is applied otherwise
1 Algorithm: e [1] = e.sub.ini [1] -- initial error between current
and desired puncturing ratio .alpha. = 1 -- parameter for the range
of index m if Turbo Codes then e [2] = e.sub.ini [2] if puncturing
is needed then .alpha. = 2 else .alpha. = 3 endelse endif m =1 --
index of current bit in the information bit flow (input flow) n = 1
-- index of bit in the output flow before first interleaver for i =
0 to F-1 do cbi[i] = 0 -- initiate counter of number of bits
inserted in each frame of the TTI if puncturing is to be performed
do while m <= .alpha. X.sub.i if Turbo Codes then c = m mod 2 --
c = 1 if Parity-1 bit, c = 2 if Parity-2 bit if (c==1) then n = n+1
endif -- in output flow increment output index to take into account
bit X else c = 1 endelse [c]= e[c] - e.sub.minus [c] -- update
error if e[c] <= 0 then -- check if bit number m should be
punctured set bit x.sub.i,m to .delta.where .delta.{0, 1} e[c] =
e[c] + e.sub.plus[c] -- update error else col = BR[ (n-1) mod F] --
calculate index of column where this bit will go while cbi[col]
< .vertline..DELTA.N.sup.cm [col].vertline. do insert one bit
marked << p >> in output position n -- insert marked
bit to be removed in compressed frame when creating the gap n = n +
1 -- update output index since 1 bit is inserted cbi[col] =
cbi[col] + 1 -- update counter of bits p inserted in this column
col = BR[ (n-1) mod F] -- update column value of next position
enddo n = n + 1 -- update output index, since bit x.sub.mwas not
punctured endelse m = m + 1 -- next bit end do else do while m
<= .alpha. X.sub.i e = e - e.sub.minus -- update error col =
BR[(n-1) mod F)] while cbi[col] <.DELTA.N.sup.cm[col] do insert
one bit marked p in position n n = n + 1 -- update output index
cbi[col] = cbi[col] + 1 -- update counter of bits p inserted in
this column col = BR[ (n-1) mod F] -- update column value of next
position enddo do while e <= 0 -- check if bit number m should
be repeated col = BR[ (n-1) mod F] -- calculate column where the
current position will go while cbi[col] <.DELTA.N.sup.cm[col] do
insert one bit marked p n = n + 1 -- update output index since 1
bit has been inserted cbi[col] = cbi[col] + 1 -- update counter of
bits p inserted in this column col = BR[ (n-1) mod F] -- update
column value of next position enddo repeat bit x.sub.i,m n = n + 1
-- update output index since bit has been repeated e = e +
e.sub.plus -- update error end do m = m + 1 -- next bit end do end
if
* * * * *