signalVectors G0, G1. i.e. G0(D) = 1 +2D + 3D^2 = [1 2 3] G0(D) = 1/sqrt(SNR). G1(D) = [h0 h1D .. h_(N-1)D^(N-1)] for i = 0,1,...,N_f-1, d = |G0(0)|^2+|G1(0)|^2 l_i(D) = D^i ( G0(D)*G0'(0) + G1(D)*G1'(0) )/d k = G1(0)/G0(0) G0n(D) = G0(D)+k'*G1(D) G1n(D) = (-G0(D)*k+G1(D))/D G0(D) = G0n(D)/sqrt(1+k*k') G1(D) = G1n(D)/sqrt(1+k*k') end