Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
74 / 59 / 22
Регистрация: 07.04.2013
Сообщений: 195
1

Фильтрация сигнала в частотной области

16.02.2016, 13:49. Просмотров 2508. Ответов 15
Метки нет (Все метки)

Здравствуйте!
Не могу понять для себя один вопрос, буду очень благодарна, если поможете разобраться(посоветовать литературу).
У меня есть сигнал, низкочастотный шум с частотой дискретизации 10240 Гц.
Мне нужно отфильтровать его полосовым фильтром с граничными частотами 400 Гц - 5000 Гц.
Для этого я делаю ДПФ сигнала, а дальше умножаю его на Фурье-образ ИХ полосового фильтра. После этого провожу процедуру ОДПФ.
Вопрос: зачем нужно умножение на Фурье-образ ИХ полосового фильтра, если я могу просто занулить отсчеты гармоник спектра сигнала до 400 Гц и после 5000 Гц и провести ОДПФ? Ведь это же быстрее, не нужно делать расчет никаких фильтров вообще, просто сформировать новый массив гармоник, нужные из которых занулить?

P.S. У меня одна мысль, что так нельзя делать, так как полученный спектр не будет иметь в реальности соответствующего сигнала, а сигнал будет искажаться (но насколько сильно?)

P.P.S. Для наглядности прикладываю картинки из Матлаба: спектр сигнала, Фурье-образ ИХ полосового фильтра, их произведение и зануленный спектр сигнала.
0
Миниатюры
Фильтрация сигнала в частотной области   Фильтрация сигнала в частотной области   Фильтрация сигнала в частотной области  

Фильтрация сигнала в частотной области  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2016, 13:49
Ответы с готовыми решениями:

Представление и фильтрация сигнала в частотной области
Здравствуйте, дали задание на практику: представить сигнал во временной и частотных областях и...

Размытие изображения в частотной области
Как написать процедуру размытия изображения в частотной области с помощью гауссовской функции...

Теорема Парсеваля. Посчитать энергию сигнала во временной и частотной областях
Нужно посчитать энергию сигнала во временной и частотной областях, сравнить их.

Построение синусоиды в частотной области с периодом T Гц
Здравствуйте. Никак не могу сообразить какими образом можно задать синусоиду в частотной области,...

15
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
16.02.2016, 15:09 2
Annza, мысль твоя понятна... К сожалению обнулить "ненужные" частоты и потом восстановить сигнал обратным FFT - это вполне кошерно, но лишь в случае, если у тебя число выборок = бесконечность.
В реальном мире это всегда не выполняется, поэтому приходится извращаться, используя сглаживающие окна.
Про окна можно здесь посмотреть...
Основной принцип - грубое обнуление участка спектра приводит к появлению значительных искажений спектра вне обнуляемой полосы. Если участок спектра "обнулить" гладко, то искажения будут минимальны.
См. также "эффект Гиббса"
1
74 / 59 / 22
Регистрация: 07.04.2013
Сообщений: 195
16.02.2016, 15:47  [ТС] 3
Спасибо Про сглаживающие окна посмотрела, это в принципе мне известно было
А что имеется в виду под фразой "гладко" занулять участки? Все тот же фильтр? Кстати в приведенном примере я использовала сгенеренный матлабом КИХ фильтр (equiripple), у него крутой склон характеристики, но недостаток - неровность в полосе пропускания (но это уже другой вопрос должен быть видимо, про выбор фильтра...)
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
16.02.2016, 16:05 4
Цитата Сообщение от Annza Посмотреть сообщение
А что имеется в виду под фразой "гладко" занулять участки?
Ну примерно это так - левый и правый "склон" обнуляемого участка должен иметь, как минимум сглаживание Ханна
Цитата Сообщение от Annza Посмотреть сообщение
...я использовала сгенеренный матлабом КИХ фильтр (equiripple), у него крутой склон характеристики, но недостаток - неровность в полосе пропускания
Используй фильтр Чебышева II-рода, а то ты скорее всего Кауэра использовала...
0
74 / 59 / 22
Регистрация: 07.04.2013
Сообщений: 195
16.02.2016, 16:15  [ТС] 5
левый и правый "склон" обнуляемого участка должен иметь, как минимум сглаживание Ханна
что значит "сглаживание Ханна"? Вы имеете в виду окно Ханна? Но ведь это весовые коэффициенты для временных отсчетов сигнала, если применять их к отсчетам спектра, я думаю, результат будет непредсказуем(искажение сигнала), это же не для фильтрации в полосе придумано.
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
16.02.2016, 16:21 6
Цитата Сообщение от Annza Посмотреть сообщение
Вы имеете в виду окно Ханна? Но ведь это весовые коэффициенты для временных отсчетов сигнала, если применять их к отсчетам спектра, я думаю, результат будет непредсказуем(искажение сигнала), это же не для фильтрации в полосе придумано.
Вы живёте в мире придуманных иллюзий. Посмотрите, буквально ниже, тему Фармазона.
0
74 / 59 / 22
Регистрация: 07.04.2013
Сообщений: 195
16.02.2016, 16:44  [ТС] 7
Цитата Сообщение от A_Santik Посмотреть сообщение
Вы живёте в мире придуманных иллюзий.
Если по существу больше ничего нет, будем считать что мы друг друга не поняли - окно Ханна в качестве АЧХ ПФ мне не подойдет, слишком пологие склоны.
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
17.02.2016, 04:26 8
А где я Вам предлагал
Цитата Сообщение от Annza Посмотреть сообщение
окно Ханна в качестве АЧХ ПФ
???
Вы склон возьмите, как у Ханна, потом 1 - до начала следующего склона - потом снова Ханна ( спадающую часть).
Цитата Сообщение от Annza Посмотреть сообщение
будем считать что мы друг друга не поняли
Добавлено через 30 минут
Цитата Сообщение от Annza Посмотреть сообщение
Если по существу больше ничего нет, будем считать что мы друг друга не поняли...
Я, честно, так расстроился...
А Вы не задумались, что и в частотной области окно можно масштабировать? К примеру, от 0 до 1 подняться за 10 частотных отсчётов? (Но по закону Ханна, естественно). Потом оставить 1 на полосу пропускания, и снова от 1 снизится до 0....
Это тоже конечно не айс, но по-любасу лучше, чем тупо обнулять "ненужный спектр"

