throbber
US(}0742l032B2
`
`.12. Ulllted States Patent
`Jin et al.
`
`am Patent No.:
`(45) Date of Patent:
`
`US 7,421,032 B2
`Sep. 2, 2008
`
`(54) SERLAL CON(.‘.\TENA'l‘ION OF
`[NTERLEAVED CONVOLUTIONAL CODES
`l~‘()l1:VllNG TURBO-I.ll(E (.‘0Dl+1S
`
`(55;
`
`References Cited
`‘
`‘
`_
`_
`‘
`_
`_
`“-5- PM “N1” '30CUM1'«"“5
`
`vs)
`
`(73) Assignee:
`
`( ”‘ ) Notice:
`
`um Jan. u1«uGurd»»=r. m ms» am-ad
`Khandckmt Pasadena. CA (US):
`Robert J. McEliece. Pasadena. CA (US)
`(fallifurnia Institute of Technology.
`«us»
`Subject to afl)’{‘l1lS((i‘lEll.[I1t3Lli. the :‘€l‘lTlctlJfllJ.l:
`patent is L‘.)(lt..‘]1 c or a juste
`no or 3-
`LI.S.(‘. 1540:) by Udays.
`
`222333333 :2
`5.751.739 A
`5,303,115 A it
`5'83l'U93 "
`2-mt:
`5531.374 ,1;
`r1.r)32_2g4 A
`6.044.! It‘: A
`6.094.739 A “
`
`-» $332
`5.-1-3-93 Seshaulrietttl.
`9.1993 Meyer
`$3“? "”‘]‘
`:;.:,:.:. ..
`_1r2(;{_|[_j
`(_-hemakeshl. at a]_
`3.-Ztmtl Bliss
`32000 Wang
`7.-"20i]0 Millerelnl.
`
`714.-"792
`
`3753.1]
`
`714-"792
`
`(21) Appl. No.: 1U542,95l}
`
`(22)
`
`Filed:
`
`(M3. 2006
`
`(65)
`
`Prior Publication Data
`US 2007fOl)25-150 Al
`Feb. 1, 2007
`
`Related U.S.Applieatlm:| Data
`
`(63) Continuation ol'applicat'iot1 No. 09:’86l.l02. filed on
`May I8. 2{l(}l . now Pat. No. 7.] I63‘ l 0. and a CDI1ll.l'lU-
`ation-in-pzirt of applicaliort No. D9f922_.852. filed on
`Aug. 18. 2000. now Pat. No. 7.089.4':"':'.
`
`(60)
`
`bl‘tJ\-‘is-lt1T.]3l application No. 602905.095, filed on May
`13. 2000.
`
`(51)
`
`Int. Cl.
`H041’. 5/I2
`(52) U.S. CI.
`
`{20015.01)
`3751962: 375K265; 3?5r‘343:
`714.055: 7141786: 7143792: 34152: 3413102
`{58) Field ol'Classification Search
`375K259.
`37'5f262. 265. 285. 296, 341. 346, 348; 714E746.
`714E752. 755. 756, 786. 792. 794- 796: 34151.
`34152. 56. 102. 103
`See application file for complete Search history.
`
`{Continued}
`
`on "ER PUB[‘I("A-FIONS
`ppenrlix A. l "filntclure oi‘ Parity Check Malrices of Standardized
`LDPC Codes." Digital Video Bromlca:;t'i.ng (DVB) User guidelines
`for [he second generation system for Bnuadcmting. Intenu.-live Ser-
`vices. News Gathering and other broadband szllellile applications
`{DVD-S3) l;"l'S[ IR [02 37{1V’l.l.l. (Feb. 2005) 'l‘r:chr1ie:1] Report".
`pp. 64.
`
`((.'ot'1til:l1Icd ]
`
`Prfniarg‘ E,\'atJ1f:rer—Dac V. H3
`(74) .<in‘ome:t: Agent. or Fir»:
`
`Fish & Ricltardsou l-'.['.
`
`(57)
`
`ABSTR.-\('T
`
`A serial concatenated coder includes an outer coder and an
`inner coder. The outer Coder irregularly repeats bits in a data
`lalocls’. according to El degree profile and 5I'.'l'-'.il‘l‘Jl:.'rlt.!5'
`the
`repeated bits. Tlu: scrambled and repeated bits are input to an
`inner coder. which has a rate stthslatttittlly close to one.
`
`23 Claims. 5 Drawing Sheets
`
`3 § A
`
`Apple 1101
`
`Variable Node
`Fraction of nodes
`degree I
`
`Check Node
`degree a
`
`Ee E‘
`
`I:
`he
`
`Apple 1101
`
`

`
`US 7,421,032 B2
`Page 2
`
`U.5. PA'I'IiN'I' DOC‘UM IENTS
`
`6.396.423 Bl
`6.437.?l-’-l Bl
`6.SS9.‘)O{\ B2‘
`3t}t}ltl'ttJ25358 Al
`
`SJZUUE Ln.t.tn:ten eta].
`832002 Kim et al.
`232005 Hatrnmons etal.
`95200] Liidson etal.
`
`OTHER PUBLICATIONS
`
`714.-".tSfi
`
`Benedellu El al.. “A Soil-Input Soil-Otllpttt Maximurn A Poslerio-ri
`it/[AP] Module to Decode Parallel and Serial Concatenateil Codes."
`The Telecommunications and Data Aieqtlisition (TDA} Progress
`Report 42-137 for NASA and Califomia Institute ol'TechIlC-logy Jet
`Propulsion laboratory. Jospeh H. Yuan. Ed.. pp. 1-30 (Nov.
`I5.
`1996).
`Benedetto et al.. "Bandwidth eflieient patallel concatenated coding
`schemes." Electronics Letiers 3 [(24): 2067-2069 (Nov. 23. I995).
`Benedetto et nl.. "Design of Seriaily Concalenaled Interleaved
`Codes." [CC 9'.-'. Montreal. Canada. pp. 710-714. t_ Jun. I997).
`Benedetto et at.. "Parallel Concatenated Trellis Coded Modulation.“
`[CC ‘96. IEEE. pp. 974-978. (.lt.I.n. I996).
`Benedetto ct al.. “Serial Concatcnated Trellis Coded Modulation
`with Iterative Decoding.“ Proceedings from the IEEE I99’? Interna-
`tional Symposium on In.l'on11a1ion Theory (ISIT). Ulm. Gertrtany. p.
`8. Jun. 29-1111. -4. I997.
`Benedetto et al.. “Serial Concatenatien of Interleaved Codes: Perfor-
`mance Analysis. Design. and Iterative Decoding." The Telect)ITtrnu—
`nicalions and Data Acquisition tTDA) Progress Report 42-126 for
`NASA and Calil'ornit1 institute of "Technology Jet Propulsion Labo-
`ratory. Jospoh l1.‘t’uen, lld.. pp. 1-26 i_.t'\lIg. IS. 1996).
`Benedetto at .11.. “Serial (foncatentttion of interleaved codes: perfor-
`inancc analysis. design. and itcrtttive decoding.“ Proceedings [mm
`the IEEE 199? International Syrnposittrn on l.nformation 'l'hcory
`IISIT). Lilrn. Germany. p. 106. Jun. 29-Jul. 4. 1997.
`Benedetto el al .. “S0fl—outptll decudi rtg Ellgclrithtrts in iterJ.tl'ivt-.‘ decod-
`ing ofturho codes." The Telet.'ort1n1unications and Data Acquisition
`[TDAl Progress Report 42-124 for NASA and California Institute of
`Teclmology Jet Propulsion Laboratory. Iuspeh [-1. Yuan. Ed.. pp.
`63-8? (Feb. I5. 1996).
`Benedetto. S. et a].. “A Soft-Input Soft-(Jtttput APP Module for
`Iterative Decoding of Cortcalenated Codes.” IEEF. Coirunttniculions
`Letters ltlj: 22-24 (Jan. 1997').
`Berrott et al.. “Near Shannon Limit Ertor-Cotzrecting Coding and
`Decoding: Ttirbo Codes." ICC pp. |lJ64— IGTU t" I993).
`Digital Video Broadcasting t'DVB) User guidelines for the second
`generation system for Broadcasting.
`interactive Services. News
`Gathering and otherhroadhand satellite applications (DVB-S2) ETSI
`TR [U2 3”i'fiVl. I . l. tFeb. 2tlt.'l5}Tecl'tnicz1l Re-porL pp. l—l04(Fet:t I5.
`2fltJ5)_
`
`Divsalar et al,. “Coding Theorems for "1'nrbo-Like‘ Codes.” Proceed-
`ings of the 36"‘ Annual Alterton Conference on Cornnutnication.
`Control. and Computing. Sep. 23-25.
`I998. Allerton llouse.
`Monticello. Illinois. pp. 201-2 It} (1998).
`Divsalnr ct n.|.. “Efl'et.:live [tee distance ufturbn codes." Electronics
`Letters 32(5): 445-446 (Feb. .29. I996).
`Divsalar. D. et al.. "Ilybrid Concatenated Codes and Iterative Decod-
`ing.“ Proceedings from the l.l_-‘.l:IE 199'? International Sympositun on
`Information Theory IISIT]. Ulrrt. Gemiany. p.
`ll] (Jun. 29-Jul. 4.
`I997).
`Divsalar. D. et al.. “Low-rate turbo codes for Deep Space Commu-
`nications.” Pntceedittgs from the [995 [EEE I.ntemn1ion:t.l Sympo-
`sium on Information Theory. Sep.
`|7—22. 1995. Whistler. British
`Colutnbia. Canada. pp. 35.
`Divsalar. D. et al.. "Multiple '1'n.rbo Codes for Deep-Space Commu-
`nications.” The Telecommunications and Data Acquisition (TDAJ
`I’IT:-grass RE]:II:It1 42-121 for NASA and Ca]ii't‘Jmi.'1 institute ofTech-
`nology Jet Propulsion Laltotatory. Jospeh II. Yuen. Ed.. pp. 60-7'?
`{Ma}/15. 1!-J95).
`Divsalnr. D. at al.. "Mttltiple Turbo Codes.” M'IT.COM 95. S11] Diego.
`CA pp. 39-235 (Nov. 5-6. 1995).
`Divsalar. D. et 21].. “On the Design of Turbo Codes.“ The "Telecom-
`nitlnic at ions and Data Acquisition (TDA) Progross Report -12- l 23 for
`NASA and California Institute of Technology Jet Propulsion Labo-
`ratory. Jospeh I-1. Yuen. l3d.. pp. 99-13 I (_’.'-Jov. 15. 1995).
`Divsalar, D. el al.. "Serial Turbo Trellis Coded Modttlation with
`Rate—l Inner Corie." Pr-ziceetlings from the IEEE 2000 Inlerntllional
`Symposium on lnfortnaliun Theory [_lS]T}.
`ltztly. pp.
`l-l-1 [.lu.I't.
`2.000).
`Divsalar. D. et al.. “'l'1Lrbo Codes for PCS Applications." [CC 95.
`Tl-":F.'F.. Sezttilo. WA. pp. 54-59 (Jun. I995}.
`Jirt at al.. "Irregular Repeal—Acc1trnul:tte Codes." 2nd lntcrnatioital
`Symposiuirt on Turbo (‘odes & Related Topics. Sep. -’l-'}'. 2000. Brest.
`Fl':1.t1CG. 25 slides. tpresented on Sep. 4. 2000).
`Jin et at. “Irregular Repeat—Accornutatc Codes." 2"“ International
`Sy111p-osiu.I1't on Turbo Codes 8: Related Topics. Sap.-1-7. 2000. Brest.
`France. pp. l-8 (2tl(ltl}_
`Richardson et al.. "Design of capacity approaching irregular low
`density parity check codes." TE FE Trans. lt:tl'om1. Theory 47 : 6 I 9-637
`(Feb. 2001).
`Richardson. T. and R. Urbanke. “Eflicienl encoding of low-density
`parity check codes.“ IEEF. Trztns. tnfonn. Theory -11': 633-656 (Feb.
`2001].
`Wilberg. et al.. “Codes and Ilemtie Decoding on General Graphs”.
`I995 Intl. Symposium on Information Theory. Sop. 1995. p. 468.
`
`* cited by examiner
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 1 of5
`
`Us 7,421,032 B2
`
`FIG.1 (PriorArt)
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 2 of 5
`
`US 7,421,032 B2
`
`(.3
`c.)
`<:
`
`:
`
`H‘
`
`£5
`I
`
`C‘!
`
`Q5
`E
`
`E:
`
`5C
`
`:
`—I
`
`_‘C
`
`X
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 3 M5
`
`Us 7,421,032 B2
`
`Variable Node
`
`Check Node
`
`Fraction of nodes
`degree i
`
`I
`
`I.
`
`....u
`
`\.
`
`__
`2FHnu3
`
`11!
`
`.IU
`
`
`
`.._..W.........._\_nu:_
`
`__
`
`\.\
`
`X
`
`20H3
`
`.3
`
`I
`
`\
`
`\
`
`\
`
`./I.R.._
`
`_
`
`fll
`
`.1.
`
`lull‘_
`_\\..
`
`4/.00I.0\
`oLo0u.xs1.1..
`.x\I...
`\_\LT__
`..ll..|lI.IvI.lIII\
`
`illDOC
`
`FIG. 3
`
`

`
`U.S. Patent
`
`Sep. 2, 2003
`
`Sheet 4 off»
`
`US 7,421,032 B2
`
`
`
`FIG. 5A
`
`
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 5 M5
`
`Us 7,421,032 B2
`
`

`
`US 7,421,032 B2
`
`1
`SERIAL ITONCATENATION OF
`INTERLEAVED CONVOLUTIONAL CODES
`FORMING TURBO—LlKE CODES
`
`(“ROSS-RIEFIIRIINCTIE TD R12] ATIEIJ
`Al-‘PI.,lC.f\.TIONS
`
`This application is a continuation of LI.S. application Ser.
`No. 09186] . 102. filed May 18. 2001. now U.S. Pat. No. 1116.
`? 1 0. which claims the priority ofU.S. provisional application
`Sol’. No. 60;’205.0l)5. filed May I3. 2000, and is a continua-
`tion—in—part of US. application Ser. No. (l9f922.852. tiled
`Aug. 13, 2000, now US. Pat. No. 7,089_.4'r'7.
`
`tu
`
`(.i()Vl£RNMliNT I.IC‘1iNSI-I RICH-ITS
`
`The US. Govemment has a paid—up license in this inven-
`tion and the right in limited circumstances to require the
`patent owner to license others on reasonable terms as pro-
`vided lhr by the terms ot'Gra.nt No. C.‘(.‘R-98()4793 awarded
`by the National Science lioundatiou.
`
`BACKGROUND
`
`Propert ies ol‘a channel a tiect the amount otidata that can be 'n
`handled by tile t:lian.t:tel. The so-called "Sl'ta.ltJJon limit
`defines tl1e theoretical limit of the amount of data that a
`channel can carry.
`Dit't'erent techniques have been used to incrse the data
`rate that can be handled by a charuiel. “Near Shannon I.i.niit
`t<lrror—('.‘.orrectiI1g Coding and Decoding: Turbo Codes." by
`Berrou et al. ICC. pp 1064-1070. (1993). described a new
`“turbo code“ technique that has revolutionized the field of
`error correcting codes. Turbo codes have sutficient random-
`ness to allow reliable eotuniunication over the channel at a
`
`3U
`
`high data rate near capacity. However. they still retain sufli-
`cient stntcture to allow practical encoding and decoding a Igo-
`rithins. Still, the technique for encoding and decoding turbo
`codes can be relatively complex.
`A standard turbo coder 100 is sliown in FIG. I. A block of
`
`k infonuat.ion bits is input directly to a first coder 102. A It bit
`interleaver 106 also receives the It bits and interleaves them
`prior to applying them to a second coder 104. The second
`coder produces an output that has more bits than its inpttt, that
`is, it is a codcrwith ratethat islessthan I .Thecoders I02. 104
`are typically rt:cLl.I'sive convt‘.-Iutional coders.
`Three dillerettt items are sent over the chaimel 150: the
`original 1-: bits. first encoded bits 110. and second encoded hits
`112. At the decoding end. two decoders are used: a first
`const_itt.tenl decoder 160 and a second ctJnt51i1t.te.nt decoder
`162. Each receives both the ori_t_zinal k bits, and one of the
`encoded portions 110. 112. Each decoder sends likelihood
`estimates of the decoded bits to the other decoders. The esti-
`mates are used to decode the uncoded inl'or1nation hits as
`
`t.:orrI.tpted by the noisy chnn.nel_
`
`SUMMARY
`
`A coding system according to an embodiment is config-
`ured to receive a portion of at signal
`to be encoded, For
`example. a data block including a Fixed number of bits. The
`coding system includes an outer coder. which repeats and
`scrambles bits in the data block. The data block is apportioned
`into two or more sttb—blocks. and bits in diflerent sub—bIocks
`are repeated a diITcrt-.'l.1l number oi’ times according to a
`selected degree profile. The outer coder may include a
`
`-15
`
`K)! '41
`
`fit:
`
`{)5
`
`2
`
`repeater with a vat'ial:tlc rate and an interleaver. Alternatively,
`the outer coder may be a low—density generator matrix
`[LDGM) coder.
`The repeated and scrambled bits are input to an inner coder
`that has a rate sttbstaiitially close to one. The inner coder may
`include one or more accumulators that perfonn recursive
`modulo two addition operations on the input bit‘ stream.
`The encoded data output from the inner coder tnay be
`transmitted on a channel and decoded in linear titne at a
`destination using iterative decoding techniques. The decod-
`ing techniques may be ba sed on a Tanner graph representation
`of the code.
`
`BRIEF l)IiSCRlP'l‘l0N OI’ Tllli DRAWINGS
`
`FIG. 1 is a schematic diagram of a prior "turbo code“
`system.
`F IG. 2 is a schematic: diagram ofa coder acctiniiiig to an
`embodiment.
`FIG. 3 is a 'l'at1t'tet‘ graph for an irregular repeat and accu-
`mulate {IRA) coder.
`FIG. -1 is a schematic diagram ot'at1IRA coder according to
`an einbodimeiit.
`
`FIG. 5A illustrates a message li'urn at variable node to a
`check node on the Tanner graph of FIG. 3.
`FIG. 5B illustrates a message from a check node to a
`variable node on the Tanner graph of FIG. 3.
`F [Ci 6 is a schematic diagram ofa coder according to an
`alternate embodiment.
`FIG. 7 is a schematic diagram of a coder according to
`another altentate embodiment.
`
`l)}":"l‘.’\II .-I'll) Dl1S(.‘RIP’l'I()N
`
`FIG. 2 illustrates a coder 200 according to an entbodiment.
`The coder 200 may include an outer coder 202. an interleaver
`204, and inner under 206. The coder may be used to Fortuat
`blocks otdata for transmissiott. introducing redundancy into
`the stream of data to protect the data from loss dtte to trans—
`mission enors. The encoded data may then be decoded at a
`destination in linear time at rates that may approach the cl'laI.ti-
`nel capacity.
`The outer coder 202 1-eceives the ttncoded data. The data
`may be partitioned into blocks oi" fixed size. say it hits. The
`outer coder may be an (n.k) binary linear block coder, where
`11>-It. The coder accepts as input a block u otik data bits and
`produces an output block v of rt data bits. The mathematical
`relationship between u and v is v=T,,u._ where To is an nxl-t
`matrix. and the rate of the coder is kiln.
`The rate of the coder may be irregular. that is. the value of
`To is not constant, and may ditTcr for sub-blocks ofbits in the
`data block. In an enibodimettt.
`the outer coder 202 is a
`repeater that repeats the 1»: bits in a block a ntJtl1l:tct' ol'ti.rnes q
`to produce a block with 11 bits. where n-‘qlt. Since the repeater
`has an irregular output. diflerent bits in the block may be
`repea led a diIl"eret1t number ol'tin‘tes. For example. a I'ractio1'1
`otthe bits in the block may be repeated two times. a fraction
`ofbits may be repeated three times. and the rema inder of bits
`may be repeated tour times. These fractions define a degree
`sequence. or degree profile. of the code.
`The inner coder 206 may be a linear rate-I coder. which
`means that the 11-bit output block it can be written as x='l‘,w.
`where T_,is a nonsingular nxn matrix. The inner coder 2 10 can
`have a rate that is close to l. e.g.. within 50%. more preferably
`10% and perhaps even more preferably within 1% of I.
`In an enibodirnent. the inner coder 206 is an accumulator,
`which produces outputs that are the modulo two (mod-21
`
`

`
`3
`
`4
`
`US 7,421,032 B2
`
`partial sunts ofits inputs. The accurnulalor may he a tmncatcd
`rate—l recursive convolutional coder with the transfer func-
`
`tion It'( 1 4-D]. Such an accumnlat or may be considered a block
`coder whose input block [x.,,
`.
`.
`. _.x,,] and output block
`[y,, .
`.
`. ,y,,] are related by the forntula
`I‘ t ' 31
`
`'4»
`
`J‘: ‘1‘I'-i-‘X2
`
`_L'3 ‘ll’ , ti-'.\'3EEL\'_1
`
`_t-‘,,-—xlE}.x2ELr_\':_I- . ..
`
`Ft-tx
`
`,,.
`
`,x,.). as follows. liach of the inI‘orntation bits is
`.
`.
`.
`(x, .
`associated with one of the inforrnation nodes 302. and each of
`the parity bits is associated with one ofthe parity nodes 306.
`The value of a parity bit is determined uniquely by the con-
`dition that the 1nod—2 sum of the values of the variable nodes
`connected to each of the check nodes 304 is zero. To see this.
`
`set xo =0. Then if the values of the bits on the ra edges coming
`out the pcmiutatiou box are (V, ,
`.
`.
`.
`_. \«',,,]. then we have the
`recursive fonnnla
`
`I
`
`i=I
`.l'_|.' =33‘ IT'S 1'“:
`
`|t.tir
`
`. . _. r. This is in effect the encoding algorithm.
`tor _i —' 1. 2. .
`Two types of IRA codes are represented in FIG. 3. a non-
`systematic version and a systematic version. The nonsystem—
`alic version is an (r.k] code. in which the codeword corre-
`sponding to the ittli:-rmatiott bits (LIL,
`.
`.
`. ..t1k] is fit]. .
`.
`.
`. X’).
`The systematic version is a fk+r. k) code. in which the code-
`word is (11,. .
`.
`.
`. up to. .
`.
`.
`. x,.).
`The rate of the nonsystematic code is
`
`Rm-.-.7 =
`
`(I
`
`2] if}
`
`The rate of the systematic code is
`
`R»-.u =
`
`It‘
`
`(11-Z if}
`
`For example, regular repeat and acctunulate (RA) codes
`can he considered nonsystematic IRA codes with a-'1 and
`exactly one f, equal to 1. say f,_,
`1, and the rest zero. in which
`case Rm.‘ simplifies to R- -Ifq.
`The IRA code may be represented using an alternate nota—
`tion. Let it, be the fraction of edges between the information
`nodes 302 and the check nodes 304 that are adjacent to an
`information node ofdegree 1. and let p, be the traction of such
`edges that are adjacent to a check node ofdegree i+2 (i .e.. one
`lltat is adjacent to i inlorination nodes]. Thcse edge fractions
`may be used to represcrtt the IRA code rather than the corre-
`f-
`sponding node fractions. Define 7L(x)=2,.}t,x ' and p(x)=E,-p,-
`x"" to be the generating. iitnctiotts of these seqtlences. The
`pair 0... p) is called a dt:g;ree distribution. For I.{xl=}J,l‘,-x,-.
`
`I
`_-
`'l
`ti
`. n
`but ef Atrtdry T .tLrt:.tr
`
`where “@" denotes mod—2. or exclusive{)R (XOR). addition.
`An advantage of this system is that only ntotl-2 addition is
`necessary for die accumulator. The acctltttulator may be
`embodied using only XOR gates, which may simplify the
`design.
`The bits output from tl1e outer coder 202 are scrambled
`before they are input to the inner coder 206. This scrambling '
`may be perlomied by the interleave: 204. which performs a
`pscudo—randont pcrnnttation ufan input block \«. yielding an
`output block w having the same length as v.
`The serial concatenation of the interleaved irregular repeat
`code and the accumulate code produces an irregular repeat‘
`and accuntttlatte { IR./\) code. An I RA code is 21 linear code. and
`as such. may he represented as a set of parity checks. The set
`of parity checks may be represented in a bipartite graph.
`called the Tanner graph. of the code. FIG. 3 shows :1 Tanner
`gaph 300 ofan IRA code with parameters (fl. .
`.
`.
`. I]: a].
`wltere £20. 2,1‘,-=1 and “a” is a positive integer. The Tamter
`graph includes two kinds of nodes: variable nodes [open
`circles) and check nodes (liilcd circles). There are k variable
`nodes 302 on the lefi, called infomiation nodes. There are r
`variable nodes 306 on the right. called parity nodes. There are
`r=(k2,.if,.]fa check nodes 304 connected between the inl'onna-
`tion nodes and the parity nodes. Each inlonnation node 302 is
`connected to a number of check nodes 304. The fraction of
`
`3n
`
`'
`
`«to
`
`information nodes connected to exactly i check nodes is 1}.
`Forcxample. in the Tanner graph 300, each ofthe T3 informa-
`tion nodes are connected to two check nodes. corresponding
`to a repeat of q 2. and each of the 1'3 information nodes are
`connected to three check nodes. corresponding to q= 3.
`Each check node 304 is connected to exactly “a“ informa-
`tion nodes 302. In FIG. 3. a=3. These connections can be
`
`made in many ways. as indicated by the arbitrary pemtutation
`of the ra edges joining information nodes 302 and check
`nodes 304 in pemtutation block 310. These connections oor~
`respond to the scrambling performed by the interleaver 204.
`In an altentate entboditnent. the outer coder 202 may be a
`low-density generator matrix {I.DGM) coder that pct'll1rt‘t'ts
`an irregular repeat of the k bits itt the block, as shown in FIG.
`4. As the name implies. an LDGM code has a sparse (low-
`density) generator ntattix. The IRA code produced by the
`coder 400 is a serial concatenation ofthe [.I)(iM code and the
`acctnttttiator code. The irtterleavcr 204 in FIG. 2 may be
`excluded due to the randomness already present in the struc-
`ture of the LDGM code.
`
`11' the permutation perfonrted in permutation block 310 is
`fixed. the Tatlrter graph represents a binary linear block Code
`with k information bits (11,.
`.
`.
`.
`. nk) and r parity bits
`
`45
`
`u- '41
`
`on
`
`05
`
`

`
`5
`
`6
`
`US 7,421,032 B2
`
`The rate of the systematic IRA code given by the degree
`distribution is given by
`
`
`
`
`
`"Belie1‘propag,atiort“ on the Tanner Graph realization may
`be used to decode IRA codes. Roughly speaking. the belief
`propagation decoding technique allows the messages passed
`on an edge to represent posterior densities on the bit associ-
`ated with the variable node. A probability density on a bit is a
`pairofnon-he-gativc real numbers 11(0). p( 1) satisfying p(0)+
`p[ l ]"l. where p-(0) denotes the probability ofthe bit being 0.
`pfl) the probability of it being 1. Such a pair can be repre-
`sented by its log likelihood ratio, tn=Iog(p('0)fp( l )1. The out-
`going message from :1 variable node n to 21 check node v
`represents information about 1].. and a message from a check
`node n to a variable node v represents information about u. as
`shown in FIGS. 5A and SB. respectively.
`The outgoing nit.-ssage front a node n to a node v depends
`on the iucornirtg messages from all neighbors w ofu except v.
`Ifu is a variable message node. this outgoing message is
`
`nu»
`nltu -+ 1'! = E rttttra st] +mgt:.tJ
`
`where rn0(u) is the log—likelihood message associated with
`u. lfu is a check node. the corresponding formula is
`
`LE1!
`
`tutu —e vi
`___
`
`h
`
`nit It‘ —- at
`3
`
`t-7t‘
`-.-. n t:u1l'l
`
`'4:
`
`III
`
`15
`
`3t]
`
`35
`
`45
`
`no
`
`Before decoding, the messages m(w——>u) and n1(u—-aw) are
`initialized to be zero. and m0(u) is initialized to be the log-
`likelihood ratio based on the channel received information. If
`
`65
`
`relies on its input, and y is the output ol‘tltc- channel code bit
`u. then tn,,(u)-'-=log[p(u~0|y]!p(u--1|y)). Alter this initializa-
`tion. the decoding process may run in a hilly parallel and local
`manner. In each iteration, every variablefclieck node receives
`ntessages ii-om its neighbors, and sends back updated mes-
`sages. Decoding is lcrrninatcd after a fixed number of item-
`tions or detecting that all the constraints are satisfied. Upon
`termination. the decoder outputs a decoded sequence based
`on the messages U1(tl]=}:Wm[W"*Ll).
`Thus, on various cltannels, iterative decoding only differs
`in the initial messages rnntut. For example. consider three
`tnemoryless channel models:
`a binary erasure channel
`(BBC 1: a binary symmetric channel (BSC): and an additive
`white Gaussian noise (AGWN] channel.
`In the BIEC. there are two inputs and three outputs. When 0
`is transmitted, the receiver can receive eithcrf) or an erasure IE-.
`An erasure ii output nteans that the receiver does not k1'u:Iw
`ltow to dentodulate the output. Similarly. when 1 is transmit-
`ted. the receiver can receive either 1 or E. Thus. for the BEC.
`
`y e {0, E. 1}. and
`
`Mutant:
`
`it'_t~=tJI
`+oc
`il'_\':-E
`U
`-no ll:_t'=l
`
`In the BSC. there are two possible inputs [(11) and two
`possible outputs (D. 1]. The BBC is characterized by :1 set of
`conditional probabilities relating all possible outputs to pos-
`sible inputs. Thus. for the BSC y e {0, 1},
`
`mnt u I =
`
`1 _
`loglF
`-0-: 1
`l
`l"'” ‘f
`p
`E
`
`if _t-' = U
`
`tr:
`
`1
`
`_
`
`and
`
`In the AWGN, the discrete—time input symbols X take their
`values in a finite alphabet while channel output symbolsY can
`take any values along the real line. There is assumed to be no
`distortion or other eliects other than the addition of white
`Gaussian noise. In an AWGN with a Binary Phase Shitt
`Keying (BPSK) signaling which maps 0 to the symbol with
`amplitude ‘IE and I
`to the symbol with amplitude —.,.I'E§.
`output y E R. then
`
`mull! J§I_v\_i7".=::’Ng
`
`the channel is ntctuoryless. ie, each channel output only
`
`where N‘/2 is the noise power spectral density.
`
`

`
`7
`
`US 7,421,032 B2
`
`The selection ol‘ :1 degree profile for use in a particular
`transmission channel is :3 design parameter, which may be
`affected by various attributes of the channel. The criteria for
`selecting a particular degree pro file may include. for example.
`the type of channel arid the data rate on the channel. For
`exaunple. Table 1 shows degree profiles that have been found
`to produce good results for an AWGN channel l'l'lClClLl.
`
`II
`
`ikl
`3.3
`}.5
`KG
`Mt!
`Ml
`M3
`M3
`114
`M5
`3&2?
`128
`Rmc
`UGA
`o‘
`i_F.hJ"NlI] " {LIB}
`S.L. td]3t
`
`TABLE 1
`
`3
`
`l.I.139l.l2_‘I
`o_"£2I5S5
`
`tI.t'13B82L'|
`
`3
`
`tI.fJ'.'-'8] 94
`n,I2tttttt5
`11.160313
`tI,t]3t§l?8
`
`tI,lIJ8t't2%
`n.-<tt'tT9tI2
`
`0.333364
`1.1840
`1.1931
`III.19F_I
`—tLI.~t-£453
`
`03.3.1223
`1.2415
`1.2t3Ft’i"
`—tI,3jtI
`-I I,495S
`
`-1-
`
`tJ.tJ54-485
`u_tt143t3
`
`tLI.l.‘.t‘)'.-‘S5
`ILZZUEHG
`lJ.Dlt’>4E4
`
`tJ.45[I3t.J'.I
`|1.U]’.-‘S42
`I.I..t333lt<
`1.21515
`l.2?8fl
`_n,3?1
`-0.-$958
`
`Table 1 shows degree profiles yielding codes of rate
`approximately ‘£3 hair the AWGN channel and with a=2_. 3. 4.
`For each sequence. the Gaussian approximation noise thresh-
`old. the actual stu11—product decoding threshold and the cor-
`responding energy per bit {E£,}—noise power (Nmt ratio in dB
`are given. Also listed is the Shannon limit (S.L.).
`As the parameter
`is
`increased the performance
`improves. For example, for a=4. the best r.-ode [band has an
`iterative decoding threshold of I*l,_,fNt.=-0371 dB. which is
`only 0.12 dB above the Shannon limit‘.
`The accumulator component of the coder may be replaced
`by a "double accumulator” 600 as shown in FIG. 6. The
`double accumulator can be viewed as a truncated rate 1 con-
`
`volutional coder with transfer function lf{1+IJ+I)3).
`Alternatively. a pair oiaccumula tors may be the added, as
`shown in FIG. 7. There are three component codes:
`the
`“ottter” code 700. the "middle" code 702. and the '‘inner’’
`code 704. The outer code is an irregular repetition code, and
`the middle and inner codes are both accttmulators.
`
`-it":
`
`45
`
`IRA codes may be implemented in a variety of channels.
`including mernoryless channels. such as the BEC‘. BSC‘. and _-
`AWGN. as well as cltannels having ttoii-bina.n_.' input, non-
`symmetric and Fading channels, andfor channels with
`memory.
`A ntunber of embodj ments have been described. Neverthe-
`
`..i- In
`less. it will be understood that various modifications may be _
`made withottl departing from the spirit and scope of the
`invention. Accordingly. other embodiments are within the
`scope oI'tlJe fol lowing claims.
`
`no
`
`The invention claimed is:
`
`.l. A method comprising:
`receiving a collection of message bits having a first
`sequence in El source data stream;
`generating a sequence ofparity bits. wherein each parity bit
`“x_,-’’ in the sequence is in accordance with the fortuula
`
`i
`
`i=I
`.1’; =.J'. _| +2 1'“,-.|.1.,.
`
`where
`...x _
`J_ 1" is the value ofa parity bit "j—l ," and
`
`tu
`
`1.
`I
`“L "t,i'—I i... M‘
`
`is the value of a sum of “a" randomly chosen irregular repeats
`of the message bits: and
`making the sequence of parity bits available for transmis-
`sion in a transmission data stream.
`
`2. The method of claim 1, wlterein the sequence of parity
`bits is generated is in accordance with “a" being constant.
`3. The method of claim 1, wherein the sequence of parity
`bits is generated is in accordance with "a" varying for di_tl’er—
`ent parity bits.
`4.'1l1e method ofclaim 1, wherein generating the sequence
`of parity bits comprises performing recursive modulo two
`addition operations on the random sequence nl‘bits_
`5. The tttcthod ol'clai.tn l . wherein generating the sequence
`of parity bits comprises:
`generating a random sequence olbits that repeats each of
`the message bits one or tnore times with the repeats of
`the message bits being distributed in a random sequence.
`wherein different fractions of the message bits are each
`repeated a different number of times and the number of
`repeats For each message bit is irregular; and
`XOR summing" in linear sequential fashion a predecessor
`parity bit and “:5” bits oi‘ the r:-J.t'tdon‘t sequence of bits.
`
`6. The method of claim 5. wherein generating the random
`sequence ofbits conlpriscs coding the collection of message
`bits using a low-density generator matrix (LIJGMJ coder.
`7.The1't1et.liod ol‘cla.in1 5. wltereiu generating the random
`sequence ofbits comprises:
`producing a block of data bits. wherein difl'ercnt' message
`bits are each repeated at dilferent number of times in a
`sequence that matches the lirst sequence: and
`randomly permuting the different bits to generate the ran-
`dom sequence.
`8. The method ofclaim 1. funher comprising transmitting
`the sequence oi'parily bits.
`the
`9. The method of claim 8. wherein transniitting,
`sequence of parity bits comprises transmitting the sequence
`of parity hits as part of a no-nsystematic code.
`10. Tlte method oi‘ claim 8, wherein Lransirtiltirtg Lhe
`sequence of parity bits comprises transmitting the sequence
`of parity hits as part of a systematic code.
`11. A device comprising:
`an encoder configured to receive a collection of message
`bits and encode the message bits to generate a collection
`of parity bits in accordance with the following Tantler
`graph:
`
`

`
`US 7,421,032 B2
`
`10
`
`message passing decoder comprising two or more
`checkfvariable nodes operating in parallel to receive
`messages from neighboring checldvariahle nodes and
`send updated messages to the neighboring variable.’
`chcclvt nodes. wherein the message passing decoder is
`configured to decode the received data stream that has
`been encoded in accordance with the following Tanner
`graph:
`
`l[|
`
`Eu
`
`or In
`
`-to
`
`-15
`
`un- '41
`
`'5
`
`E5.‘-
`E3DJ3-
`
`E.F\
`5Z2
`33
`
`19. 'lhc device of claim 18. wherein the message passing
`decoder is con.lig1tmd to decode the received data streain that
`includes the message bits.
`2|). The device of claim 18, wherein the message passing
`decoder is configured to decode the received data stream as if
`a number ofinpuls into nodes v,. was not constant.
`21. The device of claim 18. wherein the message passing
`decoder is configured to decode in linear time at rates Lhat
`approach a capacity ofa channel.
`22. The device of claim 18. wherein the message passing
`decoder oompri sea a heliefpmpagatiolt decoder.
`23. The device of claim 18. wherein the message passing
`decoder is configured to decode lltc received data su-eani
`without the tuessuge hits.
`
`1i
`
`16
`
`if
`
`$
`
`11
`
`2C
`
`.-717-
`53
`:J
`
`".|_’.IC.
`ECQ2
`-::2
`
`E5
`
`12. The device o1"clain1 l 1. wherein the encoder is config-
`ured to generate the collection ofparity bits as ifa number of
`inputs into nodes v, was not constant.
`13. The device o Fclairn 1 I , wltereiit the encoder I.':ot11prises':
`a low—density generator matrix (LDGM) coder configured
`to perform an irregular repeat on message bits having a
`fi.t‘Sl sequence in a source data stream to output a random
`sequence of repeats of the message bits: and
`an accluttulator configured to XOR sum in linear sequel -
`tial fashion a predecessor parity bit and “a" bits of the
`random sequence of repeats of the message bits.
`14. The device ofclaim 12. wherein the accumulator com-
`
`prises a recursive cnnvolutional coder.
`15. The device of claim 14. wltet‘ein the recursive convo-
`lutional coder comprises a truncated rate—l recursive convo-
`lutinnal coder.
`16. The device of claim 14. wherein the recursive convo-
`lution:-il coder has a Lransfer function of [EU +D].
`17. The device of claim 12, liirther comprising a second
`accumulator configured to determine a second sequence of
`parity bits that defines a second condition that constrains the
`random sequence of repeats of the niessage bits.
`18. A device comprising:
`a message passing decoder configured to decode a received
`data stream that includes a collection of parity hits. the
`
`

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`CERTIFICATE OF CORRECTION
`
`PATENT N0.
`APPLICATION NO.
`
`: 72421.03? B2
`: 11x5-42950
`
`Page 1 of 1
`
`DATED
`lNVENTOR(S)
`
`: September 2, 2008
`: Hui Jin, Aarnod Klrandekar and Robert J. McElieoe
`
`It is certified that error appears in the above-identified patent and that said Letters Patent is
`hereby corrected as shown below:
`
`Title Page, item [73] (Assignee), line 1, please delete "'Callifornia'“ and insert
`--Calit‘ornia—-. therefor.
`
`Claim 1 I. Column 9, line 28, delete "V1" and insert --V,——, therefor.
`
`Claim 1 1, Column 9. line 29, delete “U.” and insert --Uk--_. therefor.
`
`Claim 1 I. Column 9, line 29. delete “‘X1“ and insert --X,--. therefor.
`
`Claim 18. Column 10, line 35. delete “V 1'“ and insert --V,--_, therefor.
`
`Claim 18, Colurrm 10, line 36, delete “U1” and insert --Uk--, therefor.
`
`Claim 18, Column 10, line 37, delete “X.” a11d insert -Xr--. therefor.
`
`Signed and Sealed this
`
`Seventeenth Day of February, 2009
`
`.7!i~0«€/F
`
`JD] IN DOLL
`nlc'Iitr_r: U.t'.t'ecfor' Q)“!.’te Ulrfted 5ra.le.\' P£I.l‘t.’h‘f mrd Trridr.-Irmr1l‘ Qflfce
`
`

`
`UNITED STATES PATENT AN

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket