1. Technical Field
The present disclosure relates to modeling nonlinear systems.
2. Background Information
The relationship between changes in the input to a system versus changes in the output of the system may be nonlinear. It is useful in many areas of science and technology to develop a mathematical model of such nonlinear systems. Some examples of systems to be modeled include: an electronic system, a mechanical system, a biological system, a stock market, a human behavior, weather changes, climate changes, and utility usage. A good model that models the nonlinearities of such a system has several uses. For example, such a model may be usable in the linearization of a system by means of predistortion in order to reduce signal distortion. For example, such a model may be usable to predict future outputs of a process by means of model extrapolation.
In the past, nonlinear models were often determined using the following method. First, in this method, a model function (also referred to as a model) is selected. The particular model function selected can be of any complexity (order) and may include special functions and, in some cases, can use information on prior operation of the system or the system's prior behavior. In many cases, the model function is a generic nonlinear representation. An example of a generic nonlinear representation is a power series (for example, Taylor series). Such a nonlinear representation is particularly useful where the system being modeled is to be modeled without the system's memory characteristics being modeled. Other examples of generic nonlinear representations include a Volterra series or one of its truncated versions (for example, a Wiener series, a Hammerstein series, or a memory polynomial). These nonlinear representations are particularly useful where the system being modeled is to be modeled with its memory characteristics. The maximum number of terms in the power or Volterra series is limited by the maximum degree of nonlinearity to be modeled, and in the case of the Volterra series by the maximum memory lag. Table 1 below indicates the number of Volterra series coefficients required as a function of memory length and the degree of the series.
Second, a sufficient number of input and output data points are collected (measured). A pair of input and output values is also referred to as a sample. In each such sample data point, the output value y is the measured envelope amplitude of the output of the nonlinear system that the nonlinear system outputs when it is supplied with the input envelope value x as an input. M is the number of coefficients of the model function. N is the number of sample data points.
Third, the coefficients of the selected model function are then fitted to the measured sample data points. An advantage of generic nonlinear model functions such as a power series or a Volterra series is that the output is a linear function of the model coefficients. For instance, in a power series polynomial of the form y=a1x+a2x2+a3x3+ . . . +aMxM, the output value y of the model function is a nonlinear function of the input value x, but at the same time y is a linear function of the power series (model) coefficients a1, a2, a3, . . . . This linear dependence of the model function output on the model coefficients allows the use of the least-squares fitting to find the model function coefficients by minimizing the sum of squared fitting errors (ymodeli-ymeasuredi)2 for i=1 . . . N, where N is the number of measured sample data points. Least-squares fitting is also referred to in the art and here as the Least Mean Square error method, or the Least Mean Squares method, or the “LMS method”.
In the example of
The output of the system (i.e., transmitter 2) is sampled by the transmitter sensing receiver 9. The system output (at the output of power amplifier 6) is coupled to the input of a Down Converter (DNC) 10. The downconverted output of DNC 10 is filtered by Base Band Filter (BBF) 11, and is digitized by Analog-To-Digital Converter (ADC) 12 into values y. Each sample data point includes an incoming complex x value and its corresponding transmitter complex output value y. The y=yi+jyq notation used in
The generic model function is then “fitted” to the sampled data points using the Least Mean Squares (LMS) method as represented by block 13. The resulting model coefficients ai (i=1 . . . M) are stored in memory as represented by block 14. For each incoming value u, the equation indicated in block 15 is used to determine a predistorted value x, where the coefficients a, (i=1 . . . M) on the left side of the equation are the model coefficients from the memory and the coefficient b on the right side of the equation is a desired linear gain of the transmitter. Typically, b=a1.
A disadvantage of the method utilized by predistorter 7 of
A method involves using compressed sensing (also known as compressive sensing or compressive sampling) to determine a fitted model of a nonlinear system. In a first step, a generic model (also referred to as a generic model function) is selected based on characteristics of the input signal x. The generic model function is made up of N constituent functions. The generic model function selected may be a function whose constituent functions are not orthogonal to one another, or the generic model function selected may be a function whose constituent functions are orthogonal to one another. A set of the generic model functions can be represented as a matrix P where the values in each row of the matrix correspond to the constituent functions of an instance of the generic model function, where the constituent functions are evaluated at one x value. There is a separate row in the matrix for each instance of the generic model function evaluated at a different x value. In a second step, a sufficient number N of x-y sample data points is collected (measured), where each x,y sample data point includes the output value y (ymeasured) of the nonlinear system being modeled when the nonlinear system is supplied with the corresponding input value x. The number of measured sample data points N can be less than the number of coefficients M of the generic model function. The x input value for each x-y sample data point is used as the x value in determining the values in a row of the matrix P. In a third step, the generic model is fitted to the set of x,y sample data points by using convex optimization to determine the set of model coefficients with minimum L1-norm (L1-norm minimization). The fitting minimizes the sum of absolute values of the model coefficients according to Equation (1) below:
|a1|+|a2|+ . . . +|aM|→min, subject to ymeasured=P*a. (1)
There are multiple ways that the generic model function can be selected. In a first way, the generic model function selected is a function whose constituent functions are not orthogonal to one another. The generic model function is, however, sparse in terms of the coefficients of the constituent functions. The generic model function selected may, for example, have a basis of polynomial functions. In one such case, the generic model function is a power series polynomial of the form y=a1*x+a2*x|x|2+a3*x|x|4 . . . aM*x|x|2M-2, where the constituent polynomial functions that make up the generic model function are: x, x|x|2, x|x|4 . . . x|x|2M-2, and where the model coefficients are: a1, a2, a3 . . . aM.
In a second way, the generic model function selected is a function whose constituent functions are orthogonal to one another. For a uniformly distributed input signal x, the orthogonal functions may be selected to be Legendre polynomials. For a sinusoidal input signal x, the orthogonal functions may be selected to be Chebyshev polynomials. For a Gaussian input signal x, the orthogonal functions may be selected to be Hermite polynomials.
In a third way, the generic model function is determined as follows. An initial model function is selected whose constituent functions are not orthogonal to one another. The initial model function may be a power series polynomial or a Volterra series polynomial. In one specific case, the generic model function is a power series polynomial of the form y=a1*x+a2*x|x|2+a3*x|x|4 . . . aM*x|x|2M-2. The non-orthogonal functions that make up the initial model function are presented in the form of a Vandermonde matrix, where the values in a row of the matrix represent the non-orthogonal functions evaluated at one x value. There is a separate row in the matrix for each instance of the initial model function evaluated for a different x value. The matrix equation may be given as y=Pa, where the y is a vector of y values, where a is a vector of model coefficients, and where P is a Vandermonde matrix. Next, the matrix is orthogonalized. QR decomposition may, for example, be used to orthogonalize the constituent non-orthogonal functions so that the result is the generic model function involving constituent orthogonal functions. The Q matrix as generated by the QR decomposition contains orthogonal functions, where each row of the Q matrix represents an instance of the generic model function made up of constituent orthogonal functions evaluated at a different value of x.
This method of using compressed sensing to determine a fitted model function of a nonlinear system is a general purpose method and has broad applicability. Nonlinear systems of many different types can be modeled in this way. Examples of nonlinear systems that can be modeled include, but are not limited to: an electronic system, a mechanical system, a biological system, a stock market, a human behavior, weather changes, climate changes, and utility usage. Depending on the application, the resulting fitted model can be used in different ways in different applications. For example, in one application the fitted model function is usable in the linearization of a system by means of predistortion in order to reduce signal distortion. The structure of the conventional adaptive predistorter of
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and does not purport to be limiting in any way. Other aspects, inventive features, and advantages of the devices and/or processes described herein, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth herein.
There are several ways to determine the generic model function. There are multiple ways of selecting the generic model function. In a first way, the generic model function selected is a function whose constituent functions are not orthogonal to one another. The generic model function is, however, sparse in terms of the coefficients of the constituent functions. The generic model function selected may, for example, have a basis of polynomial functions. In one such case, the generic model function is a power series polynomial of the form y=a1*x+a2*x|x|2+a3*x|x|4 . . . aM*x|x|2M-2, where the constituent polynomial functions that make up the generic model function are: x, x|x|2, x|x|4 . . . x|x|2M-2, and where the model coefficients are: a1, a2, a3 . . . aM.
In a second way, the generic model function selected is a function whose constituent functions are orthogonal to one another. For a uniformly distributed signal x, the orthogonal functions may be selected to be Legendre polynomials. For a sinusoidal signal x, the orthogonal functions may be selected to be Chebyshev polynomials. For a Gaussian signal x, the orthogonal functions may be selected to be Hermite polynomials.
In a third way, the generic model function is determined as follows. An initial model function is selected whose constituent functions are not orthogonal to one another. The initial model function may be a power series polynomial or a Volterra series polynomial. The non-orthogonal constituent functions that make up the initial model function are presented in the form of a Vandermonde matrix, where the values in a row of the matrix represent the non-orthogonal functions evaluated at one x value. There is a separate row in the matrix for each instance of the initial model function evaluated for a different x value. Next, the basis of this matrix is orthogonalized. QR decomposition may, for example, be used to orthogonalize the constituent non-orthogonal functions so that the result is the generic model function involving constituent orthogonal functions. The Q matrix as generated by the QR decomposition contains orthogonal functions, where each row of the Q matrix represents an instance of the generic model function made up of orthogonal constituent functions evaluated at a different value of x.
Once the generic model function is determined, a set of instances of the generic model function can be presented as a matrix equation of the form y=Pa, where y is a vector of y values, where a is a vector of model coefficients, and where P is a matrix. Each column of the matrix P represents one of the constituent functions. Each row of the matrix P corresponds to one instance of the generic model function where each of the constituent functions is evaluated at one particular x value.
In step 102 of the method 100 of
There are multiple ways that the x,y sample data points can be collected or obtained. Y values may be obtained by supplying the system with single-tone excitations and measuring the envelope amplitude of the input sinusoid (an x value) versus the envelope amplitude of the output sinusoid (a y value). Alternatively, samples may be taken by envelope sampling of the output of the system when the system is in actual use and associating the output y envelope samples with the corresponding system input x envelope values. The samples may be taken by taking the system out of use, and entering a calibration mode, and taking the samples in the calibration mode, and then returning the system to normal operation. Alternatively, the samples can be taken on-the-fly over time during normal operation of the system using the output envelope sampling technique without putting the system into a special calibration mode.
In a step 103 of method 100 of
The use of compressed sensing in the method 100 of
Nonlinear systems of numerous different types can be modeled in this way. Examples of such systems include, but are not limited to: an electronic system, a mechanical system, a biological system, a stock market, a human behavior, weather changes, climate changes, and utility usage. The resulting fitted model (also referred to as a fitted model function) that models the nonlinear system has many uses. For example, the fitted model function may be usable in the linearization of a system by means of predistortion in order to reduce signal distortion. For example, the fitted model function may be usable to predict future actions of the system by means of model extrapolation.
Adaptive predistorter 202, rather than supplying the input values u directly to DAC 203 of transmitter 201, predistorts the complex input values u into the values x such that the overall relationship of the values u to the corresponding output values y of power amplifier 206 is substantially linear. The output values y are determined (for example, are sampled or measured) by coupling the output of power amplifier 206 to the input of a “transmitter sensing receiver” 207. The transmitter sensing receiver 207 downconverts the power amplifier output signal down to baseband frequency and then digitizes the amplitude of the complex envelope of the downconverted signal. Transmitter sensing receiver 207 includes a Down Converter (DNC) 208, a Base Band Filter (BBF) 209, and an Analog-to-Digital Converter (ADC) 210. The complex envelope of the downconverted signal is sampled at a number of different times by ADC 210, thereby generating a set of sample x-y data points. The x values of these points represent baseband envelope input values and are denoted x1, x2 . . . xN. The y values of these x,y sample data points represent baseband envelope output values and are denoted y1, y2 . . . yN.
As represented by block 211, a generic model function is determined. The generic model function is made up of constituent functions. In the specific example set forth in
As represented by block 212, compressed sensing is used to fit the generic model function to the set of x,y sample points. In the specific example set forth in
Subsequently and during normal circuit operation, as represented by block 214, for each incoming baseband input value u the corresponding predistorter output value x is determined by solving Equation (2) below for x:
a
1
*x+a
2
*x|x|
2
+a
3
*x|x|
4
. . . a
M
*x|x|x|
2M-2
=b*u (2)
where b is a desired linear gain of the transmitter, typically b=a1. In some examples, a lookup table (LUT) is used (to convert an incoming u value into a corresponding predistorted x value) rather than performing computations to solve an equation such as Equation (2) for each incoming u value.
The functional components of predistorter 202 as illustrated in
In another example, the calculating of coefficients is not done on the cellular telephone, but rather sample points are collected on the cellular telephone and are periodically sent from the cellular telephone to a base station where another processor does the calculating and then the base station sends back the determined coefficients to use to the cellular telephone. The cellular telephone receives the determined coefficients and uses them to recalibrate the predistorter of the cellular telephone.
The amount a predistorter can reduce distortion is generally limited to about 10 dB where the model used to model the system is memoryless. In one example, rather that using a memoryless generic model function (for example, a power series), the generic model function is a function that models system memory (for example, a Volterra series). As a result, the generic model function as fitted to the sampled data points models memory effects of the system and allows the predistorter to reduce distortion by approximately 15-20 dB. By further reducing distortion in this way, a more power-efficient power amplifier can be used (a power amplifier that is very power-efficient but that is very nonlinear) that reduces power consumption of the overall device without adversely affecting performance.
If the Volterra function of Equation (3) above is used for the generic model function using even a modest highest degree of nonlinearity, then the number of model coefficients is seen to increase rapidly as a function of the amount of memory length K. For example, as indicated in Table 1, if a nonlinearity degree of nine is to be modeled (2M−1=9 in Table 1), and if a memory length of two is to be modeled (K=2 in Table 1), then the number of model coefficients in the model function is 546. A memory length of two indicates that the current model function output y(n) is a function of not only the current x(n) input value, but also is a function of the two preceding x input values x(n−1) and x(n−2). The LMS method of
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
In one specific example, predistorter 202 of
Although certain specific embodiments are described above for instructional purposes, the teachings of this patent document have general applicability and are not limited to the specific embodiments described above. Accordingly, various modifications, adaptations, and combinations of the various features of the described specific embodiments can be practiced without departing from the scope of the claims that are set forth below.
This application claims the benefit under 35 U.S.C. §119 of Provisional Application Ser. No. 61/328,952, filed Apr. 28, 2010, entitled “Method of Identification and Compensation of System Nonlinearities”, by Vladimir Aparin et al., and of Provisional Application Ser. No. 61/328,947, filed Apr. 28, 2010, by Vladimir Aparin et al., entitled “Method of Identification and Compensation of System Nonlinearities”, by Vladimir Aparin et al., said two provisional applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61328947 | Apr 2010 | US | |
61328952 | Apr 2010 | US |