function Gzf=generaGzf(h,L,M,flag)
matriz=matrizifft(L,M);
P=L+M;
aux=zeros(P,M);
Fr=transpose(conj(matriz));
B=1;


    if flag==0
        H=matrizcanalcp(h,L,M);
        R=generaRcp(L,M);
        T=matrizTcp(L,M);
        Ho=R*H*T;
    else
        H=matrizcanalzp(h,L,M);
        R=generaRzp(L,M);
        T=matrizTzp(L,M);
        Ho=R*H*T;
        
    end
    %if B==1
            %matrizcodigos=hadamard(M);
            %codigo=matrizcodigos(:,1);
            %else
            %matrizcodigos=hadamard(M/B);
            %c=matrizcodigos(:,1);   
            %I=eye(B);
            %codigo=kron(I,c);  
            %end
    
    Gzf=Fr*pinv(Ho);
    
    
