function Y= memory_saleh_out( x )
% Y= memory_saleh_out( x )模拟功放,根据输入信号得到输出信号
% x表示归一化输入信号,Y表示得到的输出信号
L=length(x);
Out1=zeros(L,1);
Out2=zeros(L,1);
y=zeros(L,1);
for n=1:1:L
Out1(n)=2*abs(x(n))/(1+abs(x(n)).^2);
Out2(n)=(pi/3)*abs(x(n)).^2/(1+abs(x(n)).^2);
s=Out2(n)+angle(x(n));
y(n)=Out1(n)*exp(1j*s);
end
h=[1,-0.05-0.006i,-0.029-0.027i];
h=h/max(abs(h));
Y=zeros(L,1);
for n=3:1:L
Y(n)=h(1)*y(n)+h(2)*y(n-1)+h(3)*y(n-2);
end
Y(1)=Y(3);Y(2)=Y(4);
评论1