GB2308044A - Decoding punctured codes - Google Patents

Decoding punctured codes Download PDF

Info

Publication number
GB2308044A
GB2308044A GB9520091A GB9520091A GB2308044A GB 2308044 A GB2308044 A GB 2308044A GB 9520091 A GB9520091 A GB 9520091A GB 9520091 A GB9520091 A GB 9520091A GB 2308044 A GB2308044 A GB 2308044A
Authority
GB
United Kingdom
Prior art keywords
frame
symbol
bit
punctured
rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9520091A
Other versions
GB9520091D0 (en
GB2308044B (en
Inventor
Paul Adrian Golding
Irwin Russell Bennett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions UK Ltd
Original Assignee
Motorola Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Ltd filed Critical Motorola Ltd
Priority to GB9520091A priority Critical patent/GB2308044B/en
Publication of GB9520091D0 publication Critical patent/GB9520091D0/en
Publication of GB2308044A publication Critical patent/GB2308044A/en
Application granted granted Critical
Publication of GB2308044B publication Critical patent/GB2308044B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)

Abstract

Contiguous frames of data 70-72, each encoded at a different coding-rate, are sequentially received by a decoder and then converted to a constant K/n code-rate by inserting symbol markers (74-77) at appropriate, punctured bits in each frame. In response to identifying a number of such symbol markers during a predetermined time, an appropriate branch metric calculation is selected and applied by the Viterbi decoder to decode the frame, see also Fig.6 (not shown). The frames are convolutionally encoded for forward error correction in a GSM communication system.

Description

METHOD OF DECODING PVNCRID CODES AND APPARATUS THEREFOR Background of the Invention This invention relates, in general, to a method and apparatus for decoding signals and is particularly, but not exclusively, applicable to decoding punctured convolutional codes.
Summarv of the Pnor Art In communication protocols, such as those used in the pan-European Groupe Speciale Mobile cellular communication system, forward error correction (FEC) of a physical radio channel, for example, is provided by means of signal encryption. More specifically, in the case of the GSM communication system, this encryption takes the form of convolutional coding. The complex nature of these codes requires extensive computational (processor) power, with the optimum decoding process provided by a Viterbi decoding algorithm.
With respect to a Viterbi state trellis (and algorithm), an output sequence is determined based upon the most likely path through a logical trellis of states consisting of logical "O"s and logical 1"s that are distributed over time. More particularly, at reception of a signal by a Viterbi decoder, a measurement of the most likely bit sequence for the signal is made by making distance measurements ("branch metric calculations") between received data bits and hypothesised data bits. In fact, measurements of an absolute distance between two alternative branch metrics determine a succession of logical states in adjacent branches of the trellis, which states are indicative of a survivor path through the trellis. Typically, the path offering the smallest distance (i.e. the largest branch metric) is selected as the survivor path.
In some instances, these convolutional codes also undergo an additional process designed to reduce the number of bits ultimately sent, e.g.transmitted or communicated, in the output group (sequence).
Specifically, so-called "punctured codes" are produced by omitting/ignoring bits from an output sequence generated initially from a rate k/n code, where the code rate indicates that an input signal having "k" consecutive input bits (otherwise referred to as "a group") produces an encoded output signal of an" consecutive bits (where k and n are integers). Indeed, when puncturing takes place, a rate k/n code may be reduced (according to a puncturing vector "p") by up to "p" bits (where 1 < p < n) to produce a k/(n-p) code, which puncturing advantageously reduces transmission bandwidth while maintaining some of the benefits of the coding gain afforded by the convolutional code. As such, each component in the puncturing vector p indicates the presence or absence of a corresponding bit in the output group.
Unfortunately, the use of punctured codes, although desirable, requires the operation of Viterbi decoders to be modified to make allowances for changes in coding rates. Existing Viterbi decoders utilise programmable registers that store relevant decoding algorithms for these different code rates. However, this prior art arrangement struggles to cope with contiguous frames of information that have been encoded at different rates.
More especially, the co-processor of the Viterbi decoder requires a rate-control register (and hence its decoding algorithm) to be up-dated whenever the code rate changes. However, the requirement for an up-date is undesirable (and problematic) in time-critical environments in which a control processor has insufficient bandwidth to periodically up-date the rate-control register. Furthermore, in some instances, the up-dating of the rate-control register, i.e. the adaptation of the decoding algorithm, is not performed by the processor in a timely manner, whereby the Viterbi algorithm "stalls" and the processing efficiency and throughput of the system is accordingly reduced. Some decoding systems accept the occurrence of stalls by utilising processor interrupt sequences or by using faster processors to mitigate against such stalls.However, the use of interrupts in a system often causes general synchronization problems (in relation to operation execution, bus contention or hardware conflict), whereas faster processor are more expensive (as a consequence of manufacturing tolerances).
Summary of the Invention According to a first aspect of the present invention there is provided a method of decoding an encoded frame comprising bits of information that have been punctured to produce a variable coding rate of W(n-p) for the frame, where k, n and p are integers and p is a variable puncturing vector, the method comprising the steps of: receiving the bits of information; determining whether a bit is a punctured bit; inserting a symbol marker when the bit is a punctured bit to produce a predetermined code-rate of Wn; determining a number of symbol markers inserted into a frame; and selecting an appropriate branch metric in response to the number of symbol markers to decode the frame at the predetermined code-rate of Wn.
In a preferred embodiment the symbol marker is selected as a numeric value that falls outside a range of numeric values used as soft-decision symbol integer values.
In a second aspect of the present invention there is provided apparatus for decoding an encoded frame comprising bits of information that have been punctured to produce a variable coding rate of W(n-p) for the frame, where k, n and p are integers and p is a variable puncturing vector, the apparatus comprising: a memory having a plurality of branch metrics indexed by the variable puncturing vector; and a processor, responsive to the bits of information, and arranged to decode the encoded frame, the processor having: means for determining whether a bit is a punctured bit; means for inserting a symbol marker when the bit is a punctured bit to produce a predetermined code-rate of Wn; and means for determining a number of symbol markers inserted into a frame; and means for selecting an appropriate branch metric from the memory in response to the number of symbol markers to decode the frame at the predetermined code-rate of k/n.
In a preferred embodiment each branch metric of the plurality of branch metrics is further indexed by a relative bit position of symbol markers within the frame.
An exemplary embodiment of the present invention will now be described with reference to the accompanying drawings.
Bnef Descnption of the Drawings FIG. 1 is a pictorial representation of coding and puncturing of a bit sequence in accordance with known, prior art techniques.
FIG. 2 illustrates contiguous frames of information encoded at difference coding rates, as experienced in prior art transmission protocols.
FIG. 3 shows a prior art soft-decision symbol table.
FIG. 4 shows a modified soft-decision symbol table that may be utilised by a preferred embodiment of the present invention.
FIG. 5 illustrates, in accordance with a preferred embodiment of the present invention, a manipulation of contiguous frames of information encoded at difference coding rates.
FIG. 6 is a block diagram of a Viterbi decoder according to a preferred embodiment of the present invention.
FIG. 7 shows a flow diagram illustrating a process for de-puncturing a punctured code, as used by the Viterbi decoder of FIG. 6.
FIG. 8 shows a flow diagram illustrating a decoding algorithm used by the Viterbi decoder of FIG. 6.
Detalled Descnption of a Preferred Embodlment Referring to FIG. 1, there is shown a pictorial representation of a coding and puncturing process for an input bit sequence according to prior art techniques. Specifically, a plurality of input bits (bo-bk) 10 are encoded by an encoder 12, such as a convolutional encoder. A plurality of output bits (Bg, Bun 1 Bn) 14, generated by the encoding process of the encoder 12, are subsequently subjected to a puncturing vector 16, which selectively negates (omits or deletes) particular bits from the output bits (Bo, Bn-1, Bn) 14 to produce an output group vector (or sequence) Q (also referenced by numeral 18). The output group vector 18 may therefore have any one of a range of coding rates from k/n to k/(n-p).The mechanism of FIG. 1 can alternatively be expressed mathematically, thus: b =(bo...bk) (eqn.1) B = IBO...Bn) (eqn.2) P ={PO--Pn) (eqn.3) and Q = IBopo, BlPls BnPn} (eqn.4) where: b is the input group vector; B is the coded group vector; and p is the puncturing vector. And, pi = 0 > do not transmit Bs; pi = 1 > transmit Bi; and at least one of piezo to n is set to 0.
FIG. 2 illustrates an arrangement of contiguous frames of information, each encoded at a different coding rate (as typically experienced in prior art transmission protocols). Particularly, only four (4) frames 30-36 have been illustrated for the sake of simplicity and brevity, with the frames respectively encoded at rates k/n, k/(n-pi), k/(n-p2) and k/(n-p3), thereby producing a requirement for variable-rate decoding. At the frame boundaries (e.g. at transitions 38 and 40 between frames 30 and 32 and 32 and 34, respectively), a prior Viterbi decoder using a rate-control register (not shown) would need to be up-dated (poked) with a code rate change, as previously described.
FIG. 3 shows a prior art soft-decision symbol table, in which a multitude of symbol values (levels) 50 indicate relative amounts of confidence in a received binary logical value (as will be understood). Explicitly, the multitude of levels 50 define states (symbol integer values 52) between K and -(K+1), with all states between 0 and K indicating increasing levels of confidence in the logical result of "1", and all states between -1 and -(K+1) indicating increasing levels of confidence in the logical result of "0". It will be noted that, in this instance, level 0 indicates the least confident result of a logical "1".
FIG. 4 shows a modified soft-decision symbol table that may be utilised by a preferred embodiment of the present invention. Again, a multitude of symbol values (levels) 60 indicate relative amounts of confidence in a received binary logical value (as will be readily appreciated). Explicitly, the multitude of levels 60 define states (symbol integer values 62) between K and -(K+1), with all states between 1 and K indicating increasing levels of confidence in the logical result of "1", and all states between -1 and -(K+1) indicating increasing levels of confidence in the logical result of "O" It will be noted that, in this instance, level 0 has no level of confidence attached to it (and therefore no meaning in the context of the table).
The concept of the present invention is exemplified in FIG. 5, which shows a manipulation of contiguous frames of information (encoded at difference coding rates) to produce a constant decoding rate, irrespective of puncturing levels. Therefore, all punctured codes, i.e. codes of the form k/(n-p), are decoded at an original unpunctured (and constant) rate of Wn.
This constant rate is achieved through the use of a "de-puncturing symbol", which when passed through a Viterbi algorithm does not effect the normal operation of the decoding process but allows decoding at the original unpunctured rate k/n. This approach advantageously allows a continuously coded sequence of different code-rate sub-frames (e.g. k/n, k/(n-p1) and k(n-p2)) to be decoded sequentially at a single code rate k/n, such that changes in actual code rates are transparent to the Viterbi decoder. Adoption of the approach of the present invention eliminates the need for a processor of the Viterbi decoder to up-date (or, in fact, use of) a rate-register.
Two alternative mechanisms exist for the insertion of the de-puncturing symbol, the selection of which is subject to the form soft-decision table ultimately adopted. In a first mechanism, a unique numeric input value, "M" (referred to as a marker symbol), not in the range of symbol values (i.e. M < -(K+1) < K or -(K+1) < K < M), is used to indicate a position of a punctured symbol within a punctured group and is therefore used to reinflate the punctured group to its original input group size (i.e. k symbols in length).
For example, considering a punctured V3 rate code having an input group bo that maps prior to puncturing, to an output group Bo, B1 and B2. The output group Bg, Bl and B2 then maps (through a puncturing vector, p) to symbols Bo and B2. After soft decision assignment at a demodulator, these symbols are received as integer values 3 and 10 (which integer values fall somewhere within an integer coding range of, say, K=15). Thus, the received group is presented to the Viterbi algorithm as the symbol sequence 3, M, 10. The Viterbi algorithm is implemented to recognise the marker symbol and to automatically select an appropriate, corresponding branch metric calculation method for the punctured group to which the marker symbol belongs.As will be appreciated, insertion of the marker symbol allows the input data sequence to define and control the selection of the branch metric calculation method, thereby freeing the processor of the Viterbi decoder from this task.
In a second mechanism, selection of the modified soft-decision symbol table permits the use of the symbol integer value 0 as a de-puncturing tool, since transmitted signals from the encoder are assigned arithmetic values from +1 and -1 to represent logical "1" and logical "0", respectively. The symbol integer value 0 can therefore be considered as a symbol marker that is out-of-range relative to available symbol integer values indicative of confidence levels in the soft-decision table. More particularly, if the branch metric function is chosen suitably (i.e. correlation metrics are used) then the insertion of integer value 0 into an input group vector r allows the k/n rate branch metric function f(h, r) to be used on the de-punctured group r.
Therefore, by inserting symbol integer value 0 in the punctured symbol positions prior to decoding, the processor of the Viterbi decoder can operate on any punctured code as though it was a k/n rate code. This mechanism has an advantage of the first mechanism in as much as no special marker symbol detection logic (in the processor) is required.
Referring back to FIG. 5, it can be seen that consecutive Wn rate frames 70-72 have been achieved through the insertion of marker symbols at bits 74, 75 and 76 of frame 70, and bit 77 of frame 71. The remaining bits shown in each identified frame contain logical values, rather than corresponding confidence values provided by the symbol integer values of FIGs. 3 and 4.
In FIG. 6, a block diagram of a Viterbi decoder 80 according to a preferred embodiment of the present invention is shown. The Viterbi decoder 80 comprises a processor 82 for decoding a convolutionally encoded input signal 84 provided thereto. The convolutionally encoded input signal is in a symbol integer value form, as shown in FIGs. 3 and 4. After a decoding process, the processor 82 provides a decoded output signal 86. The processor 82 is coupled to a counter/timer 83 used to count marker symbols (or symbol integer value "O"s) during a predetermined period (e.g. a frame). A memory device 88 is coupled to the processor 82 and contains data relating to the decoding process.More specifically, the memory device 88 contains a data base indexed through a marker symbol (M) value that indicates the number of marker symbols (or 0 symbol integer values), e.g. 3, that appear in a given number of bits (indicative of the predetermined period). Through indexing the marker symbol value 90, a code-rate register 92 identifies a code-rate for the number of marker symbols that appear in a given predetermined period. Furthermore, in response to the indexing of the marker symbol value 90, a corresponding branch metric is retrievable from a branch metric register 94. It will be noted that different branch metrics may be stored in the branch metric register 94 against identical marker symbol values, e.g. a value for 3 marker symbols per frame may have a pluarlity of alternate branch metric calculations.These different branch metrics result from a relative position of marker symbols with respect to particular bits in a frame. For example, as will be appreciated, an eight-bit frame containing logical values and marker symbols 101MMOM1 may have a different branch metric from an eight-bit frame containing logical values and marker symbols 10MMM111, as will be understood. As will be understood, the processor 82 (in response to the counter/marker 83) identifies the number of marker symbols (or "O", as appropriate to the selected soft-decision mechanism) in a frame (e.g. frame 70 of FIG. 5) and retrieves and executes the required branch metric calculation.
Turning to the flow-diagram of FIG. 7, a process used by the Viterbi decoder of FIG. 6 for de-puncturing a punctured code is shown. The process starts at 100. At 102, a counter is set to value 1, indicating a first bit of a frame (or group) of interest 103. At 104, the bit is analysed by the processor 82 to determine whether the bit (Qi) was punctured. Dependent upon which of the two previously described mechanisms was selected, the bit is either passed into the Viterbi algorithm 106, or marked 108 with one of the special symbol M or the symbol integer value 0 to reinflate the code to produce a k/n code rate. The reinflated bit is then fed into the Viterbi algorithm 110, and decoded in the Viterbi state trellis (controlled by the processor 82). Then, at 112, a test is made to determine whether the end of a burst/frame has been reached.If affirmative, the process finishes 114, else counter/timer 83 is incremented 116 to identify the next bit of a frame of interest. The process returns to the process loop at step 103, where the newly identified bit of the frame of interest is analysed.
The flow-diagram of FIG. 8 shows a decoding algorithm used by the Viterbi decoder of FIG. 6. Basically, the process starts at 130. At 132, a counter is set to value 1, indicating a first bit of a frame (or group) of interest 133. At 134, the bit is analysed by the processor 82 to determine whether the bit (Qi) was marked. Then, the bit if the bit has not been marked, it is decoded 136 using branch metric function fix , Qi), else the requisite branch metric 140 is recalled from memory 88 (based on the determined number of marker symbols or "O"s - step 138). At 142, a test is made to determine whether the end of a burst/frame has been reached. If affirmative, the process finishes 144, else counter/timer 83 is incremented 146 to identify the next bit of a frame of interest.The process returns to the process loop at step 133, where the newly identified bit of the frame of interest is analysed. As will be appreciated, f(h, , Qi) is the branch metric function for rate k/n codes, where h is the hypothesised received group and Qi is the actual received group. Also, gp(h, Qi) is the branch metric function for a rate k/(n-p) punctured code having puncturing vector P, where h is the hypothesised received sequence and Qi is the actual received group.
The present invention provides an improved method of handling punctured code, which method is not prone to producing stalls in a Viterbi decoder or associated hardware/software. In addition, the present invention has the ability to handle contiguous frames of data each encoded at a different coding-rate by converting these different rates to a k/n code rate and then applying an approriate branch metric based on a number of identified marker symbols.

