LAB 9: HUMAN HEARING AND LEAST-SQUARE TRIGONOMETRIC APPROXIMATION
Mathematics:
A human's ear recognizes sound waves, which are variations in time of the air pressure. Sound waves enter the ear with different frequencies and the ear activates signals along neural pathways to the brain with the same frequencies. The signals are interpreted as sound. However, the human's ear recognizes the sound waves having frequencies within a certain range, which is roughly from 20 to 20,000 cycles per second. Therefore, the ear only approximates the incoming sound waves by truncating signals having frequencies outside this range. This project exploits the trigonometric approximation for the model of human hearing.
Let a sound wave p(t) have a saw-tooth pattern with a basic frequency of 2000 cycles per second. Such wave is periodic in time with period T = 1/2000 = 0.0005 second. The function p(t) can be expressed analytically:
p(t) =
and graphically:
The ear recognizes only sinusoidal variations of the air pressure that are trigonometric functions of time:
q(t) = a0 + aj cos+ bj sin + am cos
where (aj,bj) are amplitudes of the sinusoidal components of a complex sound wave, while frequencies of the sinusoidal components j/T are truncated at the integer m such that m/T 20,000. The function q(t) is also periodic with period T.
The sound wave p(t) with period T
is not a finite sum of sinusoidal components, while q(t) is.
Therefore, the sound wave p(t) produces the ear's response q(t)
which is only the approximation of the sound wave, obtained by truncating the
frequencies higher than m./T. The same response is produced if
the sound wave would be q(t).
Amplitudes (aj,bj) of the function q(t) can be found from the least-square trigonometric approximation:
aj = p(t) cosdt, j = 0,1,2,…,m; bj = p(t) sindt, j = 1,2,…,m-1
The least-square trigonometric approximation minimizes the mean square error:
E = [p(t) – q(t)]2 dt
In the example of p(t) given, one can find
analytically that aj = 0;
bj = .
Objectives:
·
Understand
a computational algorithm for the least-square trigonometric approximation
·
Exploit
the trigonometric approximation for different values of m
·
Understand
the Gibbs phenomenon occurring at jump discontinuities of the trigonometric
sums
Let
the interval t [0,T] be
equally spaced partitioned into (n+1) grid points:
ti = , i=1,2,…,n,n+1
Let
n = 2m. The trigonometric approximant q(t) has 2m
coefficients [aj,bj], which are to
be found from equations: p(ti) = q(ti). When
the function p(t) is continuous at the ends of the interval [0,T],
coefficients [aj,bj] can be
computed from direct summation formulas:
aj = p(ti) cos, j = 0,1,2,…,m; bj = p(ti) sin, j = 1,2,…,m-1
When
the function p(t) has a jump at the ends of the interval [0,T],
coefficients [aj,bj] can be
computed from:
aj = p(ti) cos + [p(0) + p(L)], j =
0,1,…,m; bj = p(ti) sin, j = 1,…,m-1
Exploiting
the MATLAB script:
1.
Check
a local error of the trigonometric approximation e(t) = |p(t) – q(t)| for
values of t close to the end-points t = 0 and t
= T.
2.
Check
a local error e(t) = |p(t) – q(t)| for values of t close
to the mid-point t = T/2?
The
least squares trigonometric approximation becomes better as the number of terms
in the approximating trigonometric polynomial q(t) becomes
larger. The mean square error E can be computed from a
trapezoidal rule for numerical integration:
E = ,
where
h is a step size for a tense grid between [0,T]. Theoretically,
the mean square error E tends to zero as the number m
approaches infinity. However, because E is found approximately
from the trapezoidal rule, the mean square error E approaches to
a small constant which is the error of the numerical integration:
However,
the trigonometric approximant q(t) with infinitely many terms
(the Fourier series) may not converge to the original function p(t) at
any value of t in [0,T]. If the function p(t)
has a jump discontinuity at a value t = t0, then the
trigonometric approximant q(t) converges to an average value of p(t)
at the jump point. For example, the sound wave p(t) in our
example has a jump discontinuity at t = 0 and the trigonometric
approximant q(t) converges to 0.5( p(0+) + p(0-) ) = 0.5 (1
– 1) = 0 at the point t = 0. At other points of t in
[0,T], the trigonometric approximant q(t) converges
to the values of p(t), but the local error of the trigonometric
approximation e(t) is not uniformly small for all values of t,
if the function p(t) has a jump discontinuity. The local error e(t)
for sufficiently large value m = 100 is shown here:
Steps
in writing the MATLAB script:
Exploiting
the MATLAB script:
p(t) =
p(t) = ecos t [
cos(sin t) + sin(sin t)]