Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильтрация шумов
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
coolibin
Существуют ли фильтры которые отфильтровывают только шумы, а гармоники оставляют? Если да, то какие?
jorikdima
Цитата(coolibin @ Oct 10 2007, 10:44) *
Существуют ли фильтры которые отфильтровывают только шумы, а гармоники оставляют? Если да, то какие?

да! такие фильтры зовуться идеальные beer.gif
Grt
Используй методы адаптивной фильтрации.
DRUID3
Или выделение сигналов корреляционным способом, если их форма заранее известна...
coolibin
to Grt
что то маловато про эту адаптивную фильтрацию написано(может плохо искал).

to DRUID3
автокорреляция тоже вариант, но я хочу попроще
Nadir
Цитата(coolibin @ Oct 10 2007, 10:44) *
Существуют ли фильтры которые отфильтровывают только шумы, а гармоники оставляют? Если да, то какие?

Насколько мне известно наилучший фильтр - это согласованный, т.е. его АЧХ полностью совпадает со спектром импульса. При этом на его выходе получается наиболее возможное отношение сигнал/шум. А адаптивная фильтрация применяется в основном для борьбы с МСИ.
Grt
Цитата(Nadir @ Oct 10 2007, 16:39) *
Насколько мне известно наилучший фильтр - это согласованный, т.е. его АЧХ полностью совпадает со спектром импульса. При этом на его выходе получается наиболее возможное отношение сигнал/шум. А адаптивная фильтрация применяется в основном для борьбы с МСИ.


Если известно, что помеха стационарная, то делается все намного проще. Делаешь прямое fft, далее спомощью графического эквалайзера убираешь (давишь) не нужные гармоники, соответсвующие частотам - помехи. Полученный новый спектр сигнала сворачиваешь назад с помощью обратного fft в новый сигнал.
Degun
Цитата(coolibin @ Oct 10 2007, 10:44) *
Существуют ли фильтры которые отфильтровывают только шумы, а гармоники оставляют? Если да, то какие?

Вообще действительно выбор того или иного варианта зависит от характеристик шума:
импульсный или белый шум;
стационарные или нет;
и т. д.
DRUID3
Цитата(Nadir @ Oct 10 2007, 15:39) *
Насколько мне известно наилучший фильтр - это согласованный, т.е. его АЧХ полностью совпадает со спектром импульса. При этом на его выходе получается наиболее возможное отношение сигнал/шум. А адаптивная фильтрация применяется в основном для борьбы с МСИ.

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

Цитата(coolibin @ Oct 10 2007, 15:28) *
to Grt
что то маловато про эту адаптивную фильтрацию написано(может плохо искал).

to DRUID3
автокорреляция тоже вариант, но я хочу попроще

А я собственно и не об автокорреляции, а о корреляторе как оптимальном детекторе. Проще просто не может быть по определению... Вопрос сводится к тому ЧТО Вы собираетесь выделять из шума, случайный сигнал (человеческий голос, звук работы гребного винта судна и т.д.) тогда да, это скорее к вопросу об адаптивной фильтрации. Или же заранее заданный (например массивом в RAM/ROM контроллера) символ, читай функцию. Тогда это коррелятор, выдающий значение [-1;1] а затем компаратор...
coolibin
To Grt
Цитата
Если известно, что помеха стационарная, то делается все намного проще. Делаешь прямое fft, далее спомощью графического эквалайзера убираешь (давишь) не нужные гармоники, соответсвующие частотам - помехи. Полученный новый спектр сигнала сворачиваешь назад с помощью обратного fft в новый сигнал.

Сразу скажу, что в шумах не разбираюсь. В модели я брал обычный генератор случайных чисел(какой это шум не знаю). После прямого fft получил пики частот основных гармоник и шум по ВСЕМУ спектру.
Ввел критерий, если занчение амплитуды в точке меньше определенного эпсилон значит это шум. Затем обратное fft. Результат выглядел довольно соблазнительно. Этот способ держится лишь на моих рассуждениях, поэтому в нем может быть ошибка. Я работал с моделью(с шумом генерируемым случайно), как он будет работать с реальным сигналом не знаю.

