Power Amplifier
Model power amplifier with memory
Libraries:
RF Blockset /
Circuit Envelope /
Elements
Description
The Power Amplifier block models two-port power amplifiers. A memory polynomial expression derived from the Volterra series models the nonlinear relationship between input and output signals. This power amplifier includes memory effects because the output response depends on the current input signal and the input signal at previous times. These power amplifiers are useful when transmitting wideband or narrowband signals.
Examples
Digital Predistortion to Compensate for Power Amplifier Nonlinearities
Use digital predistortion in a transmitter to offset the effects of nonlinearities in a power amplifier.
Power Amplifier Characterization
Characterize a power amplifier (PA) using measured input and output signals of an NXP Airfast PA. Optionally, you can use a hardware test setup including an NI PXI chassis with a vector signal transceiver (VST) to measure the signals at run time.
Parameters
Model — Model type
Memory polynomial
(default) | Generalized Hammerstein
| Cross-Term Memory
| Cross-Term Hammerstein
Model type, specified as Memory polynomial
,
Generalized Hammerstein
,
Cross-Term Memory
, or Cross-Term
Hammerstein
. The following table summarizes the
characteristics of the different models:
Model | Characterization Data | Type of Coefficients | In-Band Spectral Regrowth | Out-of-Band Harmonic Generation |
---|---|---|---|---|
Memory polynomial
(default) | Bandpass (I,Q) | Complex | Yes | No |
Generalized
Hammerstein | True passband | Real | Yes | Yes |
Cross-Term Memory | Bandpass (I,Q) | Complex | Yes | No |
Cross-Term
Hammerstein | True passband | Real | Yes | Yes |
Memory polynomial
– This narrowband memory polynomial implementation (equation (19) of [1]) operates on the envelope of the input signal, does not generate new frequency components, and captures in-band spectral regrowth. Use this model to create a narrowband amplifier operating at high frequency.The output signal, at any instant of time, is the sum of all the elements of the following complex matrix of dimensions :
In the matrix, the number of rows equals the number of memory terms, and the number of columns equals the degree of the nonlinearity. The signal subscript represents amount of delay.
Generalized Hammerstein
– This wideband memory polynomial implementation (equation (18) of [1]) operates on the envelope of the input signal, generates frequency components that are integral multiples of carrier frequencies, and captures in-band spectral regrowth. Increasing the degree of the nonlinearity increases the number of out-of-band frequencies generated. Use this model to create wideband amplifiers operating at low frequency.The output signal, at any instant of time, is the sum of all the elements of the following real matrix of dimensions :
In the matrix, the number of rows equals the number of memory terms, and the number of columns equals the degree of the nonlinearity. The signal subscript represents amount of delay.
Cross-Term Memory
– This narrowband memory polynomial implementation (equation (23) of [1]) operates on the envelope of the input signal, does not generate new frequency components, and captures in-band spectral regrowth. Use this model to create a narrowband amplifier operating at high frequency. The model includes leading and lagging memory terms and provides a generalized implementation of the memory polynomial model.The output signal, at any instant of time, is the sum of all the elements of a matrix specified by the element-by-element product
C .* MCTM,
where C is a complex coefficient matrix of dimensions and
In the matrix, the number of rows equals the number of memory terms, and the number of columns is proportional to the degree of the nonlinearity and the number of memory terms. The signal subscript represents amount of delay. The additional columns that do not appear in the
Memory polynomial
model represent the cross terms.Cross-Term Hammerstein
– This wideband memory polynomial implementation operates on the envelope of the input signal, generates frequency components that are integral multiples of carrier frequencies, and captures in-band spectral regrowth. Increasing the order of the nonlinearity increases the number of out-of-band frequencies generated. Use this model to create wideband amplifiers operating at low frequency.The output signal, at any instant of time, is the sum of all the elements of a matrix specified by the element-by-element product
C .* MCTH,
where C is a complex coefficient matrix of dimensions and
In the matrix, the number of rows equals the number of memory terms, and the number of columns is proportional to the degree of the nonlinearity and the number of memory terms. The signal subscript represents amount of delay. The additional columns that do not appear in the
Generalized Hammerstein
model represent the cross terms.
Coefficient Matrix — Coefficient matrix
1 (default) | complex matrix | real matrix
Coefficient matrix, specified as a complex matrix for the
Memory polynomial
and Cross-Term
Memory
models and as a real matrix for the
Generalized Hammerstein
and
Cross-Term Hammerstein
models.
For the
Memory polynomial
andCross-Term Memory
models, you can identify the complex coefficient matrix based on the measured complex (I,Q) output-vs.-input amplifier characteristic. As an example, see the helper function in Coefficient Matrix Computation.For the
Generalized Hammerstein
andCross-Term Hammerstein
models, you can identify the real coefficient matrix based on the measured real passband output-vs.-input amplifier characteristic.
The size of the matrix depends on the number of delays and the degree of the system nonlinearity.
For the
Memory polynomial
andGeneralized Hammerstein
models, the matrix has dimensions .For the
Cross-Term Memory
andCross-Term Hammerstein
models, the matrix has dimensions .
Measured interval of PA data (s) — Sample interval of input-output data
1e-6
(default) | real positive scalar
Sample interval of the input-output data, which the block uses to define the coefficient matrix, specified as a real positive scalar.
The Coefficient Sample Time (s) parameter has been renamed to Measured interval of PA data (s). (since R2023b)
Note
To improve model accuracy, specify the Measured interval of PA data (s) parameter to be equal to or larger than the Step size parameter in the Configuration block.
Rin (ohm) — Input resistance
50
(default) | real positive scalar
Input resistance, specified as a real positive scalar.
Rout (ohm) — Output resistance
50
(default) | real positive scalar
Output resistance, specified as a real positive scalar.
Ground and hide negative terminals — Ground RF circuit terminals
on (default) | off
Select this parameter to ground and hide the negative terminals. Clear the parameter to expose the negative terminals. By exposing these terminals, you can connect them to other parts of your model.
Tips
To avoid the nonlinear power amplifier to operate in an undesirable region, the Simulink® input signal must be scaled. This happens when a nonlinear power amplifier in the RF domain is used to amplify a Simulink signal.
Algorithms
Coefficient Matrix Computation
To compute coefficient matrices, the block solves an overdetermined linear system
of equations. Consider the Memory polynomial
model for
the case where the memory length is 2 and the system nonlinearity is of third
degree. The matrix that describes the system is
and the sum of its elements is equivalent to the inner product
If the input to the amplifier is the five-sample signal [x(1) x(2) x(3) x(4) x(5)] and the corresponding output is [y(1) y(2) y(3) y(4) y(5)], then the solution to
which can be found using the MATLAB® backslash operator, provides an estimate of the coefficient matrix.
The treatment of the Cross-Term Memory
model is
similar. The matrix that describes the system is
and the sum of its elements is equivalent to the inner product
If the input to the amplifier is the five-sample signal [x(1) x(2) x(3) x(4) x(5)] and the corresponding output is [y(1) y(2) y(3) y(4) y(5)], then the solution to
provides an estimate of the coefficient matrix.
Use this helper function to compute coefficient matrices for the
Memory polynomial
and Cross-Term
Memory
models. The inputs to the function are the given input and
output signals, the memory length, the degree of nonlinearity, and the absence or
presence of cross terms.
function a_coef = fit_memory_poly_model(x,y,memLen,degLen,modType) % FIT_MEMORY_POLY_MODEL % Procedure to compute a coefficient matrix given input and output % signals, memory length, nonlinearity degree, and model type. % % Copyright 2017 MathWorks, Inc. x = x(:); y = y(:); xLen = length(x); switch modType case 'memPoly' % Memory polynomial xrow = reshape((memLen:-1:1)' + (0:xLen:xLen*(degLen-1)),1,[]); xVec = (0:xLen-memLen)' + xrow; xPow = x.*(abs(x).^(0:degLen-1)); xVec = xPow(xVec); case 'ctMemPoly' % Cross-term memory polynomial absPow = (abs(x).^(1:degLen-1)); partTop1 = reshape((memLen:-1:1)'+(0:xLen:xLen*(degLen-2)),1,[]); topPlane = reshape( ... [ones(xLen-memLen+1,1),absPow((0:xLen-memLen)' + partTop1)].', ... 1,memLen*(degLen-1)+1,xLen-memLen+1); sidePlane = reshape(x((0:xLen-memLen)' + (memLen:-1:1)).', ... memLen,1,xLen-memLen+1); cube = sidePlane.*topPlane; xVec = reshape(cube,memLen*(memLen*(degLen-1)+1),xLen-memLen+1).'; end coef = xVec\y(memLen:xLen); a_coef = reshape(coef,memLen,numel(coef)/memLen);
Power Amplifier Block Icons
Power Amplifier block mask icons are dynamic and show the current type of model. This table shows you how the icons on this block vary based on the model type you set on the Model parameter on the block.
Model: Generalized Hammerstein | Output: Memory polynomial | Output: Cross-Term Memory | Output: Cross-Term Hammerstein |
---|---|---|---|
|
|
|
|
References
[1] Morgan, Dennis R., Zhengxiang Ma, Jaehyeong Kim, Michael G. Zierdt, and John Pastalan. "A Generalized Memory Polynomial Model for Digital Predistortion of Power Amplifiers." IEEE® Transactions on Signal Processing. Vol. 54, No. 10, October 2006, pp. 3852–3860.
[2] Gan, Li, and Emad Abd-Elrady. "Digital Predistortion of Memory Polynomial Systems using Direct and Indirect Learning Architectures." In Proceedings of the Eleventh IASTED International Conference on Signal and Image Processing (SIP) (F. Cruz-Roldán and N. B. Smith, eds.), No. 654-802. Calgary, AB: ACTA Press, 2009.
Version History
Introduced in R2017bR2023b: Parameter of Power Amplifier block from Circuit Envelope library renamed
The Coefficient Sample Time (s) parameter in the Power Amplifier block in the Circuit Envelope library has been renamed to Measured interval of PA data (s).
When you open a model created before R2023b containing the Power Amplifier block, the software replaces the Coefficient Sample Time (s) parameter name with Measured interval of PA data (s).
R2021b: Power Amplifier block icon updated
Starting in R2021b, the Power Amplifier block icon is now updated. When you open a model created before R2021b containing a Power Amplifier block, the software replaces the block icon with the R2021b version.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)