Claims (10)

Claims
1. A method of decoding an encoded frame comprising bits of information that have been punctured to produce a variable coding rate of k/(n-p) for the frame, where k, n and p are integers and p is a variable puncturing vector, the method comprising the steps of: receiving the bits of information; determining whether a bit is a punctured bit; inserting a symbol marker when the bit is a punctured bit to produce a predetermined code-rate of k/n; determining a number of symbol markers inserted into a frame; and selecting an appropriate branch metric in response to the number of symbol markers to decode the frame at the predetermined code-rate of k/n.
2. The method of claim 1, wherein the frame is convolutionally encoded.
3. The method of claim 1 or 2, wherein the symbol marker is selected as a numeric value that falls outside a range of numeric values used as soft-decision symbol integer values.
4. The method of claim 3, wherein the numeric value is zero.
5. The method of any preceding claim, wherein the appropriate branch metric is dependent upon a relative bit position of symbol markers within the frame.
6. Apparatus for decoding an encoded frame comprising bits of information that have been punctured to produce a variable coding rate of k/(n-p) for the frame, where k, n and p are integers and p is a variable puncturing vector, the apparatus comprising: a memory having a plurality of branch metrics indexed by the variable puncturing vector; and a processor, responsive to the bits of information, and arranged to decode the encoded frame, the processor having: means for determining whether a bit is a punctured bit; means for inserting a symbol marker when the bit is a punctured bit to produce a predetermined code-rate of k/n; and means for determining a number of symbol markers inserted into a frame; and means for selecting an appropriate branch metric from the memory in response to the number of symbol markers to decode the frame at the predetermined code-rate of k/n.
7. Apparatus as claimed in claim 6, wherein the apparatus is a Viterbi decoder and the frame is convolutionally encoded.
8. Apparatus as claimed in claim 6 or 7, wherein each branch metric of the plurality of branch metrics is further indexed by a relative bit position of symbol markers within the frame.
9. A method of decoding a punctured code substantially as hereinbefore described with reference to FIGs. 5 to 8 of the accompanying drawings.
10. Apparatus for decoding a punctured code substantially as hereinbefore described with reference to FIGs. 5 to 8 of the accompanying drawings.
GB9520091A 1995-10-02 1995-10-02 Method of decoding punctured codes and apparatus therefor Expired - Fee Related GB2308044B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9520091A GB2308044B (en) 1995-10-02 1995-10-02 Method of decoding punctured codes and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9520091A GB2308044B (en) 1995-10-02 1995-10-02 Method of decoding punctured codes and apparatus therefor