To Degun
Цитата
Вообще действительно выбор того или иного варианта зависит от характеристик шума:импульсный или белый шум;стационарные или нет;и т. д.

Надо будет разобратся в шумах!
Grt
В качестве коррелятора или дектора обычно используют VAD, если надо подавить шум или так называемый детектор двойного разговора (double talk detection) если надо подавить например эхо. Процедура следущая детектор выдает промежутки сигнала где он обнаружил что это например шум, далее на таких участках наш адаптивный фильтр обучается, и далее как только наш детектор говорит, что идет речь - делается фильтрация по обученным коэфф. фильтра и.т.д. Тем саммым мы очищаем речь от шумов и т.д. Главное, нужно понят что мы хотим подавить, и соответсвенно правильно выбрать детектор для детектирования
Grt
Цитата(Grt @ Oct 10 2007, 17:34) *
В качестве коррелятора или дектора обычно используют VAD, если надо подавить шум или так называемый детектор двойного разговора (double talk detection) если надо подавить например эхо. Процедура следущая детектор выдает промежутки сигнала где он обнаружил что это например шум, далее на таких участках наш адаптивный фильтр обучается, и далее как только наш детектор говорит, что идет речь - делается фильтрация по обученным коэфф. фильтра и.т.д. Тем саммым мы очищаем речь от шумов и т.д. Главное, нужно понят что мы хотим подавить, и соответсвенно правильно выбрать детектор для детектирования


На сайте GritTec laboratory можно скачать программы по шумоочистки речи, там же можно заказать библиотеки, чтобы встроить в свою систему.
coolibin
to Grt
Цитата
На сайте GritTec laboratory можно скачать программы по шумоочистки речи, там же можно заказать библиотеки, чтобы встроить в свою систему.

Они денюшек стоят

Разве нет способа попроще, если есть гарантия что шум всегда будет обычные случ. числа?
Grt
Цитата(coolibin @ Oct 11 2007, 10:32) *
to Grt

Они денюшек стоят

Разве нет способа попроще, если есть гарантия что шум всегда будет обычные случ. числа?


Если частотная характеристика шума известна всегда, то можно использовать спектральное вычитание, т.е. из нашего спектра сигнала с шумом вычитаем спектр шума.
coolibin
To Grt
Цитата
Если частотная характеристика шума известна всегда, то можно использовать спектральное вычитание, т.е. из нашего спектра сигнала с шумом вычитаем спектр шума

очень интересно, но как найти частотную хар-ку шума?

Не хочу заводить отдельную тему изза такого маленького вопросика, поэтому спрашу у вас - нерекурсивный ФНЧ пропускает белый шум в полосе пропускания и подовляет в полосе непропускания? или я ошибаюсь? дело в том что я проверяю работу своего фильтра на зашумленном сигнале и заметил что чем выше частота среза тем более зашумленый сигнал я получаю на выходе, причем увеличение порядка фильтра картины не меняет. Если вы с чем то не согласны, скажите пожалуйста с чем и почему
DRUID3
Цитата(coolibin @ Oct 11 2007, 11:30) *
To Grt

очень интересно, но как найти частотную хар-ку шума?

Ну у Вас есть функция распределения постройте модель с похожей функцией и возьмите DFT от временной характеристики.

Цитата(coolibin @ Oct 11 2007, 11:30) *
Не хочу заводить отдельную тему изза такого маленького вопросика, поэтому спрашу у вас - нерекурсивный ФНЧ пропускает белый шум в полосе пропускания и подовляет в полосе непропускания? или я ошибаюсь? дело в том что я проверяю работу своего фильтра на зашумленном сигнале и заметил что чем выше частота среза тем более зашумленый сигнал я получаю на выходе, причем увеличение порядка фильтра картины не меняет.


Любой линейный фильтр так делает. Спектральная мощность идеального белого шума размыта по всему (от нуля до бесконечности) частотному спектру, а спектр сигнала ограничен в определенном диапазоне частот. Если, увеличивая частоту, Вы наблюдаете увеличение зашумленности то это свидетельствует о том, что полоса пропускания фильтра начинает быть большей чем оптимальная АЧХ для Вашего сигнала.
Grt
Цитата(coolibin @ Oct 11 2007, 12:30) *
To Grt

очень интересно, но как найти частотную хар-ку шума?

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



АЧХ шума ищется, как уже говорил, спомощью дететора, например VAD. Взять можно из какого-нибудь вокодера. На временных участках соответствующих шуму вычисляем FFT, спект сигнала это и есть АЧХ.

Что касается ФНЧ - это просто светка сигнала с коэфф. фильтра, в данном случае насколько я понял во временной области. Коэффю фильтра должны быть нормированы относительно 1.0.
Поэтому, если получается, что на выходе выполучили больше чем на входе, значит где-то баг.
Кроме того, как здесь уже говорилось сам посебе белый шум - есть широкополосная помеха. Просто так ее с помощью ФНЧ не убрать. Такие шумы убирают с помощью адаптивной фильтрации, причем в основном в частнотной области.
Для начала я бы посоветовал вам сделать прямое и затем обратное преобразование фурье, причем нужно добиться, чтобы сигнал на выходе был бит экзетным ко входному. Порядок фурье можно брать 128, 256, и т.д. Перекрытие окон 2 или 4 - кто как. После этого между процедурой FFT и IFFT, можно вставить любую обработку в частной области, хоть ФНЧ (выбранные гармоники зануляем) и т.д.
анатолий
[/quote]
Для начала я бы посоветовал вам сделать прямое и затем обратное преобразование фурье, причем нужно добиться, чтобы сигнал на выходе был бит экзетным ко входному. Порядок фурье можно брать 128, 256, и т.д. Перекрытие окон 2 или 4 - кто как. После этого между процедурой FFT и IFFT, можно вставить любую обработку в частной области, хоть ФНЧ (выбранные гармоники зануляем) и т.д.
[/quote]

Это годится только для случая, когда период синусоиды кратен 128, 256 и тд.
Иначе нужно плавное окно.
А вообще, если знаешь частоту синусоиды, то лучший фильтр - фильтр Герцеля.
Grt
Цитата(анатолий @ Oct 26 2007, 15:23) *
Это годится только для случая, когда период синусоиды кратен 128, 256 и тд.
Иначе нужно плавное окно.
А вообще, если знаешь частоту синусоиды, то лучший фильтр - фильтр Герцеля.



А причем здесь период синусоиды ? Кроме того длина анализируемого окна не обязательно должна быть связана с порядком фурье анализа.
анатолий
Инженер Фурье изначально предполагал, что в исходном сигнале
все синусоиды кратны частоте 1/(2П*N).
Только тогда всё хорошо фильтруется.
А если какие другие частоты - то работает тот самый эффект Гиббса -
и Ваш фильтр будет фильтровать с подавлением не лучше 15 дб.
Или иначе тогда надо очень строго -
в частотной области
перемножать частоты сигнала на
спектр импульсной реакции расчитанного фильтра,
который не есть "квадратная" АЧХ.
Grt
Цитата(анатолий @ Oct 29 2007, 18:57) *
Инженер Фурье изначально предполагал, что в исходном сигнале
все синусоиды кратны частоте 1/(2П*N).
Только тогда всё хорошо фильтруется.
А если какие другие частоты - то работает тот самый эффект Гиббса -
и Ваш фильтр будет фильтровать с подавлением не лучше 15 дб.
Или иначе тогда надо очень строго -
в частотной области
перемножать частоты сигнала на
спектр импульсной реакции расчитанного фильтра,
который не есть "квадратная" АЧХ.


Человек, который утверждает, что все хорошо фильтруется, похоже вообще не имел дело с реальными сигналами. Фильтр будет фильтровать так как ему скажет детектор и взависимости от порядка фильтра (Порядок/качество).
В частотной области нет понятия импульсной характеристики, есть понятие передаточной характеритики
анатолий
Цитата
Фильтр будет фильтровать так как ему скажет детектор и взависимости от порядка фильтра (Порядок/качество).

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

Цитата
В частотной области нет понятия импульсной характеристики, есть понятие передаточной характеритики

А никто и не говорил об импульсной характеристике в частотной области.
Просто передаточная характеристика - это спектр импульсной характеристики.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.