>Hello,
>
>i'm looking for a tool or matlab function to convert head related
>transfer functions (impulse responses) into a minimum phase filter +
>corresponding allpass filter (or phase excess in the form of nr of
>samples for the interaural time delay).
>I would also be happy with a dataset that already has been converted.
>I've read through the minimum phase chapter in the oppenheim&schafer
>book, and i think i understand most of it, but have no idea how to let
>matlab do it to the HRTF data.
>I'm a comp science student with no background in dsp, only what ive
>learned myself the past year, and that isnt all that much. I just want
>to use minimum phase hrtf + correstponding ITD in a program I'm writing.
>
Here is the expression for matlab using Hilbert Transform (Article by
Malcolm Hawksford):
c=fft(signal,fftsize);
hmin=real(ifft(exp(conj(hilbert(log(abs(c))))),fftsize));
for the excess phase, just divide element to element in the fft domain,
signal and hmin
There is another direct way with matlab functios using the cepstrum:
try cceps and rceps, its just the same.
Be careful with phase and HRTF, you may loose critical info!
Reply by andre●June 22, 20072007-06-22
Be careful, if you convert your filters to minimum phase, the ITD for a
given direction may be wrong, which is probably unwanted!
Best regards,
Andre
Emile wrote:
> Hello,
>
> i'm looking for a tool or matlab function to convert head related
> transfer functions (impulse responses) into a minimum phase filter +
> corresponding allpass filter (or phase excess in the form of nr of
> samples for the interaural time delay).
> I would also be happy with a dataset that already has been converted.
> I've read through the minimum phase chapter in the oppenheim&schafer
> book, and i think i understand most of it, but have no idea how to let
> matlab do it to the HRTF data.
> I'm a comp science student with no background in dsp, only what ive
> learned myself the past year, and that isnt all that much. I just want
> to use minimum phase hrtf + correstponding ITD in a program I'm writing.
Reply by Emile●June 22, 20072007-06-22
Hello,
i'm looking for a tool or matlab function to convert head related
transfer functions (impulse responses) into a minimum phase filter +
corresponding allpass filter (or phase excess in the form of nr of
samples for the interaural time delay).
I would also be happy with a dataset that already has been converted.
I've read through the minimum phase chapter in the oppenheim&schafer
book, and i think i understand most of it, but have no idea how to let
matlab do it to the HRTF data.
I'm a comp science student with no background in dsp, only what ive
learned myself the past year, and that isnt all that much. I just want
to use minimum phase hrtf + correstponding ITD in a program I'm writing.