Publications (3)

Publication Number Publication Date
GB9520091D0 GB9520091D0 (en) 1995-12-06
GB2308044A true GB2308044A (en) 1997-06-11
GB2308044B GB2308044B (en) 2000-03-15

Family

ID=10781637

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9520091A Expired - Fee Related GB2308044B (en) 1995-10-02 1995-10-02 Method of decoding punctured codes and apparatus therefor

Country Status (1)

Country Link
GB (1) GB2308044B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999016174A1 (en) * 1997-09-19 1999-04-01 Motorola A/S Method and apparatus for viterbi decoding of punctured codes
US6178535B1 (en) 1997-04-10 2001-01-23 Nokia Mobile Phones Limited Method for decreasing the frame error rate in data transmission in the form of data frames
EP1117203A1 (en) * 2000-01-14 2001-07-18 Nortel Networks S.A. Transmission and reception of information symbols in multiplexed channels
JPWO2006028226A1 (en) * 2004-09-09 2008-05-08 中外製薬株式会社 Novel imidazolidine derivatives and uses thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0227473A2 (en) * 1985-12-25 1987-07-01 Nippon Telegraph And Telephone Corporation Error correcting coder/decoder
US4908827A (en) * 1987-07-27 1990-03-13 Tiw Systems, Inc. Forward error correction system
US4939734A (en) * 1987-09-11 1990-07-03 Ant Nachrichtentechnik Gmbh Method and a system for coding and decoding data for transmission
US5029331A (en) * 1987-07-25 1991-07-02 Ant Nachrichtentechnik Gmbh Method for editing a convolutional code for transmission and its reconversion at the receiver as well as a device therefor
WO1994028656A1 (en) * 1993-05-24 1994-12-08 Comstream Corporation Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0227473A2 (en) * 1985-12-25 1987-07-01 Nippon Telegraph And Telephone Corporation Error correcting coder/decoder
US5029331A (en) * 1987-07-25 1991-07-02 Ant Nachrichtentechnik Gmbh Method for editing a convolutional code for transmission and its reconversion at the receiver as well as a device therefor
US4908827A (en) * 1987-07-27 1990-03-13 Tiw Systems, Inc. Forward error correction system
US4939734A (en) * 1987-09-11 1990-07-03 Ant Nachrichtentechnik Gmbh Method and a system for coding and decoding data for transmission
WO1994028656A1 (en) * 1993-05-24 1994-12-08 Comstream Corporation Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2329803B (en) * 1997-04-10 2002-05-22 Nokia Mobile Phones Ltd Method for decreasing the frame error rate in data transmission in the form of data frames
US6178535B1 (en) 1997-04-10 2001-01-23 Nokia Mobile Phones Limited Method for decreasing the frame error rate in data transmission in the form of data frames
US6430721B2 (en) 1997-04-10 2002-08-06 Nokia Mobile Phones Limited Method for decreasing the frame error rate in data transmission in the form of data frames
US6510538B1 (en) * 1997-09-19 2003-01-21 Motorola. Inc. Method and apparatus for Viterbi decoding of punctured codes
WO1999016174A1 (en) * 1997-09-19 1999-04-01 Motorola A/S Method and apparatus for viterbi decoding of punctured codes
WO2001052458A2 (en) * 2000-01-14 2001-07-19 Nortel Networks Limited Transmission of information symbols on multiplex channels
WO2001052458A3 (en) * 2000-01-14 2002-04-04 Nortel Networks Ltd Transmission of information symbols on multiplex channels
FR2803960A1 (en) * 2000-01-14 2001-07-20 Nortel Matra Cellular METHODS AND PROCESSING DEVICES FOR TRANSMITTING INFORMATION SYMBOLS ON MULTIPLEXED CHANNELS, AND CORRESPONDING PROCESSING FOR RECEPTION
EP1117203A1 (en) * 2000-01-14 2001-07-18 Nortel Networks S.A. Transmission and reception of information symbols in multiplexed channels
AU764863B2 (en) * 2000-01-14 2003-09-04 Nortel Networks Limited Transmission of information symbols on multiplex channels
US6901113B2 (en) 2000-01-14 2005-05-31 Nortel Networks Limited Processing methods and devices for sending information symbols over multiplexed channels, and corresponding processing methods and devices for reception
JPWO2006028226A1 (en) * 2004-09-09 2008-05-08 中外製薬株式会社 Novel imidazolidine derivatives and uses thereof
JP4989227B2 (en) * 2004-09-09 2012-08-01 中外製薬株式会社 Novel imidazolidine derivatives and uses thereof

