Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Двухмикрофонная адаптивная система шумоподавления
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Lisitsin
Здравствуйте, уважаемые коллеги!
Решил создать данную тему, так как чувствую себя достаточно неуверенно в данной области. Речь идёт об адаптивном шумоподавлении. Работаю инженером-схемотехником. Выдали совершенно невнятное ТЗ, но на словах объяснили что к чему. Дело в том, что нужна двухмикрофонная система, которая вытащила бы из под шумов речь оператора. Шумы такие:
1) шум рядом с потоком транспорта большой интенсивности
2) шум торгового центра
3) Шум при езде в автомобиле по автотрассе со скоростью 100 км/ч, при приоткрытых на одну четверть окнах
Параметры шума такие: от 60 до 82 дБА с отношением сигнал/шум не менее 6 дБ.
Требуется получить разборчивость речи II класса, т е "Полное понимание речи со средним напряжением внимания.
Помехи имеют умеренную интенсивность и заметно снижают комфортность слухового восприятия."
Дали подсказку: диссертация на тему Speech Enhancement Using A Small Microphone Array, The University of Auckland, New Zealand, август 2009 г. Перевод предложенного алгоритма обработки и саму диссертацию прикладываю во вложении.
Вопрос звучит так: встречался ли кто-нибудь с подобным адаптивным алгоритмом? Что ещё можно почитать на данную тему? Существуют ли готовые аппаратные реализации алгоритма, или городить ПЛИС/ДСП? На ДСП реализацию я предложил (вложение), но наш отдел программного обеспечения предлагает ПЛИС.
Спасибо!
Driver_GV
Делал похожую систему на dsPIC.
Если кратко, оцифровываю два сигнала синхронно.
Далее с постоянной времени около 2-20 секунд идет постоянный подбор суммы / разности этих двух сигналов, при этом амплитуда каждого подбирается а пределах +/- 60% и сдвиг во времени одного из них +/- 0,2 мс.
(для разноса микрофонов 5 см)
Подбор идет по достижении минимальной выходной амплитуды.
Думаю ориентироваться на паузы в словах не стоит, так как шум автомагистрали по огибающей похож на разговор.

Собственно выход полезного сигнала в виде цифрового потока - сумма/разность входных с подобранным параметрами.
Постоянная времени настройки должна быть более сказанной фразы.
Далее у меня еще был FFT для выделения нужных частот из сигнала.
Для частот до 50 кГц мощностей dsPIC более чем достаточно, выбирайте только по необходимому количеству RAM.
Для речи, думаю еще стоит на входе цифровой фильтр 300Гц - 3кГц поставить, индивидуальный для каждого микрофона.


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

Anton1990
Цитата(Lisitsin @ Aug 9 2017, 08:45) *
Здравствуйте, уважаемые коллеги!
Решил создать данную тему, так как чувствую себя достаточно неуверенно в данной области. Речь идёт об адаптивном шумоподавлении. Работаю инженером-схемотехником. Выдали совершенно невнятное ТЗ, но на словах объяснили что к чему. Дело в том, что нужна двухмикрофонная система, которая вытащила бы из под шумов речь оператора. Шумы такие:
1) шум рядом с потоком транспорта большой интенсивности
2) шум торгового центра
3) Шум при езде в автомобиле по автотрассе со скоростью 100 км/ч, при приоткрытых на одну четверть окнах
Параметры шума такие: от 60 до 82 дБА с отношением сигнал/шум не менее 6 дБ.
Требуется получить разборчивость речи II класса, т е "Полное понимание речи со средним напряжением внимания.
Помехи имеют умеренную интенсивность и заметно снижают комфортность слухового восприятия."
Дали подсказку: диссертация на тему Speech Enhancement Using A Small Microphone Array, The University of Auckland, New Zealand, август 2009 г. Перевод предложенного алгоритма обработки и саму диссертацию прикладываю во вложении.
Вопрос звучит так: встречался ли кто-нибудь с подобным адаптивным алгоритмом? Что ещё можно почитать на данную тему? Существуют ли готовые аппаратные реализации алгоритма, или городить ПЛИС/ДСП? На ДСП реализацию я предложил (вложение), но наш отдел программного обеспечения предлагает ПЛИС.
Спасибо!


