Methods and receivers are described for receiving data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted. In particular, a plurality of received segments are sampled wherein the received segments correspond to respective ones of the transmitted symbols, and an initial differential map symbol estimation is performed for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols. new received symbol estimates are calculated using the initial estimates of the differential symbols, and a subsequent differential map symbol estimation is performed using the new received symbol estimates to provide improved estimates of the differential symbols. bit probability calculations are performed on the improved estimates of the differential symbols.

Patent
   6567481
Priority
Apr 30 1999
Filed
Apr 30 1999
Issued
May 20 2003
Expiry
Apr 30 2019
Assg.orig
Entity
Large
17
4
all paid
1. A method for receiving data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the method comprising the steps of:
sampling a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
performing an initial differential maximum a-posterrori (map) symbol estimation for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols;
calculating new received symbol estimates using the initial estimates of the differential symbols previously estimated;
performing a subsequent differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols; and
performing bit probability calculations on the improved estimates of the differential symbols.
10. A method for receiving data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the method comprising the steps of:
sampling a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
performing a differential map symbol estimation for estimated received symbols corresponding to the sampled received segments to provide estimates of the differential symbols;
performing bit probability calculations on the estimates of the differential symbols;
decoding the estimates of the bit values;
re-encoding the decoded estimates of the bit values to provide re-encoded received symbol estimates;
performing a subsequent differential map symbol estimation using the re-encoded received symbol estimates to provide further improved estimates of the differential symbols; and
performing subsequent bit probability calculations on the further improved estimates of the differential symbols.
18. A receiver that receives data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the receiver comprising:
an analog-to-digital converter that samples a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
a differential map symbol estimator coupled to the analog-to-digital converter, wherein the differential map symbol estimator performs an initial differential map symbol estimation for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols;
a new symbol estimator coupled to the differential map symbol estimator, wherein the new symbol estimator calculates new received symbol estimates using the initial estimates of the differential symbols, and wherein the differential map symbol estimator then performs a subsequent differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols previously estimated; and
a bit probability calculator coupled to the differential map symbol estimator, wherein the bit probability calculator performs bit probability calculations on the improved estimates of the differential symbols.
6. A method for receiving data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the method comprising the steps of:
sampling a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
performing an initial differential maximum a-posterrori (map) symbol estimation for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols;
calculating new received symbol estimates using the initial estimates of the differential symbols;
performing a subsequent differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols;
performing bit probability calculations on the improved estimates of the differential symbols;
decoding the estimates of the bit values;
re-encoding the decoded estimates of the bit values to provide re-encoded received symbol estimates;
performing subsequent differential map symbol estimation using the re-encoded received symbol estimates to provide further improved estimates of the differential symbols; and
performing bit probability calculations on the further improved estimates of the differential symbols.
4. A method for receiving data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the method comprising the steps of:
sampling a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
performing an initial differential maximum a-posterrori (map) symbol estimation for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols;
calculating new received symbol estimates using the initial estimates of the differential symbols;
performing a subsequent differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols; and
performing bit probability calculations on the improved estimates of the differential symbols;
wherein the steps of calculating the new received symbol estimates and performing subsequent differential map symbol estimation are repeated at least once and wherein the bit probability calculations are performed on the improved estimates of the differential symbols provided during subsequent differential map symbol estimation;
wherein the steps of calculating the new received symbol estimates and performing subsequent differential map symbol estimation are repeated until the improved estimates of the differential symbols converge to within a predetermined threshold.
27. A receiver that receives data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the receiver comprising:
an analog-to-digital converter that samples a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
a differential map symbol generator coupled to the analog-to-digital converter, wherein the differential map symbol generator performs a differential map symbol estimation for estimated received symbols corresponding to the sampled received segments to provide estimates of the differential symbols;
a bit probability calculator coupled to the differential map symbol generator, wherein the bit probability calculator performs bit probability calculations on the estimates of the differential symbols;
a decoder coupled to the bit probability calculator wherein the decoder decodes the estimates of the bit values; and
a re-encoder coupled between the decoder and the differential map symbol estimator wherein the re-encoder re-encodes the decoded estimates of the bit values to provide re-encoded received symbol estimates wherein the differential map symbol generator performs a subsequent differential map symbol estimation using the re-encoded received symbol estimates to provide further improved estimates of the differential symbols, and wherein the bit probability calculator performs subsequent bit probability calculations on the further improved estimates of the differential symbols.
21. A receiver that receives data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the receiver comprising:
an analog-to-digital converter that samples a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
a differential map symbol estimator coupled to the analog-to-digital converter, wherein the differential map symbol estimator performs an initial differential map symbol estimation for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols;
a new symbol estimator coupled to the differential map symbol estimator, wherein the new symbol estimator calculates new received symbol estimates using the initial estimates of the differential symbols, and wherein the differential map symbol estimator then performs a subsequent differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols; and
a bit probability calculator coupled to the differential map symbol estimator, wherein the bit probability calculator performs bit probability calculations on the improved estimates of the differential symbols;
wherein the differential map symbol estimator and the new symbol estimator iteratively calculate the new received symbol estimates and perform subsequent differential map symbol estimation at least twice and wherein the bit probability calculator performs the bit probability calculations on improved estimates of the differential symbols;
wherein the differential map symbol estimator and the new symbol estimator iteratively calculate the new received symbol estimates and perform subsequent differential map symbol estimation a variable number of times until the improved estimates of the differential symbols converge to within a predetermined threshold.
23. A receiver that receives data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted, the receiver comprising:
an analog-to-digital converter that samples a plurality of received segments wherein the received segments correspond to respective ones of the transmitted symbols;
a differential map symbol estimator coupled to the analog-to-digital converter, wherein the differential map symbol estimator performs an initial differential map symbol estimation for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols;
a new symbol estimator coupled to the differential map symbol estimator, wherein the new symbol estimator calculates new received symbol estimates using the initial estimates of the differential symbols, and wherein the differential map symbol estimator then performs a subsequent differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols;
a bit probability calculator coupled to the differential map symbol estimator, wherein the bit probability calculator performs bit probability calculations on the improved estimates of the differential symbols;
a decoder coupled to the bit probability calculator wherein the decoder decodes the estimates of the bit values; and
a re-encoder coupled between the decoder and the differential map symbol estimator wherein the re-encoder re-encodes the decoded estimates of the bit values to provide re-encoded received symbol estimates, wherein the differential map symbol estimator performs subsequent differential map symbol estimation using the re-encoded received symbol estimates to provide further improved estimates of the differential symbols, and wherein the bit probability calculator performs bit probability calculations on the further improved estimates of the differential symbols.
2. A method according to claim 1 wherein the steps of calculating the new received symbol estimates and performing subsequent differential map symbol estimation are repeated at least once and wherein the bit probability calculations are performed on the improved estimates of the differential symbols provided during subsequent differential map symbol estimation.
3. A method according to claim 2 wherein the steps of calculating the new received symbol estimates and performing subsequent differential map symbol estimation are repeated a predetermined number of times.
5. A method according to claim 1 further comprising the step of:
decoding the estimates of the bit values.
7. A method according to claim 1 wherein the steps of performing the differential map symbol estimation each comprise:
performing log-likelihood calculations for estimated received symbols corresponding to the sampled transmission segments; and
performing differential symbol probability calculations.
8. A method according to claim 1 wherein the step of performing log-likelihood calculations is preceded by the step of:
estimating channel parameters based on the sampled transmission segments wherein the log-likelihood calculations use the estimated channel parameters.
9. A method according to claim 8 wherein the step of estimating channel parameters comprises estimating s-parameters and z-parameters.
11. A method according to claim 10 wherein the step of performing bit probability calculations is preceded by the steps of:
calculating new received symbol estimates using the estimates of the differential symbols;
performing an iterative differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols wherein the step of performing bit probability calculations comprises performing bit probability calculations on the new received symbol estimates.
12. A method according to claim 11 wherein the steps of calculating the new received symbol estimates and performing the iterative differential map symbol estimation are repeated at least once and wherein the bit probability calculations are performed on the improved estimates of the differential symbols provided during a last step of performing iterative differential map symbol estimation.
13. A method according to claim 12 wherein the steps of calculating the new received symbol estimates and performing iterative differential map symbol estimation are repeated a predetermined number of times.
14. A method according to claim 12 wherein the steps of calculating the new received symbol estimates and performing iterative differential map symbol estimation are repeated until the improved estimates of the differential symbols converge to within a predetermined threshold.
15. A method according to claim 10 wherein the step of performing the differential map symbol estimation comprises:
performing log-likelihood calculations for estimated received symbols corresponding to the sampled transmission segments; and
performing differential symbol probability calculations.
16. A method according to claim 15 wherein the step of performing log-likelihood calculations is preceded by the step of:
estimating channel parameters based on the sampled transmission segments wherein the log-likelihood calculations use the estimated channel parameters.
17. A method according to claim 16 wherein the step of estimating channel parameters comprises estimating s-parameters and z-parameters.
19. A receiver according to claim 18 wherein the differential map symbol estimator and the new symbol estimator iteratively calculate the new received symbol estimates and perform subsequent differential map symbol estimation at least twice and wherein the bit probability calculator performs the bit probability calculations on improved estimates of the differential symbols.
20. A receiver according to claim 19 wherein the differential map symbol estimator and the new symbol estimator iteratively calculate the new received symbol estimates and perform subsequent differential map symbol estimation a predetermined number of times.
22. A receiver according to claim 18 further comprising:
a decoder coupled to the bit probability calculator wherein the decoder decodes the estimates of the bit values.
24. A receiver according to claim 18 wherein the differential map symbol estimator comprises:
a log-likelihood vector calculator that performs log-likelihood calculations for estimated received symbols corresponding to the sampled transmission segments; and
a symbol probability calculator that performs differential symbol probability calculations.
25. A receiver according to claim 18 further comprising:
a channel parameter estimator coupled between the analog-to-digital converter and the differential map symbol estimator wherein the channel parameter estimator estimates channel parameters based on the sampled transmission segments.
26. A receiver according to claim 25 wherein the channel parameter estimator estimates s-parameters and z-parameters.
28. A receiver according to claim 27 further comprising:
a new symbol estimator coupled to the differential map symbol estimator, wherein the new symbol estimator calculates new received symbol estimates using the estimates of the differential symbols, and wherein the differential map symbol estimator performs an iterative differential map symbol estimation using the new received symbol estimates to provide improved estimates of the differential symbols, and wherein the bit probability calculator performs bit probability calculations on the new received symbol estimates.
29. A receiver according to claim 28 wherein the new symbol estimator calculates the new received symbol estimates and wherein the differential map symbol estimator performs the iterative differential map symbol estimation at least once and wherein the bit probability calculator performs bit probability calculations on the improved estimates of the differential symbols provided after a last iterative differential map symbol estimation.
30. A receiver according to claim 29 wherein the new symbol estimator calculates the new received symbol estimates and wherein the differential map symbol estimator performs iterative differential map symbol estimation a predetermined number of times.
31. A receiver according to claim 29 wherein the new symbol estimator calculates the new received symbol estimates and wherein the differential map symbol estimator performs iterative differential map symbol estimation a variable number of times until the improved estimates of the differential symbols converge to within a predetermined threshold.
32. A receiver according to claim 27 wherein the differential map symbol estimator performs log-likelihood calculations for estimated received symbols corresponding to the sampled transmission segments, and performs differential symbol probability calculations.
33. A receiver according to claim 32 wherein the differential map symbol estimator estimates channel parameters based on the sampled transmission segments wherein the log-likelihood calculations use the estimated channel parameters.
34. A receiver according to claim 33 wherein the estimated channel parameters comprise s-parameters and z-parameters.