Also Published As

Publication number Publication date
GB9520091D0 (en) 1995-12-06
GB2308044B (en) 2000-03-15

Similar Documents

Publication Publication Date Title
KR100554322B1 (en) Convolutional decoding with the ending state decided by crc bits placed inside multiple coding bursts
US7461324B2 (en) Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals
US6148431A (en) Add compare select circuit and method implementing a viterbi algorithm
JP2001516175A (en) Communication system, communication signal decoding apparatus, and symbol source sequence communication method
US6680986B1 (en) Method for implementing shared channel decoder for onboard processing satellites
KR20020027365A (en) Encoding/decoding device and encoding/decoding method
US6324224B1 (en) Apparatus and method for receiving data with bit insertion
US5930298A (en) Viterbi decoder for decoding depunctured code
JPS60180222A (en) Code error correcting device
GB2428545A (en) Blind transport format detection with cyclic redundancy check and a variable threshold value
US5887007A (en) Viterbi decoding method and viterbi decoding circuit
GB2308044A (en) Decoding punctured codes
US7072926B2 (en) Blind transport format detection system and method with logarithm approximation for reliability figure
US20030007580A1 (en) Blind transport format detection system and method
JP3512176B2 (en) Turbo decoding device and method of controlling number of decoding repetitions in turbo decoding
JPH07202851A (en) Radio communication system
US6084925A (en) Method and apparatus for discriminating synchronous or asynchronous states of Viterbi decoded data
GB2305827A (en) Viterbi trellis decoder reduces number of metric difference calculations
US20020124224A1 (en) Method and system for matching information rates in turbo coded channels
US7231586B2 (en) Multi-rate viterbi decoder
KR100369989B1 (en) Apparatus for detecting synchronization in viterbi decoder
US6411663B1 (en) Convolutional coder and viterbi decoder
JPS60130927A (en) Decoding method of product code
CA2582043C (en) Exploiting known padding data to improve block decode success rate
KR100811376B1 (en) Method for coding and decoding in a communication system

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20011002