Одним из наиболее распространенных неблагоприятных физических факторов окружающей среды является шум. Шум — беспорядочные колебания различной физической природы, отличающиеся сложностью спектральной и временной структуры. Присутствие неблагоприятного звука (шума) в системах звукозаписи в настоящее время является актуальной проблемой. В статье приводится анализ существующих методов шумоподавления и рассматривается разработанный авторами модуль подавления шума в системах звукозаписи.
Ключевые слова: шумоподавление, система звукозаписи, фильтрация, фильтр Винера
Одним из наиболее распространенных неблагоприятных физических факторов окружающей среды является шум. Шум — беспорядочные колебания различной физической природы, отличающиеся сложностью спектральной и временной структуры. Источником шума является любой процесс, вызывающий изменение давления или колебания в твердых, жидких или газообразных средах.
Одной из актуальных проблем в настоящее время является присутствие неблагоприятного звука (шума) в системах звукозаписи. Методам подавления шума в системах звукозаписи и посвящена данная статья.
Человеческое ухо имеет свой диапазон воспринимаемого звука. Диапазон — звуковой объем, который показывает потенциальные возможности человека брать ту или иную ноту. Очевидно, что частотный диапазон голоса мужчин и женщин различен, это заметно при обычной беседе.
Голосовые связки у мужчин обычно более длинные и массивные, чем у женщин, поэтому частота мужского голоса находится в примерном диапазоне 80–240 Гц, а женского — 140–450 Гц. В свою очередь, диапазон детских частот голоса колеблется в интервале 170–600 Гц. Однако, чтобы передать характерные особенности тембра, необходимо проигрывать частотный диапазон в переделах 80–8000 Гц. Такой широкий диапазон обуславливается тем, что именно в этом диапазоне сохраняются хорошая разборчивость и естественность звучания голоса [1].
Исследование существующих методов
Для начала проанализируем на практике существующие методы шумоподавления. Для этого было записано две аудиозаписи. Первая запись была сделана на улице, вторая — в метро. Графики записанных сигналов представлены на рисунке 1 и 2. Именно эти условия являются наиболее сложными с точки зрения шума в городской обстановке. Спектральные представления сигналов показаны на рисунке 3 и рисунке 4. Для взаимодействия системы была использована программа MATLAB.
Рис. 1. График записи на улице
Рис. 2. График записи в метро
Рис. 3. Спектральное представление уличного сигнала
Рис. 4. Спектральное представление сигнала в метро
К записанным аудиосигналам были применены следующие фильтры:
1) Фильтр низких частот (ФНЧ);
2) Фильтр высоких частот (ФВЧ);
3) Полосовой фильтр;
Ни один из способов фильтрации, не привел к желаемому результату, то есть шумовые компоненты аудиосигнала не были удалены. После применения ФНЧ высокие частоты были срезаны, при этом исказился полезный сигнал. Тоже самое произошло и с ФВЧ, низкие частоты были срезаны, полезный сигнал исказился. Так как порядок фильтра не может быть корректно обработан в MATLAB, характеристика полосового фильтра не удовлетворяет заявленным требованиям. В ходе экспериментов были предприняты попытки вручную подобрать частоты среза фильтров, но это не привело к удовлетворительным результатам. В итоге было принято решение перейти на более сложный алгоритм фильтрации.
В тех случаях, когда на входе системы автоматического управления действует полезный сигнал и помеха, которые являются коррелированными между собой стационарными случайными процессами с равными нулю средними значениями, используется фильтр Винера [2]. Для освобождения полезного сигнала от шума проводится анализ, на входе которого общий сигнал исследуется на типичные свойства речи и шума. При этом рассматриваются отношения сигнал-шум на разных частотах спектра. Поскольку шумовой сигнал существенно отличается от речи по частоте и его общий уровень постоянен (шум в автомобиле), то для реализации модуля подавления шумов в настоящей работе имеет смысл использовать фильтр Винера. При выявлении частотных компонентов шума, проводится их ослабление в общем спектре сигнала. Когда шумовые и полезные частотные компоненты наблюдаются одновременно, фильтр Винера вычитает сохраненный ранее шумовой сигнал из текущего общего сигнала. Таким образом, этот метод может снижать и частотные компоненты полезного сигнала.
Если придерживаться теории, то существует возможность полностью отфильтровать шумовые составляющие, но на практике это не удается. При фильтровании звук речи может терять свою естественность, или могут слышаться тональные частотные компоненты.
Модуль подавления шумов для систем звукозаписи
Каждый из проанализированных методов имеет не только свои недостатки, делающие их по отдельности непригодным для эффективного использования, но и достоинства, которые дают возможность комбинации данных методов с некоторыми изменениями. Одна из возможных схем комбинации легла в основу разработанного авторами статьи модуля, схема установки которого представлена на рисунке 5.
Рис. 5. Схема установки
Два микрофона, находящиеся на расстоянии 20 сантиметров друг от друга, записывают сигналы, находящиеся в ареале доступа, причем один из микрофонов находится в непосредственной близости к источнику полезного сигнала. В записывающем сигнале могут присутствовать как полезные, так и шумовые составляющие. Далее записанные аудиофайлы поступают на компьютер, где в программе MATLAB происходит их фильтрация. После применения алгоритмов, загруженных в используемую программу, на выходе выдается конечный аудиофайл с удаленным шумом. Сам же динамик, в свою очередь, воспроизводит полученный файл для проверки качества фильтрации.
Для записи сигнала, были приобретены две пары гарнитур, модели GAL HM-008nd. Данная модель характеризуется своей низкой стоимостью [3]. Именно эта особенность и стала ключевой в выборе гарнитуры. Характеристики модели представлены в таблице 1.
Таблица 1
Характеристики гарнитуры
Тип |
Канальные |
Тип кабеля |
Симметричный |
Тип подключения |
С проводом |
Длина кабеля |
1.2 м |
Разъем |
mini jack 2.5 mm |
Чувствительность микрофона |
-55 дБ |
Импеданс |
32 Ом |
Чувствительность |
95 дБ |
Частота |
20–18000 Гц |
Максимальная мощность |
50 мВт |
Алгоритм шумоподавления является сочетанием нескольких приемов шумоподавлений: применение двух микрофонов, выравнивание сигналов разных микрофонов по корреляции, учет сдвига фаз между гармониками сигналов разных микрофонов для дополнительной фильтрации шумов, динамический расчет усредненного спектра шума по текущему фрагменту обрабатываемого сигнала, фильтр Винера для вычитания спектров. Разработанная схема фильтра приведена на рисунке 6.
Рис. 6. Схема включения фильтра
В работе, для подавления нежелательного сигнала (шума), используется два микрофона. Первый микрофон расположен в непосредственной близости к источнику полезного сигнала, а второй — на расстоянии в 20 сантиметров от первого. В данном случае можно воспользоваться спектральным вычитанием фрагментов одного сигнала от другого.
На рисунке 7 приведен звуковой сигнал, записанный на первый микрофон в условиях уличной суеты, а на рисунке 8 — звукового сигнал со второго микрофона, расположенного ближе к источнику полезного сигнала. Причем, как на первой, так и на второй аудиозаписи, присутствует нежелательный сигнал. На графиках присутствует шум от автомобилей.
Рис. 7. График первой аудиозаписи в уличных условиях
Рис. 8. График второй аудиозаписи в уличных условиях
Шумовых составляющих в вагоне метро намного больше, нежели на улице. На рисунке 9 можно увидеть график первой аудиозаписи, сделанной в вагоне метро, на рисунке 10 — второй аудиозаписи.
Рис. 9. График первой аудиозаписи в метро
Рис. 10. График второй аудиозаписи в метро
Корреляционная зависимость — статистическая взаимосвязь двух и более случайных величин. Суть заключается в том, что при изменении значения одной переменной, происходит закономерное изменение другой переменной [4].
Корреляция необходима для выравнивания двух записей по времени. Среда разработки — MATLAB, позволяет выполнить данную операцию с высоким быстродействием. Для данной операции используется команда «xcorr» [5]. Фрагмент кода выравнивания по корреляции, представлен в листинге 1.
Листинг 1 — Выравнивание по корреляции
В данном фрагменте кода имеется такой параметр, как «lagDiff». Он характеризует смещение одного сигнала относительно другого [6]. Двусторонняя проверка на достоверное центрирование является необходимым условием для стабильного выравнивания по корреляции. Результат проделанной операции изображен на рисунке 11.
Рис. 11. Коэффициент корреляции
Максимальное значение параметра «lagDiff» приблизительно равно 2700. Данное значение характеризует степень корреляции между сигналами. Чем выше значение параметра, тем лучше центровка. Ось абсцисс показывает насколько нужно сдвинуть первый сигнал, относительно второго для выравнивания по фазе.
После корреляции выровненные сигналы разбиваются на фрагменты по 20 мс. Это делается для эффективного подсчета по текущему участку сигнала, при этом, для достоверного вычисления, каждый следующий фрагмент перекрывается предыдущим на 50 процентов. Сигналы, разбитые на фрагменты, поступают на предварительный этап фильтрации. Тут последовательно выполняются несколько процессов, таких как: быстрое преобразование Фурье, учет сдвига фаз для подавления шумов, расчет усредненного спектра шума по последним 30 фрагментам шумового сигнала.
Быстрое преобразование Фурье, далее БПФ, это алгоритм быстрого вычисления дискретного преобразования Фурье (ДПФ), то есть алгоритм вычисления за количество действий меньшее чем требуемых для прямого (по формуле) вычисления ДПФ. Реже, под БПФ понимается один из быстрых алгоритмов, прореживаемый по частоте и времени, или алгоритмом по основанию 2 [7].
Преобразование Фурье принимает входную фукнцию f во временной области и преобразует ее в новую функцию в частотной области (рис. 12). Другими словами, исходная функция может рассматриваться как амплитуда в данный момент времени, а после преобразования Фурье — как амплитуда заданной частоты. На рисунке 13 показано приближение с 6 компонентами прямоугольной волны в 6 волн. Эти частотные составляющие показывают очень острые пики в частотной области (рис.14) [8].
Рис. 12. Первый этап преобразования Фурье
Рис. 13. Разложение волн
Рис.14. Результат преобразования
Если фазы двух переменных величин изменяются во времени периодически и с одинаковой частотой, то необходимо учитывать их сдвиг. Это разность между начальными фазами соответствующих гармоник опорного и зашумленного сигналов [9].
Для надежности системы учитывается усреднение спектра шума по последним 30 фрагментам шумового сигнала. Данный алгоритм расчета гарантирует достоверные результаты и стабильные характеристики перед основным этапом фильтрования.
Как уже говорилось ранее, фильтр Винера используется, когда на входе системы действует помеха и полезный сигнал, которые являются коррелированными между собой стационарными случайными процессами с равными нулю средними значениями.
Рис. 15. Блок-схема фильтра Винера
Блок-схема фильтра, приведенная на рисунке 15, имеет следующие компоненты:
1 — отношение сигнал/шум для спектрального составляющего сигнала и шума;
2 — сглаживание резких скачков спектральных составляющих между соседними фрагментами сигнала;
3 — расчет отношения сигнал/шум после сглаживания;
4 — расчет коэффициентов фильтра Винера;
5 — применение фильтра к текущему фрагменту сигнала;
6 — расчет спектра обработанного сигнала;
7 — расчет фрагмента обработанного сигнала с помощью обратного преобразования Фурье.
Сглаживание спектра производится исходя из того, что спектры речевого сигнала не могут изменяться скачком, только плавно. Благодаря этому, можно отбрасывать кратковременные скачки амплитуд отдельных гармоник сигнала, как неправдоподобные. Коэффициенты фильтра Винера принимаются равными по отношениям амплитуд для соответствующих гармоник спектров опорного и зашумленного сигналов. Применение фильтра к текущему сигналу приводится к умножению амплитуд гармоник сигнала на соответствующие коэффициенты фильтра.
График сигнала в метро, до фильтрации, представлен на рисунке 16. Зашумленный сигнал нужно вычесть из опорного сигнала.
Рис. 16. Сигнал в метро до фильтрации
Результат выполнения фильтрации при помощи фильтра Винера показан на рисунке 17. Как мы видим, шумовые составляющие удалились, при этом полезный сигнал не был сильно искажен.
Рис. 17. Отфильтрованный сигнал в метро
Сигнал, записанный на улице, также был отфильтрован фильтром Винера, график представлен на рисунке 18.
Рис. 18. Уличный сигнал до фильтрации
Результат фильтрации сигнала, сделанной на улице, показан на рисунке 19. Анализируя полученный результат, видим, что шумовые составляющие удалились, причем качество полезного сигнала не изменилось.
Рис.19. Отфильтрованный сигнал на улице
Специально для разработанного проекта была написана программа, которая вычисляет отношение сигнал/шум при вводе входных параметров, отчетов. Функция «voice_to_noise_ratio» вычисляет отношение сигнал-шум для звукозаписи с заданными границами участков голоса и тишины. Исходными данными являются:
signal — массив отсчетов сигнала;
voice_noise_intervals — матрица Nx2, в строках границы интервалов сигнала, содержащие речь;
only_noise_intervals — матрица Mx2, в строках границы интервалов сигнала, не содержащие речь.
Листинг 2. Отношение сигнал/шум
В случае с записью, сделанной на улице, отношение сигнал/шум был равен 23.3593, после фильтрации, его значение увеличилось в 2 раза — 43.2139. Это значит, что после фильтрации шумовые составляющие удалились, и качество записи улучшилось в 2 раза. Результаты значения отношения/шум приведены в децибелах.
Отношение сигнал/шум записи, сделанной в метро, был равен 4.9645. После фильтрации его значение увеличилось в 6 раз — 29.4566. Это значит, что после фильтрации шумовые составляющие удалились.
Запись сигнала с шуршанием пакета, также прошла данную проверку. Значение отношения сигнал/шум до фильтрации была равна 19.5865, после — 27.5628. Отношение сигнал/шум улучшилось в 1.5 раза.
Выводы
Все устройства записи, как аналоговые, так и цифровые, обладают свойствами, которые делают их восприимчивыми к шуму. Шум может быть случайным и не когерентным, то есть не связанный с самим сигналом, или когерентным, вносимый устройствами записи и алгоритмами обработки.
В работе были рассмотрены существующие методы по решению данной проблемы, проблемы шумоподавления и предложен свой вариант модуля шумоподавления, приведены основные графики сигналов до фильтрации и после, для визуального сравнения. Одним из немаловажных этапов любой разработки является тестирование. Тестирование разработанного модуля показало, что алгоритм шумоподавления работает корректно и все результаты являются правдоподобными.
Литература:
- Частота голоса [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Частота_голоса
- А. А. Воронов, Д. П. Ким, М. Лохин и др. Теория нелинейных и специальных систем автоматического управления. Под редакцией А. А. Воронова. — 2-е издание, перераб. и доп. — М.: Высш. шк., 1986. — 504 с.
- Гарнитура GAL HM-008nd [Электронный ресурс]. Режим доступа: https://www.auchan.ru/pokupki/garnitura-gal-hm-008nd-chernyj.html
- Общая теория статистики: Учебник / Под ред. Р. А. Шмойловой. — 3-е издание, переработанное. — Москва, 2002. — 560. — ISBN 5–279–01951–8.
- Buck, John R., Michael M. Daniel, and Andrew C. Singer. Computer Explorations in Signals and Systems Using MATLAB. 2nd Edition. Upper Saddle River, NJ: Prentice Hall, 2002.
- Stoica, Petre, and Randolph Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.
- Теория электрической связи: учебное пособие / К. К. Васильев, В. А. Глушков, А. В. Дормидонтов, А. Г. Нестеренко;под общ. ред. К. К. Васильева. — Ульяновск: УлГТУ, 2008. — 452 с.
- Fourier transform time and frequence domains. [Электронный ресурс]. Режим доступа: https://commons.wikimedia.org/wiki/File: Fourier_transform_time_and_frequency_domains_(small).gif
- S. Jeong, H. Yang., M.Hahn. Two-channel noise reduction for robust speech recognition in car environments. — 2002.