0 / 0 / 0
Регистрация: 06.09.2011
Сообщений: 17
|
||||||
1 | ||||||
Фильтрация высоких частот используя свертку (конволюцию)01.12.2012, 00:41. Показов 4774. Ответов 4
Метки нет (Все метки)
Добрый вечер! Есть сигнал, к нему добавляется шум. В спектре шумного сигнала это видно как высокий столбик по середине. И есть фильтр. Нужно сделать конволюцию сигнала и фильтра, и это должно убрать шум. Но в спектре конволюции шум не пропал (высокий столбик по середине стоит). В чем может быть проблема? Правильно ли я фильтр сделал, функция фильтра r = exp(-t^2 / m), m - любое число.
0
|
01.12.2012, 00:41 | |
Ответы с готовыми решениями:
4
Нет регулировки высоких частот Фильтры высоких и низких частот C# Расчет элементов фильтра высоких частот Меняю значение высоких и низких звуковых частот |
01.12.2012, 18:28 | 2 | |||||
Дык, ты делаешь фильтрацию в частотной области (перемножаешь спектры), в .этом коде свертки нет! Но для такого варианта не нужно в фильтре делать замену u=-t и отображать вектор из начала в конец r = r(N:-1:1) !
Но не спеши удалять эти строки! Они понадобятся для свертки! Для реализации свертки служит встроенная ф-ция conv, т.е. тебе нужно было написать вконце:
fср = 1/(2*pi*sqrt(m)) Т.е. для m = 9, fср = 1/(2*pi*3) ~ 0.05, А принимая во внимание, что частоты твоих полезных сигналов 1/(2*pi)~0.3 и 1.3/(2*pi)~0.2 (т.е. больше fср) то не струдно заметить, что они тоже находятся в диапазоне заграждения фильтра, поэтому и в результатах отношение сигнал/шум не сильно увеличится (т.к. срезается и сигнал и шум, но даление шумы чуть больше). Как-то так
1
|
0 / 0 / 0
Регистрация: 06.09.2011
Сообщений: 17
|
|
01.12.2012, 22:09 [ТС] | 3 |
Спасибо! Только я хотел уточнить одну вещь - есть же такая теорема что конволюция 2 сигналов в частотной области - это умножение этих сигналов. Тоесть, fft(сигнал1), fft(сигнал2), и оба умножаются, а потом инверсной fft можно результат конволюции вернуть во область времени. Почему тогда у меня умножение не считалось конволюцией?
0
|
0 / 0 / 0
Регистрация: 06.09.2011
Сообщений: 17
|
|
02.12.2012, 22:48 [ТС] | 5 |
Чуть разобрался, есть conv и ccnov - циклическая свертка, она эквивалентна ifft(fft(U).*fft(r)). Но даже встроенная abs(fft(cconv(U,r,1024))) не дает нужный результат - шум не пропадает. При маленьких m не рисуется спектр свертки. Че делать?
0
|
02.12.2012, 22:48 | |
02.12.2012, 22:48 | |
Помогаю со студенческими работами здесь
5
Обработка изображения используя свертку и оператор Собеля Как осуществить конволюцию (свёртку) матрицы и вектора? Построить гистограммы частот и относительных частот Фильтрация списка, используя отсечение. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |