Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Аудиотехника Разработка и ремонт аудиотехники. Усилители, записывающие приставки и другие аудиоустройства своими руками.

Закрытая тема
Опции темы
Непрочитано 22.08.2009, 04:46   #21
Popeye
Почётный гражданин KAZUS.RU
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию

retas, извините, много воды утекло с тех пор, да и сериозно этим не занимался, так, подрабатывал. Вероятно соврал кое где А может и нет. Болгарские угольные микрофоны 80 годов упаси господи. У входной двери висит домофон производства того периода, давно нерабочий. Вынул микрофон, померял. В среднем 10К. это смотря с какой силой и куда нажимать щупами.
Реклама:
__________________
Мыслю, следовательно существую
Popeye вне форума  
Непрочитано 22.08.2009, 16:07   #22
long2008
Прохожий
 
Регистрация: 17.01.2008
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
long2008 на пути к лучшему
По умолчанию

В подвесном кабеле лифта и в стояке шахты должны быть резервные провода.
long2008 вне форума  
Непрочитано 22.08.2009, 22:34   #23
Ramzaj
Временная регистрация
 
Регистрация: 06.02.2008
Сообщений: 49
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 7 сообщении(ях)
Ramzaj на пути к лучшему
По умолчанию Re: Как убить акустическую обратную связь?

Тупо на столе перед глазами переговорное устройство. Микрофон-АЦП-Линия-ЦАП-Динамик. Туда и обратно. Вопросец собствено как убить акустическую обратную связь?

Может проще разнести микрофон и громкоговоритель в разные помещения. Смысл переговорного в одном помещении?
Ramzaj вне форума  
Непрочитано 22.08.2009, 23:07   #24
Popeye
Почётный гражданин KAZUS.RU
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию

Переговорние пока одностороннее, должно стать двусторонним. Просто еще софт не написал.
__________________
Мыслю, следовательно существую
Popeye вне форума  
Непрочитано 23.08.2009, 00:00   #25
retas
Прописка
 
Регистрация: 02.05.2006
Сообщений: 171
Сказал спасибо: 97
Сказали Спасибо 43 раз(а) в 20 сообщении(ях)
retas на пути к лучшему
По умолчанию

Угольные мик. следует применять только в "трясущихся" приборах.

Интересно, а в вашей системе у диспетчера стоит трубка или подобие блока что в кабине лифта? Скажем в моей системе (с трубкой у абонента)в разговорной части трудяться всего лишь 2 транзистора и один операционник.
Желаю вам успешно осуществить задуманное.
__________________
Не унывайте - лучше может и не быть.
retas вне форума  
Непрочитано 23.08.2009, 03:10   #26
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию

Реализовал целочисленный вариант NLMS алгоритма. Очень ресурсоемкая штука. Мощности 16 MIPS (я повысил тактовую частоту МК до 16 МГц) хватило лишь на фильтр 5-го порядка, что дает подавление эха в течении чуть меньше 1 мс на частоте дискретизации 8 кГц (ее пришлось понизить из-за нехватки вычислительных ресурсов).

И успех - локальное эхо подавляется приблизительно в 10 раз для частот выше 1 кГц. В комбинации с фильтром высоких частот с частотой среза 1 кГц получаются впечатляющие результаты, когда можно подносить микрофон прямо к динамику и никакого возбуждения не возникает.

Однако 1 мс - это очень мало для полноценного подавления эха, особенно на низких частотах или в больших помещениях, поэтому возникла необходимость увеличить порядок фильтра как минимум до 100. Я прикинул требуемую минимальную производительность: 16 MIPS * 100 / 5 = 320 MIPS - это сумасшедшее значение, эквивалентное процессору Pentium 2.

Все проблемы производительности возникают из-за мат. свертки (суммы произведений), которая используется в FIR. Поэтому я подумал что можно, наверное, упростить алгоритм. Начал искать и наткнулся в интернете на замечательный документ:
http://users.ece.gatech.edu/~barry/d...upp/20echo.pdf

Самым интересным параграфом оказался "Interleaved Echo Cancelers", в котором описан способ подавлять эхо NLMS-фильтрами всего лишь первого порядка. Только фильтров нужно взять много, в нашем случае 100. Каждый фильтр работает в свой момент времени, т.е. для каждого 100-го отсчета сигнала - работает 100-й фильтр, для каждого 99-го - работает только 99-й и т.д.

