IP Library Granted Patent US 8,259,843
Granted Patent B2
US 8,259,843 · App. 13/198,891 · Granted Sep 4, 2012

Dynamic digital pre-distortion system

Assignee: Microelectronics Technology, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,259,843
App. No.
13/198,891
Granted
Sep 4, 2012
Kind
B2
Abstract

A Dynamic Digital Pre-Distortion (DDPD) system is disclosed to rapidly correct power amplifier (PA) non-linearity and memory effects. To perform pre-distortion, a DDPD engine predistorts an input signal in order to cancel PA nonlinearities as the signal is amplified by the PA. The DDPD engine is implemented as a composite of one linear filter and N−1 high order term linear filters. The bank of linear filters have programmable complex coefficients. To compute the coefficients, samples from the transmit path and a feedback path are captured, and covariance matrices A and B are computed using optimized hardware. After the covariance matrices are computed, Gaussian elimination processing may be employed to compute the coefficients. Mathematical and hardware optimizations may be employed to simplify and reduce the number of multiplication operands and other operations, which can enable the DDPD system to fit within a single chip.

Claims (164)

1. A method for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, the method comprising:

computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

computing the weights W for each data capture using the current averaged covariance matrices A and B; and

validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

2. The method of claim 1 , further comprising utilizing an infinite impulse response (IIR) filter to compute the weighted average of (a) the current A and B matrices based solely on a current transmit signal level and (b) the one or more previously computed covariance matrices A and B from previous data captures, the one or more previously computed covariance matrices A and B themselves based on one or more previously computed covariance matrices A and B from previous data captures.

3. The method of claim 1 , further comprising utilizing a finite impulse response (FIR) filter to compute the weighted average of (a) the current A and B matrices based solely on a current transmit signal level and (b) the one or more previously computed covariance matrices A and B from previous data captures, the one or more previously computed covariance matrices A and B based solely on signal levels present during the previous data captures.

4. A method for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, the method comprising:

computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

separately performing the step of computing the weights W for data captures of a transmit signal having a power level below a particular threshold to compute low power covariance matrices A and B;

separately performing the step of computing the weights W for data captures of a transmit signal having a power level above the particular threshold to compute high power covariance matrices A and B;

interpolating the low power covariance matrices A and B by adding to them a weighted amount of the high power covariance matrices A and B; and

computing the weights W for each data capture of a transmit signal having a power level below a particular threshold using the interpolated low power covariance matrices A and B.

5. The method of claim 4 , further comprising verifying W after computing W.

6. The method of claim 4 , further comprising validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

7. A method for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, the method r comprising:

computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

establishing a power level bin for the transmit signal at about a highest power transmit signal received;

when a predetermined number of data captures of the transmit signal are received that fall within the power level bin,

averaging the covariance matrices A and B computed for the data captures within the power level bin to generate averaged high end covariance matrices A and B, and

scaling the averaged high end covariance matrix A by a first scaling factor and scaling the averaged high end covariance matrix B by a second scaling factor to compute extrapolated covariance matrices A and B; and

adjusting covariance matrices A and B generated from subsequent data captures of the transmit signal by adding to them a weighted amount of the extrapolated covariance matrices A and B.

8. The method of claim 7 , further comprising reducing the first and second scaling factors if no data captures of the transmit signal fall within the power level bin for a predetermined amount of time.

9. The method of claim 7 , further comprising computing the weights W for each data capture of the transmit signal using the adjusted covariance matrices A and B.

10. The method of claim 9 , further comprising verifying W after computing W.

11. The method of claim 9 , further comprising validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

12. A method for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, the method comprising:

computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

increasing the transmit signal x(n) to x′(n) so that it is larger than any expected subsequent transmit signal;

setting the pre-distorted transmit signal y(n) equal to x′(n) to generate a pseudo data capture,

computing linearly extrapolated covariance matrices A and B based on the pseudo data capture; and

generating covariance matrices A and B for data captures of a transmit signal having a power level below a particular threshold utilizing the linearly extrapolated covariance matrices A and B.

13. An apparatus for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, the apparatus comprising:

