Title of Invention

METHOD FOR CHANNEL CODING AND DECODING, BASE AND SUBSCRIBER STATION IN GSM MOBILE RADIO SYSTEM

Abstract According to the invention, it is proposed to use recursive systematic codes (RSC codes) for channel coding in GSM mobile radio systems. In contrast to previous conceptions, these RSC codes can also be used on the basis of the hardware installed in existing GSM mobile radio systems. The RSC codes can be introduced during the introduction of an adaptive multirate coder (AMR).
Full Text Description
Method, base station and subscriber station for channel
coding in a GSM mobile radio system
The invention relates to a method, base station
and subscriber station for channel coding in a GSM
mobile radio system.
The GSM (global system for mobile
communications) mobile radio system is installed in
more than 100 networks and for more than 100 million
subscribers worldwide. In the GSM mobile radio system,
data (for example voice or data within data services
such as SMS or GPRS) are transmitted via a radio
interface with the aid of electromagnetic waves. The
radio interface relates to a connection between a base
station and subscriber stations where the subscriber
stations can be mobile stations or stationary radio
stations. The electromagnetic waves are radiated in
this case with carrier frequencies which are within the
frequency bands of 900, 1800, 1900 MHz in the GSM
mobile radio system.
In mobile radio systems, channel coding is
required for transmitting the data via the radio
interface. This channel coding differs for different
services, e.g. 14.4 kbps data, FR (full-rate) voice, HR
(half-rate) voice. The channel coding and the
complementary channel decoding at the receiving end
have the aim here of achieving the lowest possible bit
error rate (BER).
Hitherto, only nonsystematic nonrecursive
convolutional codes (NSC - nonsystematic convolutional
codes) have been used for channel coding in the GSM
mobile radio system (and other comparable systems). In
these codes, a coded bit is generated from a weighted
sum of the current and past information bits by
convolutional coding. At a coding rate of %, e.g. 2
coded bits, which in each case come from
a differently weighted sum, are thus generated from one information bit (see Figure 2).
The weights in this sum, and thus the generation of the coded bits are determined by
the so-called generator polynomials. Thus, e.g., the polynomial 1 + D3 + D4 determines
that a coded bit is produced from the sum (XOR combination) of the current, the third
last and the fourth last information bit.
The bits coded during the channel coding are transmitted via the radio interface and
channel-decoded at the receiving end. A frequently used decoding algorithm is the so-
called Viterbl algorithm. Since the decoding process remains the same and is also
computationally intensive, hardware chips (application specific integrated circuits
(ASICs) are used for this purpose, especially in base stations. As a rule, these ASICS can
only process a certain decoding scheme, only for nonrecursive currents in the case of
GSM.
In the case of the introduction of a new voice coding message for GSM mobile radio
systems, the methods hitherto proposed for the channel coding, see ETSI SMGll; Tdoc
SMGll 205/98, 159/98 and 147/98, 9.28.98, are exclusively based on nonrecursive
codes in order to ensure compatibility with the existing hardware which is used in
millions. In spite of the involvement of many manufacturers in the development
process, see Tdoc SMGll 205/98, 159/98 and 147/98, of 9.28.98, other types of code
have been considered to be unsuable.
The invention is based on the object of specifying a method for channel coding and
corresponding devices which produce better transmission quality. This object is
achieved in the present invention by channel decoding with successive non-recursive
single steps is performed at the receiving end, and post processing is performed on the
basis of the denominator polynomial after channel decoding with the numerator
polynomial.
According to the invention, it is proposed to use recursive systematic codes (RSC codes)
for the channel coding. These............
differ from the NSC codes in that, e.g. at a rate of %,
the first "coded" bit corresponds to the current
information bit (systematic) and the second coded bit
is produced from the current and past information bits
and past coded bits (recursive). Thus, codes which are
fed back are used, making use of the fact that
recursive systematic codes have distinctly better code
characteristics, and thus also better characteristics
with respect to the error correction, especially at
high bit error rates.
The RSC codes, known from, among others,
E. Offer, "Decodierung mit Qualitätsinformation bei
verketteten Codiersystemen" [Decoding with quality
information in concordinated coding systems], progress
reports, VDI-Verlag, Series 10, Vol. 443, Düsseldorf
1996, p. 21 ff and p. 119 ff, have previously not been
used since they result in changes in the decoding
process and are thus not hardware-compatible. An
introduction of RSC codes in the channel coding did not
appear possible since the installed base stations had
to be retrofitted. This is not the case, in fact, since
the hardware structure can be retained both at "the
transmitting end and at the receiving end and,
nevertheless, RSC codes can be introduced for channel
decoding in the GSM mobile radio system.
It is proposed to perform post-processing on the basis
of the denominator polynomial with parts of the
recursive systematic code after channel decoding at the
receiving end. According to an advantageous further
development of the invention, the decoding process is
performed as previously with decoding of a NSC code,
namely the one which is identical to the nonrecursive
component - the numerator polynomial - of the new RSC
code. After this hardware-compatible decoding, post-
processing follows in which the bits obtained by this
means are again coded with the denominator polynomial.
This post-processing is advantageously performed via
programming means, that is to say in software, which
can be more easily loaded into existing stations later.
The coding of the post-processing is not
computationally expensive and can be performed as an
additional step in every base station. This recoding
provides the exact bits of the data sequence of the
transmitting end.
A recursive decoding which is not possible with
previously installed hardware can be replaced by
decoding into two nonrecursive successive individual
steps. The first step is decoding using the numerator
polynomial of the recursive code and the second step is
a coding using the denominator polynomial of the
recursive code. This makes it possible to reproduce, if
necessary, any systematic recursive codes using
hardware which has already been installed. The first
step corresponds to the previous decoding and the
second step is the post-processing.
The polynomials of identical RSC and NSC codes
will be explained briefly by means of Figures 2 and 3 .
In a typical NSC code (such as, e.g. GSM/TCHFS).
The generator polynomials there are:
Polynomials of the NSC codes: G1 = 1 + D3 + D4
G2 = 1 + D + D3 + D4
An identical RSC code is generated by dividing, e.g. by
G1:
G1 = 1
Polynomials of the RSC code:
These RSC codes have the advantage that lower
bit error rates are possible in the case of core
channels (up to a bit error rate of 10-4) since the
channel error rate is not exceeded due to the uncoded
bits (systematic component). In contrast, the bit error
rate of coded bits can also be greater than the channel
error rate under very poor channel conditions.
According to an advantageous development of the
invention, a priori knowledge is obtained from a
previous detection at the receiving end and this a
priori knowledge is used in a subsequent channel
decoding. During the transmission of coded voice, a
number of voice parameters, and thus bits, change only
rarely or it is also possible to make predictions of
the probable current value from the value these
parameters in the past. If then the received current
value distinctly deviates from the predicted value,
there is a high probability of a transmission error
and, for example, the received value can be replaced by
the predicted value.
This previous knowledge (a priori knowledge) is
introduced in the channel decoder and has previously
been impossible in most cases since the decoding
algorithm had to be modified due to the use of non-
systematic codes. As a rule, the modification was, in
turn, not hardware-compatible. If RSC codes are used,
this a priori knowledge can be introduced quite simply
before the decoding process since some of the received
bits are uncoded. The decoding process itself does not
need to be modified.
As already explained, some of the received bits
are uncoded information bits. If the channel conditions
are good, i.e. no transmission errors are to be
expected, channel decoding can be omitted and only the
information bits are used. The transmission quality can
then be determined as early as before the channel
decoder by advantageously evaluating information from a
channel estimator. After that, a decision is made as to
whether decoding is necessary or not. In subscriber
stations in which the energy consumption is an
essential quality criterion, an essential advantage is
that the channel decoder can be switched off. This
saves power. In addition, the hardware for channel
decoding can be omitted altogether in applications -
e.g. SMS applications for linking in telemetry services
etc.
in which a high transmission quality is always expected.
Due to a nonrecursive decoding followed by coding, it becomes possible to use RSC codes
with the advantages described above in existing GSM mobile radio systems on existing
hardware.
An exemplary embodiment of the invention is explained in greater detail on the basis of
the network structure of the known GSM mobile radio system according to Figure 1 and
referring to the codes according to Figures 2 and 3.
Figure 2 shows a nonsystematic nonrecursive code with memory 4 and rate 1/2,
analogously to G5M/TCHFS,
Figure 3 shows identical recursive systematic convolutionai code with memory 4 and rate
1/2,
Figure 4 shows a flow chart of the coding
Figure 5 shows a flow chart of the decoding.
The GSM mobile radio system shown in Figure 1 consists of a multiplicity of mobile
switching centers MSC which are networked together and, respectively, establish access to
a landline network PSTN. These mobile switching centers MSC are also connected to in
each case at least one base station controller BSC for controlling base stations BS. Each of
these base station controllers BSC, in turn, provides for a connection to at ieast one base
station BS. An operation and maintenance center OMC implements control and maintenance
functions for the mobile radio system or for parts thereof, respectively.
A base station BS can set up a connection to subscriber stations, e.g. mobile stations MS
or other mobile and stationary terminals via a radio interface. Each base station BS forms
at least one radio cell.
Figure 1 shows connections for transmitting user information between a base station.
In the coding methods shown, voice information
is transmitted as user information. The bits of the
voice information are divided into three classes with
respect to the weighting (Class 1a, 1b and 2) in
accordance with their sensitivity to errors. The most
important bits (Class la are additionally protected by
a cyclic redundancy check (CRC) error protection
coding. The bits of Classes la and lb are
convolutionally coded and punctured. In the AMR, the
interleaving of the data after the coding is performed
in accordance with the interleaving arrangements
previously introduced for FR and HR.
Altogether, 14 coding methods are presented in
conjunction with the AMR coder, from which a selection
must be made in accordance with the transmission
conditions. Of these, eight coding modes can be used in
full-rate mode and six coding modes can be used in
half-rate mode.
An in-band signaling with 2 bits net (4 or,
respectively, 8 bits gross after coding) per frame
(20 ms) is used
for signaling the coding mode or for signaling the
transmission quality in alternating frames. The two
bits can be used for signaling four coding modes. These
coding modes, which can be switched between by means of
the in-band signaling, must be previously selected.
The following order of steps to be performed
applies to all modes:
1. Information of the in-band signaling is coded with
a block code,
2. The user information is sorted in accordance with
their significance (class),
3. The ordered bits of the user information are coded
with a systematic block code (CRC), generating
words with voice and parity bits,
4. These coded bits and the rest of the Class 1 bits
are convolutionally coded,
5. The coded bits are punctured in order to obtain
the desired bit rate,
6. Unprotected bits are inserted into the frame with
punctured data (only for half-rate mode),
7. The bits are reordered and the coded and in-band
bits are interleaved, also inserting a so-called
stealing flag.
The designations used in the [lacuna] have the
following significance:
k, j Numbering of the bits in data block or burst
Kx Number of bits in a block, x specifies data type
n Numbering of the output data blocks
N A selected data block
B Numbering of bursts or blocks
s (k) Voice information before sorting, k=1...Ks
(interface 0 in Figure 4)
d(k) Voice information before channel coding,
k=1...Kd-1 (interface 1 in Figure 4)
id(k) Bits of the in-band signaling, k=0,1
ic (k) Coded bits of the in-band signaling,
k=0...3 (HR), 7 (FR)
u(k) Data after the first coding step,
k=0,1, . . .Ku-1
(block coding, CRC coding)
(interface 2 in Figure 4)
c(n,k), c(k) Data after the second coding step,
k=0,1..Kc-1, n=0,1..N,N+1
(convolutional coding), (interface 3 in Figure
4)
i(B,k) Interleaved data, k=0 , 1. . Kj-1, B=B0, B0 + 1, ..
e(B,k) Bits of a burst, k=0,1,114,115; B=B0, B0+1, ..
(interface 4 in Figure 4)
Coding in full-rate mode (FR)
Coding of the bits of the in-band signaling:
Distribution of the bits to classes:
There are no class 2 bits.
The essential parameters for the coder and
correspondingly for each decoder are specified as
follows for the first coding step:
a) Parity bits:
A 6-bit CRC (cyclic redundancy check) is used for error
detection. These 6 parity bits are generated by using
the following cyclic generator polynomial:
g(D) = D6 + D5 + D3 + D2 + D1 + 1 for the first Kdla bits
of Class 1, Kdla specifying the number of bits of Class
la according to the above table. The coding with the
cyclic code is performed in systematic manner:
in GF(2), the polynomials:
d(0)D(Kdla+5) + d(l)D(Kdla+4) +... + d(Kdla-1)D(6) +
p(0)D(5) +. . .+ p(4)D+ p(5)
where p(0), p(1) ... p(5) are the parity bits
which, divided by g(D), give "0".
b) Tailing bits and reordering
The information bits and parity bits are brought
together and so-called tail bits are appended:
u(k) = d(k) for k = 0, 1, ..., Kdla-1
u(k) = p(k-Kdia) for k = Kdla, Kdla+1, ..., Kdia+5
u(k) = d(k-6) for k = Kdla+6, Kdla+7, ..., Kd+5
u(k) = dependent on coding mode
Thus, the following contents are defined for
each coding mode after the first coding step u(k):
CHO-FS: u(k) = d(k) for k = 0, 1, ...,80
u(k) = p(k-81) for k = 81, 82, ..., 86
u(k) = d(k-6) for k = 87, 88, ..., 249
u(k) = to be specified for k = 250, 251, ..., 254
CH1-FS: u(k) = d(k) for k=0, 1, ..., 64
u(k) = p(k-65) for k = 65, 66, ..., 70
u(k) = d(k-6) for k = 71, 72, ..., 209
u(k) = to be specified for k = 210, 211, ..., 214
CH2-FS: u(k) = d(k) for k=0, 1, ..., 74
u(k) = p(k-75) for k = 75, 76, ..., 80
u(k) = d(k-6) for k = 81, 82, ..., 164
u(k) = to be specified for k = 165, 166, ..., 170
CH3-FS: u(k) = d(k) for k=0, 1, ..., 60
u(k) = p(k-61) for k = 61, 62, ..., 66
u(k) = d(k-6) for k = 67, 68, ..., 153
u(k) = to be specified for k = 154, 155, ..., 159
CH4-FS: u(k) = d(k) for k=0, 1, ..., 54
u(k) = p(k-55) for k = 55, 56, ..., 60
u(k) = d(k-6) for k = 61, 62, ..., 139
u(k) = to be specified for k = 140, 141, ..., 145
CH5-FS: u(k) = d(k) for k=0, 1, ..., 54
u(k) = p(k-55) for k = 55, 56, ..., 60
u(k) = d(k-6) for k = 61, 62, ..., 123
u(k) = to be specified for k = 124, 125, ..., 129
CH6-FS: u(k) = d(k) for k=0, 1, ..., 48
u(k) = p(k-49) for k = 49, 50, ..., 54
u(k) = d(k-6) for k = 55, 56, ..., 108
u(k) = to be specified for k = 109, 110, ..., 114
CH7-FS: u(k) = d(k) for k=0, 1, ..., 38
u(k) = p(k-39) for k = 39, 40, ..., 44
u(k) = d(k-6) for k = 45, 46, ..., 100
u(k) = to be specified for k = 101, 102, ..., 106
Convolutional coder
The bits of the first coding step (u(k)) are
coded with a recursive systematic convolutional code
(see also Figure 4) . The number of output bits after
puncturing and repetition is 448 bits for all modes of
the codina method.
Further details on coding/decoding using
recursive codes were given in C. Berrou, A. Glavieux,
"Near optimum error-correction coding and decoding:
turbo codes" - "Reflections on the prize paper", IEEE
Inf. Theory Soc. Newsletter, vol. 48, No. 2, June 1998
and C. Berrou and A. Glavieux: "Near optimum error-
correcting coding and decoding: turbo codes", IEEE
Trans, on Comm., vol. 44, pp. 1261-1271, October 1996.
The coding modes are presented in sequence:
CHO-FS:
A block of 255 bits {u(0)... u(254)} is coded at the
rate 1/2, using the following polynomials:
G12 = 1
G13 = (1 + D2 + D4 + D5) / (1 + D + D2 + D3 + D5)
The coding with G12 = l means that the input bit
is only multiplied by 1, i.e. is transmitted uncoded.
From each input bit, one output bit is in each
case generated by the coding with G12 or, respectively,
G13. These appear successively at the output of the
coder.
Thus, a serial input sequence of 255 input bits
results in a serial sequence of 510 coded bits
{C(0)... C(509)} at the output of the coder, which is
defined by:
C(2k) = u(k)
C(2k+1) = u(k) +u(k-2) +u(k-4) +u(k-5) +C(2k-1) +C(2k-3) +
C(2k-5) +C(2k-9)
for k = 0, 1, ..., 254; u(k) = 0 for k The bits at the output are thus coded alternately with
G12 and G13.
The code is punctured so that the following 62
coded bits:
{C(4*j+D for j = 79, 80, ..., 127)} and the bits
C(363), C(379), C(395), C(411), C(427), C(443),
C(459), C(475), C(491), C(495), C(499), C(503) and C(507) are not transmitted.
As a result, there is a block of 448 coded and
punctured bits, P(0) ...P(447) which is appended to the
bits of an in-band signaling in c.
c(k+8) = P(k) for k=0, 1, ..., 447.
CH1-FS:
A block of 215 bits {u(0)... u(214)} is coded at the
rate 1/3, using the following polynomials:
G12 = 1
G13 = (1 + D2 + D4 + D5) / (1 + D + D2 + D3 + D5)
G14 = (1 + D3 + D4 + D5) / (1 + D + D2 + D3 + D5)
resulting in 645 coded bits, {C(0) . . .C (645)} defined
by:
C(3k) = u(k) C(3k+1) = u(k)+u(k-2)+u(k-4)+u(k-5)+C(3k-2)+
C(3k-5)+C(3k-8)+C(3k-14)
C(3k+2) = u(k)+u(k-3)+u(k-4) +u(k-5) +C(3k-1) +
C(3k-4)+C(3k-7)+C(3k-13)
for k=0, 1, ..., 214; u(k) =0 for k The code is punctured so that the following 197 coded
bits:
{C(12*j+5), C(12*j+8), C(12*j+ll) for j = 0, 1, ..., 25,
{C(12*j+2), C(12*j+5), C(12*j+8), C(12*j+ll)
for j = 26, 27, ..., 52}
and the bits C(2), C(610), C(622), C(628), C(634),
C(637), C(638), C(640), C(641), C(643) and C(644) are
not transmitted.
As a result, there is a block of 448 coded and
punctured bits, P(0)...P(447) which is appended to the
bits of an in-band signaling in c.
c(k+8) = P(k) for k=0, 1, ..., 447.
CH2-FS:
A block of a=171 bits {u(0)... u(170)} is coded at the
rate 1/3, using the following polynomials:
G12 = 1
G15 = (1 + D + D2 + D3 + D6) / (1 + D2 + D3 + D5 + D6)
G16 = (1 + D + D4 + D6) / (1 + D2 + D3 + D5 + D6)
resulting in 513 coded bits, {C(0)... C(512)} defined
by:
C(3k) = u(k)
C(3k+1) = u(k)+u(k-l)+u(k-2)+u(k-3)+u(k-6)+C(3k-5)+
C(3k-8)+C(3k-14)+C(3k-17)
C(3k+2) = u(k)+u(k-l)+u(k-4)+u(k-6)+C(3k-4)+C(3k-7) +
C(3k-ll) +C(3k-16)
for k=0, 1, ..., 170; u(k) =0 for k The code is punctured so that the following 65
coded bits:
{C(21*j+20) for j = 0, 1, ..., 15
C(21*j+8) C(21*j+ll) C(21*j+17) C(21*j+20) for j = 16,
17, ..., 23} and the bits C(1), C(2), C(4), C(5), C(8),
C(326), C(332), C(488), C(497), C(499), C(502), C(505),
C(506), C(508), C(509), C(511) and C(512) are not
transmitted.
As a result, there is a block of 448 coded and
punctured bits, P (0) . . .P(447) which is appended to the
bits of an in-band signaling in c.
c(k+8) = P(k) for k=0, 1, ..., 447.
The polynomials used in modes CH5-FS, CH6-FS,
CH7-FS are:
G17 = (1 + D2 + D3 + D4 + D5 + D6) / (1 + D2 + D3 + D5 + D6)
The significant values for modes (CH3-FS,
CH4-FS, CH5-FS, CH6-FS, CH7-FS) are:
CH3-FS:
C(3k) = u(k)
C(3k+1) = u(k)+u(k-l)+u(k-2)+u(k-3)+u(k-6)+C(3k-5)+
C(3k-8)+C(3k-14)+C(3k-17)
C(3k+2) = u(k)+u(k-l)+u(k-4)+u(k-6)+C(3k-4)+C(3k-7)+
C(3k-ll)+C(3k-16)
for k=0, 1, ..., 159; u(k) =0 for k Bits {C(18*j+2), C(21*j+8), C(21*j+11),
C(21*j+17) for j = 20, 21, ..., 25} and C(353), C(359),
C(470), C(473), C(475), C(476), C(478), C(479) are not
transmitted.
CH4-FS:
C(4k) = u(k)
C(4k+1) = u(k)+u(k-l)+u(k-2)+u(k-3)+u(k-6)+C(4k-7)+
C(4k-ll) +C(4k-19) +C(4k-23)
C(4k+2) = u(k)+u(k-l)+u(k-4)+u(k-6)+ C (4k-6)+C (4k-10) +
C(4k-18) +C(4k-22)
C(4k+3) = u(k) +u(k-2) +u(k-3) +u(k-4) +u(k-5) +u(k-6) +
C(4k-5) +C(4k-9) +C(4k-17) +C(4k-21)
for k=0, 1, ..., 145; u(k) =0 for k Bits (C(32*j+7), C(32*j+15), C(32*j+23),
C(32*j+27)
C(32*j+31) for j = 0, 1, ..., 10
C(16*j+3) C(16*j+7) C(16*j+ll) C(16*j+14) C(16*j+15)
for j = 22, 23, ..., 35} and bits C(2), C(3), C(11),
C(331), C(566), C(570), C(578), C(579), C(581), C(582)
and C(583) are not transmitted.
CH5-FS:
C(4k) = u(k)
C(4k+1) = u(k)+u(k-l)+u(k-2)+u(k-3)+u(k-6)+C(4k-7)+
C(4k-ll) +C(4k-19) +C(4k-23)
C(4k+2) = u(k) +u(k-l) +u(k-4) +u(k-6) +C(4k-6) +C(4k-10) +
C(4k-18)+C(4k-22)
C(4k+3) = u(k) +u(k-2) +u(k-3) +u(k-4) +u(k-5) +u(k-6) +
C(4k-5) +C(4k-9) +C(4k-17) +C(4k-21)
for k=0, 1, ..., 129; u(k) =0 for k Bits
{C(32*j+ll), C(32*j+23), C(32*j+31) for j = 0, 1, ..., 9
C(32*j+7), C(32*j+ll), C(32*j+15), C(32*j+23),
C(32*j+27), C(32*j+31) for j = 10, 11, ..., 15}
and bits C(499), C(510), C(514), C(515), C(518), C(519)
are not transmitted.
CH6-FS:
C(4k) = u(k)
C(4k+1) = u(k)+u(k-l)+u(k-2)+u(k-3)+u(k-6)+C(4k-7)+
C(4k-ll) +C(4k-19) +C(4k-23)
C(4k+2) = u(k) +u(k-l) +u(k-4) +u(k-6) +C(4k-6) +C(4k-10) +
C(4k-18) +C(4k-22)
C(4k+3) = u(k)+u(k-2)+u(k-3)+u(k-4)+u(k-5)+u(k-6)+
C(4k-5) +C(4k-9) +C(4k-17) +C(4k-21)
for k=0, 1, ..., 114; u(k) =0 for k Bits
{C(16*j+ll) for j = 22, 23, ..., 28} and bits C(450),
C(451), C(454), C(455), C(458) are not transmitted.
CH7-FS:
C(4k) = u(k)
C(4k+1) = u(k) +u(k-l) +u(k-2) +u(k-3) +u(k-6) +C(4k-7) +
C(4k-ll)+C(4k-19)+C(4k-23)
C(4k+2) = u(k)+u(k-l)+u(k-4) +u(k-6) +C(4k-6)+C(4k-10) +
C(4k-18) +C(4k-22)
C(4k+3) = u(k)+u(k-2) +u(k-3) +u(k-4)+u(k-5) +u(k-6) +
C(4k-5) +C(4k-9) +C(4k-17) +C(4k-21)
for k = 0, 1, ..., 94; u(k) = 0 for k Bits
C(1), C(2), C(3), C(6), C(7), C(11), C(367), C(383),
C(399), C(407), C(415), C(418), C(419), C(421), C(422),
C(423), C(425), C(426), C(427) are removed. In this
block of 409 coded and punctured bits, P(0)... P(408),
39 bits are repeated:
P(409+k) = P(10+k*8) for k=0, 1, ..., 38
Coding in half-rate mode (HR)
Coding of the bits of the in-band signaling:
Distribution of the bits to classes
The essential parameters for the coder and
correspondingly for each decoder are specified as
follows for the first codinq step:


The information on the parity and tail bits and
on the reordering corresponding to the full-rate mode.
After the first coding step u(k), the following
contents are defined for each coding mode:
CH8-HS: u(k) = d(k) for k = 0, 1, ...,66
u(k) = p(k-67) for k = 67, 68, ..., 72
u(k) = d(k-6) for k = 73, 74, ..., 128
u(k) = to be specified for k = 129, 130, ..., 133
CH9-HS: u(k) = d(k) for k=0, 1, ..., 60
u(k) = p(k-61) for k = 61, 62, ..., 66
u(k) = d(k-6) for k = 67, 68, ..., 125
u(k) = to be specified for k = 126, 127, ..., 130
CH10-HS: u(k) = d(k) for k=0, 1, ..., 54
u(k) = p(k-55) for k = 55, 56, ..., 60
u(k) = d(k-6) for k = 61, 62, ..., 115
u(k) = to be specified for k = 116, 117, ..., 120
CH11-HS: u(k) = d(k) for k=0, 1, ..., 54
u(k) = p(k-55) for k = 55, 56, ..., 60
u(k) = d(k-6) for k = 61, 62, ..., 107
u(k) = to be specified for k = 108, 109, ..., 112
CH12-HS: u(k) = d(k) for k=0, 1, ..., 48
u(k) = p(k-49) for k = 49, 50, ..., 54
u(k) = d(k-6) for k = 55, 56, ..., 96
u(k) = to be specified for k = 97, 98, ..., 102
CH13-HS: u(k) = d(k) for k=0, 1, ..., 38
u(k) = p(k-39) for k = 39, 40, ..., 44
u(k) = d(k-6) for k = 45, 46, ..., 88
u(k) = to be specified for k = 89, 90, ..., 94
Convolutional coder
The bits of the first coding step (u(k)) are
coded with a recursive systematic convolutional code
(see also Figure 4) . The number of output bits after
puncturing and repetition is 448 bits for all modes of
the coding method._______________________________________
The coding modes are presented in sequence:
CH8-HS:
One block of 134 bits {u (0) . . .u (133)} each is coded at
the rate of 1/2, using the following polynomials:
G12 = 1
G13 = (1 + D2 + D4 + D5) / (1 + D + D2 + D3 + D5)
resulting in 268 coded bits, {C(0)...C (267)}, defined
by:
C(2k) = u(k)
C(2k+1) = u(k)+u(k-2)+u(k-4)+u(k-5)+C(2k-l)+C(2k-3) +
C(2k-5) +C(2k-9)
for k=0, 1,..., 133; u(k) =0 for k The code is punctured so that the following 80
coded bits:
{C(8*j+3), C(8*j+7) for j = 0, 1,...., 21
C(8*j+3), C(8*j+5), C(8*j+7) for j = 22, 23,..., 32)}
and the bits C(1), C(265) and C(267) are not
transmitted.
As a result, there is a block of 188 coded and
punctured bits, P(0)...P(187) which is appended to the
bits of an in-band signaling in c.
c(k+4) = P(k) for k=0, 1,..., 187.
Finally, 36 Class-2 bits are appended to c
c(192+k) = d(123+k) for k=0, 1,..., 35.
CH9-HS:
The 262 coded bits {C(0)...C(261)}
C(2k) = u(k)
C(2k+1) = u(k)+u(k-2)+u(k-4)+u(k-5)+C(2k-l)+C(2k-3) +
C(2k-5) +C(2k-9)
for k=0, 1,..., 130; u(k) =0 for k are punctured so that 66 coded bits:
{C(16*j+3), C(16*j+7), C(16*j+ll) for j = 0, 1,..., 7
C(16*j+3), C(16*j+7), C(16*j+ll), C(16*j+15) for j=8,
9,..., 15)} and the bits C(1),
C(221), C(229), C(237), C(245), C(249), C(253), C(257),
C(259) and C(261) are not transmitted.
A block of 196 coded and punctured bits,
P (0)...P (195) is appended to the bits of the in-band
signaling in c:
c(k+4) = P(k) for k=0, 1,..., 195.
Finally, 28 Class-2 bits are appended to c:
c(200+k) = d(120+k) for k=0, 1,..., 27.
CH10-HS:
The 242 coded bits {C(0)...C(241)}:
C(2k) = u(k)
C(2k+1) = u(k) +u(k-2) +u(k-4) +u(k-5) +C(2k-1) +C(2k-3) +
C(2k-5) +C(2k-9)
for k=0, 1,..., 106; u(k) =0 for k k are punctured so that 42 coded bits:
(C(8*j+3) for j = 0, 1,..., 21
C(8*j+3), C(8*j+7) for j = 22, 23,..., 29)} and the
bits C(1), C(233), C(237) and C(241) are not
transmitted.
A block of 200 coded and punctured bits,
P(0)... P(199) is appended to the bits of the in-band
signaling in c:
c(k+4) = P(k) for k=0, 1,..., 199.
Finally, 24 Class-2 bits are appended to c:
c(204+k) = d(110+k) for k=0, 1,..., 23.
CHll-HS:
The 226 coded bits {C(0)...C(225)}:
C(2k) = u(k)
C(2k+1) = u(k) +u(k-2) +u(k-4) +u(k-5) +C(2k-1) +C(2k-3) +
C(2k-5) +C(2k-9)
for k=0, 1,..., 112; u(k) =0 for k k are punctured so that 18 coded bits:
{C(28*j+15) for j = 0, 1,..., 7} and bits C(1), C(3),
C(7), C(197), C(213), C(215), C(217), C(221), C(223)
and C(225) are not transmitted.
A block of 208 coded and punctured bits,
P (0)...P (207) is appended to the bits of the in-band
signaling in c:
c(k+4) = P(k) for k=0, 1,..., 207.
Finally, 16 Class-2 bits are appended to c:
c(212+k) = d(96+k) for k=0, 1,..., 15.
CH12-HS:
The 3 09 coded bits {C(0)...C(308)}:
C(3k) = u(k)
C(3k+1) = u(k)+u(k-l)+u(k-2)+u(k-3)+u(k-6)+C(3k-5) +
C(3k-8) +C(3k-14) +C(3k-17)
C(3k+2) = u(k) +u(k-l) +u(k-4)+u(k-6)+C(3k-4) +C(3k-7) +
C(3k-ll)+C(3k-16)
for k=0, 1,..., 102; u(k) =0 for k k are punctured so that 97 coded bits:
{C(12*j+5), C(12*j+8), C(12*j+ll) for j = 0, 1,..., 15
C(12*j+2), C(12*j+5), C(12*j+8), C(12*j+ll) for j = 16,
17,..., 24) and bits C(1), C(2), C(4), C(7), C(292),
C(292), C(295), C(298), C(301), C(302), C(304), C(305),
C(307) and C(308) are not transmitted.
A block of 212 coded and punctured bits,
P (0)...P (211) is appended to the bits of the in-band
signaling in c:
c(k+4) = P(k) for k=0, 1,..., 211.
Finally, 12 Class-2 bits are appended to c:
c(216+k) = d(91+k) for k=0, 1,..., 11.
CH13-HS:
The 2 85 coded bits {C(0)...C(284)}:
C(3k) = u(k)
C(3k+1) = u(k) +u(k-l)+u(k-2) +u(k-3) +u(k-6) +C(3k-5) +
C(3k-8)+C(3k-14)+C(3k-17)
C(3k+2) = u(k)+u(k-l)+u(k-4)+u(k-6)+C(3k-4)+C(3k-7)+
C(3k-ll)+C(3k-16)
for k = 0, 1,..., 94; u(k) = 0 for k are punctured so that 73 coded bits:
{C(12*j+5), C(12*j+ll) for j = 0, 1,..., 11
C(12*j+5), C(12*j+8), C(12*j+ll) for j = 12, 13,...,
22} and bits C(1), C(2), C(4), C(7), C(8), C(14),
C(242), C(254), C(266), C(274), C(277), C(278), C(280),
C(281), C(283) and C(284) are not transmitted.
A block of 212 coded and punctured bits,
P(0)... P(211) is appended to the bits of the in-band
signaling in c:
c(k+4) = P(k) for k=0, 1,..., 211.
Finally, 12 Class-2 bits are appended to c:
c(216+k) = d(91+k) for k=0, 1,..., 11.
The polynomials of the systematic recursive
code (G13 to G17) in the AMR (see Figure 5) shown were
used for two reasons:
they have optimum characteristics for the
puncturing, i.e. the adaptation of the data rate
to the transmission rate of the radio channel, and
numerator or denominator polynomial are in each
case also the polynomial used in the original AMR
channel coding proposal (see Tdoc SMG 147/98). The
necessary changes are thus minimum compared with
the original proposal.
The polynomials used hitherto for voice, data
and signaling information in the GSM system can also be
used for the AMR channel coder with negligible
restrictions in the performance. This can be done
instead of the polynomials described above or as a
complete alternative channel coding arrangement. The
advantage lies in that the compatibility is extended
further since in some cases older pre-existing hardware
components in the channel decoder only allow the
previous GSM polynomials to be used.
Figure 6 shows a base station BS in which, in
the reception case, signals received via an antenna A
are amplified in a receiver, filtered, converted to
baseband and digitized.
This is followed by channel decoding (step 1), which
can be done with decoding devices installed in existing
base stations BS, i.e. the circuit technology can
remain unchanged. This is followed by post-processing
(step 2) of the decoded data which is implemented as a
program. This post-processing consists of convolutional
coding at a rate of 1 with the denominator polynomial
of the respective rate.
As a result, this post-processing is of little
complexity and is performed, for example, by an
additional program in a DSP (digital signal processor).
Referring, e.g. to the rate CHO-FS, this means
that the block with 255 bits at the output of the
decoder must be coded with the polynomial:
G(D) = (1 + D + D2 + D3 + D5)
in order to obtain the 255 original bits. The number of
data bits remains constant, i.e. a current data bit at
the input of this post-processing yields exactly one
original bit with the aid of past input bits.
The coding and decoding methods described can
be used both in base stations BS and in mobile stations
MS.
WE CLAIM
1. Method for channel coding and decoding in a GSM mobile radio system,
in which
- channel coding which uses recursive systematic codes is performed
at the transmitting end for the transmission via a radio interface
between a base station (BS) and a subscriber station (MS),
- voice information to be coded is first ordered in accordance with its
sensitivity to transmission errors and / or a priority allocated to it
and is subdivided into at least first and second voice information,
- channel coding which uses error protection codes for a cyclic
redundancy check in a first coding step and recursive systematic
codes with a numerator polynomial and a denominator polynomial
in a second coding step is performed for first voice information,
- channel coding which uses recursive systematic codes with a
numerator polynomial and a denominator polynomial is performed
for second voice information, characterized in that
- channel decoding with successive non-recursive single steps is
performed at the receiving end,
- post-processing is performed on the basis of the denominator
polynomial after channel decoding with the numerator polynomial.
2. Method as claimed in claim 1, wherein the error protection codes for the
cyclic redundancy check are generated with the generator polynomial
g (D) = D6 + D5 + D3 + D2 + D1 + 1.
3. Method as claimed in one of claims 1 or 2, wherein the recursive
systematic codes are generated with the generator polynomial
g (D) = 1 + D + D3 + D4 / 1 + D3 + D4 or
g (D) = 1 + D + D4 + D6 / 1 + D2 + D3 + D5 + D6.
4. Method as claimed in claim 1, wherein the post processing is performed
with programming means.
5. Method as claimed in one of claims 1 to 4, wherein a priori knowledge is
obtained from a previous decoding at the receiving end and this a priori
knowledge is used in subsequent channel decoding.
6. Method as claimed in one of claims 1 to 5, wherein the recursive
systematic codes are used within an adaptive multirate coder, a coder
being selected in accordance with the transmission conditions.
7. Method as claimed in one of claims 1 to 5, wherein the two polynomials
of the recursive systematic codes, at least one polynomial of a non-
recursive systematic code previously used in the GSM mobile radio
system is used.
8. Base station (BS) for a GSM mobile radio system which performs, for
transmission via a radio interface to a subscriber station (MS), channel
coding which uses recursive systematic codes and is designed in such a
manner that
- voice information to be coded in first ordered in accordance with its
sensitivity to transmission errors and / or a priority allocated to it
and is subdivided into at least first and second voice information,
- channel coding which uses error protection codes for a cyclic
redundancy check in a first coding step and recursive systematic
codes with a numerator polynomial and a denominator polynomial
in a second coding step is performed for first voice information,
- channel coding which uses recursive systematic codes with a
numerator polynomial and a denominator polynomial is performed
for second voice information, characterized in that
- channel decoding with successive non-recursive single steps is
performed,
- post-processing is performed on the basis of the denominator
polynomial after channel decoding with the numerator polynomial.
9. Base station (BS) as claimed in claim 8, wherein the error protection
codes for the cyclic redundancy check are generated with the generator
polynomial
g (D) = D6 + D5 + D3 +D2 + D1 + 1.
10. Base station (BS) as claimed in one of claims 8 or 9, wherein the
recursive systematic codes are generated with the generator polynomial
g (D) = 1 + D + D3 + D4 / 1 + D3 + D4 or
g (D) = 1 + D + D4 + D6/ 1 + D2 + D3 + D5 + D6.
11. Subscriber station (MS) for a GSM mobile radio system which performs,
for the transmission via a radio interface to a base station (BS), channel
coding which uses recursive systematic codes and is designed in such a
manner that
- voice information to be coded is first ordered in accordance with its
sensitivity to transmission errors and / or a priority allocated to it
and is subdivided into at least first and second voice information,
- channel coding which uses error protection codes for a cyclic
redundancy check in a first coding step and recursive systematic
codes with a numerator polynomial and a denominator polynomial
in a second coding step is performed for first voice information,
- channel coding which uses recursive systematic codes with a
numerator polynomial and a denominator polynomial is performed
for second voice information,
- characterized in that
- channel decoding with successive non-recursive single step is
performed,
- post-processing is performed on the basis of the denominator
polynomial after channel decoding with the numerator polynomial.
12. Subscriber station (MS) as claimed in claim 11, wherein the error
protection codes for the cyclic redundancy check are generated with the
generator polynomial
g (D) = D6 + D5 + D3 +D2 + D1 + 1.
13. Subscriber station (MS) as claimed in one of claims 11 or 12, wherein the
recursive systematic codes are generated with the generator polynomial
g (D) = 1 + D + D3 + D4 / 1 + D3 + D4 or.
g (D) = 1 + D + D4 + D6 / 1 + D2 +D3 + D5 + D6.
According to the invention, it is proposed to use recursive systematic codes
(RSC codes) for channel coding in GSM mobile radio systems. In contrast to
previous conceptions, these RSC codes can also be used on the basis of the
hardware installed in existing GSM mobile radio systems. The RSC codes can
be introduced during the introduction of an adaptive multirate coder (AMR).

Documents:


Patent Number 225658
Indian Patent Application Number IN/PCT/2001/00516/KOL
PG Journal Number 47/2008
Publication Date 21-Nov-2008
Grant Date 19-Nov-2008
Date of Filing 14-May-2001
Name of Patentee SIEMENS AKIENGESELLSCHAFT
Applicant Address WITTLE LSBACHERPLATZ 2 D-80333 MUENCHEN
Inventors:
# Inventor's Name Inventor's Address
1 HAGENAUER, JOACHIM PETER-ROSEGGER-STRASSE 41 D-82229 SEEFELD
2 HINDELANG, THOMAS KRANER STRASSE 17, D-81373 MUNICH
3 OESTREICH, STEFAN AUSTRASSE 18, D-83607 HOLZKIRCHEN
4 XU WEN BISCHOFSHOFENER STRASSE 11, D-82008 UNTERHACHING
PCT International Classification Number H03M 13/23
PCT International Application Number PCT/DE99/03698
PCT International Filing date 1999-11-19
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 198 53 443.4 1998-11-19 Germany