The present invention relates to the field of communications and more particularly to communications systems including equalizers used to detect coherent symbols and related methods.

In current D-AMPS (IS-136) cellular communications systems, maximum likelihood sequence estimation (MLSE) equalizers detect coherent symbol values using forward or backward detection at the mobile terminal depending on the quality of the current and next slot synchronization words. At the base-station, backward MLSE detection used for symbols to the left of the synchronization sequence and forward detection is used for symbols to the right of the synchronization sequence. For example, MLSE equalization in the forward direction can be performed using the Viterbi algorithm as discussed in the reference by Ungerboeck entitled "Adaptive Maximum-Likelihood Receiver for Carrier-Modulated Data-Transmission Systems", IEEE Trans. Comm., COM-22: pages 624-636, May 1974. The disclosure of this reference is hereby incorporated herein in its entirety by reference.

Overall log-likelihoods used to detect a sequence of symbols [a0, a1, . . . , aN] can take the form: l ⁢ { a ; y } = ∑ n = 0 N ⁢ ⁢ [ 2 ⁢ ℜ ⁢ { a n * ⁢ z n } - &LeftBracketingBar; a n &RightBracketingBar; 2 ⁢ s 0 , n - ∑ l - 1 min ⁡ ( n , N ) ⁢ ⁢ 2 ⁢ ℜ ⁢ { a n * ⁢ s l , n ⁢ a n - 1 } ] . ( 1 )