circuitry for computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

computing the weights W for each data capture using the current averaged covariance matrices A and B; and

validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

14. The apparatus of claim 13 , further comprising an infinite impulse response (IIR) filter configured for computing the weighted average of (a) the current A and B matrices based solely on a current transmit signal level and (b) the one or more previously computed covariance matrices A and B from previous data captures, the one or more previously computed covariance matrices A and B themselves based on one or more previously computed covariance matrices A and B from previous data captures.

15. A computer program product for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, and including one or more computer readable instructions embedded on a non-transitory computer readable storage medium and configured to cause one or more computer processors to perform the steps of:

computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

computing the weights W for each data capture using the current averaged covariance matrices A and B; and

validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

16. The computer program product of claim 15 , further comprising utilizing an infinite impulse response (IIR) filter to compute the weighted average of (a) the current A and B matrices based solely on a current transmit signal level and (b) the one or more previously computed covariance matrices A and B from previous data captures, the one or more previously computed covariance matrices A and B themselves based on one or more previously computed covariance matrices A and B from previous data captures.

17. The apparatus of claim 13 , further comprising a finite impulse response (FIR) filter configured to compute the weighted average of (a) the current A and B matrices based solely on a current transmit signal level and (b) the one or more previously computed covariance matrices A and B from previous data captures, the one or more previously computed covariance matrices A and B based solely on signal levels present during the previous data captures.

18. The computer program product of claim 15 , further comprising utilizing a finite impulse response (FIR) filter to compute the weighted average of (a) the current A and B matrices based solely on a current transmit signal level and (b) the one or more previously computed covariance matrices A and B from previous data captures, the one or more previously computed covariance matrices A and B based solely on signal levels present during the previous data captures.

19. A computer program product for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, and including one or more computer readable instructions embedded on a non-transitory computer readable storage medium and configured to cause one or more computer processors to perform the steps of:

computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

separately performing the step of computing the weights W for data captures of a transmit signal having a power level below a particular threshold to compute low power covariance matrices A and B;

separately performing the step of computing the weights W for data captures of a transmit signal having a power level above the particular threshold to compute high power covariance matrices A and B;

interpolating the low power covariance matrices A and B by adding to them a weighted amount of the high power covariance matrices A and B; and

computing the weights W for each data capture of a transmit signal having a power level below a particular threshold using the interpolated low power covariance matrices A and B.

20. The computer program product of claim 19 , further comprising verifying W after computing W.

21. The computer program product of claim 19 , further comprising validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

22. An apparatus for generating covariance matrices A and B for each data capture of a transmit signal, the covariance matrices A and B for use in computing weights W and producing a pre-distorted transmit signal to cancel nonlinearities created by a distorting element or distorting system when transmitting the transmit signal, the apparatus comprising:

circuitry for computing a weighted average of (a) current A and B matrices based solely on a current transmit signal level and (b) one or more previously computed covariance matrices A and B from previous data captures;

circuitry for separately performing the computing the weights W for data captures of a transmit signal having a power level below a particular threshold to compute low power covariance matrices A and B;

circuitry for separately performing the computing the weights W for data captures of a transmit signal having a power level above the particular threshold to compute high power covariance matrices A and B;

circuitry for interpolating the low power covariance matrices A and B by adding to them a weighted amount of the high power covariance matrices A and B; and

circuitry for computing the weights W for each data capture of a transmit signal having a power level below a particular threshold using the interpolated low power covariance matrices A and B.

23. The apparatus of claim 22 , further comprising circuitry for verifying W after computing W.

24. The apparatus of claim 22 , further comprising circuitry for validating W by:

computing ΔB=B−AW;

computing the normalized error

E

=

Δ

B

B

;

rejecting W and utilizing previous W values if E is larger than a predetermined threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2011
From: TELASIC COMMUNICATIONS, INC.
To: MICROELECTRONICS TECHNOLOGY, INC.
Reel/Frame 027200/0823 →
Continuity (2)
Division 11788451 · Apr 20, 2007
Related Publication 20110286509A1 · Nov 24, 2011