from DIT Radix-2 FFT with Bit Reversal by Dinesh Bhati
Decimation in Time Radix2 FFT algorithm by cooley and tuckey

[fh]=myfftcompact(df)
function [fh]=myfftcompact(df)
Nf=length(df);
n=[0:Nf-1];
t=2*pi*n/Nf;
lk=exp(-j*t);
vect3=lk(1:Nf/2);
s=refstr(Nf/2);
x(:,1)=df;
%First Stage
for k=1:Nf/2
    x(2*k-1,2)=x(2*k-1,1)+x(2*k,1);
    if (mod(2*k,4)==0) gh=0; else gh=0;end;
    x(2*k,2)  =((-j)^gh)*(x(2*k-1,1)-x(2*k,1));
end
x(:,2)=x(:,2).*((vect3(s(1,:))).');
pq=3;
N=4;
while(N<=Nf)
su=0;
while(su<=Nf-N)
    ps=log2(N);
    c=ps+1;
    for i=1:N/2
        x(i+su,c)=x(i+su,ps)+x(N/2+i+su,ps);
    end
    for i=1:N/2
        x(i+N/2+su,c)=x(i+su,ps)-x(N/2+i+su,ps);
    end
    su=su+N;
end
if (N~=Nf) x(:,pq)=x(:,pq).*((vect3(s(pq-1,:))).');end;
N=2*N;
pq=pq+1;
end
fh=x;

Contact us at files@mathworks.com