I am going to do some kind of transformation and transform a data to another domain, and again back to the first domain. For this, I take a fourier transform of the data and separate the positive part and I use the positive frequencies only.

I know that for example in the frequency domain of a wavelet we have positive and negative frequencies. what will be the effect of using only positive frequencies?

  • $\begingroup$ What do you do with the negative frequencies? Do you set their values to zero or do you reduce the original vector size? $\endgroup$ – Matt L. Jan 1 '15 at 17:46
  • $\begingroup$ @MattL.I don't consider them. I reduce the original vector size $\endgroup$ – user3482383 Jan 2 '15 at 7:40
  • $\begingroup$ The positive and negative frequency results combine to cancel out imaginary data components. So from positive frequencies only, you end up with complex data instead of real data when you transform back via a generic IFFT. $\endgroup$ – hotpaw2 Jan 4 '15 at 5:22
  • $\begingroup$ Where are the "negative frequencies" costing you? They are just the complex conjugate of the positive ones. In addition, if you aren't too wedded to FFT then there is another transform that doesn't have negative frequencies. If your interested I will look it up; I have forgotten the name. $\endgroup$ – rrogers Jan 7 '15 at 14:38

You can do things that way, but unless you're manipulating things properly, you won't get the right answer. A procedeure for doing a N=32 point example is:

1) generate 32 point time domain data, 2) forward transform it, 3) divide results by 32, 4) multiply positive frequencies by 2 (frequencies f= 1 to 15), 5) zero negative frequencies (frequencies f=17 to 31), 6) inverse transform it, 7) ignore the imaginary outputs.

The real results of the above procedure will match the original input waveform.

Note that in the above, you don't multiply the f=0 or f=N/2 outputs of the FFT by 2. For this case (N=32 - an even number), they are unique - they don't have negative frequency counterparts. Now if you're using an appropriate FFT routine that allows for odd N, then you have to account for the fact that you'll have an f=0 point, but no f=N/2 point.

Unless you are doing very large FFT's, you're probably not going to save much in the way of processing time by using just the positive frequencies.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.