Abstract:
An improved DPD system includes a predistortion module having at least one predistortion function. The predistortion module is configured to receive and subsequently process a baseband signal. The system also includes a power amplifier configured to receive the processed baseband signal from the predistortion module. The system further includes a model calculator configured to program priorities for predistortion functions so that the processed baseband signal transmitted from the predistortion module corresponds to the transmission power of the power amplifier. The model calculator is further configured to send a trigger signal to indicate when data capture from the power amplifier should begin so as to update the predistortion functions. A trigger module in the system is configured to receive the trigger signal and to initiate data capture from the power amplifier upon receipt of the trigger signal.

Description:
PRIORITY 
       [0001]    Priority is claimed to PCT Patent Application No. PCT/CN2010/072008 filed Apr. 21, 2010, and PCT Patent Application No. PCT/CN2010/074095 filed Jun. 18, 2010, the disclosures of which are incorporated herein by reference in their entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The field of the present invention is digital predistortion (DPD) systems, and in particular, to an improved capture buffer (CB) which is often used in DPD systems. 
       BACKGROUND 
       [0003]    DPD systems are often employed in communications system transmitters to allow a power amplifier to be driven into its non-linear region. In a typical DPD prior art system, a baseband signal is processed by a predistorter. The predistorter is a nonlinear device which creates a signal that is forwarded to the nonlinear power amplifier, such that the cascade of the nonlinear predistorter and the nonlinear power amplifier produces a system that is linear overall. Thus, the signal being sent from the nonlinear device to an antenna is simply a scaled up version of the signal that arrived from the baseband. 
         [0004]    The baseband signal comes in and is sent through a total of N pdf  predistortion functions. Power amplifiers typically have different characteristics at different transmission power levels. Hence, different predistortion functions are typically needed to correct power amplifier performance at different transmission power levels. The number of predistortion functions (N pdf ) depends on the power amplifier being used because different power amplifiers require a different number of predistortion functions. Each predistortion function is responsible for linearizing a power amplifier when the power amplifier is transmitting inside a specific transmission power range. For every possible average transmission power, there may be only a single predistortion function responsible for linearization. 
         [0005]    The particular predistortion function that is used is determined by the actions of a power estimator, a slicer, and a multiplexer. The power estimator produces estimates of the baseband signal power or, in effect, the power amplifier&#39;s transmit power. The power estimates are forwarded to the slicer which examines the power estimate and determines which predistortion function is responsible for linearizing the power amplifier at that particular transmission power level. The input to the slicer is the current estimated power value and the output is a number between 1 and N pdf  indicating which predistortion function should be used to predistort the power amplifier. 
         [0006]    Often the characteristics of the power amplifier change with time and it is necessary to periodically update the characteristics of the predistorter. These periodic updates are under the control of a predistortion model calculator which first sends a signal to a capture buffer indicating that it should capture and record the data going into the power amplifier and the data coming out of the power amplifier. The capture buffer is rather simple and upon the receipt of a trigger signal, it begins blindly recording samples into its memory buffer until it has recorded the appropriate number of samples. The amount of data to record will vary based on different types and models of power amplifiers, but will typically be in the range of several thousand samples. After the capture buffer has finished capturing data, the predistortion model calculator reads the data from the memory buffer and then processes the data so as to update the predistortion functions. 
         [0007]    The predistortion function that is updated is chosen based on the average power of the signal coming out of the power amplifier. The predistortion function which will be updated is the predistortion function which is responsible for linearizing the power amplifier at the power level that was measured on the output of the power amplifier. 
         [0008]    A significant limitation with the prior art is that the trigger affects the capture of a random set of data. The trigger signal arrives at a random moment in time without any regard to the signal that is currently being sent through the power amplifier. For example, a power amplifier can often be linearized quite well when it is transmitting at a fixed average transmission power level for some time. If the transmission power level changes, after some time, it will also be possible to linearize the power amplifier at the new average transmission power level. However, during a change in transmission power from one level to another, there will be some time when the power amplifier&#39;s characteristics are transitioning from one power level to another. During these transient periods, the power amplifier behaves somewhat unpredictably and is rather difficult to linearize. Because of the random timing of the trigger signal, it is possible that the capture buffer will capture data during one of these transient periods. If data from one of these transient periods is used to update a predistortion function, that predistortion function will only be able to linearize data during a transition period. Therefore, if the power amplifier transmits data at a fixed transmission power, this predistortion function will not be able to linearize the power amplifier and poor performance will result. 
         [0009]    For the purposes of further explanation, suppose that a power amplifier has been transmitting at a transmission power level of P max  for a long period of time. Further suppose that the transmission power changes to P max −5 dB and that this particular power amplifier takes 1 ms to reach its new steady state. If data is captured after the transmission power has been reduced, but before the power amplifier has reached its new steady state, the captured data would describe the performance of the power amplifier during this transient state and cannot be used to create a predistortion function. It would therefore be beneficial if a mechanism existed that could prevent the capture buffer from capturing transient data. 
         [0010]    A further discrepancy with the prior art described above becomes apparent in a situation where the transmission power level may be stable for long periods of time, but the transmission power level can change abruptly for short periods of time. For example, in a lightly loaded WCDMA (Wideband Code Division Multiple Access) transmitter that supports a High Speed Downlink Power Amplifier (HSDPA), it is a regular occurrence that the power amplifier may transmit at a transmission power level of Pmax−10 dB for an extended period of time. If a mobile station is scheduled to receive a downlink transmission that is rather short in length, it is possible for the transmission power to suddenly jump to P max  for a short amount of time (perhaps 2 ms) and then drop back down to P max −10 dB after the transmission to the mobile station has been completed. 
         [0011]    With a random trigger, the probability of capturing data while the power amplifier is transmitting at P max  is very low. For example, if these 2 ms transmissions only appear once per second, the probability of capturing data while the power amplifier is transmitting at P max  is only about 1 in 500. This is a problem because the predistortion functions need to be updated regularly as the power amplifier&#39;s characteristics change. If the predistortion function that is used at a transmission power of P max  is not updated regularly, the power amplifier may slowly lose performance at that transmission power level resulting in a decreased capacity and increased adjacent channel interference. 
         [0012]    Therefore, it would also be beneficial if a mechanism existed that would ensure that predistortion functions that have not been trained in a long time be properly updated, even if data to update these predistortion functions is difficult to find. 
       SUMMARY OF THE INVENTION 
       [0013]    An aspect of the invention may be directed to an improved DPD system which includes a predistortion module comprising at least one predistortion function and configured to receive a baseband signal and configured to process the baseband signal. The system may also include a power amplifier configured to receive the processed baseband signal from the predistortion module. The system may further include a model calculator configured to program priorities for predistortion functions so that the processed baseband signal transmitted from the predistortion module corresponds to the transmission power of the power amplifier. The model calculator is also configured to send a trigger signal indicating when data capture from the power amplifier should begin so as to update the predistortion functions. A trigger module in the system is configured to receive the trigger signal and to initiate data capture from the power amplifier upon receipt of the trigger signal. The trigger module is further configured to send an advance trigger signal to a capture buffer to capture data from the power amplifier to be used by the model calculator in updating predistortion functions. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  illustrates an example of a typical digital predistortion (DPD) system as is known in the art; 
           [0015]      FIG. 2  illustrates a detailed representation of a predistorter as is known in the art, for use in known DPD systems; 
           [0016]      FIG. 3  illustrates an example of an improved DPD system; 
           [0017]      FIG. 4  illustrates an intelligent trigger module for use in a DPD system; 
           [0018]      FIG. 5  illustrates a logical reasoning module for use in a DPD system; and 
           [0019]      FIG. 6  illustrates processing steps implemented in a DPD system. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0020]    Aspects of the present invention are directed to an improved capture buffer used in digital predistortion (DPD) systems. In order to fully describe the embodiments of the invention, a known DPD system is illustrated in  FIG. 1  and described below for a full understanding of the invention. As is known to those skilled in the art, DPD systems are often employed in communications system transmitters to allow a non-linear power amplifier to be driven into its non-linear region. A baseband signal  6  is processed by a predistorter  2 . The predistorter  2  creates a signal that is forwarded to the power amplifier  1 . 
         [0021]    Note that in  FIG. 1 , the power amplifier  1  is the so-called baseband representation of the power amplifier  1 . It is known that in an actual communications system, the baseband signal going to the power amplifier  1  would be up-converted in frequency to the transmission medium&#39;s carrier frequency for transmission where it would be amplified by the power amplifier  1 . Furthermore, to observe the output of the power amplifier  1 , the output of the power amplifier  1  would be down-converted back to a baseband signal and then sampled. Because all of these operations, such as up-conversion, down-conversion, sampling, and D/A conversion, are not relevant to the description of this invention, the power amplifier  1  is modeled by its so-called baseband representation. 
         [0022]      FIG. 2  illustrates a detailed representation of a known predistorter  2 . An incoming baseband signal  6  is sent through a total of N pdf  predistortion functions  8 . Because power amplifiers typically have different characteristics at different transmission power levels, different predistortion functions  8  are typically needed to correct power amplifier performance at different transmission power levels. For example, a first predistortion function  8   a  may be used to linearize the power amplifier  1  when the power amplifier  1  is transmitting at an average transmission power level greater than P max −0.5 dB, where P max  indicates the maximum average transmission power that the power amplifier  1  is expected to transmit. A second predistortion function  8   b  may be used to linearize the non-linear power amplifier  1  when it is transmitting at a power level between P max −1.5 dB and P max −0.5 dB. 
         [0023]    Because different power amplifiers require a different number of predistortion functions, the number of used predistortion functions (N pdf ) depends on the power amplifier being used. For example, in a well-behaved non-linear power amplifier, a single predistortion function may be able to linearize the non-linear power amplifier through a wide range of average transmission power values. For example, a single function may be able to linearize a particular power amplifier model for all average transmission powers greater than P max −4 dB. However, a different predistortion function may be required by the same power amplifier for average transmission powers between P max −4 dB and P max −8 dB. A different non-linear power amplifier model may not be so well behaved and may require predistortion functions for transmission power ranges spaced 1 dB apart. Thus, each predistortion function is responsible for linearizing the power amplifier when the power amplifier is transmitting within a specific transmission power range. Therefore, for every possible average transmission power, there will only be one predistortion function responsible for linearization. 
         [0024]    The particular predistortion function  8  used is determined by the actions of a power estimator  9 , a slicer  17 , and a multiplexer  10 . The power estimator  9  produces estimates of the baseband signal power or, in effect, the non-linear power amplifier&#39;s transmit power. Several algorithms are generally known that can be used to estimate the power of a signal. In one particular algorithm, the average of the square of the absolute value of several samples is computed. The number of samples to be averaged varies depending on the desired accuracy of the power estimator. In another algorithm, the square of the absolute value of the signal may be sent through an alpha filter which performs long term averaging. By adjusting the alpha value of the filter, more averaging can be used to produce more accurate estimates of the power of the signal. 
         [0025]    The power estimates are forwarded to the slicer  17  which examines the power estimate and determines which predistortion function is responsible for linearizing the power amplifier  1  at that particular transmission power level. The input to the slicer  17  is the current estimated power value, and the output is a number between 1 and N pdf , indicating which predistortion function  8  should be used to predistort the power amplifier  1 . 
         [0026]    Returning to  FIG. 1 , because the characteristics of the power amplifier  1  change with time, it is sometimes necessary to periodically update the characteristics of the predistorter  2 . Thus, a predistortion model calculator  4  sends a signal to a capture buffer  3  indicating that the capture buffer  3  should capture and record data going into the power amplifier  1  and the data coming out of the power amplifier  1 . Upon receipt of a trigger signal  5 , the capture buffer  3  begins recording samples into its memory buffer until it has recorded an appropriate number of samples. The amount of data to record will vary based on different types and models of power amplifiers, but will typically be in the range of several thousand samples. 
         [0027]    After the capture buffer  3  finishes the data capturing, the predistortion model calculator  4  reads the data from the memory buffer and processes the data so as to update the predistortion functions  8 . Several algorithms exist whereby the captured data can be analyzed and used to update the predistortion functions  8 . For example, a simple algorithm is a memory-less polynomial algorithm which models the power amplifier  1  as a memory-less nonlinear device. By analyzing the input and output data of the power amplifier  1 , the predistortion model calculator  4  can calculate the nonlinear performance of the power amplifier  1  and then calculate an inverse mapping to counteract the nonlinear effects of the power amplifier  1 . This inverse mapping is then used as a predistortion function  8 . 
         [0028]    The predistortion function  8  that is updated is chosen based on the average power of the signal coming out of the power amplifier. The predistortion function which will be updated is the predistortion function which is responsible for linearizing the power amplifier  1  at the power level that was measured on the output of the power amplifier. The predistortion model calculator  4  is often implemented as a digital signal processor and operates at a very slow rate. For instance, the sampling rate of the data going through the DPD system might be on the order of several 100 MHz. However, the predistortion model calculator  4  often operates at a speed that is many orders of magnitude slower than 100 MHz. Consequently, although the clock rate of the DSP may also be several 100 MHz, a single predistortion function update may take between 1 and 10 seconds to complete. 
         [0029]      FIG. 3  illustrates an example of a system that may be used to solve these limitations of the prior art DPD system. Similar to the system illustrated in  FIG. 1 , a baseband signal  6  is processed by a predistorter  2  which creates a signal which is sent to a power amplifier  1 . Often, the characteristics of the power amplifier  1  change with time and it is necessary to periodically update the characteristics of the predistorter  2 . When it is time to analyze power amplifier performance to update the predistorter  2 , an intelligent predistortion model calculator  21  programs a set of priority codes and then sends a signal  22  to the intelligent trigger module  11  that it should begin to search for data to capture from the power amplifier  1 . After data from the power amplifier  1  is successfully captured, the predistortion model calculator  21  processes the data so as to update predistortion functions that correspond to characteristics of the power amplifier  1 . 
         [0030]    The intelligent trigger module  11  may operate when the intelligent predistortion model calculator  21  indicates that a search should be performed though the use of the search signal  22 . This signal may be, for example, an active high signal. If the intelligent predistortion model calculator  21  transmits the signal  22  which indicates to the intelligent trigger module  11  that the value for the search signal  22  is, for example TRUE, the intelligent trigger module  11  will begin searching for data to capture and will not stop searching for data to capture until it receives a value for the search signal  22  that is FALSE from the intelligent predistortion model calculator  21 . 
         [0031]    Therefore, in an aspect of the invention, when the received value for the search signal  22  is FALSE, the intelligent trigger module  11  becomes inactive and does not perform any new captures. Any data captures that were in progress when the value for the received search signal  22  changes from TRUE to FALSE are discarded, but any data captures that were successfully completed before the transition are retained. 
         [0032]    Referring to  FIG. 4  illustrating an aspect of the intelligent trigger module  11 , a baseband signal  6  is sent to a power estimator  23  which averages the instantaneous power of several samples so as to produce an estimate of the current transmission power  16  of the power amplifier  1  during each measurement period. The longer the measurement period (T meas ), the more accurate the power estimates, but also the longer amount of time that it will take to produce a new estimate of the transmission power  16 . The actual length of the measurement period may be chosen by the designer of the system as a tradeoff between estimation accuracy and estimation delay. 
         [0033]    In one aspect of the invention, the power estimator  23  is not allowed to average transmission power measurements between measurement periods. For every measurement period, the power estimator  23  produces a single estimate  16  that is independent of the estimates that it previously produced. 
         [0034]    The estimate of the current transmission power  16  is sent to a power-is-constant module  13  which monitors the average power estimates. When the power-is-constant module  13  first begins searching, a power_is_constant signal  15  is initialized to a FALSE value. The power-is-constant module  13  waits for the first power estimate  16  from the transmission power estimator  23  and the power-is-constant module  13  initializes an average power signal to be equal to the value of the first power estimate  16 . The power-is-constant module  13  then enters a main loop. 
         [0035]    Inside this main loop, the power-is-constant module  13  waits for the next power estimate  16  to arrive from the power estimation module  23 . The next power estimate value  16  is compared against the stored average power value to determine if the average signal power being sent through the power amplifier has changed significantly. This is done by the use of two constants, dep_high and dep_low. The dep_high and dep_low constants determine the highest estimated transmission power and the lowest estimated transmission power, respectively, that are allowed before the system considers that the transmission power is no longer being held constant. For example, if dep_high is set to 1.122 and dep_low is set to 0.891, the system will allow the estimated power to vary from the average power by up to 0.5 dB in either direction before it forces the value of power is_constant value signal  15  to be FALSE. 
         [0036]    If a single power estimate value is outside of the range determined by average power field, dep_high, and dep_low, the value of power_is_constant signal is set to FALSE, a counter is set to 0, and average power signal is re-initialized to the current power estimate. If the current power estimate value  16  is within the range determined by average power field, dep_high, and dep_low, the counter is increased by 1 and the value of the average power signal is updated according to the following equation: 
         [0000]      avg_power=alpha*power_est+(1-alpha)*avg_power;   Eq. 1
 
         [0037]    In other words, an alpha filter will be used to average the power estimate values  16  as they arrive from the power estimation module  23 . The alpha parameter is chosen so as to allow a certain amount of variation in the average transmission power of the power amplifier  1  before the power is_constant value signal  15  is forced to be FALSE. A low value of alpha will cause an average power value to change very slowly and thus, only very slow changes in average transmission power will be accepted before the value of the power_is_constant value signal  15  is forced to be FALSE. A large value of alpha will cause the average power value to change relatively quickly and will allow more rapid average transmission power changes before the value of the power_is_constant value signal  15  is forced to be FALSE. 
         [0038]    The actual value of alpha is determined by the characteristics of the power amplifier and by the length of time the power amplifier takes to reach steady state when the transmission power changes. If the power amplifier  1  takes a long time to reach steady state, then a low value is used for alpha. If the power amplifier  1  reaches a steady state quickly, then a larger value of alpha may be used. 
         [0039]    After the average power value is updated, the counter is checked to see if it is greater than or equal to the value of a pic_min_run_length field. If it is, the value of power_is_constant value signal  15  is set to TRUE which indicates that the power amplifier&#39;s transmission power has not changed significantly for at least pic_min_run_length T meas  measurement periods. If the counter is less than pic_min_run_length, then this indicates that although the power amplifier&#39;s transmission power has been stable for several T meas  measurement periods, not enough measurement periods have passed so as to consider the power amplifier to be in a steady state condition. 
         [0040]    Therefore, the power-is-constant module  13  will continuously observe the power measurements and produce a signal  15  that indicates that the transmission power of the power amplifier has remained relatively constant for a reasonable amount of time. If the transmission power changes substantially, this module will immediately set the power_is_constant signal  15  to FALSE and wait for the transmission power to re-stabilize for a certain amount of time before it again sets the power_is_constant signal  15  to TRUE. 
         [0041]    The parameters dep_high, dep_low, alpha, pic_min_runlength, and T meas  are chosen and adjusted based on the actual power amplifier that is in use. As an example, a WCDMA power amplifier that recovers relatively quickly from rapid power changes may be able to use the following values: dep_high=1.122, dep_low=0.891, alpha=0.8, pic_min_run_length=3, and T m =0.1 ms. 
         [0042]    The value of the power_is_constant signal  15  is sent to a logical reasoning module  14  which decides when a capture should be initiated and whether the capture was completed successfully or not. 
         [0043]      FIG. 5  illustrates an example of a logical reasoning module. A power estimate signal  16  first goes through a slicer module  17  as described above. The output of the slicer module  17  indicates which predistortion function corresponds to the power level of the power estimate signal  16 . For each predistortion function, a priority code is stored in a predistortion function search priority module  18 . The priority codes stored in the predistortion function search priority module  18  indicate to a trigger generator  19  the priority code of each of the predistortion functions  8 , and this information is used by the trigger generator  19  to decide whether to begin a capture or not. 
         [0044]    According to aspects of the present invention, before any capture can be initiated, the trigger generator  19  first checks to see if a power_is_constant signal  15  is set to TRUE. If this signal is TRUE, the trigger generator  19  then checks the priority code of the predistortion function that appears on the output of the slicer  17 . If the priority code of the function on the output of the slicer  17  is higher than the priority code of the data currently stored in the holding buffer (or if the holding buffer is empty), an advanced trigger signal is sent to the capture buffer  20 , shown in  FIG. 3 , to indicate that it should begin capturing data. 
         [0045]    While the data is being captured, the power_is_constant value signal  15  is continuously monitored to ensure that it remains TRUE. If the value of the power_is_constant value signal  15  changes to FALSE during the capture, the captured data is discarded and the trigger generator  19  returns to its waiting state where it waits for the power_is_constant value signal  15  to become TRUE again. 
         [0046]    After the data capture has been completed, the trigger generator  19  continues to monitor the power_is_constant value signal  15  for Mom seconds. Because of measurement errors and delays in the power estimation module  23 , the transmission power of the power amplifier  1  may change. However, this change is not noted until slightly after the capture has been completed. By ensuring that power_is_constant value signal  15  remains TRUE for T HOLD  seconds, one can ensure that the transmission power did not in fact change during any part of the capture. 
         [0047]    If power_is_constant value signal  15  becomes FALSE before T HOLD  seconds have elapsed, then the captured data is discarded and the trigger generator  19  again returns to its waiting state where it waits for the power_is_constant value signal  15  to become TRUE again. If the power_is_constant value signal  15  remains TRUE for the entire T HOLD  period, this is considered a successful capture and the data stored in the capture buffer  20  is moved to the holding buffer. Furthermore, the priority code of the data stored in the holding buffer is also stored. The trigger generator  19  again returns to its waiting state where it waits for the power_is_constant value signal  15  to become TRUE again. Note that after a successful capture, a new capture will only be initiated if the power amplifier  1  starts transmitting at a power level whose predistortion function  8  has a priority code higher than the priority code of the data stored in the holding buffer. 
         [0048]    For example, suppose that a DPD system is composed of three predistortion functions ( 8   a ,  8   b , and  8   c ) that are responsible for predistortion for transmission power ranges [Int P max −4 dB), [P max −4 dB, P max −8 dB), [P max −8 dB, 0] respectively where the notation [A,B) represents the range of values that are less than or equal to A and greater than B and the notation [A,B] represents the range of values that are less than or equal to A and greater than or equal to B. Furthermore, suppose that the priority codes of these predistortion functions are assigned the values 20, 10, and 15 respectively. Finally, suppose that the power amplifier is transmitting at a constant average power level of P max −12 dB when a capture buffer search is initiated. Because at the moment of initiating a capture search the holding buffer is empty and the power_is_constant value signal  15  is set to TRUE, a capture will immediately begin and complete successfully. The priority code of the data stored in the holding buffer will be 15 because a transmission power level of P max −12 dB corresponds to the third predistortion function  8   c  which has a priority code of 15. 
         [0049]    Now, suppose that the transmission power changes to P max −6 dB. The power_is_constant value signal  15  changes to FALSE for a period of time as determined by the pic_min_run_length but will shortly return to the value TRUE. The trigger generator  19  will notice the TRUE value on the power_is_constant value signal  15  and will consider initiating a new capture but will not do so because the priority code of the predistortion function that is used for a transmission power of P m −6 dB is only  10 , which is lower than the priority code of the data stored in the holding buffer. Effectively, the data stored in the holding buffer is of more interest than the data currently being transmitted through the power amplifier. Hence, the data currently being transmitted through the power amplifier  1  is ignored. 
         [0050]    Finally, suppose that the transmission power changes one more time to P max . Again, the power_is_constant value signal becomes FALSE for a period of time and again returns to TRUE. This time however, the trigger generator  19  will in fact initiate a new capture because the priority code of the predistortion function  8   a  that is used for a transmission power of P max  is 20, which is higher than the priority code of the data stored in the holding buffer. 
         [0051]    If the capture is completed successfully (i.e., power_is_constant value  15  is TRUE throughout the capture and for T HOLD  seconds after the capture), the newly captured data will be copied to the holding buffer and the old data will be discarded. Effectively, the data being transmitted through the power amplifier  1  is of more interested than the data stored in the holding buffer. Hence, the new data will replace the old data. If, however, the capture is not completed successfully because the power_is_constant value  15  became FALSE, the holding buffer is not changed. Effectively, the data being transmitted through the power amplifier  1  was of more interest than the data stored in the holding buffer, but it was not possible to successfully capture the data. Hence, the data in the holding buffer is retained. 
         [0052]    It should be noted that the priority codes of the different predistortion functions  8  are determined by the intelligent predistortion model calculator  21 . One simple but effective priority code assignment strategy is to assign priority codes based on the amount of time that has elapsed since a particular predistortion function  8  was updated. The longer the amount of time since the last update, the higher the priority code of that predistortion function  8 . When the system is first powered up, all of the predistortion functions  8  can be assigned a priority code of 0. Then, these priority codes can be updated as each predistortion function is updated, one at a time. 
         [0053]    After a certain amount of time, the intelligent predistortion model calculator  21  sets the search signal to FALSE to indicate that searching should stop. It then examines the holding buffer to see if it contains valid data. Note that if the transmission of the power amplifier  1  is constantly changing, it is possible for the power_is_constant value signal  15  to never become TRUE and hence it is possible that data may never be captured. The intelligent predistortion model calculator  21  would then initiate a new search. If data is available, the intelligent predistortion model calculator  21  will read the data and calculate an updated predistortion function  8  as has been described in the prior art. 
         [0054]    One advantage of the aspects of the present invention is that data is not captured during a transient period in the power amplifier&#39;s behavior. For example, if the transmission power though the power amplifier is changing rapidly, no captures will be initiated until the average power amplifier transmission power has become stable for a certain period of time. 
         [0055]    Furthermore, embodiments of the invention will be able to capture interesting data that appears on the power amplifier for a short period of time. For example, if the power amplifier has been transmitting using predistortion function  8   a  for a long period of time and suddenly transmits using predistortion function  8   b  for a short period of time, this invention will be able to react very rapidly and capture data to facilitate the update predistortion function  8   b.    
         [0056]      FIG. 6  illustrates the steps implements in an embodiment of the invention. In Step,  6010 , a baseband signal is received in a predistortion module comprising at least one predistortion function. In Step  6020 , the predistortion module applies one predistortion function to the baseband signal to produce a processed baseband signal. In Step  6030 , a model calculator programs priority codes for each predistortion function so that the processed baseband signal transmitted from the predistortion module corresponds to a transmission power of a power amplifier. In Step  6040 , the model calculator sends a trigger signal to indicate when data capture from the power amplifier should begin so as to collect data to be used in updating predistortion functions. In Step  6050 , a trigger module receives the trigger signal and initiates data capture from the power amplifier upon receipt of the trigger signal. In Step  6060 , the trigger module sends an advance trigger signal to a capture buffer to capture data from the power amplifier. In Step  6070 , the model calculator uses the capture data to update the predistortion functions. The processed baseband signal transmitted from the predistortion module to the power amplifier corrects performance of the power amplifier at different transmission power levels. 
         [0057]    While aspects of this invention have been shown and described, it will be apparent to those skilled in the art that many more modifications are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the following claims.