In this equation, the equalization parameters zn and sl,n are described in the Ungerboeck reference, and these equalization parameters are extended to fractionally-spaced receivers in the reference by Molnar et al. entitled "A Novel Fractionally-Spaced MLSE Receiver And Channel Tracking With Side Information", Proc. 48th IEEE Veh. Tech. Conf., May 1998. The disclosure of this reference is hereby incorporated herein in its entirety by reference.

The term inside the square brackets of Equation (1) forms the metric for the symbol an. This approach takes advantage of the symmetry of the sl,n terms, and the summation of the s-terms is shown in FIG. 1 for an example with N=2. The circles correspond to the s0,n terms and for each n, the s-terms to the left and to the top of the circled s0,n terms correspond to the terms sl,n for a specific value of n.

When backward equalization is used, the following log-likelihood is used to determine the metric for the Viterbi algorithm: l ⁢ { a ; y } = ∑ n = 0 N ⁢ ⁢ [ 2 ⁢ ℜ ⁢ { a n * ⁢ z n } - &LeftBracketingBar; a n &RightBracketingBar; 2 ⁢ s 0 , n - ∑ l = 1 min ⁡ ( N - n , N ) ⁢ ⁢ 2 ⁢ ℜ ⁢ { a n * ⁢ s l , n + l * ⁢ a n + l } ] ⁢ ( 2 )

Note that the first two terms in the metric are the same for either forward or backward equalization, while the summation of the s-terms is different. The summation of the s-terms for this case is shown in FIG. 2, again for the case of N=2. The circled terms remain the same as for the forward metric, but now the s-terms for a specific value of n are chosen as those terms to the right and below the n'th diagonal element.

For differential-QPSK modulation, the coherent symbols can be estimated using the above MLSE equalization approach. Estimates of the differential symbols and bits can then be obtained from the detected coherent symbols, while soft differential bit information can be obtained from the saved equalization metrics as discussed in the reference by Bottomley entitled "Soft Information in ADC", Technical Report, Ericsson-GE, 1993. The disclosure of this reference is hereby incorporated herein in its entirety by reference.

For digital communications, maximum a-posterori (MAP) detection has been used as discussed in the reference by Bahl et al. entitled "Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", IEEE Trans. Inf. Theory, IT-20: pages 284-287, March 1974. This approach is also similar to approaches discussed in the following references: Baum et al., "A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains", Ann. Math. Statist., 41: pages 164-171, 1970; Sundberg, "An Iterative Method for Solution of the Likelihood Equations for Incomplete Data from Exponential Families", Comm. Statist. Simulation. Comput., B5: pages 55-64, 1976; Erkurt et al., "Joint Detection and Channel Estimation for Rapidly Fading Channels", Globecom 1992, pages 910-914, December 1992; Kaleh et al., "Joint Parameter Estimation and Symbol Detection for Linear or Nonlinear Unknown Channels", IEEE Trans. Comm. 42(7): pages 2406-2413, July 1994; Krishnamurthy, "Adaptive Estimation of Hidden Nearly Completely Decomposable Markov Chains With Applications in Blind Equalization", "International Journal of Adaptive Control and Signal Processing", 8: pages 237-260,1994; Cirpan et al., "Stochastic Maximum Likelihood Methods for Semi-Blind Channel Estimation", IEEE Signal Processing Letters, 5(1): pages 21-24, January 1998; and Baccarelli et al., "Combined Channel Fast-Fading Digital Links", IEEE Trans. Comm., 46(4): pages 424-427, April 1998. The disclosures of each of these references are hereby incorporated herein in their entirety by reference.

