Spatial Frequency Transform by doing FFT twice ?? This is for my own knowledge in relations to acoustics. Im trying to determine the location of sound using an array of sensors. Very similar to what they are doing in the webpage given. Im looking at the material at http://cnx.org/content/m12557/latest/?collection=col10255/latest and I am having a hard time understanding how they got to spatial domain by just doing FFT of the time domain signal, then obtaining the frequency they need and then doing an FFT again on that data. How does this work out ?? the "Mentally Visualizing the Spatial Frequency Transform" example doesnt make sense because there are no supporting facts to why it is like that. Can someone direct to some material that explains this easily? The page here http://cnx.org/content/m12562/latest/?collection=col10255/latest says They look at frequency content of the received signals( First FFT) then obtain the frequency component from each received signal that corresponds to a desired frequency and concatenating them into an array. What does it mean by "frequency component". Does it mean the complex number for that desired frequency ? This will mean you just one one value in the array! It then says "We then zero pad that array to a length that is a power of two in order to make the Fast Fourier Transform (FFT) computationally efficient. Once we have assembled our zero padded array of components fo, we can perform the spatial DFT:" So they did another FFT on the complex number which had been zero pad and this gives spatial domain ? Im completely lost It must be right becuase i looked at a matlab script that does something similar: ThisVolts = Volts(IStart:IEnd, :); %Transform to the frequency domain and keep the first half Temp1 = fft(ThisVolts); ThisSpec = Temp1(1:NFreq, :); %Now do a spatial Fourier transform to get wavenumber spectrum Temp = fft(ThisSpec.'); Temp = [Temp(NEl/2+2:end, :); Temp(1:NEl/2+1, :)]; %Move to get zero wavenumber in the right place I am so confused. Any help please?