METHOD FOR FORMING TRANSITION METRICS AND A RECEIVER OF A CELLULAR RADIO SYSTEM

Abstract: The invention relates to forming transition metrics in a receiver of a digital cellular radio system, the receiver comprising a hardware implementation of a transition metrics calculation unit for Viterbi decoding. The receiver comprises a shift register (41) which stores coefficients of the generator polynomial of the convolutional code. The receiver further comprises masking means (42) which mask the state of the Viterbi decoding by the coefficients of the polynomial. Moreover, the receiver comprises odd parity means (43 and 46) which form a parity bit of the state of the masked Viterbi decoding, the parity bit controlling the block (44 and 45) forming the transition metrics. The solution combines the advantages of software and hardware implementations.

Description: Method for forming transition metrics and a receiver of a cellular radio system The present invention relates to a method for forming transition metrics in a receiver of a digital cellular radio system, the receiver being based on a hardware implementation of a Viterbi decoding and the system utilizing predetermined metrics and a signal coded by one or more convolutional codes . The invention further relates to a receiver of a digital cellular radio system, comprising the hardware implementation of a transition metrics calculation unit for Viterbi decoding, the system utilizing predetermined metrics and a signal coded by one or more convolutional codes. A convolutional code is recursive, and it is formed in a known manner by a finite-state coder whose state only depends on the previous symbols of the code . The code words of the convolutional code, which are symbols representing bits or combinations of bits, may be depicted by means of a trellis diagram. The trellis represents the co-dependence between the states of the Viterbi decoding and received symbols. By utilizing trellis, the symbols received are estimated. A convolutional coder may be seen as a shift register having the length m, resulting in that it may be depicted by a polynomial of the degree m at most. This means that the polynomial coefficients represent the taps of the filter, and the polynomials are referred to as the generator polynomials of the convolutional code. By means of redundancy created by convolutional coding, the errors caused by the channel on the message transmitted are reduced, and it is of prior art to use several generating polynomials for the same signal in the convolutional coding, whereby one bit to be transmitted will become a symbol comprising a combination of bits. In a finite-state discretely-timed Markov process, with white noise influencing the estimates concerning the conditions of the cellular radio system, the optimum recursive algorithm is the Viterbi algorithm. The received signal may be Viterbi decoded at a base station of the cellular radio system or at a subscriber end terminal. In the Viterbi block of the receiver, the trellis of the convolutional-coded message is found, whereby the transition metrics based on the convolutional polynomial of the message transmitted are computed. Thus, m Viterbi decoding, the symbols corresponding to the information transmitted are detected, the symbols representing the bits or bit combinations of the message transmitted. As known, the Viterbi algorithm is used in signal detecting and decoding. From the signal, the Viterbi algorithm generates an estimate for an ML sequence (ML = Maximum Likelihood) , and soft decisions for the channel decoding functions. The ML estimate comprises estimates of the symbol sequences within the signal. The ML method is discussed in: Proakis J. G., Digital Communications, McGraw-Hill Book Company, 1989, chapter 4.2, and the hardware implementation of the Viterbi algorithm is discussed in the publication: Fettweis, G. and H. Meyer, High-Speed Parallel Viterbi Decoding: Algorithm and VLSI- Architecture, IEEE Communications Magazine, Vol. 29(5) , 1991, which are incorporated herein as reference. Due to the Viterbi algorithm often being too demanding a task for a digital signal processing program within processing time allowed by the receiver, separate Viterbi hardware has to be used. The hardware block in the prior art solutions is convolutional-polynomial-specific, which means that the hardware solution has to be redesigned and reimplemented m case the generator polynomials of the convolutional code are changed. This is described in greater detail in J. Hagenauer, P. Hoeher: A Viterbi Algorithm with Soft-decision Outputs and its Applications, IEEE GLOBECOM 1989, Dallas, Texas, November 1989, and in: Digital Communications, by Proakis J. G., McGraw-Hill Book Company, 1989, chapters 5.3.2, 5.3.3 and 5.3.4, which are herein incorporated as reference. It is therefore an object of the present invention to implement a receiver whose hardware solution does not have to be modified due to changing the convolutional coding or due to adding new convolutional polynomials. The Viterbi block may be made programmable if the transition metrics calculation unit takes into account the possibility to use different convolutional polynomials. This object is achieved by a method of the type disclosed in the introduction, characterized by storing the coefficients of the polynomials generating the convolutional code into one or more memory means whose contents may repeatedly be changed; masking the state of Viterbi decoding by the coefficients of the generator polynomials of the convolutional code, said coefficients being stored in the memory means, and; -forming a bit representing the parity of the state of the Viterbi decoding masked by the coefficients of the generator polynomials of the convolutional code, said bit being used to control forming the transition metrics. The receiver according to the invention in a digital cellular radio system is characterized by comprising one or more memory meanε into which the coefficients of the polynomial generating the convolutional code are arranged to be stored and whose contents are arranged to be continuously changed; by comprising masking means, the coefficients of the polynomial generating the convolutional code stored therein being arranged to be used for masking the state of the Viterbi decoding, and; by comprising parity means arranged to form a bit representing the parity of the state of the masked Viterbi coding, the bit being arranged to control the comparison means used to form the transition metrics. The solution according to the invention provides a multitude of advantages. It combines the advantages of software and hardware implementation methods by making the hardware transition metrics calculation unit of the Viterbi decoder programmable. This makes it possible, by means of the solution, to change the convolutional polynomials of the Viterbi decoding in an ASIC solution without redesign of the ASIC solution. This saves time and money for example upon taking in use a new channel coding function at a GSM base station. The preferred embodiments of the method of the invention and the cellular radio system of the invention are also set forth in the attached dependent claims. In the following, the invention will be described in greater detail with reference to the examples in the accompanying drawings, in which Figure 1 illustrates a trellis diagram, Figure 2 illustrates the significant parts of a Viterbi block, Figure 3 illustrates the structure of the programmable transition metrics calculation unit according to the invention, Figure 4 illustrates the structure of the transition metrics calculation unit according to the invention, Figure 5 illustrates the significant parts of a receiver of a cellular radio system. The hardware solution according to the invention may be used in radio systems where received signals are Viterbi decoded. A typical system could be represented by e.g. a cellular radio system, particularly the GSM system, and the receiver in such a case may be a base station or a subscriber end terminal. The operation of the Viterbi algorithm may be illuminated with the aid of an eight-state trellis diagram of Figure 1. In case the channel estimated impulse response has N symbols, the Viterbi decoding undergoes a transition to a known state by going through N-l known symbols. Consequently, these N symbols are present in the state of the trellis diagram and the state transition. Thus, the trellis diagram comprises 2 " states. The impulse response normally has 5 symbols, whereby there are 16 states (in Figure 1 there are only 8 states for reasons of clarity) . The solving of the Viterbi algorithm proceeds from left to right in the trellis diagram, which represents the chronological order of the events in the trellis diagram. From each point, i.e. state, it is possible to arrive at two points, which takes place by two different routes depending on the bit received. The state in the metrics represents a window displaying only a few bits at a time, usually four bits in an endless bit sequence. From the sequence of bits appearing on the window, a bit will always be omitted as the metrics proceed from one state to another, and simultaneously a new, received, bit enters the sequence at its opposite end. In order to determine the bit received, at each point the better of the paths arriving at said point is chosen, and this information is stored in the memory. Besides a mere hard bit decision (0 or 1) , information on the merit of the decision (a so-called soft decision) can also be stored, thus increasing the memory capacity required for each point in the trellis diagram. In the solution of the invention predetermined metrics are used, determined by the polynomials generating the convolutional code in the system. The number of the polynomials determines how many bits transmitted corresponds to one bit coded, and the degree can be seen from the highest degree of the polynomials. The Viterbi algorithm may also be presented in a block diagram form, as illustrated by Figure 2. The Viterbi decoder comprises a Transition Branch Metrics Unit (BMU) 21, an Add-Compare-Select Unit (ACS) 22, a Survivor Memory Unit (SMU) 23 and a Cumulative Metrics Memory (CUM) 24. The data received 25 are applied to the BMU 21. At each point i.e. state, the BMU 21 forms, on the basis of the convolutional coding of the transmission, a value corresponding to each path entering said point from both possible points. At the ACS 22, the quantities obtained are compared with one another, the value providing the better result is chosen, and said value is added to the sum obtained from the CUM 24, and the value stored in the CUM 24 for calculating the next column. The value obtained is also stored in the memory unit 23 for tracing the correct path. The CUM 24 stores the values previously calculated for each point of the column. By setting the cumulative metrics 24 to zero, all values stored therein will de deleted, resulting in that the next Viterbi decoding will be independent of the previous one. Tracing the correct path is carried out in the memory unit 23 as in prior art by proceeding from left to right in the trellis diagram. The decoded symbols 26 are obtained from the output of the memory unit 23. In the following, the transition metrics calculation unit 21, the specific object of the invention, will be described in greater detail, with Figure 3 illustrating a block diagram example of such a unit. The transition metrics calculation unit 21 according to the preferred embodiment of the invention comprises separate calculation means for each polynomial used in generating the convolutional code. At least as many transition metrics calculation units (CALC TR) 31, 32, 33 and 34 will be required as there are convolutional codes used in the system. Input to each transition unit 31, 32, 33 and 34 is provided by the Viterbi decoding state STATE and a coefficient from each respective polynomial POL_0, P0L_1, P0L_2 and P0L_3 generating the convolutional code, and a received symbol associated with the polynomial coming into the Viterbi decoding, the symbol advantageously being a soft decision bit SOFT_BIT0, S0FT_BIT1, S0FT_BIT2, S0FT_BIT3. The polynomials POL_0 , P0L_1, P0L_2 , and P0L_3 are, in the solution according to the invention, programmable into the transition metrics calculation unit 31, 32, 33 and 34. If the symbol entering the Viterbi decoding is a soft decision bit, the advantage gained is that in addition to the bit associated with the information transfer proper it also contains information on the merit of the bit value. This bit may also be a hard decision bit, if no attention is paid to the merit of the bit decision. The outputs of each transition metrics calculation unit 31, 32, 33 and 34 are provided by bits that represent, in the Viterbi decoding trellis diagram (Figure 1) , paths in accordance with which one of the possible paths comes into each state. Thus, the outputs indicate whether there is an even or odd number of the bit "1". The output parity therefore indicates the bit that is omitted from the symbol sequence of the trellis state when a new, received, bit enters the opposite end of the symbol sequence. The even combinations of the outputs from the transition metrics calculation unit 31, 32, 33 and 34 are applied to a summer 35 and the odd combinations of the outputs are applied to a summer 36, both these summers 35 and 36 most simply operating in the preferred embodiment of the invention in two's complement logic when soft bit decisions are employed. The aforementioned summers calculate the sum of single transitions of the different transition metrics calculation units 31, 32, 33 and 34, and consequently compensate for errors possibly occurred on the transmission path in some of the codings. The outputs of the summers 35 and 36 are fed to the add- co pare-select unit 22, the other blocks of the Viterbi decoding being as in prior art. One embodiment of the transition metrics calculation unit 31 is described in greater detail in Figure 4. The transition metrics calculation unit 31 comprises, according to the preferred embodiment of the invention, memory means 41, masking means 42, parity means 43, transition metrics generating blocks 44 and 45 and parity means 46. A shift register advantageously serves as the memory means 41. AND gates advantageously serve as the masking means 42. The comparison means 44 and 45, controlling the forming of the transition metrics, are complement means that form a two's complement when soft bit decisions are employed. The parity means 43 and 46 are advantageously odd parity means whereby the output will be "1" if an odd number of "l"s have arrived at the odd parity means. An exclusive OR gate advantageously serves as the parity means 43. In the following, the operation of the transition metrics calculation unit 31 will be described in greater 2 detail by using as an example the polynomial F(D) = D + 1 as the polynomial (POL in Figure 4) generating the convolutional code. Here, F(D) means the function F having the variable D. The general form of the polynomial is F(D) = f n -ιD π + ^ 0 - 2 °" + * * * +fι D + fo* where f n _-,, ... , f 0 are coefficients of the variable D. In the exemplary case f 2 is 1, ft, is 0 and f 0 is 1, i.e. the matrix form (here vector form) f is f [1 0 1] . The contents of the shift register 41 will thus be f i.e. 1 0 1 so that in Figure 4 the LSB (Least Significant Bit) is the topmost and the MSB (Most Significant Bit) is at the bottom, as indicated by the figure by way of example. With the aid of AND gates 42, the polynomial bits are used to mask off the insignificant part, as far as coding is concerned, from the state of the Viterbi coding which is dependent on the current and received bits, i.e. in this example the middle bit 0. Let as assume that STATE 01 prevails. This means that the LSB (Least Significant Bit) of the STATE is 0 and the MSB (Most Significant Bit) is 1. The output of both the AND gates 42 will consequently be 0. These outputs are applied to the parity means, i.e. in this case to the odd parity means, i.e. in this case further to the exclusive OR gate 46. The output COMPeven of the odd parity means 46 is connected to the comparison means 45 whose output will be 0 i.e. TReven is 0. The coefficient of the polynomial with the highest degree term is connected from the shift register 41 directly to the exclusive OR gate 43 to whose second input will be applied the output of the odd parity means 46. The output COMPodd of the gate 43 is connected to the comparison means 44 whose second input is the received symbol SOFT_BIT. The bits COMPodd and COMPeven represent an estimate of which bit is to be omitted from the trellis state symbol sequence upon transition from one state to another. When COMPodd is 1, it means that the bit estimated to be omitted from the state is 1, and when COMPeven is 0 the bit estimated to be omitted is 0. The 0 used herein may correspond to 0 or 1 in the binary system, and in a similar manner 1 may correspond to 0 or 1 in the binary system, depending on what is agreed upon in the system of the invention. By comparing the received bit SOFT_BIT to the estimate COMPodd and COMPeven it will become clear which one of the estimates is closer to being correct. When the received bit S0FT_BIT is in accordance with the soft decision, the distance between the estimate (COMPodd and COMPeven) and the received bit SOFT_BIT is calculated, and on the basis of the distance, estimates will be made as to which bit was more probably received. In this manner, transition metrics are formed. E.g. a two's complementation component may serve as comparison means 44 and 45. When several polynomials generating the convolutional code are employed, the detection correspondingly uses several transition metrics calculation units 31, 32, 33 and 34, as described in association with Figure 3. For the parity means 46, a similar pair is in principle needed to which the outputs of the masked states and the coefficients of the polynomials generating the convolutional code are coupled. In practice, a component often having many inputs is therefore not required because a state corresponding to the highest degree of the polynomial does not exist, and therefore a two-input exclusive OR gate, to which the parity means 46 output and a coefficient corresponding to the highest degree of the polynomial are connected, advantageously serves as the pair of the parity means 46. In the following, a receiver of the invention in a cellular radio system will be described in more detail, with Figure 5 illustrating in block diagram form the essential parts of such a receiver. The receiver comprises an antenna 51 which receives a signal to be applied to a DETECTOR 52. The signal proceeds to the inventive part of the receiver which is a Viterbi decoding means 53 (VITERBI DECODING) . After the Viterbi decoding, the signal proceeds to other signal processing means 54 (POST PROCESS) of the receiver. In the detecting means 52, the radio frequency parts usually transform the signal to an intermediate frequency, after which the detecting means convert the signal from analog to digital. The detecting means 52 may further e.g. filter the signal. The detector 52 often further comprises at least deinterleaving. How the detector 52 works is not essential to the solution of the invention. The Viterbi decoding means 53 operate according to the transition metrics forming principle used in the Viterbi decoding according to the invention, and the outputs of the Viterbi decoding means 53 are the decoded symbols. A more detailed description on the structure and operation of the Viterbi decoding means 53 is offered in association with Figures 2, 3 and 4. In other signal processing means 54, for example source decoding and converting the signal into a suitable form from the user's point of view, e.g. speech from a loudspeaker, take place. In the advantageous embodiment of the invention, information on what generator polynomials of the convolutional code are used or will be incorporated in the system is transmitted to the receiver via the signalling employed by the system. Consequently, there is no need, for example, to send someone with an installing device to every single base station to change the polynomial coefficients whenever a new convolutional code is taken in use in the system. The receiver receives and stores the polynomials transmitted in the memory means 41. The information on the new polynomials may also be fed to the memory means 41 from a loading device operationally connected to the receiver. Although the invention is described above with reference to the examples in the accompanying drawings, it is obvious that the invention is not restricted thereto but it may be modified in various ways within the inventive idea of the attached claims.

Claims: Claims 1. A method for forming transition metrics in a receiver of a digital cellular radio system, the receiver being based on a hardware implementation of a Viterbi decoding and the system utilizing predetermined metrics and a signal coded by one or more convolutional codes, c h a r a c t e r i z e d by storing the coefficients of the polynomials generating the convolutional code into one or more memory means (41) whose contents may repeatedly be changed; masking the state of Viterbi decoding by the coefficients of the generator polynomials of the convolutional code, said coefficients being stored in the memory means (41) , and; forming a bit representing the parity of the state of the Viterbi decoding masked by the coefficients of the generator polynomials of the convolutional code, said bit being used to control forming the transition metrics. 2. A method as claimed in claim 1, c h a r a c t e r i z e d in that transition metrics related to more than one generator polynomial of the convolutional code are formed by calculating the transitions related to each polynomial separately and by combining the transitions thus formed. 3. A method as claimed in claim 2, c h a r a c t e r i z e d in that combining the transitions related to more than one generator polynomial of the convolution code is carried out by summing the transitions of odd and even parities separately. 4. A method as claimed in claim 1, c h a r a c t e r i z e d in that transition metrics associated with each code are formed so that the received symbol is compared to the estimate formed by parity means by employing two's complementation. 5. A method as claimed in claim 1, c h a r a c t e r i z e d in that coefficients of the generator polynomials of the convolutional code are transmitted through signalling used by the cellular radio system in order to be stored in memory means (41) of the receiver. 6. A receiver of a digital cellular radio system, comprising the hardware implementation of a transition metrics calculation unit (21) for Viterbi decoding, the system utilizing predetermined metrics and a signal coded by one or more convolutional codes , c h a r a c t e r i z e d by the receiver comprising one or more memory means (41) into which the coefficients of the polynomial generating the convolutional code are arranged to be stored and whose contents are arranged to be continuously changed; masking means (42) , the coefficients of the polynomial generating the convolutional code stored therein being arranged to be used for masking the state of the Viterbi decoding, and; parity means (43 and 46) arranged to form a bit representing the parity of the state of the masked Viterbi decoding, the bit being arranged to control the comparison means (44 and 45) used to form the transition metrics. 7. A receiver as claimed in claim 6, c h a r a c t e r i z e d in that the receiver comprises a plurality of separate transition metrics calculation units (31, 32, 33 and 34) , each being arranged to form a transition metric related to a generator polynomial of the convolutional code by calculating the transitions related to each polynomial separately, and that the receiver comprises combining means (35 and 36) which are arranged to combine the transitions thus formed. 8. A receiver as claimed in claim 7, c h a r a c t e r i z e d in that the transition combining means (35 and 36) included in the receiver are summers that are arranged to operate so that the transitions of even and odd parities are summed separately. 9. A receiver as claimed in claim 6, c h a r a c t e r i z e d in that the memory means (41) that are arranged to store the coefficients of the generator polynomial of the convolutional code are a programmable register. 10. A receiver as claimed in claim 6, c h a r a c t e r i z e d in that the comparison means (44 and 46) are a two's complement circuit.

Inventors: PIIRAINEN OLLI, PIIRAINEN, OLLI
Applicants: NOKIA TELECOMMUNICATIONS OY, PIIRAINEN OLLI, PIIRAINEN, OLLI
Application year: 1996
Main classification: H03M13
IPC codes: H03M13, H04L1