GB2370472A - Reducing the size of a word by combining characters which make up the word, so that a lower order fast Hadamard transform can be used to decode the word - Google Patents

Reducing the size of a word by combining characters which make up the word, so that a lower order fast Hadamard transform can be used to decode the word Download PDF

Info

Publication number
GB2370472A
GB2370472A GB0031358A GB0031358A GB2370472A GB 2370472 A GB2370472 A GB 2370472A GB 0031358 A GB0031358 A GB 0031358A GB 0031358 A GB0031358 A GB 0031358A GB 2370472 A GB2370472 A GB 2370472A
Authority
GB
United Kingdom
Prior art keywords
codeword
binary
soft
soft decisions
word
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
GB0031358A
Other versions
GB2370472B (en
GB0031358D0 (en
Inventor
Paul Cook
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.)
Aeroflex Cambridge Ltd
Original Assignee
Ubinetics 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 Ubinetics Ltd filed Critical Ubinetics Ltd
Priority to GB0031358A priority Critical patent/GB2370472B/en
Publication of GB0031358D0 publication Critical patent/GB0031358D0/en
Priority to DE60107118T priority patent/DE60107118T2/en
Priority to PCT/GB2001/005371 priority patent/WO2002051014A1/en
Priority to EP01271696A priority patent/EP1350326B1/en
Priority to AU2002220889A priority patent/AU2002220889A1/en
Priority to AT01271696T priority patent/ATE282262T1/en
Priority to US10/451,538 priority patent/US7379610B2/en
Priority to CNA018223222A priority patent/CN1488196A/en
Priority to JP2002552197A priority patent/JP2004527149A/en
Priority to KR10-2003-7008380A priority patent/KR100528139B1/en
Publication of GB2370472A publication Critical patent/GB2370472A/en
Application granted granted Critical
Publication of GB2370472B publication Critical patent/GB2370472B/en
Anticipated expiration legal-status Critical
Revoked legal-status Critical Current

Links

Classifications

    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/136Reed-Muller [RM] codes

Abstract

Words encoded using a first-order Reed-Muller code are decoded using a Fast Hadamard Transform (FHT). As confidence levels are assigned to each bit of the words, the words can be said to consist of a series of soft decisions. When a word is known to comprise a number of unused bits at one end, the soft decisions of the word are reordered and the word is divided into groups of soft decisions. Soft decisions are then combined within each group, preferably by summing, to produce a series of soft decisions which make up a new, shorter word. The new word is then decoded using an FHT of lower order than the FHT applicable to the originally received word.

Description

CODING
This invention relates to coding, i.e. encoding and decoding. In particular, the invention relates to decoding using a Hadamard transform.
A binary word can be encoded using the first-order Reed-Muller code. Where the word to be encoded comprises 5 bits, al to as, then the code comprises a code line for each bit, as follows: al: 1111 1111 1111 1111 a2: 0101 0101 0101 0101 a3: 0011 0011 0011 0011 a4: 0000 1111 0000 1111 as: 0000 0000 1111 1111 The code for a particular word is created by combining the code lines corresponding to the non zero bits of the word to be encoded. The code lines are combined by bit-wise, modulo-2 summation to produce the encoded word. For example, consider the word 10110 (al=l, a2=0, a3=1, a4=1, a5=0). This word becomes encoded as 1100 0011 1100 0011 by combining the al, a3 and a4 code lines. Words encoded in this manner are decoded at a receiver using a Fast Hadamard Transform, FHT.
An aim of the invention is to enhance the decoding of words using a Hadamard transform.
According to a first aspect, the invention provides a method of producing a second binary codeword from a first binary codeword destined for decoding using a Hadamard transform, the method comprising selecting soft decisions from the first codeword into one or more groups, and combining the soft decisions within each group to produce a number of resultant soft decisions forming the second codeword.
According to a second aspect, the invention also provides apparatus for producing a second binary codeword from a first binary codeword destined for decoding using a Hadamard transform, the apparatus comprising selecting means for selecting soft decisions from the
first codeword into one or more groups, and combining means for combining the soft decisions of each group to produce a number of resultant soft decisions forming the second codeword. By manipulating a first codeword in this way, a second codeword is produced which can be decoded optimally in terms of error recovery even where the dataword encoded as the first codeword has a number of unused bits at one end.
An example of a coding system in which the invention can be used is TFCI decoding in third generation mobile telecommunications (UMTS). The TECI is a 10 bit dataword encoded into a 32 bit codeword. The first 6 bits of the TFCI word are encoded using the first order Reed-Muller code. Many channels use less than 6 bits for the TFCI and the invention can be used to gain improved error recovery in such cases.
In one embodiment, the soft decisions selected for each group are a group of soft decisions that would appear consecutively in the first codeword if it were permuted by, for each soft decision in the first codeword, taking the position of said soft decision in the first codeword as a decimal number and conver ing said decima! number into binary nlmtrber, bit reversing the binary number, and converting the reversed binary number into a decimal number giving the position of said soft decision in the permuted codeword.
In a preferred embodiment, the first codeword is permuted by, for each soft decision in the first codeword, moving said soft decision by a process of, or equivalent to, taking the position of the soft decision in the first codeword as a decimal number and converting said decimal number into binary number, bit reversing the binary number, and converting the reversed binary number into a decimal number giving the position of said soft decision in the permuted codeword, and thereafter the soft decisions of the permuted codeword are grouped by selecting groups of consecutive soft decisions from the permuted codeword.
In one embodiment, the combining operation comprises generating each soft decision of the second codeword from a group of soft decisions by summing the soft decisions of the
group. The size of the groups may depend upon the number of unused bits at one end of a dataword encoded as the first codeword.
The first codeword may be produced by encoding a dataword using the first order Reed-Muller code.
The invention also extends to using a Hadamard transform to decode the manipulated codeword. By way of example only, an embodiment of the invention will now be described with reference to the accompanying figure which shows a receiver having a decoder employing a Fast Hadamard Transform (FHT).
As shown in Figure 1, receiver 10 receives a stream of soft decisions 12. The soft decisions 12 originate from the transmission by a transmitter (e. g. a base station in a wireless telephony system) of a series of 5 bit datawords, each of which has been encoded by the first-order Reed-Muller code to produce a corresponding 16 bit codeword. The stream of soft decisions therefore comprises a series of codewords, each 16 soft decisions long. The receiver 10 decodes the codewords in the soft decision stream 12 using a Hadamard transform, thereby recovering the datawords.
Where each of the 32 possible datawords is equally likely, then a standard, 16-point FHT decodes the codewords optimally, in terms of error recoverability. However, the 16-point FHT will not be optimal in cases where the encoded dataword is known to use only a portion at the least significant end of the dataword (e.g., the most significant bit is not used). When the receiver 10 decodes a codeword relating to a dataword which uses all 5 bits, then the decoding process is performed using a decoder 14 operating a 16-point FHT algorithm.
When the receiver 10 decodes a codeword relating to a dataword which does not use at least the most significant bit, then the codeword is decoded in a different way, by first passing the codeword to permuting unit 16.
The permuting unit 16 permutes the soft decisions (SDs) of a codeword in the following way. A codeword contains 16 SDs in positions numbered from O to 15 in decimal notation.
The SDs are permuted within the codeword in the manner indicated by the following table.
The top row of the table indicates the positions of the SDs in the codeword as received by the permuting unit 16, and the bottom row indicates the order of those SDs in the permuted codeword. Received 0 1 2 3 4 5 6 7 8 9 1 10 11 12 13 14 1 15 __ l Permuted O 8 4 12 2 10 6 14 1 9 1 5 13 3 11 7 1 15 Effectively then, the decimal number of each position is converted to a binary number, which is subsequently reversed and converted back to a decimal number which is the position of the SD in the permuted codeword. Consider the SD at position 05 in a received codeword. When the codeword is permuted, the SD is transferred thus: 05 0101 1010 10, i.e. to position 10 in the permuted codeword. All of the SDs of the received codeword are permuted in this way, as indicated by the above table.
The effect of the permutation can be considered the same as taking the codelines used to produce the codewords, other than that for the most significant bit of the dataword, and reversing their order. For example, referring to the scheme used in the introduction where
5 bit datawords are encoded using corresponding codelines al to as, the effect of permuting the codewords is equivalent to producing the codewords by an alternative set of codelines cl to c5, where cl = al, c2 = as, c3 = ad, c4 = as, and c5 = a2.
The combiner 18 divides up the permuted codeword into groups of SDs. The number of groups depends on the number of non-used bits at the most significant end of the dataword represented by the codeword. Where only the 4 least significant bits are used in the dataword, then the codeword is divided into 8 groups of 2 SDs. Where only the 3 least significant bits are used in the dataword, then the codeword is divided into 4 groups of 4 SDs. Where only the 2 least significant bits are used in the dataword, then the codeword is divided into 2 groups of 8 SDs. Where the least significant bit only is used in the dataword, then the codeword is treated as a single group of 16 SDs.
Each group contains consecutive SDs from the permuted codeword. The combiner 18 performs majority polling on the SDs in each group. Each SD is represented by a word comprising a sign (positive or negative - indicating that the bit appears to be a zero or a one, respectively) and a magnitude (indicating the confidence in the decision that the bit is correctly designated a one or a zero). The majority polling comprises summing the soft decisions of a group to produce an overall soft decision representing the group. Taken together, these resultant SDs constitute a resultant codeword which is then decoded using a FHT in decoder 20.
--;.. 'A -:.
I!- -.(
Or Since the resultant codeword supplied to decoder 20 has fewer SDs than the initial codeword, it can be handled using a lower order FHT than the FHT applicable to the initial .... codeword. Error correction performance is improved by performing the permuting/majority polling on codewords corresponding to datawords having unused bits.
Although the embodiment described above operates with datawords of 5 bits' it will be apparent that the invention extends to systems using datawords having more or less than 5 bits. Furthermore, although the described embodiment permutes the first codeword and then selects consecutive soft decisions for each group, it will be apparent that soft decisions may be selected directly into the groups to give the effect of the permutation followed by selection of consecutive soft decisions, but without having to use the intermediate step of having to explicitly permute the first codeword.

Claims (21)

1. A method of producing a second binary codeword from a first binary codeword destined for decoding using a Hadamard transform, the method comprising selecting soft decisions from the first codeword into one or more groups, and combining the soft decisions within each group to produce a number of resultant soft decisions forming the second codeword.
2. A method according to claim 1, wherein the soft decisions selected for each group are those soft decisions that would appear as a consecutive group in the first codeword if it were permuted by, for each soft decision in the first codeword, taking the position of said soft decision in the first codeword as a decimal number and converting said decimal number into a binary number, bit reversing the binary number, and converting the reversed binary number into a decimal number giving the position of said soft decision in the permuted codeword.
3. A method according to claim 1 or 2, further comprising the steps of permuting the first codeword by, for each soft decision in the first codeword, moving said soft decision by a process of, or equivalent to, taking the position of said soft decision in the first codeword as a decimal number and converting said decimal number into a binary number, bit reversing the binary number, and converting the reversed binary number into a decimal number giving the position of said soft decision in the permuted codeword, and wherein the selecting step comprises selecting groups of consecutive bits from the permuted codeword.
4. A method according to any one of claims 1 to 3, wherein combining a group of soft decisions comprises summing the soft decisions in the group.
5. A method according to claim 4, wherein the size of the groups is dependent upon the number of unused bits at one end of a dataword encoded into the first codeword.
6. A method according to claim 5, wherein the first codeword is produced by encoding the dataword using a Reed-Muller algorithm.
7. A method of decoding a first binary codeword comprising manipulating the first codeword using the method of any one of claims 1 to 6 to produce a second binary codeword, and decoding the second binary codeword using a Hadamard transform.
8. A method according to claim 7, wherein said Hadamard transform is of a lower order than the Hadamard transform applicable to the first codeword.
9. Apparatus for producing a second binary codeword from a first binary codeword destined for decoding using a Hadamard transform, the apparatus comprising selecting means for selecting soft decisions from the first codeword into one or more groups, and combining means for combining the soft decisions of each group to produce a number of resultant soft decisions forming the second codeword.
10. Apparatus according to claim 9, wherein the selecting means is arranged such that the soft decisions selected for each group are those soft decisions that would appear as a consecutive group in the first codeword if it were permuted by, for each soft decision in the first codeword, taking the position of said soft decsion in the first codeword as a decimal number and converting said decimal number into a binary number, bit reversing the binary number, and converting the reversed binary number into a decimal number giving the position of said soft decision in the permuted codeword.
11. Apparatus according to claim 9 or 10, wherein the selecting means comprises permuting means for permuting the first codeword by, for each soft decision in the first codeword, moving said soft decision by a process of, or equivalent to, taking the position of said soft decision in the first codeword as a decimal number and converting said decimal number into a binary number, bit reversing the binary number, and converting the reversed binary number into a decimal number giving the position of said soft decision in the permuted codeword, and grouping means for selecting the groups as groups of consecutive bits of the permuted codeword.
12. Apparatus according to claim 7, wherein the combining means is arranged to combine a group of soft decisions by summing the soft decisions within the group.
13. Apparatus according to claim 12, wherein the size of the groups is dependent on the number of unused bits at one end of a dataword encoded into the first codeword.
14. Apparatus according to claim 13, wherein the first codeword is produced by encoding the dataword using a Reed-Muller algorithm.
15. Apparatus for decoding a first binary codeword comprising apparatus according to any one of claims 9 to 14 for manipulating the first codeword to produce a second binary codeword, and further comprising means for decoding the second binary codeword using a Hadamard transform.
16. Apparatus according to claim 15, wherein the Hadamard transform applicable to the second codeword is of lower order than the Hadamard transform applicable to the first codeword.
17. A method of manipulating a codeword, substantially as hereinbefore described with reference to the accompanying figure.
18. A method of decoding a codeword, substantially as hereinbefore described with reference to the accompanying figure.
19. Apparatus for manipulating a codeword, substantially as hereinbefore described with reference to the accompanying figure.
20. Apparatus for decoding a codeword, substantially as hereinbefore described with reference to the accompanying figure.
21. A program for carrying out the method of any one of claims 1 to 8.
GB0031358A 2000-12-21 2000-12-21 Coding Revoked GB2370472B (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
GB0031358A GB2370472B (en) 2000-12-21 2000-12-21 Coding
JP2002552197A JP2004527149A (en) 2000-12-21 2001-12-04 Method for generating code words and apparatus for generating code words
DE60107118T DE60107118T2 (en) 2000-12-21 2001-12-04 DECODING OF REED-MULLER CODES
EP01271696A EP1350326B1 (en) 2000-12-21 2001-12-04 Decoding of reed-muller codes
AU2002220889A AU2002220889A1 (en) 2000-12-21 2001-12-04 Decoding of reed-muller codes
AT01271696T ATE282262T1 (en) 2000-12-21 2001-12-04 DECODING REED-MULLER CODES
US10/451,538 US7379610B2 (en) 2000-12-21 2001-12-04 Methods of, and apparatus for, producing code words
CNA018223222A CN1488196A (en) 2000-12-21 2001-12-04 Decoding of Reed-Muller codes
PCT/GB2001/005371 WO2002051014A1 (en) 2000-12-21 2001-12-04 Decoding of reed-muller codes
KR10-2003-7008380A KR100528139B1 (en) 2000-12-21 2001-12-04 Methods of, and apparatus for, producing code words

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0031358A GB2370472B (en) 2000-12-21 2000-12-21 Coding

Publications (3)

Publication Number Publication Date
GB0031358D0 GB0031358D0 (en) 2001-02-07
GB2370472A true GB2370472A (en) 2002-06-26
GB2370472B GB2370472B (en) 2004-07-21

Family

ID=9905674

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0031358A Revoked GB2370472B (en) 2000-12-21 2000-12-21 Coding

Country Status (10)

Country Link
US (1) US7379610B2 (en)
EP (1) EP1350326B1 (en)
JP (1) JP2004527149A (en)
KR (1) KR100528139B1 (en)
CN (1) CN1488196A (en)
AT (1) ATE282262T1 (en)
AU (1) AU2002220889A1 (en)
DE (1) DE60107118T2 (en)
GB (1) GB2370472B (en)
WO (1) WO2002051014A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990626B2 (en) * 2002-03-29 2006-01-24 Lucent Technologies Inc. Method and apparatus for MAP decoding of first-order reed muller codes and related error correction codes
KR20040044589A (en) * 2002-11-21 2004-05-31 한국전자통신연구원 A Soft-Input Decoding Method of Reed-Muller Codes Using Majority Logic and Apparatus thereof
EP1762021A1 (en) 2004-09-15 2007-03-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding transmission information in mobile telecommunication system
KR100887090B1 (en) * 2007-09-13 2009-03-04 삼성전기주식회사 Direct sequence spread spectrum transceiver
KR101146565B1 (en) * 2011-02-28 2012-05-25 국방과학연구소 Apparatus of recognition for rm code and method thereof
CN110442526A (en) * 2019-08-14 2019-11-12 海闻科技有限公司 A kind of method of counting of valid code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50161017A (en) * 1974-06-14 1975-12-26
GB2320663A (en) * 1996-12-20 1998-06-24 Motorola Ltd Signal processing in digital radio communication receivers

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933956A (en) * 1983-04-14 1990-06-12 Codex Corporation Simplified decoding of lattices and codes
US5594742A (en) * 1990-12-20 1997-01-14 Communications Satellite Corporation Bidirectional trellis coding
JPH05161017A (en) * 1991-12-09 1993-06-25 Matsushita Electric Ind Co Ltd Orthogonal transformation device
US5353352A (en) * 1992-04-10 1994-10-04 Ericsson Ge Mobile Communications Inc. Multiple access coding for radio communications
US5550809A (en) * 1992-04-10 1996-08-27 Ericsson Ge Mobile Communications, Inc. Multiple access coding using bent sequences for mobile radio communications
US6373859B1 (en) * 1996-09-10 2002-04-16 Hewlett-Packard Company Methods and apparatus for encoding and decoding data
US5926488A (en) * 1997-08-14 1999-07-20 Ericsson, Inc. Method and apparatus for decoding second order reed-muller codes
EP0924909A1 (en) * 1997-12-17 1999-06-23 Hewlett-Packard Company Methods and apparatus for decoding DOFDM-data
KR100393618B1 (en) * 2000-08-18 2003-08-02 삼성전자주식회사 Channel coding/decoding apparatus and method for a cdma mobile communication system
SG113440A1 (en) * 2002-11-19 2005-08-29 St Microelectronics Asia Method and apparatus for a transport format combination indicator (tfci) decoder
JP3776877B2 (en) * 2002-12-04 2006-05-17 埼玉日本電気株式会社 Mobile communication system, radio base station controller, and uplink reception synchronization determination method used therefor
US7463689B2 (en) * 2003-10-09 2008-12-09 Industrial Technology Research Institute Error correction and decoding method and system for wideband code division multiple access

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50161017A (en) * 1974-06-14 1975-12-26
GB2320663A (en) * 1996-12-20 1998-06-24 Motorola Ltd Signal processing in digital radio communication receivers

Also Published As

Publication number Publication date
US20040071357A1 (en) 2004-04-15
GB2370472B (en) 2004-07-21
CN1488196A (en) 2004-04-07
AU2002220889A1 (en) 2002-07-01
ATE282262T1 (en) 2004-11-15
EP1350326A1 (en) 2003-10-08
DE60107118T2 (en) 2005-11-24
US7379610B2 (en) 2008-05-27
DE60107118D1 (en) 2004-12-16
KR100528139B1 (en) 2005-11-15
JP2004527149A (en) 2004-09-02
GB0031358D0 (en) 2001-02-07
EP1350326B1 (en) 2004-11-10
KR20030061010A (en) 2003-07-16
WO2002051014A1 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
CA2157958C (en) Trellis coded modulation employing lower dimensionality convolutional encoder
CN1275278A (en) Communications systems and methods employing parallel coding without interleaving
CN1449152A (en) Error correction with two block codes
CN1459148A (en) Apparatus and method for generating and decoding codes in communication system
JP2006320008A (en) Error correction circuit, and transmission system including interleaver, and puncturing or repeating device
US6347385B1 (en) Interleavers for turbo code
JP3454816B1 (en) Apparatus and method for generating (n, 3) code and (n, 4) code using simplex code
JP4420924B2 (en) Method and encoder for encoding an information bit sequence
KR100484555B1 (en) Method and apparatus for error correction
CN101326728A (en) Turbo code interleaver for low frame error rate
US6385752B1 (en) Method and apparatus for puncturing a convolutionally encoded bit stream
EP1350326B1 (en) Decoding of reed-muller codes
JP4594963B2 (en) Coding method and apparatus with at least two parallel editing methods and improved replacement method, and corresponding decoding method and apparatus
CN1489308A (en) Sending device and method of digital broadcasting system
WO2001026235A1 (en) Interleave address generating device and interleave address generating method
WO2007059389A2 (en) Method and apparatus for interleaving within a communication system
CN101461141A (en) Encoding and decoding with trellis-coded modulation
JP2004527149A5 (en)
JP4420925B2 (en) Method and encoder for encoding an information bit sequence
KR100320221B1 (en) Serially concatenated convolution encoding apparatus and method
KR100390693B1 (en) Binary Linear codes generation apparatus and method using orthogonal codes for communication system
Usher et al. Coding
JP2001127648A5 (en) Coding device, decoding device and wireless communication device
JPH0750650A (en) Error correction encoding and decoding method

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
773K Patent revoked under sect. 73(2)/1977

Free format text: PATENT REVOKED ON 20060426