www.pudn.com > jaguar2s.zip > rad4.M


function y = rad4(x,n,N,fwd) 
   
% take in 4 samples, and output 4 samples 
%perform radix four conversion on  x 
 
xtmp=x(4); 
if (fwd==0) 
   x(4) = x(2); 
   x(2) = xtmp; 
end; 
 
W1 = 2*pi*1*(n-1)/N; 
W2 = 2*pi*2*(n-1)/N; 
W3 = 2*pi*3*(n-1)/N; 
 
%this requires 8 complex(16 real) adders) and 3 complex multiplies 
s1=real(x(1))+ real(x(3)); 
s2=real(x(1))- real(x(3)); 
s3=imag(x(1))+ imag(x(3)); 
s4=imag(x(1))- imag(x(3)); 
s5=real(x(2))+ real(x(4)); 
s8=real(x(2))- real(x(4)); 
s7=imag(x(2))+ imag(x(4)); 
s6=imag(x(2))- imag(x(4)); 
 
s9=s1+s5; 
s10=s3+s7; 
s11=s2+s6; 
s12=s4-s8; 
s13=s1-s5; 
s14=s3-s7; 
s15=s2-s6; 
s16=s4+s8; 
 
y(1) = s9 + j*s10; 
y(2) = fftmult((s11 + j*s12),W1,fwd); 
y(3) = fftmult((s13 + j*s14),W2,fwd); 
y(4) = fftmult((s15 + j*s16),W3,fwd);