- 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?
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?