|
Эхоподавление и эхокомпенсация, В чём отличие? |
|
|
|
Oct 3 2006, 11:36
|
Участник

Группа: Свой
Сообщений: 68
Регистрация: 2-02-05
Из: Россия
Пользователь №: 2 377

|
Цитата(lib @ Oct 3 2006, 10:23)  Чем отличается эхоподавление от эхокомпенсации в телефонии? Где лучше всего об этом почитать? Спасибо. Насколько я понимаю, эхоподавление - блокировка эха посредством эхозаградителя, то есть нелинейное усиление в тракте в зависимости от уровня сигнала, небольшие сигналы (подразумевается что это эхосигнал) подавляются. Более прогрессивное - эхокомпенсация, то бишь адаптивная подстройка фильтра для получения модели эхопути и на основе этой модели из передаваемого сигнала вычитается сигнал эха. Последний способ наиболее употребим сейчас, так как эхоподавление приводило к эффекту "потери контакта", когда вы не слышите ничего с дальней стороны. Где почитать, точно пока не могу сказать :-) Пощите в инете найдете кучу информации... P.S. Но сейчас похоже эти два понятия означают одно и тоже, то бишь эхокомпенсацию....
Сообщение отредактировал sav6622 - Oct 3 2006, 11:38
|
|
|
|
|
Oct 3 2006, 12:28
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(sav6622 @ Oct 3 2006, 15:36)  Насколько я понимаю, эхоподавление - блокировка эха посредством эхозаградителя, то есть нелинейное усиление в тракте в зависимости от уровня сигнала, небольшие сигналы (подразумевается что это эхосигнал) подавляются. Более прогрессивное - эхокомпенсация, то бишь адаптивная подстройка фильтра для получения модели эхопути и на основе этой модели из передаваемого сигнала вычитается сигнал эха. Последний способ наиболее употребим сейчас, так как эхоподавление приводило к эффекту "потери контакта", когда вы не слышите ничего с дальней стороны.
Где почитать, точно пока не могу сказать :-) Пощите в инете найдете кучу информации...
P.S. Но сейчас похоже эти два понятия означают одно и тоже, то бишь эхокомпенсацию... Да, по-моему, это синонимы. Устройства с усилением, управляемым сигналом, называются эхозаградителями.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Oct 5 2006, 17:55
|
Участник

Группа: Новичок
Сообщений: 48
Регистрация: 22-06-06
Пользователь №: 18 270

|
А где бы исходный код эхокомпенсатора посмотреть? Хорошо бы с соответствием рекомендации G.168.
|
|
|
|
|
Oct 5 2006, 19:32
|
Участник

Группа: Свой
Сообщений: 68
Регистрация: 2-02-05
Из: Россия
Пользователь №: 2 377

|
Цитата(lib @ Oct 5 2006, 21:55)  А где бы исходный код эхокомпенсатора посмотреть? Хорошо бы с соответствием рекомендации G.168.  Cразу вас расстрою, скорее всего не найдете... Я пытаюсь периодически в течении 3-4 лет найти, причем копаю глубоко...  Если найдете, поделитесь пожалуйста ссылочкой
|
|
|
|
|
Oct 6 2006, 08:16
|
Участник

Группа: Свой
Сообщений: 68
Регистрация: 2-02-05
Из: Россия
Пользователь №: 2 377

