I can tell you a bit about the origin of CSS use in G.168. CSS was
introduced to us in ITU SG-15/Q7 by Dr. Hans Gerlich of Germany. It
is 44.1KHz because it was used with the artificial head and work done
on perception. This should not be a big problem. You can build the
signnal at 44.1KHz and then resample to 8KHz.
Your first question is a bit more sticky. The solution is closely
held by most manufacturers (including me, at the time). What I can
say is that there were several implementations. Some were based on
performance, and some were based on narrowband detection.
Steve Underwood <email@example.com> wrote in message news:<firstname.lastname@example.org>...
> I am trying to implement a G.168 compliant echo canceller. I'm
> conversant with most aspects of cancellation, including the problems of
> mis-training on signal with strong continuous spectral lines. However, I
> have never been forced to cure this problem before. :-)
> It seems clear there is no way to get a canceller through the G.168
> tests unless it freezes its adaption when the signal is too narrow band.
> My question is how do people usually detect this condition? There is a
> wealth of info on the web about most aspects of cancellers. However, on
> the narrow band topic the only things are find are notes that you need
> to deal with the problem.
> I see several obvious robust solutions, but they require quite a lot of
> computation. Just looking at the energy and declaring its a tone (or say
> DTMF) if the energy is too constant seems to work, but I question its
> robustness. Something makes me think I am missing an obvious
> computationally lightweight solution. Can anyone enlighten me?
> By the by. Does anyone know why the CSS in G.168 is specified at 44.1k
> samples per second, when G.168 seems purely about 8k sample per second