Добавлено через 9 часов 59 минут
А вообще, всем рекомендую использовать окно Блэкмора-Харрисона.
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
18.02.2016, 07:49 9
И еще я бы обнулил все отрицательные частоты. После обратного Фурье получил бы синфазную и квадратурную составляющую.
0
Миниатюры
Фильтрация сигнала в частотной области  
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
18.02.2016, 13:34 10
Что бы не гадать об уровне искажений, рекомендую создать тестовый ЛЧМ- сигнал 50-5120 Гц.
И разными типами окон обнулять ненужные участки. Если полностью обнулить ещё и отрицательные частоты, то на выходе после ОБПФ получим аналитический сигнал, модуль которого даст огибающую фильтрованного сигнала. По ней легко оценить искажения, вносимые фильтрацией.
0
934 / 835 / 120
Регистрация: 23.11.2012
Сообщений: 2,491
18.02.2016, 21:33 11

Не по теме:

Позволю и я себе ввязаться в столь увлекательную научную дискуссию и выразить свое ИМХО. Прошу сильно тапками не кидать. Мерси :senor:


Итак, по порядку:
Цитата Сообщение от Annza Посмотреть сообщение
Вопрос: зачем нужно умножение на Фурье-образ ИХ полосового фильтра, если я могу просто занулить отсчеты гармоник спектра сигнала до 400 Гц и после 5000 Гц и провести ОДПФ?
Так то оно так, но только в случае, когда Вы работаете не в реальном времени. Когда Вам известен весь сигнал - можете творить, все что угодно. Когда же Вам надо обрабатывать все время поступающие отсчеты - тут Вы упретесь в суровую жизнь А суровость, как минимум, в следующем: Ваше зануление гармоник эквивалентно фильтру с идеальной (я предпочитаю сказать "прямоугольной") формой АЧХ. И представим себе, что Вы и вправду создали такой фильтр. Но вот курьез: взгляните, как крутость АЧХ влияет на ФЧХ. Вы с разочарованием поймете, что у фильтра с прямоугольной АЧХ время задержки сигнала - бесконечность
Легче это понять на примере старых добрых фильтров на пассивных элементах. Порядком фильтра в полосовых фильтрах на LC-элементах называется количество колебательных контуров, образующих фильтр. Естественно каждый фильтр вносит задержку (затухание на паразитном сопротивлении сейчас опустим). Так вот фильтра с прямоугольной АЧХ имеет порядок = бесконечности