|
Цитата(sav6622 @ Oct 5 2006, 23:32)  Цитата(lib @ Oct 5 2006, 21:55)  А где бы исходный код эхокомпенсатора посмотреть? Хорошо бы с соответствием рекомендации G.168.  Cразу вас расстрою, скорее всего не найдете... Я пытаюсь периодически в течении 3-4 лет найти, причем копаю глубоко...  Имелось ввиду что соответствующий рекомендациям g.168, просто эхокомпенсатор достаточно широко представлен.
|
|
|
|
|
Oct 7 2006, 10:04
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(sav6622 @ Oct 6 2006, 12:16)  Цитата(sav6622 @ Oct 5 2006, 23:32)  Цитата(lib @ Oct 5 2006, 21:55)  А где бы исходный код эхокомпенсатора посмотреть? Хорошо бы с соответствием рекомендации G.168.  Cразу вас расстрою, скорее всего не найдете... Я пытаюсь периодически в течении 3-4 лет найти, причем копаю глубоко...  Имелось ввиду что соответствующий рекомендациям g.168, просто эхокомпенсатор достаточно широко представлен. G165-168 стандарты телефонии. Эхо-подавитель соответственно голосовой. Голосовой эхоподавитель, кроме линейного эхокомпенсатора, должен содержать ещё нелинейные компоненты, как-то Double-Talk_Detector и т.п. В принципе, всё это хозяйство можно найти в специальной литературе. Прибабахи необходимы, но требуют обычно настройки экспериментальной Чтобы заполнить пробел размещаю прямо здесь свою модель эхоподавителя с которой начиналась моя разработка эхоподавителя. Модель целочисленная на С, со всеми прибабахами, настраивалась в реальном времени (понятно что быстродействие не очень и нужно переписывать на ассемблер хотя-бы внутренний цикл). Обработка блочная, программа организована правильно, вложеными циклами (а не наоборот, когда напишут сначала адаптивный фильтр, а потом подвешивают на счётчики всё остальное). Линейный адаптивный фильтр -NLMS. Можно ли сделать с него G168? Можно. Только будет неэффективно, если по максимуму. G168 - стандарт расплывчатый. Требований по испытаниям много, но они для цифровой реализации - тривиальны. А по длине задержки эхо (эффективной длине адаптивного фильтра) там нет жёстких требований. Можно делать на 30 мс. Стандарт не требует, чтобы эхоподавитель был дальний. В стандарте сказано, что он может быть дальним (60мс), но не обязан. Если, конечно, заказчик говорит G168, подразумевает - дальний, тогда другое дело. Северо-американские корпорации практикуют обычно в своём оборудовании внутри-континентальный вариант - миллисекунд так на 40. Называется G168 тем не менее. Если реклама ссылается на оба стандарта G165/G168, то скорее всего там 30 мс или меньше. Для дальних эхоподавителей или очень быстродействующих средних - нужны другие алгоритмы. В основе проектирования дальних эхоподавителей лежит тот факт, что импульсная характеристика отражения от гибрида обычно очень короткая - 2-4 мс. Неизвестно только где эти отражения от разных гибридов расположены. Алгоритмы включают эвристики, а потому содержат know-how Раньше делали прорежённые алгоритмы (искать в google sparced echo canceller), последнее время появилась мода на Лагерровские решётки (работы Ali.H.Sayed & Ricardo Merched). Ищите статьи этих авторов, а также эту книгу A. H. Sayed, Fundamentals of Adaptive Filtering, John Wiley & Sons, NY 2003 Пароль на архив: НеДляЛиберастов Иванычу респект Программа размещена "как есть" и комментариев я давать не буду. У меня нет времени вспоминать почему и что и как
|
|
|
|
|
Feb 9 2007, 08:55
|
Группа: Новичок
Сообщений: 4
Регистрация: 7-02-07
Пользователь №: 25 138

|
Знает ли кто-нибудь алгоритмы эхокомпенсации, требующие меньше выч. ресурсов чем NLMS при условии, что линия задержки 16 мс и больше не надо. Реализация осуществляется на TI 320c6412. Память не так критична, а вот производительности не хватает на всё что нужно
|
|
|
|
|
Feb 9 2007, 11:20
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(timonja @ Feb 9 2007, 08:55)  Знает ли кто-нибудь алгоритмы эхокомпенсации, требующие меньше выч. ресурсов чем NLMS при условии, что линия задержки 16 мс и больше не надо. Реализация осуществляется на TI 320c6412. Память не так критична, а вот производительности не хватает на всё что нужно Блочный NLMS. Всё то же самое, но обновление коэффициентов производится с чередованием, как бы интерливингом. А именно, на данном такте обновляются только коэффициенты номер которых по модулю М равен i=0,...., М-1. М равно 8 или 16. Страдает время сходимости, а так - работает.
|
|
|
|
|
Feb 9 2007, 12:32
|
Группа: Новичок
Сообщений: 4
Регистрация: 7-02-07
Пользователь №: 25 138

