Цитата(ryhor @ Aug 22 2009, 23:52)

Ну как любят мух отдельно от каклет - смешивать фильтр и адаптивный алгоритм - это на любителя

На любителя разносить их в разные циклы ))
Цитата(ryhor @ Aug 22 2009, 23:52)

Адаптация 20дБ за 1 сек - это очень и очень хорошо - это даже вроде по какому то ИТУшному стандарту, но LMS и даже NLMS ее в среднем обеспечить не могут. Обычно надо несколько секунд.
Стандарт G168 требует адаптацию за одну секунду до -30 дб(на широкополосном сигнале, не на синусоиде, на синусовом сигнале эхоподавители адаптируются плохо) и NLMS её ВСЕГДА обеспечивал с запасом лет 20 уже как. 1 сек, это "не очень хорошо", а 'так себе". Теретически сходимость зависит от собственных значений функции автокорреляции сигнала, длины фильтра, коф. адаптации. Для фильтров длиной 16 мс, используемых наиболее часто в качестве "ближних" эхоподавителей, NLMS адаптируется по g168 на ура. Ш-ш-ш! и всё, какие там секунды... Когда эхоподавитель делал я, это Ш-ш-ш! происходило от щелчка подключения кодека к аналоговой линии. Когда говорун начинал говорить, а слухач слушать реально адаптация уже давно заканчивалась :-)
Если длинный фильтр - 200 мс )) - то тогда да, может быть и проблема с NLMS (устойчивость требует снижать коф. адаптации обратно пропорционально длине адаптивного фильтра), но длинные эхоподавители это особая песня.
Кстати на голосе эхоподавители адаптируются не очень, может с этим и связано отчасти Ваше ошибочное утверждение про несколько секунд. ( Или Вы говорите только о дальних или акустических). Голос - сигнал часто узкополосный. В самых изощрённых эхоподавителях входные сигналы "дифференцируются" отбеливающим фильтром (авторегресией как в вокодерах), а выходные "раскрашиваются" обратным интегрирующим. Время сходимости "на голосе" снижается в разы. Но стандарт говорит о шумоподобном сигнале.
Но я то предлагал попробовать адаптироваться на дельта-функции или шуме, канал связи при этом не подключать, чтобы в ухи не шипело, и вообще делать это отчасти может быть при калибровке.
Цитата(ryhor @ Aug 22 2009, 23:52)

Потом пулять самому шум из своего динамика это конечно тема, но часто вы видели шипяще щелкающие телефоны в природе? Обычно пока дальняя сторона наговаривает нам в динамик местный фильтр успевает настроится и обеспечить отсутсвие эха для нее. Далее - акустический эхо канал устанавливается постепенно - например после того как пару динамик-микрофон к голове приложили он может и поменяться и в дальнейшем опять может поменяться - поэтому примораживать адаптацию на совсем немного "опасно".
Про "двойной разговор"
- Почему это нет DD пока клиент снимает трубку? это типа дано? в реальности к сожалению это совсем не так.
- Любой посторонний шум (речь, звуки) попадающий в микрофон при включенном адаптаторе будут его так сказать неправильно информировать

- на что он будет хладнокровно подстраивать фильтр - в никуда. А то что коэфф адаптации маленький - это только как бы говорит что адаптатор
почти выключен. Т.е. получается что "двойной разговор" "безопасен" когда нет адаптации, а если она все время нужна и достаточно активно?
Я вижу Вам нечего делать и просто хочется поспорить со мной. Вместо того, чтобы помогать вопрошающему автору топика.
Я не говорил, что без DD - лучше. Я говорил, что всё зависит от уровня эха. При слабом, линейном, медленно меняющемся эхе может оказаться,
что кроме линейного LMS ничего больше и не нужно. Сделать LMS, посмотреть как работает, если нет - то переделать в NLMS. Если нет - приделать дабл-ток-детектор и прочие прибабахи (обычно адаптацию выключают не только на даблтоке (сильном принимаемом сигнале с дальнего конца) и но ещё и при слабом передаваемом сигнале). Адаптивный фильтр работает как коррелятор, накопляя коррелированую с входом компоненту выхода. Если коф. адаптации маленький, то он не выключен, просто он накопляет её очень медленно. ( Выключен при малых значениях коэффициента адаптации он действительно получается при 16-разрядной реализации фильтров. Но это просто потеря точности. При хорошей точности вычислений он работает, но неспешно. Почему Вы так уверены, что параметры среды будут меняться быстрее? Кончайте Вы "активно" заниматься словоблудием )
Цитата(ryhor @ Aug 22 2009, 23:52)

Начнем с конца - какой длинны LMS ему таки нужен?

Хватит 32 тапа? или там все 200мс эха?
Ну и как бы ИХ меряется очень просто - посредством измерения ИХ

. Кстати не вижу какие там проблеммы с синхронизацие? пикнул и пиши звук.
а вот LMS с малым коэф. может намерять такого что никакой ИХ не снилось. Как долго давать адаптироваться? Ну в общем то в сферическом (в вакууме) случае они конечно сойдутся к одному и тому же, но все же лучше дейстовать прямыми методами, тем более что они проще и гораздо менее подвержены ошибкам.
Опять Вы торгуетесь как на базаре )) Вопросы всегда есть - с одно стороны, с другой стороны...
Проще всего выяснить практически - сделать 128 тапов и уменьшать (или увеличивать). Если там 200 мс эха, то нужен действительно настоящий акустический эхоподавитель или скорее проще похерить вообще всю эту "трубку", ввиду ограниченности ресурсов процессора.
Хватит ли 32 тапа? Вы кого спрашиваете? Я не знаю. Скорее всего нет. Но есть надежда, что 128 хватит. Почему? Отвечаю сразу, чтобы Вы больше ко мне не цеплялись. Я конечно не знаю, что там за трубка. Всяко бывает. Но опыт такой. Когда-то я делал эхоподавитель для порта FXO, к которому аналоговый телефон подключался напрямую. Можно предположить, что эхо в такой ситуации возникает не только от нескомпенсированости импедансов на гибриде (эхо линии), но включает и прямую аккустическую компоненту с телефонной трубки. Так вот, такое "ближнее эхо" отлично компенсировалось адаптивными фильтрами длиной 12 мс (96 отсчётов), независимо от используемых телефонных аппаратов.
Т.е. незначительное аккустическое эхо присутствует всегда на аналоговых аппаратах. Но это не значит, что нужно всегда использовать сложные аккустические эхоподавители, придуманые больше для громкой связи.
Традиционные "ближние" линейные эхоподавители на АТС и тех же мобильниках эффективно давят эту слабую акустическую компоненту.
В сферическом вакуме - это "пикнул и пиши". Назаписываете шума и наводок вместо ИХ да ещё запутаетесь с синхронизацией начала. А LMS с исчезающим коф. адаптации даёт на шумоподобном сигнале то что нужно и теоретически и практически.