Режекторный КИХ фильтр 50 Гц

Все что касается фильтрации
O.Nick
Сообщения: 8
Зарегистрирован: 14 дек 2012, 17:36

Режекторный КИХ фильтр 50 Гц

Сообщение O.Nick »

Хочу реализовать следующий фильтр для отсечения 50 Гц.
Интересно насколько он законен.

Код: Выделить всё

f50 = 50 / sr;
f[0] = 0;
for (int i = 1; i <= N; i++) {
  f[i] = - 0.5 * (1 + cos (i * pi / N))
         * cos (i * 2 * pi * f50);
}
где: sr - частота выборок; f50 - приведенная частота фильтрации; N - полуширина фильтра.
Фильтр представляет собой разность дельта-функции с центральным нулевым отсчетом, и произведения оконной функции Ханна и косинусоиды с частотой 50 Гц.

ivan219
Сообщения: 61
Зарегистрирован: 09 май 2011, 16:39

Re: Режекторный КИХ фильтр 50 Гц

Сообщение ivan219 »

Вы сделали не фильтр!
Вы сделали -> генератор сигнала и умножили его на что то с начало подумал оконная функция но и на неё да же не похоже.

Все делают обычно так:
int i = 0; i < N - 1; i++

O.Nick
Сообщения: 8
Зарегистрирован: 14 дек 2012, 17:36

Re: Режекторный КИХ фильтр 50 Гц

Сообщение O.Nick »

Как раз таки фильтр. Тут приведен ряд половины коэффициентов. Нулевой отсчет = 0 (1-1). Проблема в нормировке была.
Идея в следующем. Как вы и сказали, я реализовываю генератор 50 Гц. Для подавления боковых лепестков умножаю сигнал на окно. Далее сворачиваю с сигналом. Таким образом я выделяю эти самые 50 Гц. Потом результат вычитаю из исходного сигнала.

Но все это уже история. Я реализовал фильтра на базе всепропускающего, по методике с этого сайта. Меньше расчетов, проще настраивается, ФЧХ меня удовлетворяет.

Ответить