Поскольку есть два микрофона то можно вытащить пару, тройку дБ отношения сигнал/шум. Оцифровываете синхронно два сигнала, выравниваете задержки между ними и суммируете их с весовыми коэфф. (если сигнала с обоих микрофонов примерно одинаковы, весовые коэфф. будут одинаковыми). Идея такова, что шумы не коррелируемы и при сложении "взаимоуничтожаются", а полезный сигнал (речь) коррелируема и при сложении усиливается. Как-то так. Можете почитать литературу по RAKE-приемникам, но тонкости реализации придется познавать самому.
Lisitsin
Цитата(Anton1990 @ Aug 9 2017, 18:42) *
Поскольку есть два микрофона то можно вытащить пару, тройку дБ отношения сигнал/шум. Оцифровываете синхронно два сигнала, выравниваете задержки между ними и суммируете их с весовыми коэфф. (если сигнала с обоих микрофонов примерно одинаковы, весовые коэфф. будут одинаковыми). Идея такова, что шумы не коррелируемы и при сложении "взаимоуничтожаются", а полезный сигнал (речь) коррелируема и при сложении усиливается. Как-то так. Можете почитать литературу по RAKE-приемникам, но тонкости реализации придется познавать самому.

Антон, не совсем так. Предполагается, что шум и сигнал не коррелируют совсем. Тот метод, который Вы описываете - описан в выложенной диссертации. Минусом является сильное проникновение помехи в голосовой канал, а голоса - в помеховый. Эт так называемый кроссток эффект. Он не даёт достаточного эффекта по сравнению с тем алгоритмом, который переведён на русский (вложение было дано). Он называется Multichannel Crosstalk Resistant Adaptive Noice Cancellation - устойчивый к кроссток эффекту метод адаптивного шумоподавления - там используются 2 адаптивных фильтра, один из которых подстраивается только в момент времени, когда голос оператора отсутствует, а второй работает непрерывно. Именно этот алгоритм меня и интересует.
Anton1990
Цитата(Lisitsin @ Aug 10 2017, 13:13) *
Антон, не совсем так. Предполагается, что шум и сигнал не коррелируют совсем. Тот метод, который Вы описываете - описан в выложенной диссертации. Минусом является сильное проникновение помехи в голосовой канал, а голоса - в помеховый. Эт так называемый кроссток эффект. Он не даёт достаточного эффекта по сравнению с тем алгоритмом, который переведён на русский (вложение было дано). Он называется Multichannel Crosstalk Resistant Adaptive Noice Cancellation - устойчивый к кроссток эффекту метод адаптивного шумоподавления - там используются 2 адаптивных фильтра, один из которых подстраивается только в момент времени, когда голос оператора отсутствует, а второй работает непрерывно. Именно этот алгоритм меня и интересует.

Ну так шум и сигнал и не должны коррелировать. Коррелировать должен полезный сигнал в обоих каналах (чтобы он сложился), а вот шумовая составляющая принимаемого из обоих каналов должна быть наименее коррелируема (чтобы она вычлась).
Можно попробовать на один микрофон принять голос + шум, а второй микрофон расположить так чтобы принимать только шумы (например отвернуть его от говорящего), тогда из сигнала с первого микрофона вычесть сигнал со второго микрофона, разумеется пердварительно выравняв задержки.
Разумеется это только идеи, Вам виднее (в данном случае "слышнее" biggrin.gif ) должно быть что применять.
DASM
Еще можно взять любой смартфон sm.gif они сейчас все двумикрофонные, и именно с такой целью
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.