The metric for MAP detection of the coherent symbols can be derived from the following overall log-likelihood: l ⁢ { a ; y } = ∑ n = 0 N ⁢ ⁢ 2 ⁢ ℜ ⁢ { a n * ⁢ z n } - ∑ n = 0 N ⁢ ⁢ ∑ m = 0 N ⁢ ⁢ a n * ⁢ h n , m ⁢ a m . ( 3 )

The MAP metric is found by collecting all terms containing an. For example, in FIG. 3A, the symbol a1 contribution to the double sum in Equation (3) is shown by the enclosed hn,m terms. The hn,m terms are related to the s-parameters in the following manner: h n , m = { s n - m , n n &GreaterEqual; m ; s n - m , m = s m - n , m * n < m . ( 4 )

The corresponding terms are shown in FIG. 3B. Using the s-parameters from FIG. 3B, the contribution to the MAP metric for symbol an can be written as: l &it; { a n ; y } = 2 &it; &Rfr; &it; { a n * &it; z n } - &LeftBracketingBar; a n &RightBracketingBar; 2 &it; s 0 , n - &Sum; l = 1 min &af; ( n , N ) &it; &it; 2 &it; &Rfr; &it; { a n * &it; s l , n &it; a n - l } - &Sum; l = 1 min &af; ( N - n , N ) &it; &it; 2 &it; &Rfr; &it; &it; y &it; { a n * &it; s l , n * &it; a n + l } . ( 5 )

The terms contributing to the double summation in Equation (3) use the same folding as in the forward and backward MLSE equalizers previously discussed.

Notwithstanding the equalizer systems and methods discussed above, there continues to exist a need in the art for improved equalizer systems and methods.

It is therefore an object of the present invention to provide improved methods and receivers for receiving data transmitted over radio communications channels.

This and other objects are provided according to the present invention by methods for receiving data transmitted over a radio communications channel wherein the data is transmitted as a plurality of sequential symbols wherein each sequential symbol is determined as a function of a previous symbol and a respective differential symbol corresponding to a portion of the data being transmitted. A plurality of received segments are sampled wherein the received segments correspond to respective ones of the transmitted symbols, and an initial differential MAP symbol estimation is performed for estimated received symbols corresponding to the sampled received segments to provide initial estimates of the differential symbols. New received symbol estimates are calculated using the initial estimates of the differential symbols, and a subsequent differential MAP symbol estimation is performed using the new received symbol estimates to provide improved estimates of the differential symbols. Bit probability calculations are performed on the improved estimates of the differential symbols. Improved data reception can thus be provided over radio communications channels.

The steps of calculating the new received symbol estimates and performing subsequent differential MAP symbol estimation can be repeated at least once and the bit probability calculations can be performed on the improved estimates of the differential symbols provided during subsequent differential MAP symbol estimation. More particularly, the steps of calculating the new received symbol estimates and performing subsequent differential MAP symbol estimation can be repeated a predetermined number of times. Alternately, the steps of calculating the new received symbol estimates and performing subsequent differential MAP symbol estimation can be repeated until the improved estimates of the differential symbols converge to within a predetermined threshold.

In addition, the estimates of the bit values can be decoded. Furthermore, the decoded estimates of the bit values can be re-encoded to provide re-encoded received symbol estimates, subsequent differential MAP symbol estimation can be performed using the re-encoded received symbol estimates to provide further improved estimates of the differential symbols, and bit probability calculations can be performed on the further improved estimates of the differential symbols.

The steps of performing the differential MAP symbol estimation can each comprise performing log-likelihood calculations for estimated received symbols corresponding to the sampled transmission segments, and performing differential symbol probability calculations. The log-likelihood calculations can also be preceded by estimating channel parameters based on the sampled transmission segments wherein the log-likelihood calculations use the estimated channel parameters. More particularly, the estimated channel parameters can be estimated s-parameters and z-parameters.

The methods and receivers of the present invention can thus provide improved data reception.

FIG. 1 illustrates symbol folding for forward equalization according to the prior art.

FIG. 2 illustrates symbol folding for backward equalization according to the prior art.

FIGS. 3A and 3B illustrate terms used in a MAP symbol metric according to the prior art.

FIG. 4 illustrates terms used in a first MAP differential symbol log-likelihood calculation according to the present invention.

FIG. 5 illustrates terms used in a second MAP differential symbol log-likelihood calculation according to the present invention.

FIGS. 6 and 7 illustrate states for differential phase shift keying according to the present invention.

FIG. 8 is a block diagram illustrating a transmitter and a receiver according to the present invention.

FIG. 9 is a block diagram illustrating an equalizer from the receiver of FIG. 8.

FIG. 10 is a block diagram illustrating a coherent symbol memory of the equalizer of FIG. 9.

The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.

Improved methods for equalization and detection of maximum a-posteriori (MAP) probabilities of differential bits associated with differential-QPSK (D-QPSK) modulation will now be described. In general, an iterative approach is used for computing bit probabilities from soft-detected symbol values which are used for bit detection. Alternately, bit probabilities can be computed using a post-processing step from a previous equalization process.

For differential PSK modulation (such as D-QPSK modulation), an=bnan-1, where bn is the symbol defined by a differential bit-to-symbol mapping function. In other words, an (the symbol transmitted at time n) is a function of bn (representing the binary data to be transmitted) and an-1, (the symbol previously transmitted at time n-1). Furthermore, it can be assumed that both |an|2=1 and |bn|2=1 for all n, so that bn=ana*n-1. This notation can allow for MAP detection of the differential symbols and bits based on the coherent metrics. To detect the differential symbol bn, the log-likelihood is used to generate a new log-likelihood including the terms bn. With reference to FIG. 4, the log-likelihood for coherent symbols an and an-1 can be used with an=bnan-1 and an-1=b*nan to generate the log-likelihood for differential symbols bn.

FIG. 4 shows the terms used for detecting b2. The enclosed terms represent the terms within the double summation of Equation (3) and are obtained from individual log-likelihoods l{a2;y} and l{a1;y}. The shaded terms h1,2 and h2,1 are counted twice and should thus be accounted for by subtraction of the duplicate terms from the resulting log-likelihood. The log-likelihood for the differential symbol bn is derived by combining l{an;y} and l{an-1;y}, removing the duplicate terms, and replacing an and an-1, with the forms that contain bn. The coherent log-likelihoods including bn are: l &it; { a n ; y } = 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; z n } - s 0 , n - &Sum; l = 1 min &af; ( n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n &it; a n - l } - &Sum; l = 1 min &af; ( N - n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n + l * &it; a n + l } , ( 6 )