|
To fontp Видимо я не так понял... но ведь в таком случае пересчитываться будут только 1\8 либо 1\16 часть всех коэффициентов адаптивного фильтра, остальные же будут находиться в начальном(нулевом) состоянии. Где я ошибся? может быть я не правильно понимаю идеологию NLMS алгоритма? Если не трудно, поправьте.
for (k=0; k < LZ_len; k++) W[k++] = Wr[k] -W_update_val * LZ[k];
вроде так рассчитывается классический NLMS (деление внутри W_update_val), вы предлагаете фактически:
for (k=0; k < LZ_len; k+= M) W[k++] = Wr[k] -W_update_val * LZ[k];
где я не понял?
Сообщение отредактировал timonja - Feb 9 2007, 12:32
|
|
|
|
|
Feb 9 2007, 13:13
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(timonja @ Feb 9 2007, 12:32)  To fontp Видимо я не так понял... но ведь в таком случае пересчитываться будут только 1\8 либо 1\16 часть всех коэффициентов адаптивного фильтра, остальные же будут находиться в начальном(нулевом) состоянии. Где я ошибся? может быть я не правильно понимаю идеологию NLMS алгоритма? Не, ну нужно двигать им фазу на каждом такте, устроив чередование for (k=j; k < LZ_len; k+= M) { W[k] = Wr[k] -W_update_val * LZ[k]; // c автоинкрементом или чепуха или двусмысленность } j = (j+1) % M Фильтр будет адаптироваться в нужном направлении, хоть и замедленно. Вообще-то там (в Block LMS) ещё обычно и усредняют ошибку W_update_val * LZ[k] по нескольким тактам, что улучшает сходимость. Ищите Block LMS в гугле, когда-то было множество публикаций На TI точно было в частности вот это http://focus.ti.com/general/docs/techdocsa...actName=slau107
|
|
|
|
|
Feb 15 2007, 11:21
|

Частый гость
 
Группа: Свой
Сообщений: 88
Регистрация: 12-02-07
Из: СПб
Пользователь №: 25 280

|
Цитата(lib @ Oct 3 2006, 06:23)  Чем отличается эхоподавление от эхокомпенсации в телефонии? Где лучше всего об этом почитать? Спасибо. Мне кажется, что обсуждение пошло не в ту сторону. Эхоподавление - это электрическая противоместная схема, позволяющая при преобразовании двухпроводной линии в четырехпроводную отсеивать собственную передачу от приема. Схема хорошо работает только при полном согласовании с линией. Часть ближнего эхо-сигнала все равно оказывается на приеме. Эхокомпенсация - это одна из операций ЦОС, когда во время приема тишины с дальней стороны строится цифровой КИХ-фильтр, компенсирующий ближнее эхо. Способов компенсации много, самые простые - LMS и линейное схождение. Результат легко просчитывается и моделируется в том же Матлабе. Если интересно - пишите, расскажу как  А в упомянутой рекомендации не описывается, КАК происходит эхоподавление, там описано только ЧТО при этом нужно получить
|
|
|
|
|
Feb 20 2007, 14:18
|
Участник

Группа: Свой
Сообщений: 35
Регистрация: 25-04-06
Пользователь №: 16 458

|
Для подавления эха использую метод Frequency-Domain Adaptive Filter. По экспериментам - сходится быстрее NLMS.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|