Memory polynomial for a power amplifier
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
How to implement the momory polynomial (MP) for a power amlifier (PA) complex data? The MP equation is:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1525731/image.png)
Where:
• y[n] => Instantaneous complex output signal
• x[n-j] => Instantaneous complex input signal
• M => Model memory depth
• N => Model nonlinear order
• a_ji => Model complex coefficients
The problem is that I'm not sure how to go back to the old input "x[n-j]".
Below is a simple example. The expected x_new is a 9x3 matrix. Could someone help me, please?
%% Clean up
% Clear all variables
clear;
% Close all figures
close all;
% Clear command window
clc;
%% Test
x = [20; 40; 60; 80; 100];
y = x.^2;
M = 5;
N = 3;
for j = 3:M
for i = 1:N
x_new(:,i) = x(j:-1:end) .* (abs(x(j:-1:end)).^(i-1));
end
end
a_ji = x_new\y; % Solve systems for linear equation Ax = B (mldivide, \)
y_new = x_new * a_ji; % Memory polynomial output matrix y[n]
0 Kommentare
Antworten (1)
Rajanya
am 13 Aug. 2024
The code provided will always throw an error while calculating “a_ji” because the equation in the loops will end up producing a 0x3 vector and hence the ‘\‘ operator would not work. Assuming you will be having ‘a_ji’ coefficient matrix as input, you can calculate the given equation in the following way:
y = zeros(size(x));
%Run n from 1 to length of input signal maybe,
for j = 1:M+1
if (n-j) > 0
for i = 2:N+1
y(n) = y(n) + a(j, i)*x(n-j)*abs(x(n-j))^(i-2);
end
end
end
%End the outermost loop to get y values for all n.
To avoid any out of bound array accesses, the condition and the indexing have been put accordingly.
Please note that if you don’t have “a_ji” as input and you need to get it using “mldivide” operator (as you have intended to do in the example code), make sure you are producing the correct dimensions of the matrices before performing the operation.
Thanks.
1 Kommentar
Siehe auch
Kategorien
Mehr zu Polynomials finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!