and: l &it; { a n - 1 ; y } = 2 &it; &Rfr; &it; { b n * &it; a n * &it; z n - 1 } - s 0 , n - 1 - &Sum; l = 1 min &af; ( n - 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 &it; a n - 1 - l } - &Sum; l = 1 min &af; ( N - n + 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 + l * &it; a n - 1 + l } . ( 7 )

Combining Equations (6) and (7) and eliminating those terms not containing bn and the duplicate terms results in l{bn;y} as follows: l &it; { b n ; y } = 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; z n } + 2 &it; &Rfr; &it; { b n * &it; a n * &it; z n - 1 } - 2 &it; &Rfr; &it; { b n * &it; s 1 , n } - &Sum; l = 2 min &af; ( n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n &it; a n - l } - &Sum; l = 1 min &af; ( N - n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n + l * &it; a n + l } - &Sum; l = 1 min &af; ( n - 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 &it; a n - 1 - l } - &Sum; l = 2 min &af; ( N - n + 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 + l * &it; a n - 1 + l } . ( 8 )

It should be noted that the terms including s1,n are not dependent on an or an-1.

An alternate log-likelihood can also be obtained by rewriting some of the terms in Equations (6) and (7) expressing an as either an=bnan-1 or an-1=b*n+1an+1. The resulting coherent log-likelihoods are as follows: l &it; { a n ; y } = &Rfr; &it; { b n * &it; a n - 1 * &it; z n } + &Rfr; &it; { b n + 1 &it; a n + 1 * &it; z n } - s 0 , n - &Sum; i = 1 min &af; ( n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n &it; a n - l } - &Sum; l = 1 min &af; ( N - n , N ) &it; &it; 2 &it; &Rfr; &it; { b n + 1 &it; a n + 1 * &it; s l , n + l * &it; a n + l } , ( 9 )

and: l &it; { a n - 1 ; y } = &Rfr; &it; { b n &it; a n * &it; z n - 1 } + &Rfr; &it; { b n - 1 * &it; a n - 2 * &it; z n - 1 } - s 0 , n - 1 - &Sum; l = 1 min &af; ( n - 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n - 1 * &it; a n - 2 * &it; s l , n - 1 &it; a n - 1 - l } - &Sum; l = 1 min &af; ( N - n + 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 + l * &it; a n - 1 + l } . ( 10 )

Collecting the terms with bn and eliminating the duplicate terms results in an alternate l{bn;y} as follows: l &it; { b n ; y } = &Rfr; &it; { b n * &it; a n - 1 * &it; z n } + &Rfr; &it; { b n &it; a n * &it; z n - 1 } - 2 &it; &Rfr; &it; { b n * &it; s 1 , n } - &Sum; l = 2 min &af; ( n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n &it; a n - l } - &Sum; l = 2 min &af; ( N - n + 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 + l * &it; a n - 1 + l } . ( 11 )

The s-terms used in the log-likelihood which come from the double summation of Equation (3) are shown in FIG. 5. Note that {a*nzn} has been arbitrarily decomposed into one term including bn and another term not, including bn. Alternate decompositions are also possible.

Calculation of the log-likelihood will now be discussed as follows. In particular, the differential symbol bn can be written as bn=rTnbn, where bn is a vector including the symbol alphabet (i.e., the possible symbol values that bn may take), and rn is a real vector including all zeros except for a single element which has a value one (i.e., an indicator vector). The log-likelihood l{bn;y} can thus be written in the following form: l &it; { b n , y } = r n T &it; u n &af; ( { a n } ) , = l &it; { r n , y } . ( 12 )

In this form, un({an}) is a vector of log-likelihoods with bn replacing bn. Using the log-likelihood of Equation (12), for example, the following equation can be developed: u n &af; ( { a n } ) = &it; &Rfr; &it; { b n * &it; a n - 1 * &it; z n } + &Rfr; &it; { b n &it; a n * &it; z n - 1 } - 2 &it; &Rfr; &it; { b n * &it; s 1 , n } - &it; &Sum; l = 2 min &af; ( n , N ) &it; &it; 2 &it; &Rfr; &it; { b n * &it; a n - 1 * &it; s l , n &it; a n - l } - &it; &Sum; l = 2 min &af; ( N - n + 1 , N ) &it; &it; 2 &it; &Rfr; &it; { b n &it; a n * &it; s l , n - 1 + l &it; a n - 1 + l } . ( 13 )