Сделал реализацию такого фильтра, вставил в тестовую программу, запустил - и чудо, это тоже работает. Сходится чуть хуже чем полноценный NLMS, на зато вычислительная сложность алгоритма стала настолько низкой, что для фильтра 200-го порядка теперь нужно только 4 MIPS.

Завтра попробую это в акустике, результаты напишу.
alexgap вне форума  
Непрочитано 23.08.2009, 21:30   #27
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию

Popeye, акустическая обратная связь повержена! У меня в комнате с 32-я фильтрами 4-го порядка работает почти идеально (окно анализа получается около 5 мс). А вот 128 фильтров 1-го порядка (окно анализа 20 мс) работает намного хуже, чем 32-а фильтра 4-го. Больше в текущий контроллер не поместить, из-за ограничений по памяти ОЗУ и производительности.

Я вам на ящик отправил код. За кодом стоит немного математики и некоторые представления, сходу понять наверное будет сложновато. Также учтите, что код предназначен для подавления только локального эхо, так как переговорные устройства у вас будут в разных комнатах (для тестирования можно поставить на столе, а еще лучше в комнате перегородку из специального звуконепроницаемого пластика, или просто использовать две комнаты). Можно подавлять и удаленное эхо, но это чуть сложнее и для вашего устройства, думаю, смысла нет.

Если будет время, то попробую написать статью которая объясняет принципы работы и реализацию в деталях.

Осталось это совместить с автоматическим коммутатором дуплекс/полудуплекс (NLP) как предлагали выше, и получится полноценное решение для связи.

Если задумаете повторить это все у себя, то учтите также, что МК должен иметь на борту аппаратный (быстрый) умножитель 8 и 16 битных знаковых и беззнаковых значений, иначе просто невозможно будет сделать свертку для FIR фильтра за приемлемое время.

---------------------------------------------------

Тут многие писали о концертной аппаратуре в которой стоит ФВЧ и задержка. Так вот, пройдя этот путь хочу сказать, что ФВЧ используется для ограничения нижнего предела рабочих частот, так как системы обычно имеют вполне конечное время анализа/подавления эхо (начиная от нескольких миллисекунд и заканчивая сотнями). Задержка нужна для декорелляции сигнала, чтобы анализатор не путал основной сигнал с эхо и не подавлял его. Такой декореллятор нужен только там, где сигнал с микрофона идет на локальный динамик, а не на удаленную точку. Т.е. задержка нужна в концертной аппаратуре и не нужна для переговорного устройства. В своем реализации я использовал декореллятор (в виде задержки), так как моя система является "концертным" вариантом - все происходит в одной комнате.
alexgap вне форума  
Непрочитано 27.08.2009, 16:30   #28
radiohobbit
Прохожий
 
Регистрация: 06.12.2007
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
radiohobbit на пути к лучшему
По умолчанию

Вообще-то проблема не нова, и её давно успешно решают.
Идея в том, что паразитная акустическая ОС "звенит"
на одной, двух или трёх частотах, очень редко больше.
Самое продвинутое решение заключается в том, что девайс
находит эти частоты и автоматически ставит на них заградительные узкополосные фильтры.
Если устройство будет привязано к конкретному помещению, можно найти эти частоты "вручную"
и поставить фильтры именно на них.
Полезно также "подвесить" микрофон и снабдить его ветрозащитой- в простейшем случае поролоновым колпачком. Надеюсь, эти подсказки будут полезны.
radiohobbit вне форума  
Непрочитано 27.08.2009, 20:14   #29
Popeye
Почётный гражданин KAZUS.RU
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию

Спасибо за подсказку, да это уже выплыло в ходе поиска. Плохо емкое решение. Нужно сделать анализатор спектра, анализатор частот самовозбуждения, несколько цифровых фильтров. Плюс компрессия + АРУ + знает что еще. ПИК18 не осилит. Вобщем условия самовозбуждения как всегда два: усиление на некоей частоте › 1 + задержка в канале целое число периодов. Режекторные фильтры нарушают условие усиления. А можно нарушить условие совпадения фаз. Попалась реклама, смещение спектра сигнала на 5Гц начисто убивает самовозбуждение. Да как сделать цифровым способом ? Не знаю, alexgap подсказал путь, пробую осилить.
__________________
Мыслю, следовательно существую
Popeye вне форума  
Непрочитано 27.08.2009, 21:26   #30
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию

