would it be possible to detect the center frequency at which an audio signal has been all-pass filtered from a recording of it? I assume that if you know the IR of the loudspeaker, mike, and room (measured at the same locations were the loudspeaker and microphone were located) used in the transmission and recording, this could be possible. But before embarking on this fun (?) project, I was wondering if you have any comments, or if this has been done before...
No, I assume I don't have the unfiltered signal but I know the signal has been all-pass filtered. I also know that at the center frequency of the all pass-filter there's a 180 degree change, so I'm wondering if this is enough information to detect the said center frequency of the all-pass filter... does it make sense?
It might work, but only if you have at least statistical information about the source signal - if it is a mastered pop music signal I wouldn't waste any effort since the phase relation between frequencies is pretty random (many different sound sources added up - voice and drums for example). But if the sources signal is speech only, you might be able to extract some statistical information like this (I'm only guessing for illustration - don't take the following as the truth):
You might be able to observe that in some vowel - like 'a' - the harmonics have the same phase up to a certain corner frequency. Then you could look for an 'a' in your recorded allpass-filtered signal and compare the phase relations
Late to the party.
If you knew the filter order, I would think that it would be easy enough. You mention a 180deg out-of-phase at the center frequency. That says second order.
So... add the input and output together. You will have some serious attenuation at the center frequency due to the destructive interference that results from the phase distortion.
I just took some music and fed it through a 2nd order allpass in MATLAB.
Music + allpassed(Music):
That dropout is at the center frequency of my allpass. The rest will boil down to the accuracy of the rest of your signal chain.
thanks, as I mentioned in my original post, I do not know the unfiltered signal, so your proposal wouldn't work
I did not see in your first post that you stated that you did not know the unfiltered signal. ...and, upon rereading your first post, I still don't see where you stated it.
But, now I know.