By estimating the vector rn, bn can be detected. The estimate of rn will be denoted as {circumflex over (r)}n. In particular, the estimate can be {circumflex over (r)}n=E{rn|y} which is a vector with the t'th element equal to p(rn=et|y), where et is a unit vector with a one in the t'th position and zero's elsewhere. For D-QPSK modulation, tε{0, 1, 2, 3}. The estimate of rn(t) is computed by: p &af; ( r n = e t | y ) = exp &af; ( 1 &it; { r n &af; ( t ) ; y } ) &Sum; s = 0 T - 1 &it; &it; exp &af; ( 1 &it; { r n &af; ( s ) ; y } ) ( 14 )

where: &Sum; t = 0 T - 1 &it; &it; r ^ n &it; ( t ) = 1.

Given an estimate of {circumflex over (r)}n, the probabilities of the differential bits can be calculated by evaluating partial probabilities. For example, if bn corresponds to data bits d2n, d2n+1, then the partial probability for d2n=0 is calculated as follows: p &af; ( d 2 &it; n = 0 | y ) = &Sum; { t : &it; d 2 &it; n = 0 } &it; &it; r ^ n &af; ( t ) &Sum; s = 0 T - 1 &it; &it; r ^ n &af; ( s ) ( 15 )

Then p(d2n=1|y) is simply 1-p(d2n=0|y). The detection of d2n+1 is performed in a similar manner. The estimate of bits d2n, d2n+1 can be either a hard detection (i.e., the values with the highest probabilities) or a soft detection in terms of probability values.

The calculation of {circumflex over (r)}n may require that a0, . . . , aN be known. In practice, {an} is estimated using estimates of bn, so that estimates of bn may be required. To accomplish this according to the present invention, an iterative solution is provided. If previous estimates of {rn} exist (and thus previous estimates of {bn} exist), these estimates can be used to compute new estimates for {an}. For example, if a0 is a known symbol (e.g. a synchronization symbol), then â1 can be computed using â1={circumflex over (r)}T1b1â1 and similar estimates can be computed for â2 through âN. These estimates are estimates of {an} using the soft detected values of {bn}. For cases where there are distributed synchronization symbols, the estimation can be started from multiple known symbols. Furthermore, estimates of {circumflex over (r)}n can be updated when detecting bn using the newly computed values of {circumflex over (r)}n. In summary, new estimates of {{circumflex over (r)}n} can be calculated using prior estimates of {an}. The iteration can then proceed by updating {an} with these newly computed soft differential symbol and bit estimates.

During this iterative procedure, decoding may take place on the detected bit information, and this decoded information can be fed back for use in the next iteration of the equalizer. Re-estimation of the equalization parameters z and s can also be performed during this iterative procedure, and the re-estimated equalization parameters can be fed back for use in the next iteration of the equalizer.

An implementation of a receiver including the equalization techniques discussed above will now be discussed with reference FIGS. 6-8. For differential-PSK modulation (such as D-QPSK modulation), the transmitted information is included in the differential symbol bn where an=bnan-1. An example of the metric branches where an-1, an, and bn can have the possible values of -1 or 1 is shown in FIG. 6. An alternate example with a larger number of states is provided in FIG. 7. Using equalization techniques according to the present invention, the log-likelihood of the received differential symbol bn can be estimated. More particularly, this estimate can be obtained by estimating the probability of each of the values that bn is allowed to take using the vector {circumflex over (r)}n discussed above.

A log-likelihood can be generated using Equation (8) as discussed above, wherein the log-likelihood is a combination of the log-likelihoods from forward and backward equalization as provided in Equations (6) and (7). This log-likelihood includes z and s parameters from different values of n. In addition, this log-likelihood is calculated using estimated values of the parameters a-l for various values of l. Once a form of the log-likelihood is chosen, the vector un is constructed using the vector bn, where bn is a vector that includes the possible values that bn is allowed to take.

The vector {circumflex over (r)}n is then estimated. In particular, each element of the vector {circumflex over (r)}n includes the probability p(rn=et|y) where etis a vector that has a single element equal to one and the remaining elements equal to zero. In particular, eTtbn equals one element of bn so that each element of {circumflex over (r)}n corresponds to the probability that the corresponding element in bn was transmitted, where {circumflex over (r)}n can be calculated using Equation (14).

A block diagram of a communications system according to the present invention is shown in FIG. 8. In particular, a communications system can include a transmitter and a receiver. As shown in FIG. 8, the transmitter can include a microphone 31, a voice coder 32, a modulator 33, a filter 35, a digital-to-analog converter 37, a mixer 39, and an antenna 41. A receiver according to the present invention can include an antenna 61, a down converter 62, a filter 63, an analog-to-digital converter 65, a synchronizer 67, a buffer 69, an equalizer 71, a buffer 73, a decoder 75, a re-encoder 77, and a speaker 79. Radio transmissions from transmitter antenna 41 to the receiver antenna 61 are transmitted over the channel 55 which may be subject to fading, dispersion, noise, and/or other distorting effects. The operations of the transmitter as well as the down converter 62, the filter 63, the analog-to-digital converter 65, the synchronizer 67, and the buffer 69 will be understood by those having skill in the art and will thus not be discussed further herein.

The transmitter and receiver of FIG. 8 can thus be used in a radiotelephone communications system such as a cellular radiotelephone communications system used to transmit voice communications between mobile terminals and base stations. Accordingly, a base station and/or a mobile terminal in a radiotelephone communications system can include a receiver according to the present invention. Receivers according to the present invention can also be used in other radio communications systems. In addition, receivers according to the present invention can be used to provide data communications as opposed to voice communications.

