b=headphonefilter(fs,order); b=headphonefilter(fs); b=headphonefilter;
headphonefilter(fs,order) computes the filter coefficients of a FIR filter or order order approximating the combined effect of headphones and the outer ear. The data describes a generic set of headphones, originally from Pralong et al. (1996)
headphonefilter(fs) does the same with a FIR filter of order 512.
headphonefilter without any input arguments returns a table describing the frequency response of the headphone filter. First column of the table contain frequencies and the second column contains the amplitude of the frequency.
The following code displays the magnitude response of the filter:
fs=16000; x=erbspace(0,fs/2,100); b=headphonefilter(fs); H=freqz(b,1,x,fs); semiaudplot(x,10*log10(abs(H).^2)); xlabel('Frequency (Hz)'); ylabel('Magnitude (dB)'); |
E. Lopez-Poveda and R. Meddis. A human nonlinear cochlear filterbank. The Journal of the Acoustical Society of America, 110:3107--3118, 2001.
D. Pralong and S. Carlile. The role of individualized headphone calibration for the generation of high fidelity virtual auditory space. The Journal of the Acoustical Society of America, 100:3785--3793, 1996.