Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка сигналов... Нужен фильтр 
:(
    Опции темы
kernel_mode
  Дата 18.3.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Необходимо подавить шум в звуковом сигнале. Имеется его спектр (полученный путём FFT). Никак не могу найти нужную информацию, гуглю уже не одну неделю smile Вообщем нужен фильтр smile
PM MAIL   Вверх
GoldFinch
Дата 18.3.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



те сам фильтр или программу? сам фильтр в прогах типа sound forge
можно достаточно просто сделать прогу с фильтром в LabView
самому писать прогу на какомнить языке - юзай какойнить стандартный КИХ или БИХ фильтр они просто реализуются и много где описаны
PM MAIL ICQ   Вверх
kernel_mode
Дата 18.3.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Мне нужно программу написать smile Насчёт КИХ и БИХ, что то я не нашёл примеров реализации на с... Да и вообще инфы помоему мало... Я плохо ищу?  smile
P.S. Проблема собственно в том, что я пока только в 11 классе, а эта тема очень заинтересовала. В БПФ я вникнул, а вот в цифровую обработку сигналов без разжеванной инфы не могу... :(

Это сообщение отредактировал(а) kernel_mode - 18.3.2009, 21:05
PM MAIL   Вверх
GoldFinch
Дата 18.3.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



kernel_mode, ты бы теорию изучил тогда сначала, учебик бы по цифровой обработке сигналов почитал... основы надо понимать, а не "БПФ изучил"
вобщем идея такая. есть штука которая должна фильтровать сигнал, она имеет в частотной области частотную характеристику X(f), эта частотная характеристика умножается на спектр входного сигнала S(f), результат перемножения - выходной профильтрованный сигнал S2(f)

например, входной сигнал представлен в виде массива значений амплитуд гармоник по частотам, S[N], расстояние между частотами 1Гц, тогда индекс массива численно совпадает с частотой, и у тебя S[200] - амплитуда гармоники на частоте 200Гц
тогда берем фильтр высоких частот с характеристикой заданной H[N]
и считаем выходной сигнал как for i=0..N-1 do S2[i]=H[i]*S[i]

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

но такое преобразование из сигнала в его спектр и наоборот слишком затратно, поэтому обычно фильтруют сразу сигнал во временной области. операция произведения спектра на частотную характеристку фильтра эквивалентна операции свертки (сумма произведений) временного сигнала s(t) и импульсной (временной) характеристики фильтра h(t) во временно области: s2(t)=s(t) (+) h(t)
(фильтр с Конечной Импульсной Характеристикой называется КИХ фильтром)

....

но это все было так, для общего развития
реальный шум в акустическом сигнале расположен на тех же частотах (гдето 40Гц-16КГц) что и сам сигнал, реальный сигнал вляется не только суммой С+Ш но и произведением С*Ш, поэтому его невозможно отфильтровать простым линейным фильром
для фильтрации шумов в сигнале использую его корреляционные (а может и кепстральные) характеристики, берется характеристика чистого шума, анализируется и с ее помощи пытаются отделить сигнал от шума

Добавлено через 1 минуту и 45 секунд
вобщем мораль такова, что ты не можешь сейчас ни разобраться с используемым там математическим аппаратом, ни реализовать его программно, юзай sound forge
PM MAIL ICQ   Вверх
kernel_mode
Дата 18.3.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Эх... А я выступить думал в школе напоследок smile А LP и HP фильтры мне тоже не под силу? smile
PM MAIL   Вверх
GoldFinch
Дата 18.3.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



kernel_mode, LP это фильтр низких частот (ФНЧ), HP - высоких (ФВЧ)
да под силу, но это ничего не даст

пример фильтра можно посмотреть в википедии

PM MAIL ICQ   Вверх
cardinal
Дата 19.3.2009, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Посмотри тут
http://forum.vingrad.ru/forum/topic-171436.html
я там челу больше года назад показал, как можно сделать фильтр, но видать увидев подход и результат чел понял, что не осилить ему эту задачу... smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
GoldFinch
Дата 19.3.2009, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



cardinal, там нужен был простой (линейный) ФНЧ фильтр 
здесь - совсем другая задача
PM MAIL ICQ   Вверх
cardinal
Дата 19.3.2009, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(kernel_mode @  18.3.2009,  13:37 Найти цитируемый пост)
Необходимо подавить шум в звуковом сигнале.

GoldFinch, а тут что нужно? У него ведь сигнал записан. Теперь делай с ним что хочешь...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Pavia
Дата 19.3.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Цитата(kernel_mode @  18.3.2009,  15:37 Найти цитируемый пост)
Необходимо подавить шум в звуковом сигнале. Имеется его спектр (полученный путём FFT). Никак не могу найти нужную информацию, гуглю уже не одну неделю  Вообщем нужен фильтр 

Самый простой вариант. Это приминить БПФ. Нам нужно знать частотные характеристики сигнала и шума. И если они различаются то можем строить фильтр.  К примеру у нас полезный сигнал это низкии частоты, а шум высокии. Тогда зануляем высокии частоты. И делаем обратное преобразование.

 схема фильтрацыы выгледит так.
f исходный сигнал -> БПФ-> F частотная характеристика сигнала-> домножаем на фильтр G, который содержит нули там где надо занулить сигнал 1 где сохранить -> делаем обратное БПФ -> f' отфильтрованный сигнал.

Тут правда вылазит эффект Гибса. Поэтому что бы его побороть еще используют окна. 


В теории  различают:
Филтр Низких Частот
Фильтр Высоких Частот 
Полосовой фильтр
Режекторный фильтр
В зависимости от того что срезаем, а что оставляем.

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

Цитата(kernel_mode @  18.3.2009,  20:51 Найти цитируемый пост)
 Насчёт КИХ и БИХ, что то я не нашёл примеров реализации на с... Да и вообще инфы помоему мало... Я плохо ищу? 
 Плохо искали. Аналогичного результата можно добиться при помощи БИХ и КИХ фильтеров. Работают в некоторых обстоятельствах быстрее. В некоторых медленее. А информации достаточно и реализацию тоже не состовляет труда найти.



Плюс немного магии smile  и все получится.



PM MAIL   Вверх
GoldFinch
Дата 19.3.2009, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



Pavia, в акустическом сигнале шум и сим сигнал лежат в одном диапазоне частот, шум вне слышимого диапазона частот будет просто неслышен человеком, его фильтровать смысла нет

Цитата(Pavia @  19.3.2009,  16:05 Найти цитируемый пост)
Реальной же отличается от идеального тем что он может быть совершенно другого вида более плавными сгибами. И дает лучший результат.

реальный он на то и не идеальный что дает заведомо худший результат
фильтр обрабатывающий сигнал во временной области может быть лучше идеального фильтра работающего в частотной области только за счет недостатков цифрового преобразования Фурье
поэтому БПФ всего сигнала, "мгновенная" БПФ в окне - не лучший вариант для обработки сигнала, для анализа - хорошо, а для обработки нет
Цитата(Pavia @  19.3.2009,  16:05 Найти цитируемый пост)
помощи БИХ и КИХ фильтеров. Работают в некоторых обстоятельствах быстрее. В некоторых медленее.

свертка или рекурсия всяко будут быстрее двукратного БПФ

PM MAIL ICQ   Вверх
Pavia
Дата 19.3.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Цитата(GoldFinch @  19.3.2009,  17:30 Найти цитируемый пост)
свертка или рекурсия всяко будут быстрее двукратного БПФ

Несогласен. Если матрица свертки маленькая то будет быстрее прямым способом. А если большая то быстрее через БПФ. Только его лучше взять уже готовом види, оптимизированный по скоросте. 

Цитата(GoldFinch @  19.3.2009,  17:30 Найти цитируемый пост)
 в акустическом сигнале шум и сим сигнал лежат в одном диапазоне частот, шум вне слышимого диапазона частот будет просто неслышен человеком, его фильтровать смысла нет

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


Цитата(GoldFinch @  19.3.2009,  17:30 Найти цитируемый пост)
поэтому БПФ всего сигнала, "мгновенная" БПФ в окне - не лучший вариант для обработки сигнала, для анализа - хорошо, а для обработки нет

Ошибку можно оценить. Но побольшей части в качестве сверки он должен подходить smile  
PM MAIL   Вверх
kernel_mode
Дата 20.3.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Всем огромное спасибо за разьяснения smile Решил реализовать LP и HP фильтры для хоть какого нибудь результата smile Я же в школе выступать буду, просто возьму сигнал с шумами на низких и высоких частотах smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0866 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.