Перейти к содержанию
    

Подавление акустической обратной связи в системах full duplex

Делаю фулл-дуплекс.  Приём и передача равными интервалами.

Одновременно нужно слушать собеседника и разговаривать с ним.

Возникает обратная связь: если я начну говорить, то слышу себя, так как микрофон собеседника передаёт звук с динамика.

Система цифровая.  Только речевые сигналы

 

Есть ли способы подавить обратную связь?

Бегло просмотрел SPEEX DSP, там есть алгоритм подавления эха и AEC (acoustic echo cancellation).  Они подойдут?

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столько времени провисел вопрос и никто не ответил.

Сдулись все что-ли? :biggrin:

 

Запустил AEC от Speex на фулл-дуплексе (с обоих сторон).  Всё работает, эхо давит на 95%.

Правда пришлось повозиться... Была проблема кормления через зад, а не рот.  Проще говоря, функции дают очищенный сигнал с микрофона для передачи.  А я вначале думал, что сигнал очищается для динамика(воспроизведение).   На вход: сигнал  с микрофона(который будет содержать дополнительную составляющую с динамика - эхо) и воспроизводимый кусок с приёмника. На выходе - очищенный сигнал с микрофона для передачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 19.07.2023 в 16:58, repstosw сказал:

Столько времени провисел вопрос и никто не ответил.

Наверно просто никому это не надо)))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, mantech сказал:

Наверно просто никому это не надо)))))))))

Это много кому надо, в том числе мне, только готовых открытых решений нет. Продают готовые реализации в виде библиотек или даже прошивок для микросхем кодеков с DSP, но это всё не то.

PS: на сколько я уяснил для себя после изучения этого вопроса, сейчас наиболее популярны многомикрофонные системы эхо/шумо подавления с одним или несколькими дополнительными микрофонами. Если хочется качество, то смотреть нужно именно в эту сторону и SPEEX по-моему этого не умеет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, makc said:

PS: на сколько я уяснил для себя после изучения этого вопроса, сейчас наиболее популярны многомикрофонные системы эхо/шумо подавления с одним или несколькими дополнительными микрофонами. Если хочется качество, то смотреть нужно именно в эту сторону и SPEEX по-моему этого не умеет.

Два и более микрофона могут помочь если:

1. стоят рядом (один ближе) с полезным источником (ртом) - и тогда используется их разность

2. минимальное расстояние между микрофонами несколько дециметров - получается фазированная решетка.

 

Всё остальное - маркетинг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, _4afc_ сказал:

Всё остальное - маркетинг.

Возможно вы правы, у меня не было возможности сравнить и я сужу по научным статьям на эту тему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, makc said:

Возможно вы правы, у меня не было возможности сравнить и я сужу по научным статьям на эту тему.

1. Просто возьмите частоту основного тона мужского голоса и посмотрите его длину волны

2. Подумайте какая разница фаз должна быть между волнами чтобы их уровень уменьшился/увеличился на 6дБ

3. Посчитайте расстояние между 2 мк необходимое для задержки звука на такое расстояние в воздухе

4. Если этого мало, для смеха, посмотрите скорость распространения звука по материалу из которого корпус решетки

 

Статьи красивые, из моего опыта работают алгоритмы всяких адаптаций, а массив мк также полезен как мегапикселы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикольно, сначала repstosw удивился, что эходав какой-то не тот, потом остальные взяли и стали обсуждать шумодав, который совсем не эходав.

Надо тоже поучаствовать :)) - имхо, эходав совсем тот, а шумодав может рокот движка, особенно когда обороты повыше, например, давануть примерно в той области где бошка человека находится

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, makc said:

Это много кому надо, в том числе мне, только готовых открытых решений нет. Продают готовые реализации в виде библиотек или даже прошивок для микросхем кодеков с DSP, но это всё не то.

PS: на сколько я уяснил для себя после изучения этого вопроса, сейчас наиболее популярны многомикрофонные системы эхо/шумо подавления с одним или несколькими дополнительными микрофонами. Если хочется качество, то смотреть нужно именно в эту сторону и SPEEX по-моему этого не умеет.

Я использую libspeexdsp.  AEC, VAD и AGC.

В моём full-duplex цифровом трансивере эхоподавление(AEC) и активация по голосу(VAD) и АРУ(AGC) прекрасно работают.

Всё сделал как в примере testecho.c : размер "хвоста" в 8 раз больше, чем размера фрейма.  Один фрейм 16,667 мс.

Записывал логи звука : после микрофона, после очистки, сигнал воспроизводимый в динамике.   Разница есть.

Как это ни странно, но время эха у меня как раз оказалась именно в 8 раз больше времени одного фрейма.   Потому что в приёмнике - двойная буферизация, в передатчике - тоже,  плюс ещё декодирование конвеер. Итого задержка: 2x2x2x16,667 = 133 мс.

 

Кодек использую CELT 9-й версии.  Кодек Speex не использую.  CELT удобен тем, что можно выбрать размер сжатого фрейма в нужное количество байт, что упрощает синхронизацию с видео и её релизацию в коде (к примеру на 15 FPS, на один видео-фрейм приходится ровно  четыре CELT фрейма по 16,667 мс).

 

image.thumb.png.b9840b47db5b4219a35126b9cd8bad21.png

5 hours ago, andyp said:

эходав совсем тот, а шумодав может рокот движка, особенно когда обороты повыше, например, давануть примерно в той области где бошка человека находится

Эходав AEC

Шумодав - VAD.  Убирает монотонный шум. Например: работающий вентилятор, кухонная вытяжка или шум автомобилей по трассе.  VAD из Speex работает.   Адаптивный.  Через 1с - шум замолкает.

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/14/2023 at 2:46 PM, repstosw said:

фулл-дуплекс.  Одновременно нужно слушать собеседника и разговаривать с ним.

Подавление эха и обратной связи в таких системах научились делать.

А что в системах когда нужно слышать в динамиках звук от своего микрофона и одновременно слышать звук удаленного абонента?

В конференц залах с площадью больше 50квм это реально сложная задача. Добиться наилучшего качества получается при распределенной управляемой акустике и распределенных микрофонах. Цифровая обработка не дает желаемого результата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Друзья, кто-нибудь пробовал решения на чипах fortemedia FM1x88? Хочу сделать громкую связь в автомобиль. Задача - чтобы собеседник не слышал своего эха. Можно купить на али и сами микросхемы и оценочные модули: 

https://aliexpress.ru/wholesale?SearchText=fm1188

https://aliexpress.ru/wholesale?SearchText=fm1288

https://aliexpress.ru/wholesale?SearchText=fm1388

https://aliexpress.ru/item/33045443470.html

Вроде бы то что нужно, только не нашел пока информации об успешном применении. Или может посоветуете аналогичное решение доступное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. Еще нашел похожие штуки:

модуль A06 (м/с ATH8806): https://aliexpress.ru/item/1005003626594890.html

модуль A09 (м/с ATH8809): https://aliexpress.ru/item/33041512398.html

И такая еще игрушка есть: https://aliexpress.ru/item/4000776053039.html

Как считаете, стоит попробовать для самоделки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ссылки.

У меня возникла похожая задача, но со строгим ограничением по потребляемой мощности.

Думаю, что стоит купить и попробовать. Вероятно лучше начать с модуля на fm1188.

На ATH8806 не нашел нормального даташита, только угрызенный на китайском.

Я, скорее всего, тоже закажу сначала модули fm1188 и ATH8809, затем чипы по результатам.

Информируйте пожалуйста о полученных результатах, интересно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...