A block diagram of the equalizer 71, the buffer 73, the decoder 75, and the re-encoder 77 of FIG. 8 is provided in FIG. 9. As shown, the equalizer 71 includes a channel estimator 81, a z-parameter estimator 83, an s-parameter estimator 85, a differential map symbol estimator 87, an iteration counter 89, a bit probability calculator 91, a new symbol estimator 93, a coherent symbol memory 95, and a bn memory 97. In addition, the differential map symbol estimator includes a log-likelihood vector calculator 98, and a symbol probability calculator 99. An expanded view of the coherent symbol memory 95 is provided in FIG. 10.

With regard to the receiver, transmissions are received at the receiver antenna 61, and down converted and filtered using down converter 62 and filter 63. The analog-to-digital converter 65 samples the filtered signal at a predetermined rate, and the synchronizer 67 selects one of the samples for each of the received symbols to generate the y-data y(k). A predetermined number of synchronized y-data samples are then stored in the buffer 69 for use by the equalizer 71. This buffered y-data y(k) is received at the equalizer 71 as shown in FIG. 9.

In particular, the y-data y(k) is received at the channel estimator 81, and s-parameter and z-parameter estimates are generated by the s-parameter estimator 85 and the z-parameter estimator 83. The differential map symbol estimator 87 generates first vector estimates {circumflex over (r)}n for each of the coherent symbols in coherent symbol memory 95 corresponding to the y-data y(k) stored in the buffer 73 during a first iteration. The new symbol estimator 93 uses the vector estimates {circumflex over (r)}n calculated during the first iteration to calculate new coherent symbol estimates which are stored in the coherent symbol memory 95 for calculating second vector estimates {circumflex over (r)}n during a second iteration. These steps are repeated to provide improved vector estimates {circumflex over (r)}n. More particularly, the number of iterations used can be determined by the iteration counter 89. In particular, the iteration counter can provide for a predetermined number of iterations before accepting the vector estimates {circumflex over (r)}n. A predetermined number of iterations that provides a desired level of performance can be determined by testing. Alternatively, the iteration counter 89 can compare the previous vector estimates {circumflex over (r)}n with the current vector estimates {circumflex over (r)}n at the end of each iteration to determine when the difference between the current and previous vector estimates is sufficiently small so as to provide a desired level of performance.

As discussed above, the differential map symbol estimator includes a log-likelihood vector calculator 98 and a symbol probability calculator 99. The log-likelihood calculator 98 can compute the vector values un using Equation (13) as discussed above wherein Equation (13) is based on Equation (11). Alternately, a derivation of Equation (13) could be based on Equation (8). The symbol probability calculator 99 can use Equation (14) to generate the vector {circumflex over (r)}n. In addition, Equation (14) can be written to calculate the t'th element of {circumflex over (r)}n as follows: r ^ n &af; ( t ) = exp &af; ( u n &af; ( t ) ) &Sum; s = 0 D - 1 &it; &it; exp &af; ( u n &af; ( s ) ) ( 16 )

In the equalizer of FIG. 9, the {circumflex over (r)}n values are calculated for each iteration using the values of the coherent symbols a0, . . . an estimated during the previous iteration. For example, a0 may be a known symbol such as the last coherent symbol of a synchronization word. Knowledge of a0, however, is not required. The iterative calculation of the {circumflex over (r)}n values is performed for p=1 to P where P is the number of iterations to be performed. Each iteration proceeds for n=1 to N wherein N is the number of symbols stored in the coherent symbol memory 95. The number of iterations P can be set based on testing to provide a desired level of performance. Alternately, the number of iterations P can be variable with the last iteration being determined for each calculation based on a comparison of the {circumflex over (r)}n probability values from the previous and current iteration.

For each iteration, the calculations can be performed for n=1 to N computing {circumflex over (r)}n(p) using a0, â1(p), ân-1(p), ân(p-1), . . . , âN(p-1), and computing ân(p)={circumflex over (r)}n(p)bnân-1(p). During the first iteration with p=1, the following equalities can be provided: an=an+1=. . . an=0. Because each vector {circumflex over (r)}n(p) includes probability values, the values of ân(p) may not be restricted to the coherent symbol values, i.e., they may be "soft" symbol values. During subsequent iterations as p is incremented according to the iteration counter 89, new ân-1(values are calculated at the new symbol estimator 93 using the {circumflex over (r)}n (p) values of the most current iteration and saved in the coherent symbol memory 95. The new ân-1(p) values stored in the coherent symbol memory 95 are then used in the next iteration to calculate new {circumflex over (r)}n values. Alternately, the values ân(p) and ân(p-1) can be restricted to coherent symbol values by making {circumflex over (r)}n(p) be an indicator vector (i.e., setting element with the largest probability to 1, and the rest to 0). These are "hard" symbol estimates.

As discussed above, the iteration counter 89 can provide for a set number of iterations of the calculations of the {circumflex over (r)}n values before passing the {circumflex over (r)}n values to the bit probability calculator 91. Alternately, the iteration counter 89 can determine when to pass the {circumflex over (r)}n values to the bit probability calculator 91 based on a comparison of the current and previous {circumflex over (r)}n values.

The {circumflex over (r)}n values are then passed to the bit probability detector 91 to detect soft bits {circumflex over (d)}(p-1) wherein each soft bit {circumflex over (d)} includes a probability associated with each of the possible values the bit can have. The soft bits are stored in the buffer 73 and decoded using the decoder 75. For example, the decoder can perform a decoding validity check using, for example, a CRC check or other error detection and/or correction techniques. As will be understood by those having skill in the art, the decoder may perform the decoding validity check on a subset of the bits.

If valid, the decoder 75 can pass the bits on to the speaker 79. It will be understood that other processing such as digital-to-analog conversion can be performed between the decoder and the speaker. Alternately, the speaker may be omitted in a data processing system where voice communications are not provided. In such a data processing system, the decoder may pass the data to a processor for further use.

Preferably however, the decoded bits are re-encoded at the re-encoder 77 to provide a new set of coherent symbols â(p-1) to be stored in the coherent symbol memory 95. The new set of coherent symbols â(p-1) can then be used to calculate new {circumflex over (r)}n values using the iterations discussed above. In the event that the decoder does not perform the decoding validity check on all bits, the re-encoder may only generate new coherent symbols â(p-1) corresponding to bits on which the decoding validity check have been performed. In this situation, the new coherent symbols may be substituted for corresponding symbols in the symbol memory while other symbols are left unchanged in the memory. The {circumflex over (r)}n values can thus be improved based on decoding and re-encoding followed by subsequent log-likelihood and symbol probability calculations. During these subsequent log-likelihood and symbol probability calculations (performed after storing the new coherent symbols corresponding to decoded bits), it may be desirable to revise in the symbol memory only estimates for those symbols not corresponding to decoded bits.

The {circumflex over (r)}n values can thus be improved by calculating the bit probabilities, decoding at least a subset of the bit probabilities to provide decoded bits, re-encoding the decoded bits to provide new symbol estimates, and then re-performing the differential map symbol estimations discussed above. The {circumflex over (r)}n values thus obtained can then be processed by the bit probability calculator and the decoder to generate received data which can then be further processed and/or provided to a speaker. Alternately, the decoded bits can again be re-encoded for another step of differential map symbol estimation.

In the drawings and specification, there have been disclosed typical preferred embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims. In addition, it will be understood that the buffers, equalizer, decoder, and/or re-encoder of FIGS. 8-10 can be implemented using one or more digital signal processors, integrated circuits, discrete circuits, analog circuits, and/or memories.

Molnar, Karl James

Patent Priority Assignee Title
6697441, Jun 06 2000 Unwired Planet, LLC Baseband processors and methods and systems for decoding a received signal having a transmitter or channel induced coupling between bits
6763493, Sep 21 2001 U S BANK NATIONAL ASSOCIATION Method and system for performing decoding using a reduced-memory implementation
6947481, May 17 2000 Zenith Electronics Corporation Code enhanced equalization based upon a reliability factor
6977974, Nov 20 2000 HUAWEI TECHNOLOGIES, COMPANY, LTD De-modulation of MOK(M-ary orthogonal modulation)
7177353, Mar 12 2001 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Architecture for very high-speed decision feedback sequence estimation
7200191, Aug 12 2005 HUAWEI TECHNOLOGIES, COMPANY, LTD De-modulation of MOK (M-ary orthogonal modulation)
7245670, Dec 21 2000 Nokia Corporation Method for channel equalization, a receiver a channel equalizer, and a wireless communication device
7310391, Mar 05 2007 HUAWEI TECHNOLOGIES, COMPANY, LTD De-modulation of MOK(M-ary orthogonal modulation)
7657822, May 31 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED True bit level decoding of TTCM (turbo trellis code modulation) of variable rates and signal constellations
7706481, Aug 20 2004 Broadcom Corporation Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing
7738549, Mar 12 2001 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Architecture for very high-speed decision feedback sequence estimation
7860191, Sep 07 2007 Qualcomm Incorporated Optimal two-layer coherent demodulation for D-PSK (Differential Phase Shift Keying)
8144750, May 17 2000 Zenith Electronics LLC Code enhanced equalization based upon a reliability factor
8392607, Jan 26 2009 Panasonic Corporation Relay device, control method, and program
8473822, May 31 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED True bit level decoding of TTCM (turbo trellis coded modulation) of variable rates and signal constellations
8934527, Mar 10 2000 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Architecture for very high-speed decision feedback sequence estimation
8977934, Feb 04 2013 National Tsing Hua University Method of early termination of channel decoding by re-encoding
Patent Priority Assignee Title
5278871, Mar 19 1992 Motorola Mobility, Inc Method and apparatus for estimating signal weighting parameters in a receiver
5467374, Oct 29 1993 Ericsson Inc Low complexity adaptive equalizer for U.S. digital cellular radio receivers
6343368, Dec 18 1998 HIGHBRIDGE PRINCIPAL STRATEGIES, LLC, AS COLLATERAL AGENT Method and system for fast maximum a posteriori decoding
6359935, May 24 1999 Unwired Planet, LLC Method for iterative demodulation and decoding for a system with coding and differential demodulation
/////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Apr 27 1999MOLNAR, KARL JAMESEricsson IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0099430080 pdf
Apr 30 1999Ericsson Inc.(assignment on the face of the patent)
Feb 11 2013Ericsson IncCLUSTER LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0301920273 pdf
Feb 13 2013CLUSTER LLCUnwired Planet, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0302010389 pdf
Feb 13 2013Unwired Planet, LLCCLUSTER LLCNOTICE OF GRANT OF SECURITY INTEREST IN PATENTS0303690601 pdf
Date Maintenance Fee Events
Nov 20 2006M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Nov 22 2010M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Nov 13 2014M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
May 20 20064 years fee payment window open
Nov 20 20066 months grace period start (w surcharge)
May 20 2007patent expiry (for year 4)
May 20 20092 years to revive unintentionally abandoned end. (for year 4)
May 20 20108 years fee payment window open
Nov 20 20106 months grace period start (w surcharge)
May 20 2011patent expiry (for year 8)
May 20 20132 years to revive unintentionally abandoned end. (for year 8)
May 20 201412 years fee payment window open
Nov 20 20146 months grace period start (w surcharge)
May 20 2015patent expiry (for year 12)
May 20 20172 years to revive unintentionally abandoned end. (for year 12)