DSPRelated.com
Forums

Detecting the center frequency of a all-pass filtered sound

Started by pulpogarden 4 years ago6 replieslatest reply 4 years ago164 views

Hi,

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

Cheers,

[ - ]
Reply by dudelsoundNovember 25, 2019
I don't really get the problem, I think... An allpass is a filter that alters the phase only and lets the amplitude of all frequencies of interest unaltered. If a signal has been filtered by an all-pass, this filter can only be determined by directly comparing the filtered and unfiltered signal - do you have the unfiltered signal?
[ - ]
Reply by pulpogardenNovember 25, 2019

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?

[ - ]
Reply by dudelsoundNovember 25, 2019

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

[ - ]
Reply by djmaguireNovember 25, 2019

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 only:

ajr_29509.jpg

 Music + allpassed(Music):

ajrajrf_54437.jpg

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.

[ - ]
Reply by pulpogardenNovember 25, 2019

thanks, as I mentioned in my original post, I do not know the unfiltered signal, so your proposal wouldn't work

[ - ]
Reply by djmaguireNovember 25, 2019

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.