def MOEar(self, correctionType = 'ELC'):
""" Method to approximate middle-outer ear transfer function for linearly scaled
frequency representations, using an FIR approximation of order 600 taps.
As appears in :
- A. Härmä, and K. Palomäki, ''HUTear – a free Matlab toolbox for modeling of human hearing'',
in Proceedings of the Matlab DSP Conference, pp 96-99, Espoo, Finland 1999.
Arguments :
correctionType : (string) String which specifies the type of correction :
'ELC' - Equal Loudness Curves at 60 dB (default)
'MAP' - Minimum Audible Pressure at ear canal
'MAF' - Minimum Audible Field
Returns :
LTq : (ndarray) 1D Array containing the transfer function, without the DC sub-band.
"""
# Parameters
firOrd = self.nfft
Cr, fr, Crdb = self.OutMidCorrection(correctionType, firOrd, self.fs)
Cr[self.nfft - 1] = 0.
# FIR Design
A = firwin2(firOrd, fr, Cr, nyq = self.fs/2)
B = 1
_, LTq = freqz(A, B, firOrd, self.fs)
LTq = 20. * np.log10(np.abs(LTq))
LTq -= max(LTq)
return LTq[:self.nfft/2 + 1]
评论列表
文章目录