I'm using FFTW to compute some DFTs, and as a memory space optimization, you can give it a $v \in \mathbb{R}^{n}$ and it will return a $\hat{v} \in \mathbb{C}^{\lfloor n/2 \rfloor + 1}$ via the call fftw_execute_dft_r2c. (To those without context, it's just claiming that since $\overline{\hat{v}_{k}} = \hat{v}_{n-k}$, then you just don't need to care about the top half of the complex vector.)

In addition, you can take $\hat{v}$ back to $\mathbb{R}^{n}$ via fftw_execute_dft_c2r, but of course no one does that, they want to apply some filter to $\hat{v}$ and then call fftw_execute_dft_c2r.

What is the largest class of operations on $\hat{v}$ such that fftw_execute_dft_c2r make sense?

(Clearly, pointwise multiplication by the DFT of another real function is allowed, but it's not clear to me that every bandpass filter produces a sensible output and many other operations seem suspect.)


Obviously any operation is allowed that keeps the symmetry of the frequency domain data intact, i.e. any operation that doesn't add an imaginary part to the time domain sequence. And this is the case for all standard filtering operations unless you want to generate a complex valued (time-domain) signal by some operation. This could be the case if you want to generate an analytic signal, but in that case you actually make two signals out of one (the real part and the imaginary part in the time domain). So for normal low pass, band pass, high pass etc. filtering you don't need to worry. As long as you do things right, the symmetry of the time domain sequence should not be changed by these operations.

  • $\begingroup$ "Keeps the symmetry of the time domain sequence"? $\endgroup$ – user14717 Jun 12 '15 at 19:19
  • $\begingroup$ @user14717: I meant frequency domain, of course. Edited. $\endgroup$ – Matt L. Jun 13 '15 at 7:39
  • $\begingroup$ Now your response is a tautology; could you answer in the form "Given an operator $L$ with these properties, $\mathcal{F}^{1}L\mathcal{F}v \in \mathbb{R}^{n}$. Proof:" $\endgroup$ – user14717 Jun 13 '15 at 16:18
  • $\begingroup$ @user14717: That's why I said "obviously". It's as simple as that. You could think for a moment by yourself and try to give an example of an operation which destroys the symmetry. All of these operations would need to add an imaginary part to the time domain signal. Why should a standard band pass filter etc. do that, unless you actually have two, one generating the real part, the other the imaginary part? If you want an operator then choose any that doesn't destroy the symmetry, it's indeed trivial. Which are the operation that seem 'suspect' to you (as mentioned in your question)? $\endgroup$ – Matt L. Jun 13 '15 at 16:46
  • $\begingroup$ I'm not interested in any particular operation, I'm interested in all operations that "preserve the symmetry" (whatever that is). $\endgroup$ – user14717 Jun 13 '15 at 17:33

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.