Some Ideas for Further Research
- Use an optimum beamformer to steer a null over the loud speaker.
- Use plain old GSFAP instead
of the block exact version. Although this is slower, it is far easier to
code and work with. Also, it has lower memory requirements which caused me
- Implement a fixed point
version (maybe on a c64x or a c55x if it has enough cycles).
- Try to understand how filter
adaptation effects the CNCC DTD (both my version
and the original).
- Try to understand how
regularization effects the convergence of the
adaptive filter. Too large a value will prevent it from converging far
enough (this is like adding noise). Too small a value will cause the
filter to blow up.
- Find a more effective method
for moving data off the DSP in real-time. This will make it easier to
study what is going on in a real environment.
- Find a way to add more microphones.
- Figure out how to reduce
acoustic and electrical noise. This is a major headache...
- Look into the multiple loud speaker problem.
- Look into the multiple source (human speaker) problem.
- Look into placing the beamformer before the AEC.
- Look into state space
algorithms for dealing with source location in a room. (I've seen a few.)
- Use an IIR non-adaptive
filter to enhance AEC performance or reduce the number of adaptive filter
taps. (See thesis for reference.)
- Use the calculated bearing
lines, sent as time delays over RTDX, to control a video camera mounted on
a stepper motor. Take a look at Dr.
Hoover's advanced microcomputers lab for controlling a stepper motor
from a PC.
- Use the DAA chip to accept
input from a phone call instead of speaker in from the computer.
- Add poles after the beamformer to reduce the number of coefficients on the
adaptive FIR filters.
- Figure out how to correct the
wide beam response (so it doesn't low pass filter the signal).