Не по теме:

#Жизнь-боль

1
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
18.02.2016, 22:14 12
Цитата Сообщение от R2D2 Посмотреть сообщение
Так то оно так, но только в случае, когда Вы работаете не в реальном времени.
Даже если мы создаем антикаузальный фильтр, мы не можем просто так обнулить группу частот - иначе появятся спектральные искажения на границах фильтра. Конечно, чем больше точек сигнала, тем эти искажения меньше.
0
934 / 835 / 120
Регистрация: 23.11.2012
Сообщений: 2,491
18.02.2016, 22:16 13
A_Santik, как я понял, Вы имеете ввиду все тот же эффект Гиббса?
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
18.02.2016, 22:37 14
Да.
Но меня пока больше удивляет желание ТС получить полосу до 5000 Гц при частоте Найквиста 5120 Гц
Очень бы хотелось посмотреть на параметры анти-аляйсинг фильтра.
0
11 / 11 / 0
Регистрация: 20.11.2013
Сообщений: 142
06.03.2020, 11:05 15
R2D2, A_Santik, Совершенно неожиданно пришлось связаться с Фурье-фильтром. До этого пользовался все время IIF и FIR.
Теперь приходится принимать пакет из N отсчетов, проводить фильтрацию Фурье спектра и выплевывать результат.
Возникла проблема, природу которой никак не могу понять (или заработался совсем или туплю) В моментах перехода одного пакета в другой возникают резкие амплитудные всплески (после обратного БПФ). Они появляются только после фильтрации спектра. Прямое-обратное Фурье сигнал не искажает. Что, в принципе, нормально. Картинку к посту прилагаю для иллюстрации.
Что у меня происходит:
Извне приходят пакеты сигнала с частотой дискретизации 1000 Гц. Каждый пакет подвергается прямому БПФ. Окно при этом равно 2018 отсчетам. Взял с запасом. Может быть зря. Хотя тории пишут что так и надо...вроде.
Результат прямого БПФ фильтрую тупым методом обнуления ненужных частот. Границы нахожу при переводе заданной частоты в отсчет внутри спектра через частоту дискретизации. Отрицательную область (все, что справа) тоже обращаю в ноль.
Потом делаю обратный БПФ пакета. Пробовал пакеты с перекрытием на старые данные обрабатывать - картинка не меняется.


Все, что выше в теме обсуждалось прочитал, но так и не понял как применить оконные коэффициенты для фильтрации спектра. Оконная функция всегда будет одинаковой для одного и того же размера окна. Она применяется только для сглаживания спектра? Или я не понимаю каких то тонкостей?

Заранее спасибо за ответ.
0
Миниатюры
Фильтрация сигнала в частотной области  
11 / 11 / 0
Регистрация: 20.11.2013
Сообщений: 142
18.03.2020, 10:04 16
Сам разобрался. Может и неправильно. Сделал так:
1) выбрал степень перекрытия окон равную 50%;
2) с заданной степенью заполнял окна для БПФ;
3) прямое БПФ;
4) обнуление правой части спектра;
5) в левой части обнуление ненужных частот;
6) обратное БПФ;
7) применение корректировочного окна к полученным результатам (с учетом перекрытия).

Как то так. Но для потока все-таки лучше БИХ фильтрами пользоваться. Меньше задержка, меньше буфер....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2020, 10:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как представить сигнал в частотной области
Данные отведения сигнала нужно представить в частотной области. Как это сделать?

Начальные усл-я для волнового ур-я в частотной области (ур-я Гельмгольца)
Добрый день, Есть волновое уравнение во временной области:...

Фильтрация сигнала
Здравствуйте, нужна помощь. Имеется Сигнал (S), Помеха (P), Наложенная помеха на сигнал (S+P)....

Фильтрация ВЧ сигнала
Здравствуйте, подскажите, пожалуйста, какой фильтр лучше выбрать, если необходимо отфильтровать...

Цифровая фильтрация сигнала
Т.З. Записан сердечный ритм, файл в wave формате, нужно оставить сигнал в полосе частот от 2 до 50...

Фильтрация цифрового сигнала
Ребят, помогите, пожалуйста. Есть "сигнал" в массиве. Его необходимо отфильтровать ФНЧ и ФВЧ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.