Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TAIL-BITING CONVOLUTIONAL CODES WITH VERY SHORT INFORMATION BLOCKS
Document Type and Number:
WIPO Patent Application WO/2017/050377
Kind Code:
A1
Abstract:
The present invention relates to an encoder device and a decoder device. The encoder device (100) for encoding an information word c = [C0, C1(..., Ck-1] having K information bits, q, the device (100) comprising an encoder (102) for a tail biting convolutional code having a constraint length, I, where K

Inventors:
BERGGREN FREDRIK (SE)
PEROTTI ALBERTO GIUSEPPE (SE)
Application Number:
PCT/EP2015/071957
Publication Date:
March 30, 2017
Filing Date:
September 24, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
BERGGREN FREDRIK (SE)
PEROTTI ALBERTO GIUSEPPE (SE)
International Classes:
H03M13/23; H03M13/39; H03M13/41; H04L1/00
Foreign References:
US20120320951A12012-12-20
EP2533451A22012-12-12
Other References:
MA H H ET AL: "ON TAIL BITING CONVOLUTIONAL CODES", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ. USA, vol. COM-34, no. 2, 1 February 1986 (1986-02-01), pages 104 - 111, XP002038443, ISSN: 0090-6778, DOI: 10.1109/TCOM.1986.1096498
Attorney, Agent or Firm:
KREUZ, Georg (DE)
Download PDF:
Claims:
CLAIMS

1 . Device (100) for encoding an information word c = [c0, c1( ... , cK_1] having K information bits, j , the device (100) comprising an encoder (102) comprising a tail biting convolutional code having a constraint length, I, where K < I - 1; the encoder (102) being configured to receive the K information bits, and

encode the K information bits so as to provide an encoded code word.

2. Device (100) according to claim 1 , wherein the encoder (102) comprises an initial state of bit values and a final state of bit values used in the encoding of the K information bits, and wherein the initial state of bit values is the same the final state of bit values.

3. Device (100) according to claim 1 or 2, wherein the encoder (102) further is configured to append at least one bit to the information word c so as to obtaining an appended information word c ' = [cQ' , c , ... , cK' , _^ having K'≥ I - 1 bits, and

using the appended information word c ' as the initial state of bit values.

4. Device (100) according to claim 3, wherein the at least one appended bit has a predetermined value.

5. Device (100) according to claim 4, wherein the encoder (102) further is configured to append L - 1 - in fixed bits f0, ... , fL-2-K according to

where π = [π0, ... , nL_2] is a permutation of integers [0, . . , L - 2].

6. Device (100) according to any of claim 4 or 5, wherein the device (100) is configured to input the appended information word c ' to the encoder (102) so as to encode the K information bits.

7. Device (100) according to claim 3, wherein the at least one appended bit is obtained from a cyclic extension of the information word c.

8. Device (100) according to claim 7, wherein the initial state of bit values are

si = c(K- l-i)mod ί = 0, ... , L— 1

where {K - 1 - i)mod K is smallest nonnegative integer that can be written as {K - 1 - i) + pK for an integerp.

9. Device (100) according to claim 7 or 8, wherein the device (100) further is configured to input the information word c to the encoder (102) so as to encode the K information bits.

10. Device (100) according to any of claims 2-9, wherein the encoder (102) comprises a shift register (104) of length L— l, where K < I - 1, for encoding the K information bits; and wherein the initial state of the bit values in the shift register (104), s = [s0, s1, ... , sL_2] , is the same as the final state of the bit values in the shift register (104).

1 1 . Device (300) for determining an information word c = [cQ, c1, ... , cK-1\ , having K information bits, q , the device (300) comprising a decoder (302) comprising a tail biting convolutional code having a constraint length, I, where K < I - 1; the decoder (302) being configured to:

receive an input sequence;

compute at least one reliability parameter based on the received input sequence;

determine an information word c based on the at least one reliability parameter.

12. Device (300) according to claim 1 1 , wherein the decoder (302) further is configured to compute the at least one reliability parameter based on the received input sequence and information comprising initial state of bit values and final state of bit values used in the encoding of the K information bits.

13. Method (200) for encoding an information word c = [¾, ¾, ... , ¾_!] having K information bits, Q , using a tail biting convolutional code having a constraint length, I, where K < L— l; the method (200) comprising:

receiving (202) the K information bits, and

encoding (204) the K information bits so as to provide an encoded code word.

14. Method (400) for determining an information word c = [cQ, c1, ... , cK-1\ , having K information bits, q, using a decoder (302) for a tail biting convolutional code having a constraint length, L, where K < L - 1; the method (400) comprising:

receiving (402) an input sequence;

computing (404) at least one reliability parameter based on the received input sequence;

determining (406) an information word c based on the at least one reliability parameter.

15. Computer program with a program code for performing a method according to claim 13 or 14 when the computer program runs on a computer.

Description:
TAIL-BITING CONVOLUTIONAL CODES WITH VERY SHORT INFORMATION BLOCKS

Technical Field

The present invention relates to a device for encoding (also known as an encoder device in this disclosure) and a device for determining an information word (also known as a decoder device in this disclosure). Furthermore, the present invention also relates to corresponding methods, a wireless communication system, a computer program, and a computer program product.

Background

Downlink carrier aggregation is a method to increase the throughput in a cellular communications system by configuring the receiver with multiple component carriers, over which data may be received simultaneously. To facilitate carrier aggregation, the receiver needs to send Uplink Control Information (UCI) to the base station. This may comprise Hybrid Automatic Repeat reQuest (HARQ) Acknowledgement (HARQ-ACK) bits in response to received Transport Blocks (TBs), periodic/aperiodic Channel State Information (CSI) reports and Scheduling Request (SR). Generally, the more carriers that are aggregated, the more UCI is needed. The reliability of the UCI is critical to both the system efficiency and the coverage and often comes with certain performance requirements. For example, there are stringent performance requirements for the ACK-to-NACK and NACK-to-ACK error probabilities which need to be fulfilled. It is therefore important that UCI can be transmitted reliably.

In Long Term Evolution (LTE) Rel-13, carrier aggregation has been enhanced to allow aggregation of up to 32 downlink component carriers, which is in contrast to the maximum of 5 component carriers being supported so far. This not only increases the associated maximum UCI payload but also induces larger variation of the UCI payload. For example, only a few HARQ-ACK bits need to be fed back when there are few carriers aggregated. Up to two TBs may be transmitted in a subframe on a downlink component carrier and each TB is associated with one HARQ-ACK bit. Thus, the minimum HARQ-ACK payload could be 2 bits, corresponding to 2 aggregated Frequency Division Duplex (FDD) component carriers carrying 1 TB each. On the other hand, the maximum HARQ-ACK payload could theoretically reach as high as 638 bits for Time Division Duplex (TDD) with aggregation of 32 component carriers. Also the CSI payloads could vary from a few bits to several hundred of bits. Consequently, it is preferable to have a channel coding scheme for the UCI which gives reasonable performance for a variety of UCI payload sizes while allowing simple encoder and decoder structures. For small UCI payloads, the 3rd Generation Partnership Project (3GPP) LTE-Advanced system is using various types of block codes, e.g., eed-Muller codes are used for up to 23 HARQ-ACK/SR bits. However, these codes cannot easily be generalized to the potential large payloads that come with aggregation of up to 32 carriers.

Summary

An objective of embodiments of the present invention is to provide a solution which mitigates or solves the drawbacks and problems of conventional solutions.

Another objective of embodiments of the present invention is to provide devices and methods for encoding information words having few bits with high reliability while enabling simple decoding procedures.

An "or" in this description and the corresponding claims is to be understood as a mathematical OR which covers "and" and "or", and is not to be understood as an XOR (exclusive OR).

The above objectives and further objectives are achieved by the subject matter of the independent claims. Further advantageous implementation forms of the present invention are found in the dependent claims.

According to a first aspect of the invention, the above mentioned and other objectives are achieved with a device for encoding an information word c = [c 0 , c 1( ... , c K _^\ having K information bits, Q, the device comprising an encoder comprising a tail biting convolutional code having a constraint length, I, where K < I - 1; the encoder being configured to

receive the K information bits, and

encode the K information bits so as to provide an encoded code word.

A number of advantages are provided by a device according to the first aspect.

The present solution allows using a tail biting convolutional code also for small number of information bits, and can therefore simplify the encoder (e.g. in a transmitter) and decoder (e.g. in a receiver) by obviating the need for additional channel codes, e.g., block codes. Further, the present solution makes it possible to encode information words consisting of K bits with a tail biting convolutional code having a constraint length I, where K < I - 1. In a first possible implementation form of a device according to the first aspect, the encoder comprises an initial state of bit values and a final state of bit values used in the encoding of the K information bits, and wherein the initial state of bit values is the same the final state of bit values.

The states in the encoder relate to bit values that are used for computing the encoded bits, e.g., the states may be represented in certain implementations by the values in shift registers. An initial state of bits values could be the shift register content prior to receiving the information word in the encoder, while the final state of bit values could be the shift register content after receiving the information word in the encoder.

The first possible implementation form allows an encoding procedure without rate loss due to avoiding padding the information word with bits having the value zero in order to let the initial and final state of bit values in the encoder be zero.

In a second possible implementation form of a device according to the first possible implementation form of the first aspect or to the first aspect as such, the encoder further is configured to

append at least one bit to the information word c so as to obtaining an appended information word c ' = [ε 0 , ε , ... , c ' ■ ] having K ' ≥ L— l bits, and

using the appended information word c ' as the initial state of bit values.

The appending of the at least one bit could include inserting the appended bit(s) before, after or between the bits in the information word depending on the application. As realised also more than one bit may be appended to fulfil the condition that A " ≥ L— l.

The second possible implementation form allows an encoding procedure without rate loss due to avoiding padding the information words with bits having the value zero in order to let the initial and final state of bit values in the encoder be zero.

In a third possible implementation form of a device according to the second possible implementation form of the first aspect, the at least one appended bit has a predetermined value.

The third possible implementation form has an advantage in that the predetermined value could be utilized to improve the performance in the decoder. In a fourth possible implementation form of a device according to the third possible implementation form of the first aspect, the at least one appended bit has a predetermined fixed position.

The fourth possible implementation form has an advantage in that the predetermined fixed position could be utilized to improve the performance in the decoder.

In a fifth possible implementation form of a device according to the third or fourth possible implementation form of the first aspect, the encoder further is configured to append L— l— K fixed bits f 0 , ... , f L - 2 - K according to

where π = [π 0 , ... , n L _ 2 ] is a permutation of integers [0, .. , L - 2].

The fifth possible implementation form has an advantage that a tail biting convolutional code decoder which is applicable to the case K≥ I - 1 , also could be utilized in the case K < I - 1 , which reduces the complexity of a receiver comprising the decoder.

In a sixth possible implementation form of a device according to any of the third to fifth possible implementation forms of the first aspect, the device is configured to

input the appended information word c ' to the encoder so as to encode the K information bits.

The sixth possible implementation form has an advantage that a tail biting convolutional code decoder which is applicable to the case K≥ I - 1 , also could be utilized in the case K < I - 1 , which reduces the complexity of a receiver comprising the decoder.

In a seventh possible implementation form of a device according to the second possible implementation form of the first aspect, the at least one appended bit is obtained from a cyclic extension of the information word c.

The seventh possible implementation form has an advantage that there is no coding rate loss, since the number of input bits to the encoder is K, i.e. equal to the number of bits of the information word.

In an eight possible implementation form of a device according to the seventh possible implementation form of the first aspect, the initial state of bit values are s i— c (/f- l-i)mod if, ί — 0, ... , L — 1

where {K - 1 - i)mod K is smallest nonnegative integer that can be written as {K - 1 - i) + pK for an integerp.

The eight possible implementation form has an advantage in that the initial state of bit values could be utilized to improve the performance in the decoder.

In a ninth possible implementation form of a device according to the seventh or eight possible implementation form of the first aspect, the device further is configured to

input the information word c to the encoder so as to encode the K information bits.

The ninth possible implementation form has an advantage that a tail biting convolutional code decoder which is applicable to the case K≥ I - 1 , also could be utilized in the case K < I - 1 , which reduces the complexity of a receiver comprising the decoder.

In a tenth possible implementation form of a device according to any of the first to ninth possible implementation form of the first aspect, the encoder comprises a shift register of length L— l, where K < I - 1, for encoding the K information bits; and wherein the initial state of the bit values in the shift register (104), s = [s 0 , s 1 , ... , s L _ 2 ] , is the same as the final state of the bit values in the shift register (104).

The tenth possible implementation form has the advantage of low-complexity encoding by utilizing shift registers, while enabling tail biting in the encoding.

In a eleventh possible implementation form of a device according to any of the preceding possible implementation forms of the first aspect or to the first aspect as such, generator polynomials of the encoder are GO = 133, Gl = 111 and G2 = 165 in octal representation, and wherein 1 = 1.

The eleventh possible implementation form has the advantage of using the tail biting convolutional code defined for the 3GPP E-UTRA (LTE) system.

In a twelfth possible implementation form of a device according to any of the preceding possible implementation forms of the first aspect or to the first aspect as such, the information word c = is at least one of control information, data information, cyclic redundancy check bits, and padding bits. The twelfth possible implementation form has the advantage of applying the encoding procedure for any kind of information words, e.g., data or control for uplink transmissions or downlink transmissions. It also allows improving the decoding performance by including cyclic redundancy check bits into the information word, or any other padding bits not used for carrying data or control information.

According to a second aspect of the invention, the above mentioned and other objectives are achieved with a device for determining an information word c = [CQ, ^, ... , c K _^\ , having K information bits, Q, the device comprising a decoder comprising a tail biting convolutional code having a constraint length, I, where K < I - 1; the decoder being configured to:

receive an input sequence;

compute at least one reliability parameter based on the received input sequence;

determine an information word c based on the at least one reliability parameter.

Advantages are provided by a device according to the second aspect as it allows reception of information words having K information bits encoded by a tail biting convolutional code having a constraint length, I, where K < I - 1.

In a first possible implementation form of a device according to the second aspect, the decoder further is configured to compute the at least one reliability parameter based on the received input sequence and information comprising initial state of bit values and final state of bit values used in the encoding of the K information bits.

The first possible implementation form has an advantage in that the information about the initial state of bit values in the encoder could be utilized to improve the performance in the decoder.

In a second possible implementation form of a device according to the first possible implementation form of the second aspect, the information further comprises at least one bit in the initial state of bit values and the position of the at least one bit in the initial state of bit values.

The second possible implementation form has an advantage in that the information about the initial state of bit values in the encoder could be utilized to improve the performance in the decoder. In a third possible implementation form of a device according to the first possible implementation form of the second aspect, the information further comprises that at least two bits in the initial state of bit values have the same value and that one of the two bits in the initial state of bit values is obtained from a cyclic extension of the information word c.

The third possible implementation form has an advantage in that the initial state of bit values could be utilized to improve the performance in a decoder.

According to a third aspect of the invention, the above mentioned and other objectives are achieved with a method for encoding an information word c = [c 0 , c 1( ... , <¾_ ! ] having K information bits, c using a tail biting convolutional code having a constraint length, I, where K < I - 1; the method comprising:

receiving the K information bits, and

encoding the K information bits so as to provide an encoded code word.

In a first possible implementation form of a method according to the third aspect, the encoder comprises an initial state of bit values and a final state of bit values used in the encoding of the K information bits, and wherein the initial state of bit values is the same the final state of bit values.

In a second possible implementation form of a method according to the first possible implementation form of the third aspect or to the third aspect as such, the method further comprises

appending at least one bit to the information word c so as to obtaining an appended information word c ' = [ε 0 , ε , ... , c ' ■ ] having K ' ≥ L— l bits, and

using the appended information word c ' as the initial state of bit values.

In a third possible implementation form of a method according to the second possible implementation form of the third aspect, the at least one appended bit has a predetermined value.

In a fourth possible implementation form of a method according to the third possible implementation form of the third aspect, the at least one appended bit has a predetermined fixed position. In a fifth possible implementation form of a method according to the third or fourth possible implementation form of the third aspect, the method further comprises appending L— l— K fixed bits f 0 , ... , f L - 2 - K according to

where π = [π 0 , ... , n L _ 2 ] is a permutation of integers [0, . . , L - 2].

In a sixth possible implementation form of a method according to any of the third to fifth possible implementation forms of the third aspect, the method further comprises

inputting the appended information word c ' to the encoder so as to encode the K information bits.

In a seventh possible implementation form of a method according to the second possible implementation form of the third aspect, the at least one appended bit is obtained from a cyclic extension of the information word c.

In an eight possible implementation form of a method according to the seventh possible implementation form of the third aspect, the initial state of bit values are

si = c (K- l-i)mod ί = 0, ... , L— 1

where {K - 1 - i)mod K is smallest nonnegative integer that can be written as {K - 1 - i) + pK for an integer p.

In a ninth possible implementation form of a method according to the seventh or eight possible implementation form of the third aspect, the method further comprises

inputting the information word c to the encoder so as to encode the K information bits.

In a tenth possible implementation form of a method according to any of the first to ninth possible implementation form of the third aspect, the encoder comprises a shift register of length L— l, where K < I - 1, for encoding the K information bits; and wherein the initial state of the bit values in the shift register (104), s = [s 0 , s 1 , ... , s L _ 2 ] , is the same as the final state of the bit values in the shift register (104).

In a eleventh possible implementation form of a method according to any of the preceding possible implementation forms of the third aspect or to the third aspect as such, generator polynomials of the encoder are GO = 133, Gl = 171 and G2 = 165 in octal representation, and wherein 1 = 1. In a twelfth possible implementation form of a method according to any of the preceding possible implementation forms of the third aspect or to the third aspect as such, the information word c = is at least one of control information, data information, cyclic redundancy check bits, and padding bits.

According to a fourth aspect of the invention, the above mentioned and other objectives are achieved with a method for determining an information word c = [<¾, <¾, ... , ¾_ ! ], having K information bits, using a decoder for a tail biting convolutional code having a constraint length, I, where K < I - 1; the method comprising:

receiving an input sequence;

computing at least one reliability parameter based on the received input sequence; determining an information word c based on the at least one reliability parameter.

In a first possible implementation form of a method according to the fourth aspect, the method further comprises computing the at least one reliability parameter based on the received input sequence and information comprising initial state of bit values and final state of bit values used in the encoding of the K information bits.

In a second possible implementation form of a method according to the first possible implementation form of the fourth aspect, the information further comprises at least one bit in the initial state of bit values and the position of the at least one bit in the initial state of bit values.

In a third possible implementation form of a method according to the first possible implementation form of the fourth aspect, the information further comprises that at least two bits in the initial state of bit values have the same value and that one of the two bits in the initial state of bit values is obtained from a cyclic extension of the information word c.

The advantages of the methods according to the third and the fourth aspects are the same as those for the corresponding device for encoding and decoding according to the first and second aspects, respectively.

According to a fifth aspect of the invention, the above mentioned and other objectives are achieved with a transmitter device for a wireless communication system, such as a user device or a base station, comprising at least one device for encoding according to an embodiment of the present invention. According to a sixth aspect of the invention, the above mentioned and other objectives are achieved with a receiver device for a wireless communication system, such as a user device or a base station, comprising at least one device for determining an information word (i.e. a decoder) according to an embodiment of the present invention.

The present invention also relates to a computer program, characterized in code means, which when run by processing means causes said processing means to execute any method according to the present invention. Further, the invention also relates to a computer program product comprising a computer readable medium and said mentioned computer program, wherein said computer program is included in the computer readable medium, and comprises of one or more from the group: ROM (Read-Only Memory), PROM (Programmable ROM), EPROM (Erasable PROM), Flash memory, EEPROM (Electrically EPROM) and hard disk drive.

Further applications and advantages of the present invention will be apparent from the following detailed description.

Brief Description of the Drawings

The appended drawings are intended to clarify and explain different embodiments of the present invention, in which:

- Fig. 1 shows a device for encoding (encoder device) according to an embodiment of the present invention;

- Fig. 2 shows a method according to an embodiment of the present invention;

- Fig. 3 shows a further embodiment of a device for encoding to the present invention;

- Fig. 4 shows an appended control information word;

- Fig. 5 shows another appended control information word;

- Fig. 6 shows a device for determining an information word (decoder device) according to an embodiment of the present invention;

- Fig. 7 shows another method according to an embodiment of the present invention; and

- Fig. 8 shows a wireless communication system according to an embodiment of the present invention.

Detailed Description

Fig. 1 shows a device 100 for encoding information words according to an embodiment of the present invention. The device 100 comprises an encoder 102. The present device 100 is configured to encode one or more information words c = [c 0 , c 1 , ... , c K _ 1 \ having K information bits, Q, by using an encoder 102 for a tail biting convolutional code having a constraint length I, where K < I - 1. Therefore, the encoder 102 of the device 100 is configured to receive the K information bits of an information word illustrated with the rightwards directed arrow going to the encoder 102 (however the encoder input is not shown in Fig. 1 ). The encoder 102 is further configured to encode the K information bits so as to provide an encoded code word. Further, the encoder 102 is configured to output the encoded code word which is illustrated with the rightwards directed arrow going from the encoder 102.

Fig. 2 shows a corresponding method which may be implemented in a device for encoding 100, such as the one shown in Fig. 1 . The method 200 comprises the step of receiving 202 the K information bits. The method 200 further comprises the step of encoding 204 the K information bits so as to provide an encoded code word. The method 200 may also comprise the optional step of outputting 206 the encoded code word as illustrated with the dotted box in Fig. 2.

Furthermore, the information word c = [£¾, £¾, ... , £¾_ ! ] to be encoded is at least one of control information, data information, cyclic redundancy check bits, and padding bits. The information words for encoding may relate to different content. For example, data and/or control information for uplink transmissions or downlink transmissions in cellular communication systems, such as LTE. Further, the information word may also comprise cyclic redundancy check bits for improving the decoding performance. Also, other padding bits not used for carrying data or control information may be comprised in the information words.

According to an embodiment the encoder 102 comprises an initial state of bit values and a final state of bit values used in the encoding of the K information bits, and the initial state of bit values is the same the final state of bit values.

The present encoder 102 of the device 100 may be a software implementation, a hardware implementation, or a combination thereof.

In the case of a software implementation the encoding is performed by a processor (not shown in Fig. 1 ), such as a Digital Signal Processor (DSP). A digital signal processor may implement the encoder in different ways, since a convolutional code could be represented, e.g., as a linear filter, a set of difference equations or a generator matrix well known in the art. In the case of a hardware implementation a shift register for convolutional codes may be used for encoding. Hence, in this embodiment the encoder 102 comprises a shift register 104 of length L— l , where K < I - 1, for encoding the K information bits. The initial state of the bit values of the shift register 104, s = [s 0 , s 1 , ... , s L _ 2 ] , is the same as the final state of the bit values in the shift register 104 as explained above.

Fig. 3 shows an example of such a shift register 104 comprising inter-coupled delays and adders. The shift register 104 in the example in Fig. 3 uses the generator polynomials of LTE in octal representation but is not limited thereof. The information word c = [c 0 , c 1( ... , <¾_ ! ] at the encoder 102 input consists of K bits. We denote the shift register of the encoder 102 by s = [s 0 , s 1 , ... , s L _ 2 ]. Here, I is the constraint length of the encoder 102, which corresponds to the number of memory bits in the shift register plus 1. We have I = 7 for the encoder 102 shown in Fig. 3. It is however realised that L may have another value.

The encoding procedure in Fig. 3 using the shift register 104 is defined as follows.

In the first step, the initial values of the shift register is set to

Sj = c (K _ 1 _ i) , i = 0, ... , L - 2; (1 )

In the second step, the information word c is sent to the encoder 102 as encoder input which generates three encoded output streams d^and in this particular example. The total number of coded bit obtained after encoding is therefore N = 3K and the rate of the code is R c = - = 1/3.

Using the shift register initialization values defined in equation (1 ), only information words with length K≥ I - 1 bits can be encoded because, when the input word has K < L— l bits, the shift register initial values s K , ... , s L _ 2 are not defined.

A solution is to extend the information word c with additional appended bits until the minimum length L— l bits is reached, and then send the appended word to the encoder 102 input. This solution has the advantage of being simple to implement. However, the number of coded bits obtained after encoding would be 3(L - 1) independently of the value of K, therefore the code rate would be R c = K < 1/3.

Therefore, in the following embodiments of the present invention the encoder 102 is further configured to append at least one bit to the information word c so as to obtaining an appended information word c ' = [c 0 , c , ... , C K ' , _^ having K ' ≥ L - 1 bits. Further, the encoder 102 is configured to using the appended information word c ' as the initial state of bit values for the encoding of the information word c.

According to an approach corresponding to an embodiment, K < I - 1 information bits are available at the encoder 102 input and at least one appended bit has a predetermined value and possibly a fixed position.

In the first step the information word c is appended (padded) with L— l— K fixed bits fo' - ' h-ι-κ ( e -9-> fo = "' = -2-κ = °) so as to obtain an appended information word c' = [c 0 ' , c , ... , c L ' _ 2 ] using where π = [π 0 , ... , n L _ 2 ] is a permutation of integers [0, .. , L - 2].

In a second step, the I - 1 bits in the appended information word c' are used to set the initial value of the shift register according to equation (1 ).

In a third step, the appended information word c' is sent as input to the encoder 102 and three encoded output streams dj^and ά * are generated in this particular example.

Fig. 4 shows the appended information word according to this embodiment with the fixed bits fo = · · · = fi- 2 -κ = 0 and where π = [0, 1, ... , L - 2]. The device 100 is here configured to input the appended information word c ' to the encoder 102 so as to encode the K information bits according to this embodiment.

These embodiments have the advantages of providing a simple way to use the existing encoder 102 also when K < I - 1 control information bits are available at the encoder 102 input. Therefore, the same encoder 102 could be used as for K≥ I - 1. Moreover, it has the advantage that the fixed bits and their positions are known at the encoder 102 and decoder 302 (see Fig. 6), thereby allowing the receiver to exploit their knowledge to improve the reliability of transmission.

An alternative solution to appending with fixed bit values is to initialize the encoder 102 of length L— l using the K < I - 1 input bits of the information word in a way that, after encoding the K < L - 1 input bits, the encoder 102 has the same state as the initial state, thereby resulting in a tail-biting codeword. In this way, N = 3K coded bits would be obtained and the resulting code rate would be R c = 1/3. This solution is detailed in the following.

According to this embodiment, K < I - 1 information bits are available at the encoder 102 input.

In a first step, the shift register is initialized as

si = c (K-l-i)mod K> < ■ = u >■■■ > L ~ 1- (3) where {K - 1 - i)mod K is the remainder of {K - 1 - i)/K.

In a second step, the K information bits are sent to the encoder 102 and three encoded output streams dj^and ά * are generated in this particular example.

Fig. 5 shows the shift register initialization proposed in this embodiment according to equation (3). The device 100 is further is configured to input the information word c to the encoder 102 so as to encode the K information bits according to this embodiment.

This embodiment has the advantage of providing a way to initialize the shift register 104 of length /, - 1 when K < L - 1 information bits are available at the encoder 102 input. Moreover, it has the advantage that, after the K < I - 1 information bits have been processed by the encoder 102, the final encoder state coincides with the initial state defined in equation (2), thereby resulting in a valid codeword of the tail-biting convolutional code. Therefore, a standard tail-biting decoder can be used at the receiver as. Furthermore, with this embodiment encoding short information words yields the same code rate as encoding long information words.

A decoder 302 corresponding to the encoder 102 of the previous embodiments would utilize knowledge of the structure of the tail biting convolutional code (e.g., the generator polynomials, the number of information bits) in the decoding. The decoder 302 takes an input sequence and applies a decoding algorithm on the input sequence. The input sequence may consist of bits (e.g., used for hard decoding) or log-likelihood ratios (e.g., used for soft decoding). The input sequence can comprise a codeword from the encoder 102. However, the decoder 302 can produce an information word for any input sequence and may not need to assume that the input sequence comprises a codeword. The disclosed invention is applicable to different kinds of decoding algorithms. For example, maximum likelihood decoding could be achieved by using the Viterbi algorithm, while maximum aposteriori decoding could be utilized by using the Bahl-Cocke-Jelinek- aviv (BCJR) algorithm. In both cases, the decoding algorithm, would assume that the initial state of the encoder was the same as the final state of the encoder 102 and based on some reliability measure or parameter, the decoding algorithm will determine the most probable codeword or information word, based on this constraint. Reliability parameters (or measures) could include a Hamming distance, a log-likelihood ratio, or the like, which is well known in the art.

Fig. 6 shows a device 300 for determining an information word (decoder device) according to an embodiment of the present invention. The device 300 is configured to determine an information word c = [c 0 , c 1( ... , c K→ ] , having K information bits, Q, corresponding to the encoding at the encoder 102. The device 300 comprising a decoder 302 for a tail biting convolutional code having a constraint length, I, and where K < I - 1. The decoder 302 is configured to receive an input sequence illustrated with the rightwards directed arrow to the decoder 302. The decoder 302 is further configured compute at least one reliability parameter based on the received input sequence. Finally, the decoder 302 is configured to determine an information word c based on the at least one reliability parameter.

Fig. 7 shows a corresponding method which may be implemented in a device 300 for decoding, such as the one shown in Fig. 6. The method 400 comprises the step of receiving 402 an input sequence. The method 400 further comprises the step of computing 404 at least one reliability parameter based on the received input sequence. The method 400 finally comprises the step of determining 406 an information word c based on the at least one reliability parameter.

In an embodiment the decoder 302 is further configured to compute the at least one reliability parameter based on the received input sequence and on information comprising initial state of bit values and final state of bit values used in the encoding of the K information bits at the encoder 102. Such information could be pre-determined (e.g., rules could be defined on how the encoder is setting the initial state of the bit values, i.e., how the appended information word is generated) or be signalled to the decoder. By using information about the initial state of bit values and final state of bit values improved decoding performance is provided.

In a further embodiment for improved decoding performance the information used for computing the at least one reliability parameter further comprises at least one bit in the initial state of bit values and the position of the at least one bit in the initial state of bit values. This embodiment relates to the case when the encoding has been performed with an appended code word c ' in which at least one appended bit has a predetermined value. For example if N of the bits in the initial state of the shift register s i = 0, ... , L - 1 are known (i.e., their values and positions), the number of states could be reduced from 2 L to 2 N . This reduces the search space for the decoding algorithm and eliminates a number of false candidate states, which improves the decoding performance.

In an alternative of the embodiment for improved decoding performance the information used for computing the at least one reliability parameter further comprises that at least two bits in the initial state of bit values have the same value and that one of the two bits in the initial state of bit values is obtained from a cyclic extension of the information word c. This embodiment relates to the case when the encoding has been performed with an appended code word c ' in which the at least one appended bit is obtained from a cyclic extension of the information word c. For example if N of the bits in the initial state of the shift register s it i = 0, ... , L - 1 are obtained from a cyclic extension of the information word, the last N bits in the shift register are the same as the first N bits in the shift register. Hence, the number of states could be reduced from 2 L to 2 N . This reduces the search space for the decoding algorithm and eliminates a number of false candidate states, which improves the decoding performance.

Fig. 8 shows a wireless communication system 500, such as LTE, according to an embodiment of the present invention. A user device 502 (the transmitter device in this example) comprises a device 100 for encoding according to embodiments of the present invention. Information words c are encoded by the device 100 for encoding. The encoded word is thereafter signal processed in the user device 502, such as modulation, amplification, etc., and transmitted in a communication signal S in an uplink channel in the wireless communication system 500 to a base station 504 (the receiver device in this example) as illustrated in Fig. 8. The base station 504 comprises a decoder device 300 according to embodiments of the present invention. The base station 504 receives the communication signal in the uplink channel. After suitable signal pre-processing an input sequence is provided to the decoder device 300 which decodes the input sequence as explained previously.

It is to be noted that the user device 502 may also comprise a device 300 for decoding. The base station 504 may also comprise a device for encoding 100. The present transmitter or receiver in the form of a user device 502 discussed in the present disclosure may be any of a User Equipment (UE), mobile station (MS), wireless terminal or mobile terminal which is enabled to communicate wirelessly in a wireless communication system, sometimes also referred to as a cellular radio system. The UE may further be referred to as mobile telephones, cellular telephones, computer tablets or laptops with wireless capability. The UEs in the present context may be, for example, portable, pocket- storable, hand-held, computer-comprised, or vehicle-mounted mobile devices, enabled to communicate voice or data, via the radio access network, with another entity, such as another receiver or a server. The UE can be a Station (STA), which is any device that contains an IEEE 802.1 1 -conformant Media Access Control (MAC) and Physical Layer (PHY) interface to the Wireless Medium (WM).

The present transmitter or receiver in the form of a base station 504 may be a (radio) network node or an access node or an access point or a base station, e.g., a Radio Base Station (RBS), which in some networks may be referred to as transmitter, "eNB", "eNodeB", "NodeB" or "B node", depending on the technology and terminology used. The radio network nodes may be of different classes such as, e.g., macro eNodeB, home eNodeB or pico base station, based on transmission power and thereby also cell size. The radio network node can be a Station (STA), which is any device that contains an IEEE 802.1 1 -conformant Media Access Control (MAC) and Physical Layer (PHY) interface to the Wireless Medium (WM).

Furthermore, any method 200, 400 according to embodiments of the present invention may be implemented in a computer program, having code means, which when run by processing means causes the processing means to execute the steps of the method. The computer program is included in a computer readable medium of a computer program product. The computer readable medium may comprises of essentially any memory, such as a ROM (Read-Only Memory), a PROM (Programmable Read-Only Memory), an EPROM (Erasable PROM), a Flash memory, an EEPROM (Electrically Erasable PROM), or a hard disk drive.

Moreover, it is realized by the skilled person that the user device and base station comprise the necessary communication capabilities in the form of e.g., functions, means, units, elements, etc., for performing the present solution. Examples of other such means, units, elements and functions are: processors, memory, buffers, control logic, encoders, decoders, rate matchers, de-rate matchers, mapping units, multipliers, decision units, selecting units, switches, interleavers, de-interleavers, modulators, demodulators, inputs, outputs, antennas, amplifiers, receiver units, transmitter units, DSPs, MSDs, TCM encoder, TCM decoder, power supply units, power feeders, communication interfaces, communication protocols, etc. which are suitably arranged together for performing the present solution.

Especially, the processors of the present user device and base station may comprise, e.g., one or more instances of a Central Processing Unit (CPU), a processing unit, a processing circuit, a processor, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other processing logic that may interpret and execute instructions. The expression "processor" may thus represent a processing circuitry comprising a plurality of processing circuits, such as, e.g., any, some or all of the ones mentioned above. The processing circuitry may further perform data processing functions for inputting, outputting, and processing of data comprising data buffering and device control functions, such as call processing control, user interface control, or the like.

Finally, it should be understood that the present invention is not limited to the embodiments described above, but also relates to and incorporates all embodiments within the scope of the appended independent claims.