0001 function [eta_tilde, zeta_tilde]=ComputeEtaTilde(Para)
0002
0003
0004
0005
0006
0007
0008
0009 M=Para.nSubcarriers/2;
0010
0011
0012 [pulse, pulse10, ~] = GeneratePrototypePhydyas(M, Para.kappa);
0013 pulse=pulse.*sqrt(1/M);
0014 pulse10=pulse10.*sqrt(1/M);
0015
0016
0017 P00=reshape(pulse.*sqrt(M),2*M,Para.kappa);
0018 D10=reshape(pulse10.*sqrt(M),2*M,Para.kappa);
0019
0020 R00_10=conv2along1(P00,flipud(D10));
0021 S00_10=conv2along1(kron(fliplr(eye(2)),eye(M))*P00,flipud(D10));
0022 Uplus=kron(eye(2),eye(M)+fliplr(eye(M)));
0023 Uminus=kron(eye(2),eye(M)-fliplr(eye(M)));
0024
0025 eta_10_10=1/2/M*trace(R00_10*R00_10'*Uplus+S00_10*S00_10'*Uminus);
0026
0027 eta_tilde=eta_10_10/(2*M)^2;
0028
0029
0030 S00_00=conv2along1(kron(fliplr(eye(2)),eye(M))*P00,flipud(P00));
0031 R00_00=conv2along1(P00,flipud(P00));
0032 R10_10=conv2along1(D10,flipud(D10));
0033 S10_10=conv2along1(kron(fliplr(eye(2)),eye(M))*D10,flipud(D10));
0034
0035 etaminusplus0011=1/2/M*trace(R00_00*R10_10'*Uminus+S00_00*S10_10'*Uplus);
0036 zeta_tilde=etaminusplus0011/(2*M)^2;
0037
0038 end
0039