function v=ISTFT_overlapadd(B,NFFT,fs,w,noverlap);
% La suma de las ventanas desplazadas debe ser 1

col=length(B(1,:)); % Numero de columnas de B
fil=length(B(:,1)); % Numero de filas de B
N=length(w);

% Hacemos la extension compleja conjugada en R
for k=1:col
    R(1:NFFT,k)=0;
    R(1:fil,k)=B(:,k);
    aux=conj(flipud(B(:,k)));
    R((NFFT-fil+2):NFFT,k)=aux(1:fil-1);
end

r=ifft(R,NFFT);
clear R;

% Ahora reconstruimos
paso=length(w)-noverlap;
%v=zeros((col-1)*paso+NFFT);
ind=1;
v=zeros(NFFT,1);
ventana=zeros(N,1);
for k=1:col
    v(ind:ind+NFFT-1,1)=v(ind:ind+NFFT-1,1)+r(:,k);
    ventana(ind:ind+N-1,1)=ventana(ind:ind+N-1,1)+w;
    ind=ind+paso;
    L=length(v);
    v(L+1:L+paso)=zeros(paso,1);
    ventana(L+1:L+paso)=zeros(paso,1);
    %v(ind+NFFT:ind+NFFT-1+paso,1)=zeros(paso+1,1);
end
v=v.';