From: drgz on
Hello,

just looking for some tips of how to simplify my MATLAB code.

I got a PA model from a PA that I've designed, and measured one (I got the AM/AM-, AM/PM, output power vs. input power, etc, curves).

Now I want to simulate how the output spectrum of the PA will look like when I put on amplitude modulated signals (64-QAM, etc). I've written some code which kinda works, but I believe there should be an easier way of doing what I want, but as for now I haven't found one, so I thought maybe someone could come with a tip or two.

What I basically do now is:

x = modulated signal
gain_polynomials = polyfit(input_power,gain_curve,some order that fits the data ok)
x_scaled = x * scaling factor to desired peak power of PA, i.e. scaling to the value of the input power which results in 1 dB compression in the gain curve.
y = x.*polyval(gain_polynomials, abs(x));

As mentioned, this works OK, but I hope and assume there is a better/easier way of doing this. So my question is if anyone can suggest something that I can look into / try.