function [ signal_SSPA ] = sspa(signal,SYS,i)

%========================================================================
% Simula un amplificador de potencia de estado sólido (SSPA) según el
% modelo de Rapp
%========================================================================

mean(abs(signal));                                           % calcula la amplitud media de la señal de entrada al SSPA
Asat=10.^(SYS.IBO(i)/20).*mean(abs(signal));                 % calcular la amplitud de saturación del SSPA para un IBO y potencia media de señal
abs_signal_SSPA = abs(signal)./((1+((abs(signal)./Asat).^(2*SYS.p))).^ (1/(2*SYS.p))) ;    % Módulo de la señal tras pasar por el SSPA
angle_signal_SSPA = angle(signal) ;                         % Fase de la señal tras pasar por el SSPA
signal_SSPA = abs_signal_SSPA.*exp(j*angle_signal_SSPA) ;   % Señal tras pasar por el SSPA


end

