Advanced topics
We will continue the Matlab for this in a moment, but first consider the next two
operations that must be performed in conjunction with this process.
7.1.3
Critical band function convolution
The critical band descriptions of Equation (4.1) need to be convolved with the warped
spectrum. This generates a critical band power spectrum,
(
i
), with the 40-band
resolution mentioned previously:
(
i
) =
2.5
=−1.3
P
( −
i
) ().
(7.2)
The scaling for an 8 kHz sampling system will be between 0 Bark (0 Hz) and 15.575
Bark (4 kHz) in equal spaced bins.
7.1.4
Equal-loudness pre-emphasis
The base frequency selectivity of human hearing is generally approximated by the A-
weighting curve of Section 4.2.1, which itself has been nicely approximated in the
frequency domain by several authors, most notably by Hermansky [4]:
E
(ω) =
ω
4
(ω
2
+ 56.8 × 10
6
)
(ω
2
+ 6.3 × 10
6
)
2
(ω
2
+ 0.38 × 10
9
)
.
(7.3)
It should also be noted from the original source that Equation (7.3) is only accurate up
to about 5 kHz (which is beyond what we require). If higher frequencies are to be used
then a further term should be added to better match the upper frequency region of the
A-weighting curve:
E
(ω) =
ω
4
(ω
2
+ 56.8 × 10
6
)
(ω
2
+ 6.3 × 10
6
)
2
(ω
2
+ 0.38 × 10
9
)(ω
6
+ 9.58 × 10
26
)
.
(7.4)
In Matlab we can define an equal-loudness mapping (for a 128-element spectrum
array):
for k=1:128
w=4000*2*pi*k/128;
Eql(k)=(((56.8*(10ˆ6))+(wˆ2))*(wˆ4)) /
((((6.3*(10ˆ6))+(wˆ2))ˆ2) *
((0.38*(10ˆ9))+(wˆ2)));
end
and with that we can put together the entire mapping so far into our perceptual model:
b4k=f2bark(4000); %Bark frequency of 4kHz
Do'stlaringiz bilan baham: |