`(10) Patent No.:
`a2) United States Patent
`US 6,247,158 B1
` Smallcomb (45) Date of Patent: Jun. 12, 2001
`
`
`
`(54) DIGITAL BROADCASTING SYSTEM AND
`METHOD
`cetece
`Tnveninn:
`(5);
`(73) Assignee:
`
`.
`.
`Joseph SumaBeomb, Hemndsn, ‘VA(US)
`ITT Manufacturing Enterprises, Inc.,
`Wilmington, DE (US)
`
`OTHER PUBLICATIONS
`German Patent Document, entitled Apparatus and Method
`for Transmitting Information and Apparatus and Methodfor
`Receiving information, Schoppe & Zimmermann, pp. 1-35,
`undated.
`* cited by examiner
`
`snp
`+
`(*) Notice:
`
`:
`;
`lai
`Subiec
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`Primary Examiner—Phung M. Chung
`:
`:
`.
`(74) Attorney, Agent, or Firm—Jim Zegeer
`(57)
`ABSTRACT
`
`4
`s
`(21) Appl. No.: 09/222,836
`(22)
`Filed:
`Dec. 30, 1998
`
`(60)
`
`Related U.S. Application Data
`Provisional application No. 60/110,258,filed on Nov. 30,
`1998,
`
`Apparatus and method of achieving diversity in reception of
`plural digital broadcast signals. A stream of a complete set
`of code bits is generated from one or more sources ofdata
`bits. A first Critical Subset of code bits is chosen or selected
`for a first channel (e.g. a specified puncturing pattern is
`@Pplied to the stream of a complete set of code sets). A
`second (e.g. alternative) Critical Subset of code bits is
`chosen or selected for a second channel (e.g. a second or
`alternative puncturing pattern is chosen for the second
`channel). Further alternative Critical Subsets may be chosen
`for any additional channels. All
`the channels are
`transmitters, some can incorporate time delay to achieve
`temporal diversity. Moreover, the order of transmitting the
`code bits on each channel can be it different (for example,
`References Cited
`the interleaving depths can be different). At the receiver, the
`stream ofCritical Subsets ofcode bits for all of the channels
`U.S. PATENT DOCUMENTS
`are simultaneously received and a reconstruction of a com-
`
`
`
`5 S/I9BG.Chuetalysissciiscssssccssssscvcccsis 370/5* : : ;
`
`
`
`
`4577317*S986 Chu etab EVE plete set of code bits accomplished and the reconstructed
`
`ryans « abo oo he code and may be inserted into a single Viterbi decoder.
`6/1999 Kuwabaraetal,
`5.900.430 *
`370/389
`Various weighting functions and reconstruction algorithms
`
`5,970,085 * LO/1999 Yi
`scsveceeseen
`375/200
`are disclosed.
`
`2/2000 Norman...
`we 375/341
`6,023,492 *
`4/2000 Saunderset al.
`....ssesrseeee 375/220
`6,049,566 *
`
`7
`
`secsssesesssnecrnsesssenesrsnnsnorieresenseeresasenes COOOR LA/10
`Tate Cy!
`CS)
`(52) US. Che eeecceeeeeeteeseetsteteteeeseee 714/786
`(58)
`Field of Search o..cccusessee 714/790, 746,
`714/786; 370/464, 542
`
`(56)
`
`21 Claims, 8 Drawing Sheets
`
`Interleavers
`
`504B
`
`Sct cone penseebibeecsscc aces ecceneacshild wey
`
`Channels
`
`Channel A
`
`
` Spatially Diverse
`
`
`
`
`CodeBit
`Recomposition
`
`
`Recovered
`ini
`‘Smee Aas
`Combining
`
`Deinterleavers
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 1
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 1
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 1 of 8
`
`US 6,247,158 B1
`
`SOl
`
`gqjeuueyd
`
`yjouueyo
`
`——ie|irPetip
`
`tN,
`
`|SdNdIs
`
`
`
`voleabei9A0D
`
`€0lSOS
`
`ZTLtLKi
`
`
`
`uoNe\sqnH
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 2
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 2
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 2 of 8
`
`US 6,247,158 B1
`
`yjouueyd
`
`gjeuueYD
`
`Jeyiwsuel|—sssssss=S8eewwewwewwwewwwwwwwweeeeeeeeeeeeeeeeeee
`
`SUGEPpOD
`
`(LYVYO!Yd)6AYNDIA
`
`Sweals
`
`
`ByEpjeoyuap!
`
`siigaainos
`
`Bulpoouy[(*#_—_——
`
`asieniqAyeyeds
`sjeuueyy
`
`
`
`Buipooaq
`
`Buluiquiog
`
`
`
`SIGepoODpalerozey
`
`Palenocey
`
`Sugeo1nog
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 3
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 3
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 3 of8
`
`US 6,247,158 B1
`
`FIGURE 3
`
`(PRIOR ART) x(n)
`
`fee
`
`LT y(n)
`
`i c
`
`ode bits
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 4
`
`Source
`bits
`
`*
`
`SR
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 4
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 4 of 8
`
`US 6,247,158 B1
`
`:oSul
`
`
`
`vov€0b
`
`vyjeuueyD
`
`qjeuueyo
`
`
`
`asianigAyeneds
`
`sjauueyD
`
`"gp
`
`=wo
`
`4aunyound
`
`Buipooe
`
`LSpJONI@00Y
`
`
`
`vSYDqzsSrSigepoDpeseAoIay
`
`slige0ino_oulgSnaleAooeLs
`eoSriAeloq
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 5
`
`vO
`
`JOWWUSUEL|eeeeeeeeeeeeeeweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
`
`Sgapog
`
`vyAuNDIS
`
`
`
`i—]pow
`
`|}¢——————\suleays:Vvyepfeonuep!-OAUODSig80iNOS
`‘eunyoundfeuogn|
`
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 5
`
`
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 5 of 8
`
`US 6,247,158 B1
`
`SIOAPOLO}U|
`
`avos
`
`sjeuuey)
`
`SIOABALOIUIEG
`
`VYjouueyd@[@UURYD|asuenigAyjeneds
`
`
`
`:avssSUG@PODPeseroz0y
`
`poweaPUREEpalenoosy;
`powHee]a7|Sudecunes
`eeeeerr
`HvHour—llSupers
`SugepodjoYjasqnssigapodJoyWwSUeL|
`
`
`COSSiigapogdjogjesqngs
`uonisodwosey|->4Buiposeq
`
`IssJEAleoayY
`GAYNDIS
`
`lqepog
`
`LOS
`
`sigeoino
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 6
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 6
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 6 of 8
`
`US 6,247,158 B1
`
`SIGARBLO}U|
`
`SIOAReLE}UIOG
`
`gvs9VenegjeuueyDSedo809,0eee
`
`-foued-{«”}—+4sjeuueyyJOAIs00Y4
`poweaLv\Oud3anandpalanooey5-0qBulpooeq
`
`
`Vvs9€S9=4eS9—SIGepoDpeiencvey:A
`AejeqoOSowe'Jige01N0S
`
`,Outeunjoung
`vr09SHGEPOD
`Aejaqgweyeg
`93YHNDIA
`
`
`-OAUOD|S}Igaaunos
`
`
`
`asianiqAyeueds
`
`aunjound
`
`yweyed
`
`yeuoyn|
`
`Buipoouz
`
`Jeywsuel|
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 7
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 7
`
`
`
`
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 7 of 8
`
`US 6,247,158 B1
`
`FIGURE 7
`
`752
`Calculation| ene, /
`
`754=«7
`
`
`752A
`
`Viterbi
`
`i
`
`FIGURE 8
`
`x(n) ,
`
`Channel A
`
`Quantizer
`
`
`
` 804 Calculate:
`
`
`
`
`Channel B
`
`x(n)
`
`803
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 8
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 8
`
`
`
`U.S. Patent
`
`Jun.12, 2001
`
`Sheet 8 of 8
`
`US 6,247,158 B1
`
`FIGURE 9
`
`"a
`
`
`*a andB
`
`
`
`904|Calculate:
`*SNR_A
`“SNR_B
`Decoder
`
`ig
`
`Quantizer
`
`902
`
`Channel A
`
`x(n
`
`Channel B
`
`x(n+1 s
`
`FIGURE 10
`
`Distancemetric
`Average
`
`SNR (dB)
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 9
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 9
`
`
`
`US 6,247,158 Bl
`
`1
`DIGITAL BROADCASTING SYSTEM AND
`METHOD
`
`REFERENCE TO RELATED APPLICATION
`
`This application includes the subject matter of provisional
`application Ser. No. 60/110,258 filed Nov, 30, 1998 and
`entitled DUAL CHANNEL DIVERSITY SYSTEM.
`
`The present invention relates to digital broadcasting sys-
`tems and methods which achieve multi-channel code diver-
`sity by way of decomposition of a single forward error
`corrected code (FEC).
`
`BACKGROUND OF THE INVENTION
`Introduction
`A general strategy for sending digital data reliably
`through a communications channel of varying quality is to
`send redundant information so that a stream of transmitted
`source bits can be recovered withouterror at a receiver even
`though the communications channel maybeerratic. This is
`particularly important for one-way broadcasts of audio and
`multimedia that must be received in real-time with a low
`
`15
`
`2
`compensating for this with a comparable Time Delay (253)
`at the receiver. The diversity receiver has two demodulators
`(Demod—254)to receive the signals on Channel A and B
`simultaneously. Finally, the diversity receiver implements
`Combining (252) of the bits received on Channels A and B
`and Decoding (251) of the recovered code bits.
`Note that in the implementation of diversity illustrated in
`FIG, 2, encodes the data stream and places identical coded
`data streams on both A and B channels. In this case, the
`diversity receiver captures the same coded bits from each
`channel and then implements a combining scheme to come
`up with a “best” estimate for each received code bit. Such
`combining may involve ongoing calculation of a quality
`metric for data on channels A and B and selecting the coded
`bits that are carried on the best channel al any pointin time.
`Alternatively, combining may be more sophisticated in
`which the quality metric is used to generate weights for the
`code bits arriving on channels A and B and thereby con-
`structing a summed estimate that maximizes the signal to
`noise composite signal. Such an approach is referred to as
`maximum ratio combining (MRC).
`A widely used implementation of an encoder is a convo-
`lutional code. The typical construction of a convolutional
`code is illustrated in FIG. 3. The source bits are input into
`a digital shift register from the left, and the coded bits are
`constructed by a sum of the current and 6 most recent input
`source bits as weighted by a generator polynomial over a
`Galois Field. This implementation generates a rate % code
`because it outputs 2 code bits (x and y) for every input
`source bil.
`
`,
`
`less redundant codes from
`It is customary to construct
`such a code by puncturing (deleting) output code bits in a
`particular pattern. Table |
`illustrates the construction ofa
`rate %4 code from a rate 4 code. Three source bits are input
`and the output is 6 code bits: {x(i), y(i) , i=1, 3}. Two code
`bits, x(2) and y(1) are deleted, leaving 4 output code bits for
`3 input code bits, thus making a rate %4 code.
`
`40
`
`TABLE1
`
`Construction of a Rate 3/4 Code by Puncturing a Rate 1/2 Code
`Code Bits
`Code Bits
`Pre-puncturing
`Post-puncturing
`
`Polynomial
`
`g]
`82
`
`x(2)
`x(3)
`y@)y@)
`
`P
`x(3)
`*(1)
`oy) vv)
`
`x(1)
`P
`
`45
`
`error rate. In such cases, a low error rate is achieved partly
`through the use of forward error correction (FEC) code.
`The mobile satellite broadcast channel is such an erratic
`channel since, particularly at lower elevations angle,
`the
`line-of-sight (LOS) between a mobile vehicle and the sat-
`ellite is often obstructed by trees, buildings, signs, utility
`poles and wires. Such obstructions attenuate and distort a
`communications waveform, thereby causing high error rates
`for brief and longer periods of time. A common approach to
`reliable satellite broadcasting is to implementspatial diver-
`sity by broadcasting duplicate signals from satellites at two
`different orbital locations.
`In addition, temporal diversity
`mayalso be used by delaying one signal by a fixed amount
`of time. Indeed, some satellite systems also rely upon
`terrestrial
`repeating of the satellite signal which is yet
`another source of diversity. FIG.
`1
`illustrates a satellite
`broadcasting system that has dual diversity from 2 satellites
`(101 and 102) and is augmented by terrestrial repeating
`(104), thereby providing 3-fold diversity. The origin of the
`satellite broadcasts is the hub station (103). Both of the
`satellites and the terrestrial repeaters broadcast the same
`source data, but the channels that the data travels over are
`different so that diversity is provided. A diversity radio in the
`vehicle (104) would in general
`receive all
`the signals
`(satellite and terrestrial) and use this to reconstruct
`the
`source data as faithful as possible based upon the reception
`from the multiple sources.
`
`Table 2 illustrates the use ofthis rate % code in a standard
`implementation in which the puncturing for both A and B
`channels is identical. Therefore the coded bits on both
`Current State of the Art for Diversity
`channel A andBarealso identical.
`FIG, 2 illustrates a generic implementation of diversity
`using two channels A and B. Although the discussion here is
`limited to two channels (A and B), all of the concepts put
`forth are applicable to 3 or more diverse channels. For a ;
`broadcastsatellite application, signals A and B would be sent
`by two different satellites, and the channels for those signals
`are denoted also denoted as A and B. At the outset, each
`individual channel has some diversity due to the fact that
`60
`
`A x(1)=x(3)gl x(3) x(2) P x(1)
`
`
`
`
`
`Encoding (201) adds redundancyto a single data stream so
`that the source bits can be recovered without error even
`B
`gl
`same for Channel A same for Channel A
`A
`eg
`y3)
`y@)
`yG)
`y@)
`sy)
`Pp
`B
`g2
`same for Channel A same for Channel A
`
`50
`
`TABLE 2
`
`Standard Implementation of a Single
`Rate 3/4 Code on Diverse Channels
`
`Channel
`
`Polynomial
`
`Code Bits
`Pre-puncturing
`
`Code Bits
`Post-puncturing
`
`though limited numbers coded bits may be lost over the
`channel. Also, additional diversity (spatial) is used that
`involves modulating (Mod 204) duplicate streams of data
`over independent channels A and B. Finally, as illustrated in
`FIG. 2, time diversity is also used by implementing a fixed
`Time Delay (203) on signal B at
`the transmitter, and
`
`The standard implementation of a punctured convolu-
`tional code implemented in the context of spatial and
`temporal diversity with dual channelsis illustrated in FIG.
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 10
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 10
`
`
`
`US 6,247,158 Bl
`
`3
`the Convolutional Encoder (401)
`the transmitter,
`4. At
`generates the code bits from input source bits, Some ofthe
`code bits are deleted by the Puncture element (402) prior to
`modulation by the Mod element
`(404). The diversity
`receiver again has two demodulators (Demods—454) to
`simultaneously receive the broadcasts on both Channel A
`and B. The retrieved code bits from both A and B are input
`to the Combining element (4526) which aligns, weights and
`combines redundant information about a received bit on the
`
`4
`FIG. 9 illustrates weighting of adjacent bits x(1) and x(2)
`received on different channels, and
`
`FIG. 10 is a graph of simulation results of average
`distance metric vs. SNR.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`two channels. The intent of most combining algorithmsis to
`maximize the signal to noise ratio of the combined signal.
`After combining,the stream of recovered codebits are input
`to the De-puncture element (452) which inserts the erasures
`into the slots of the code bits that were deleted in the
`
`Puncture element (402) of the transmitter.
`
`THE PRESENT INVENTION
`
`15
`
`20
`
`40
`
`FIG. 5 illustrates a generic example of the invention. At
`the transmitter, the source bits enter a single Encoder (501)
`in which a set of output code bits are generated from a set
`ofinput source bits. For explanation purposes, the whole set
`of output code bits will be referred to as the Complete Set.
`The Encoder sends the Complete Set
`to the Code Bit
`Decomposition (CBD) functional clement (502). The CBD
`decomposes the Complete Set into two Critical Subsets A
`An object of the invention is to provide an improved
`and B. The Subsets are called critical, because even if the
`digital
`information broadcasting system and method.
`receiver faithfully captures only one of the subsets, this is
`Another object of the invention is to provide code diversity
`sufficient to regenerate the original source bits. The Subsets
`in a digital broadcast system. Another object of the invention
`is to provide an apparatus and method ofachieving diversity
`Aand B maybetotally disjoint (i.c., share no common code
`in reception of plural digital broadcast signals.
`bits of the Complete Set) or may contain some common
`elements of the Complete Set. Note that the critical differ-
`Briefly, according to the invention a stream of a complete
`ence between the transmitter system in FIG. 5 vs.
`that of
`set of code bits is generated from one or more sources of data
`bits. A first Critical Subset of code bits is chosen or selected
`FIG. 2 is that the code bits sent on Channels A andBare not
`identical.
`for a first channel (e.g. a specified puncturing pattern is
`applied to the stream of a complete set of code sets). A
`second or alternative Critical Subset of code bits is chosen
`or selected for a second channel (e.g. a second oralternative
`puncturing pattern is chosen for the second channel). Further
`alternative Critical Subsets may be chosen for any additional
`channels. All the channels are transmitters, some can incor-
`porate time delay to achieve temporal diversity. Moreover,
`the order of transmitting the code bits on each channel can
`be different (for example,
`the interleaving depths can be
`different). At the receiver, the stream of Critical Subsets of
`code bits for all of the channels are simultaneously received
`and a reconstruction of a complete set of code bits accom-
`plished andthe reconstructed codeis inserted into a decoder.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`the receiver, the each stream of code bits on both
`At
`Channels A and B are captured and input to the Code Bit
`Recomposition and Combining (CBRC)element (552). The
`CBRC faithfully assembles the Complete Set to the maxi-
`mum extent possible via a process of weighting and com-
`bining received information. The CBRCthen sends the
`recovered code bits to Decoding element (551). For each
`transmitted code bit there are 3 alternative outcomesat the
`receiver. Table 3 explains the causes and receiver behavior
`for each alternative:
`
`The scope ofthe invention illustrated in FIG. 5 includes
`the following concepts at the transmitter:
`
`generation of a stream of a Complete Set of code bits from
`source data bits
`
`45
`
`50
`
`The above and other objects, advantages and features of
`the invention will become more clear when considered with
`the following specification and accompanying drawings
`wherein:
`
`FIG. 1 is a pictorial illustration of diversity broadcasting
`System,
`FIG, 2 illustrates a generic diversity Implementation with
`current state of the art,
`FIG. 3 illustrates a typical construction of a constraint
`length 7, rate 4 convolution code,
`FIG. 4 is an illustration of diversity implementation with
`punctured convolutional code,
`FIG, 5 is an illustration of an embodiment of the invention
`implementing diversity on dual channels by selecting dif-
`ferent subset of code bits for channels A and B,
`FIG. 6 is an illustration of an embodiment of the invention
`
`implementing diversity on dual channels by selecting dif-
`ferent puncturing patterns of a single convolutional code for
`Channels A and B,
`FIG. 7 illustrates a pre-Viterbi diversity combining
`receiver block diagram,
`FIG. 8 illustrates weighting of bit x(1) received on both A
`and B channels,
`
`choosing a Critical Subsetof code bits for channel A(e.g.,
`specified puncturing pattern)
`choosing an alternative Critical Subset of code bits for
`channel B (e.g., alternative puncturing pattern), and
`similarly for additional channels
`the order of transmission of the code bits on each channel
`can be different (e.g., different interleaving depths).
`The scope ofthe invention includes the following con-
`cepts at the receiver:
`simultaneous reception of a stream of code bits on chan-
`nels A and B and additional channels if present,
`reconstruction of the Complete Set of code bits in general
`accord with the logic of Tables 3 and 4 and using
`specific algorithms described below,
`insertion of reconstructed code set into a single Viterbi
`decoder.
`Table 4 lists the general types of combining/depuncturing
`and their weighting scheme that corresponds to the out-
`comes of Table 3 above. The weighting type is a function of
`the code diversity technique used and whether a code bit was
`received on multiple channels.
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 11
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 11
`
`
`
`US 6,247,158 Bl
`
`TABLE 3
`ReceiverAltemative Outcomes and Behavior of a Diversit
`
`
`
`Alternative
`
`Causes
`
`Receiver Behavior
`
`1.
`
`2.
`
`the code bit
`is captured
`by both
`channel
`demodulators
`
`the code bit
`is captured
`by only one
`channel
`demodulator
`
`code bit is transmitted in both Receiver constructs a “best” estimate of
`Aand B Subsets and is
`the code bit from A+ B based upon
`successfully received on both
`quality indicators on cach channel;
`channels
`Receiver constructs new code bit by
`combining (e.g., adding) the recovered
`code bits from Channel A and B. The
`recovered code bits could be weighted
`based upon quality indicators from each
`Demodulator
`Receiver uses the estimate of the code
`code bit is transmitted in both
`bit from the single channel and weights
`Aand B Subsets but is
`is with a quality indicator for the
`successfully received on only
`channel; Receiver uses the recovered
`one channel
`code bit is in transmitted only code bit from the single channel. The
`one channel subset and is
`recovered code bits could be weighted
`successfully received on that
`based upon quality indicators from each
`channel
`Demodulator
`code bit is transmitted in both Receiver treats this code bit as a
`the code bit
`3.
`
`is captured Aand B Subsets but is not—puncture
`byneither
`successfully received on either
`channel
`channel
`demodulator:
`code bit is transmitted in only
`one channel subset and is
`successfully received on that
`channel
`code bit is not part of either
`subset
`
`TABLE 4
`
`Weighting Approach for Alternative Cases
`
`Alternative Weighted Output Weighting Approach
`
`
`1, Received on
`Channels A and B Weight the bits received on A and B with
`a and fi, respectively; each is a function of
`the SNR on both Channels A and B
`2.A Received on Weight the bits received on A witha; @is
`Channel A Only
`a function of the SNR on both Channels A
`and B
`2.B Received on Weight the bits received on B with Bh, Bis
`Channel B Only
`a function of the SNR on both Channels A
`and B
`
`3. Received on—‘Treat bits as Punctures 0
`neither Channel A
`nor B
`
`
` a*x(n),
`
`B*x(n)y
`
`
`
`a*x(n), + B*x(n)s
`
`Puncture element. Thecritical difference between the system
`in FIG. 6 versus that of FIG. 4 is that the puncture patterns
`on Channels A and B are different.
`
`It is important to note in Alternatives 2.A and 2.B of Table 5°
`4 that, even though a code bit
`is received on only one
`channel,
`its weight
`is determined by the SNR on both
`channels. This is an important feature of the invention and
`yields a significant performance gain,
`
`55
`
`‘Table 5 gives an example of suitable subsets for Channel
`A and B based upon different puncturing of a common rate
`% codethat constructs a rate %4 code on each channel. Note
`Illustration of an Embodiment ofthe Invention
`that the code bits for both Channel A and B are the same
`Using a Convolutional Code
`priorto puncturing, However, after punctucing, te'Chamel
`FIG.6 illustrates the invention using
`a convolutional code
`at the transmitter. At the transmitter, FIG. 6 showsa single ® Acode bil subset is {x(3), x(1), y(3), y(2)} and the Guannel
`Convolutional Encoder (601) that generates a Complete Set
`B subset is {x(3), x(2), y(2), y(1)}. Note then that am this
`of codebits from inputsource bits. Atthis point, the transmit
`€X4mple / of the code bits, x(3) and y(2), are carried by
`stream is broken into paths A and B which undergo different
`both channels, while %,x(1), x(2), y(1) and y(3),are carried
`processing. Path A, destined for Channel Ais punctured with 65 by only a single channel. Analysis has shown that the benefit
`ofthis type ofcode diversity can improve performance by up
`a pattern (A) in the Puncture element (602) and Path B is
`to 2 dB.
`punctured with a differentpattern (B) by another copy of the.
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 12
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 12
`
`
`
`US 6,247,158 Bl
`
`7
`
`TABLE 5
`
`Example of Transmitting Different Subsets of Code Bits
`Selected for Channels A and B
`
`8
`Calculate element (804) which calculates the SNR (which is
`the quality metric for each channel). The weighting coefhi-
`cients are then calculated from the SNRs and are used to
`scale the current bit. The two resultant
`terms are then
`
`Channel
`
`Polynomial
`
`Code Bits
`Pre-puncturing
`
`Code Bits
`Post-puncturing
`
`While the transmitter creates different code bit subsets
`and transmits them on different channels, the receiver cap-
`tures these bits and processes them in a combined process.
`Note that since the receiver may receive x(3) on both
`channel A and B,its estimate of x(3) is determined from
`X(3), and x(3),. Alternatively, its estimate of x(2) is based
`only on x(2), since it is only received on that channel.
`However, in both cases, the weighting factors for the esti-
`mates are determined by SNR metrics for both Channel A
`and B. This is described in the next section.
`
`20
`
`TABLE 6
`
`Receiver Processing of Received Code Bits on Channel A and B
`to Derive Best Composite Signal
`
`Channel
`
`Code Bits Post-puncturing
`
`summed (803) and the sum is input to the Quantizer (802).
`The output of the Quantizer is a soft decision variable (SDV)
`that is required by the Viterbi Decoder (801). Note that a low
`
`A ox(1)ssx(3)gl x(3)) ox(2)) P x(1)
`
`
`
`
`
`weight applied to the SDV forces most ofthe out put values
`
`
`
`B same as Channel A x(3)=-x(2)gl P
`of Quantizer to be in the bins closest to zero and in this way,
`A
`g2
`y3)
`y2@)
`yO)
`y@)
`y@)
`P
`the influence on the Viterbi metric is felt and drives the
`B
`g2
`same as Channel A
`=P
`y(2)_~—
`sy)
`decoding of source bits.
`FIG. 9 is applicable to a case in which a single bit is
`received on only one channel.
`In this example, x(n),
`is
`received on Channel A and x(n+1),, an adjacent bit, is
`received on Channel B, AS in the Combiner in FIG. 8,the
`Calculate element (904) calculates the SNR of each channel
`based uponthe input bit stream. The weighting coefficients
`are again calculated from the SNRs andare usedto scale the
`current bit.
`In contrast with the case in FIG. 8, after
`weighting,
`the bits are then serially put into a Quantizer
`(902). Note that the effect of a low weight is to drive the
`quantizer to the levels closest to 0 so that the impact on the
`metric ofthe Viterbi Decoder (901) is minimized. This is the
`way that the weighting has its impact on the decoded source
`bits even though the weighting is applied to different
`(adjacent and nearby) bits rather than the same bits as in the
`system in FIG. 8.
`The detailed weighting algorithm (and its calculation) can
`P
`y(2)
`y(3)
`x(1)
`P
`x(3)
`A
`be performed in several different ways. The approach given
`yO)
`y(2)
`P
`P
`x(2)
`x(3)
`B
`
`A+B©select best select best=y(1)(2) x(1) v(3)
`
`
`
`is described below is based on a Maximal Ratio Combining
`
`
`
`
`
`via B* via A" via A* orMRC*or MRC* via B*
`(MRC)algorithm. Let SNR, and SNR, represent the Signal
`to Noise Ratio of the A and B Channels, respectively.
`Assumingthat the QPSK symbols are normalized, the MRC
`weight for the early channel, a, is the following.
`
`“Weighted with coefficients determined from both A and B quality metrics
`
`DESCRIPTION OF COMBINING ALGORITHMS
`
`General Approach
`The pre-viterbi code diversity combining receiver is illus-
`trated in FIG, 7 for QPSK waveformsthat are convolution-
`ally encoded.
`In general,
`it
`involves taking the QPSK
`symbols from the Demods (754)of the different channels (A
`and B), calculating a quality (e.g., MRC) metric, weighting
`the symbols based on this quality metric and combining the
`two signals. The calculation of the quality metric and
`weighting coefficients is carried out
`in the MRC weight
`Calculation (MWC)element (7525). In general, the MWC
`calculates the quality metric and the weights {a and pB}
`based upon the input sampled code bits {X, and X,} as well
`as signal lock indicators {L,, and L,} for each demodulator.
`The Combiner & Depuncture (C&D) element (752a) uses
`the @ and B inputs and constructs an optimum estimate for
`each code bit. The function of the C&D also includes ;
`appropriate quantization of the code bit estimate for input of
`soft decisions into the Viterbi Decoder (751). This is an
`important
`factor because the weighting coefficient deter-
`mines the distribution of received code samples over the
`chosen quantization which in turn determines the influence
`that the input code bits have on the Viterbi metric that drives
`the decision on sourcebits that are the outputs of the Viterbi
`Decoder. FIGS. 8 and 9 show additional detail of the
`
`40
`
`45
`
`50
`
`60
`
`includes quantization. FIG. 8 is
`Diversity Combiner that
`applicable to a case in which a single bit is received on both
`A and B channels. The bit stream of both A and B enter the
`
`I
`SNR,
`= 5NR,+5NRq 1+S5NRg/ SNR,”
`
`It can be shown that in this case, the MRC weightfor the
`late channel, [, is simply
`p=l-a
`
`Algorithm Background
`Soft Decision Variable
`The QPSK Demodulator uses 2’s complement format or
`equivalent in most of calculations. The output of the QPSK
`Demodulator may be quantized to a 4 bit Soft Decision
`Variable (SDV) to minimize the memory requirements. The
`optimum method of quantizing (for the Viterbi Decoder) is
`to represent it symmetrically about the null value, so that
`there are equal number of levels representing “ones” and
`“zeros”. A typically representation for SDV is odd integer
`whichis illustrated in Table 7. It is also optimum to clip the
`Viterbi Decoder input signal at the AGClevel. However, for
`proper weighting of and SDV clipping should be imple-
`mented after the MRC weighting. Therefore, the output of
`the QPSK Demod should be clipped at twice the AGC level.
`Distance Metric
`The distance metric, d, is a measurement of the distance
`from the “hard decisions” (i.e. +/-AGC level). Table 7
`illustrates the distance metric relationship to the SDV,
`assuming it is clipped to twice the AGC level:
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 13
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p. 13
`
`
`
`US 6,247,158 Bl
`
`10
`
`TABLE 7
`
`Binary Formats
`
`14
`13as
`
`13
`1]
`1
`
`29
`
`0
`
`12
`
`1]
`3
`o
`
`031
`
`1
`
`Binary Offset
`Soft Dec. Var.
`Distance
`
`0
`-15
`3
`
`1
`-13
`2
`
`2
`-11
`1
`
`6 73 9
`5
`4
`3
`-9 -7 -5 -3 -1
`1
`#3
`o
`0 12 33 2
`
`Let the variable, m,, be the mean distance metric of a Soft
`Decision Variables (SDV). For high SNR, d is approxi-
`mately a Rayleigh random variable with one degree of
`freedom. It can be shownthat under this case, the relation-
`ship between d and SNRis:
`
`iSNR = —m>~
`zi
`
`gain control (AGC). This is primarily required for optimum
`QPSK Demodulator and Viterbi Decoder performance. It
`also has the added benefit of normalizing the desired signal
`power. This allows the MRC weight to be based on the SNR
`(i.c., 1/o* or m*/o*) rather than m /o* metric.
`Columns 1-3 of Table 8 demonstrate several approaches
`of generating weighting factors based on SNR. Theselection
`of the best method depends primarily on a) the possible
`weighting approaches described in Table 4, b) the SDV
`format and c) the implementation of the Viterbi decoder.
`Method 1 employsa relative [to SNR] weighting scheme
`that normalizes the combined output symbol. It is best suited
`to cases when a codebit is present on both channel A and B.
`The above calculation shows the basic relationship
`Method 2 is similar to Method 1 except
`that
`it always
`between g and m,, but
`it does not take into account the
`effects of a) clipping and quantizing of the SDV or b)
`weights the channel with the highest SNR by a factor of 1.
`non-Rayeigh (and non-trivial) Distribution at
`low SNRs.
`This methodis best suited for case when the codebit is only
`Therefore, for a more accurate relationship, empirical analy-
`present on a single channel (i.e., only Channel A or B).
`sis is required over the SNR range of interest. For the
`Method 3 weights the code bits of a given channel based
`above-mentioned algorithm and over the SNR range of -3 to
`only on the SNR of that channel. To simply the calculation,
`15 dB, the analysis showsthat relationship between g and d
`an arbitrary upper limit (SNR,,.) is used to limit
`the
`is close to linear and monotonic (see FIG. 10). This implies
`weighting factor values. Typically, SNR,,,,., is set at a level
`that a simple Look Up Table (LUT) is suitable for the
`where diversity is not required (i.e., the decoder is virtually
`conversion from m, to g.
`error free with code bits from a single channel). This method
`Computing MRC Weighting factors
`The calculation of the MRC Weighting factors (aand B)
`has the advantage of applying the weights immediately and
`are based primary from SNR variables (g, and g,) described
`therefore not requiring memory if time diversity is used (see
`in previous sections. FIG.7illustrates a possible use of the
`FIG, 6).
`Lock indicators in this computation. The lock indicator
`Table 8 (Column 4)also illustrates efficient formulas for
`would override the SNR variable by setting it to the mini-
`calculating the MRCWeighting factors (a and B) from SNR
`mum value (e.g., g =log,(SNR,,,,,,) ) and cause the equivalent
`of an erasure.
`variables (g, and g,) for each of the methods. Each formula
`is based on thedifference between g, and g,. Again a simple
`The key assumption to this algorithm discussion is that
`LUT can be used instead ofdirect calculation.
`each QPSK Demodulator has a coherent digital automatic
`
`10
`
`15
`
`~
`
`40
`
`For an arbitrary value of X, let SNR=X*
`Then the relationship between g and m, for the case of high
`SNRis
`
`g=log,(2/a)-Zlog, (my)
`
`TABLE 8
`
`Alternative weighting factors
`
`Method Description
`
`General Algorithm
`
`Efficient Formula
`
`1
`
`th
`
`Normalized Relative
`Weights
`
`SNR,
`*= SNR, + SNRp
`
`!
`= TE Xia
`
`Relative Weights
`
`SNRg
`B 7
`~ SNR, +SNR5
`
`B =l-a
`
`For SNR, = SNRy
`a= SNR,/SNRgp=1
`For SNR, > SNRg
`a=1[=SNR,/SNR,
`
`For g, = gn
`a= X**"8 f=
`For gy > gp
`a=1 f= X®#s
`
`Absolute Weights
`
`rs
`
`SNR,a
`SNRaax
`
`oz
`*
`
`XIATEBE By 5 Bax
`1
`Ba > Bmax
`
`Petitioner Sirius XM Radio Inc. - Ex. 1003, p.