Popeye, поймите простую вещь, даже если вы сместите спектр, даже если вы сделаете режекторные фильтры это не решит проблемы в вашем случае. Я объясню почему, это просто.

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

В случае цифровой системы все будет иначе, так как любой цифровой канал передачи данных вносит значимую задержку, измеряемую в миллисекундах, а то и в десятках миллисекунд. Это так, потому что используется пакеты данных и их буферирование на приемной стороне. Буфер - это линия задержки. Без буфера звук будет порванным и прерывистым, с буфером - чуть задержанным, но чистым. Естественно, все выбирают второе.

Из-за всего этого будет образовываться сложный многочастотный гул, который режекторым фильтром не вырезать. И двумя, и даже тремя, так как форма циркулирующего сигнала в системе не несколько синусоид, а целый их "букет". Смещение спектра тоже не приведет ни к чему, кроме воющих и шипящих концовок враз, а может даже и к самовозбуждению. Скажете букву "а", спектр будет смещаться, звук будет циркулировать в системе до тех пор, пока не затухнет или пока не выйдет за пределы рабочих частот. А если динамик/микрофон вносят большие интер-модуляционные искажения, то генератор визга гарантирован.

Все эти способы попросту не будут работать из-за задержки цифрового канала связи, которая образуется из-за буфера, в котором собираются вместе принятые пакеты данных.

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

Теперь идем дальше. В случае переговорного устройства это сложнее, так как перед ним открытое пространство. Это значит, что теперь микрофон и динамик не связаны фиксированным значением проникновения звука, как это было в трубке. Это значение теперь попросту неизвестно. Оно меняется от размера помещения, от материалов помещения, от положения устройства в помещении и т.д. Может быть еще и от фазы Луны. И теперь не получиться так просто вычесть сигнал динамика из сигнала микрофона.

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

e = d - h(Y)

В результате получаем сигнал е, который в идеале представляет собой только сигнал говорящего человека, а сигнал паразитной обратной связи (эхо) взаимоуничтожается с помощью сигнала предсказанного эхо h(Y). Попросту говоря эхо + антиэхо = 0. Математическая аннигиляция, если хотите.

Трюк состоит в самонастройке фильтра h так, чтобы он повторял свойства комнаты, в которой работает устройство. Для этого просто численно минимизируется функция е, рассмотренная выше, путем подбора коэффициентов фильтра h. Постановка такой оптимизационной задачи математически выглядит так:

e(h) -› 0

Для ее решения используется алгоритм NLMS, который представляет собой ничто иное, как связку фильтра с конечным откликом (FIR) с банальным численным методом оптимизации под названием "Градиентный спуск".

Подробнее об NLMS http://en.wikipedia.org/wiki/Least_mean_squares_filter

В заключение скажу, что поначалу этот метод кажется сложным и непонятным. Но это происходит не от того, что он действительно сложный, а потому что он неочевидный. Сознание человека этот метод не воспринимает. Но это не значит что он не реализуем - заняло всего лишь 2 кБ кода в ATmega16.

P.S. Интересный факт, а ведь еще так много неочевидных и еще не открытых решений насущных задач. А люди просто любят смотреть "в лоб". И только благодаря математике становится возможным комбинировать маленькие "очевидные" кусочки в более изощренные, формально верные, но увы недоступные осязательному сознанию решения.
alexgap вне форума  
Закрытая тема

Закладки

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем можно "убить" кварц? Shviric Делимся опытом 117 23.01.2012 14:42
Как организовать телефонную связь? e863 Автоматика и аппаратура связи 3 25.03.2009 22:11
Как лучше реализовать связь КПК cо встраиваемым устройством igorgenius Делимся опытом 7 14.09.2008 18:45
Как запаять ATmega128, чтобы не убить ёё\защита портов от кз ARM7TDMI Микроконтроллеры, АЦП, память и т.д 8 01.04.2008 22:12
Связь fredicon Информация по радиокомпонентам 0 07.12.2007 15:10


Часовой пояс GMT +4, время: 23:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot