Phase wrap when computing impulse response from frequency response Short:


I have the frequency response of a system as a set of complex numbers.
I want the impulse response for that system.


Problem: The phase of my frequency response wraps around 2pi multiple times. When I do a IDFT of the frequency response to get an impulse response, how can I be sure the group delays match ones of the original system?

Long:

My naive approach would be to use the sampled frequency response and feed that into an IDFT/IFFT to obtain an impulse response. But the phase information in the complex numbers is quantized to 0..2pi. For example, let system A have an arbitrary frequency response. System B has the same response, but with an additional phase shift of 360° for all frequencies above a certain threshold f0. In the space of their frequency responses in the form of complex numbers, both systems would look identical. If I did the IDFT of system Bs frequency response, I would get an impulse response that doesn't reflect that 360° phase shift because it wasn't reflected in the complex data. Is this correct?

Staying with my actual problem:

For the system in question, I can clearly see from my phase response, that the phase wraps around 2 Pi multiple times. I can reconstruct the actual phase response by unwrapping it with Matlabs unwrap() command as the phase response is relatively smooth. But as soon as I feed this into an IDFT/IFFT I have to quantize the phase into the angle of a complex number again and the information gained from unwrap() is lost again.

For my application, the actual group delays are very important. So I'm looking for a way to reconstruct the correct impulse response, taking into account that the phase information for a certain frequency may actually have an additional N full rotations that are not reflected in the complex numbers.

Or am I simply imagining the problem and systems like system B are actually impossible?
No problem at all. Inverse Fourier Transform is totally blind to phase wrapping. You can add any multiple integers of two pi to any phase and you will still get the exact same impulse response