|
Фильтрация по Винеру при шумоподавлении и известном слепке шума |
|
|
|
Jun 5 2017, 15:17
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 27-01-16
Пользователь №: 90 226

|
Здравствуйте! Вопрос, который мне необходимо решить, уже поднимался наверное не раз и не два, но я нигде не нашел некоторых нюансов, которые и хотел бы выяснить. Решаю задачу шумоподавления для речевого сигнала при известном слепке шума. На данный момент применил метод спектрального вычитания. 1. Разбиваю сигнал на перекрывающиеся кадры. (Перекрытие 50%) 2. Для очередного кадра применяю оконное преобразование с окном Ханна. 3. Оставляю только речевую полосу частот (300 - 3400 Гц.) 4. Произвожу сглаживание полученного спектра (S(f, t) = S(f, t-1) + a*(X(f, t) - S(f, t -1)) для подавления "музыкальных" искажений. где S(f, t) - результирующий сглаженный спектр, S(f, t - 1) - сглаженный спектр при обработке предыдущего кадра, X(f, t) - спектр текущего кадра. 5. Вычитаю из получившегося спектра очередного кадра сигнала спектр слепка шума, усредненный по количеству полных кадров шума в слепке. 6. Произвожу обратное преобразование Фурье для полученного спектра кадра. 7. Накладываю полученный временной кадр сигнала на конечный буфер методом сложения с перекрытием. Помимо спектрального вычитания при шумоподавлении можно применять фильтрацию по Винеру. И я встречал упоминания подобного алгоритма покадровой обработки но с применением фильтра Винера. Насколько я понимаю в пределах кадра сигнал и шум можно считать стационарными случайными процессами (шум в принципе в моей постановке задачи стационарный случайный процесс). Тогда передаточная характеристика фильтра Винера HW(f)= (Psn(f) - Pn(f)) / Psn(f), где Psn(f) спектр мощности смеси сигнала и шума, Pn(f) - спектр мощности шума. А дальше я не понимаю точно как применять построенную передаточную характеристику фильтра Винера. Если прямо умножать компоненты спектра зашумленного сигнала на передаточную характеристику на данной частоте, то это будет полной аналогией спектральному вычитанию в то время как в статье английской прямо говорится что фильтрация по Винеру отличается от спектрального вычитания. Сталкивался ли кто-нибудь с применением фильтрации по Винеру в принципе? Именно с применением на практике.
|
|
|
|
|
 |
Ответов
|
Jun 6 2017, 08:11
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Сергей Ст @ Jun 5 2017, 18:17)  ... А дальше я не понимаю точно как применять построенную передаточную характеристику фильтра Винера. Если прямо умножать компоненты спектра зашумленного сигнала на передаточную характеристику на данной частоте, то это будет полной аналогией спектральному вычитанию в то время как в статье английской прямо говорится что фильтрация по Винеру отличается от спектрального вычитания. Сталкивался ли кто-нибудь с применением фильтрации по Винеру в принципе? Именно с применением на практике. С винеровской фильтарцией на практике сталкивался в другом приложении, так что, думаю, могу ответить. Ответ на выделенный вопрос есть в книжке Saeed V. Vaseghi Advanced Digital Signal Processing and Noise Reduction, Second Edition. в параграфе 11.1.3 В методе спектрального вычитания, как его определяет автор, используются мгновенные оценки спектра смеси. В Вашем изводе этого метода используются усредненные по времени оценки СПМ смеси. В винеровском фильтре используются наперед известные СПМ, полученные усреднением по ансамблю. В случае стационарных эргодических процессов и достаточно маленького a Ваш фильтр и будет винеровским.
|
|
|
|
|
Jun 6 2017, 12:28
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 27-01-16
Пользователь №: 90 226

|
Цитата(andyp @ Jun 6 2017, 12:11)  С винеровской фильтарцией на практике сталкивался в другом приложении, так что, думаю, могу ответить.
Ответ на выделенный вопрос есть в книжке Saeed V. Vaseghi Advanced Digital Signal Processing and Noise Reduction, Second Edition. в параграфе 11.1.3
В методе спектрального вычитания, как его определяет автор, используются мгновенные оценки спектра смеси. В Вашем изводе этого метода используются усредненные по времени оценки СПМ смеси. В винеровском фильтре используются наперед известные СПМ, полученные усреднением по ансамблю. В случае стационарных эргодических процессов и достаточно маленького a Ваш фильтр и будет винеровским. Спасибо Вам большое! Книгу скачиваю уже. Еще интересный вопрос возник в связи с встречающимися мнениями что перекрытие окон можно брать разным в том числе и больше 50 %. Но ведь в этом случае сумма перекрывающихся окон на интервалах перекрытия не даст константу и, по идее, появится паразитная амплитудная модуляция. Я наверное что - то упускаю в своих рассуждениях ?
|
|
|
|
|
Jun 6 2017, 14:38
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Сергей Ст @ Jun 6 2017, 15:28)  Еще интересный вопрос возник в связи с встречающимися мнениями что перекрытие окон можно брать разным в том числе и больше 50 %. Но ведь в этом случае сумма перекрывающихся окон на интервалах перекрытия не даст константу и, по идее, появится паразитная амплитудная модуляция. Я наверное что - то упускаю в своих рассуждениях ? Да нет - на мой взгляд вроде все верно. Наложение окна - процесс сродни гетеродинированию - линейное преобразование, зависящее от сдвига сигнала. В спектральной области получите свертку с оконной функцией, что дает лишние гармоники, как у модуляции. Глубина модуляции будет определяться видом окна - на участках перекрытия - удвоенные хвосты, на неперекрывающихся - собственно отсчеты оконной функции.
|
|
|
|
|
Jun 6 2017, 14:59
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(andyp @ Jun 6 2017, 17:38)  Да нет - на мой взгляд вроде все верно. Наложение окна - процесс сродни гетеродинированию - линейное преобразование, зависящее от сдвига сигнала. В спектральной области получите свертку с оконной функцией, что дает лишние гармоники, как у модуляции. Глубина модуляции будет определяться видом окна - на участках перекрытия - удвоенные хвосты, на неперекрывающихся - собственно отсчеты оконной функции. ИМХО проще всё гораздо, окно - огибающая импульсной характеристики банка полосовых фильтров, перекрытие окон - децимация, объективно контролируем уровень алиасинга, а не слушаем "мнения". https://ccrma.stanford.edu/~jos/sasp/STFT_H..._Window_75.html STFT, Hamming Window, 75% Overlap Perfect reconstruction Oversampled by 4 Aliasing from side lobes only Good channel isolation ( $ \approx 42$ dB) Moderately robust to filter-bank modifications This can be considered a ``telephone quality'' audio filter bank. It has been used many times to analyze/model speech signals.
|
|
|
|
|
Jun 6 2017, 17:49
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(petrov @ Jun 6 2017, 17:59)  ИМХО проще всё гораздо, окно - огибающая импульсной характеристики банка полосовых фильтров, перекрытие окон - децимация, объективно контролируем уровень алиасинга, а не слушаем "мнения". Честно говоря, для меня вообще черная магия как это все работает там. ИХ синтезированного фильтра-шумодава всегда длиннее чем перекрывающаяся часть окон, так что алиасить будет по любому за счет замены линейной свертки на циркулярную и никакой overlap-add от этого избавиться не поможет. Доля энергии этих искажений в полосе сигнала зависит от меняющегося фильтра. Я же только влияние окон на входной спектр описал.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|