Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Цифровой фильтр для временного ряда, помогите разобраться с нуля 
:(
    Опции темы
DASTAD
Дата 15.10.2009, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ситуация
Есть таблица значений (Time; Value) временного ряда некоторых статистических данных, типа количество заявок, количество отказов, затраты и пр. Есть желание применить к этому ряду фильтр. Я скачал несколько компонент-фильтров нижних частот Калмана, Баттерворта и пр. Результат на рисунке. Синий исходный ряд, красный фильтрованный.
Но эти компоненты реализованы так:  загоняется ряд целиком, фильтр работает и  выдается новый ряд. Причем у нового ряда, несколько (4 или 5 ) первых и последних значений "срезаются". (скрин не самый удачный, но и на нем можно увидеть: небольшой слом и резкий спад вниз в начале и в конце линии)

Прошу помощи в создании своего фильтра для временного ряда X[t], t=0..N
Хочется получить фильтр в виде алгоритма
Y[n] = a0*x[n]+a1*x[n-1]+...+am*x[n-k] + b1*y[n-1]+b2*y[n-2]+...+bk*y[n-1-k].
или 
Y[n] = SUM ( H[k]*X[n-k])

Фильтр должен брать значения только из "прошлого" Значения ряда X поступют равномерно (раз в минуту, час или в сутки) - по этому значению и предыдущим получить текуще фильтрованное значение Y.  Можно пересчитывать коэффициенты фильтра по желанию, скажем основываясь на последних P значениях ряда. У выходного сигнала Y  не должно быть сдвига по фазе от X (экстремумы должны совпадать)

Подскажите где можно найти метод для получения фильтров в таком виде ? Или готовый алгоритм\компонент для фильтрации в "реальном" времени а не постобработке.

Из увиденного больше всего понравился фильтр нижних частот Баттерворта с характеристиками:  частота 0,1 Гц smile, затухание -20 дцБ, порядок фильтра 4 и выше


PS
Собственные знания по цифровым фильтрам отсутсвуют :(
Есть под рукой книги Хемминг "Цифровые фильтры", Айфичер "Цифровая обработка сигналов" и несколько медодичек по проектированию фильтров, в том числе и фильтра Баттерворта.



Это сообщение отредактировал(а) DASTAD - 15.10.2009, 08:09

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  Filter.JPG 50,51 Kb
PM MAIL   Вверх
DASTAD
Дата 16.10.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Неужели все цифровые фильтры страдают запаздыванием выходного сигнала? :(
PM MAIL   Вверх
Pavia
Дата 17.10.2009, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(DASTAD @  16.10.2009,  20:49 Найти цитируемый пост)
Неужели все цифровые фильтры страдают запаздыванием выходного сигнала? :(

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


Цитата(DASTAD @  15.10.2009,  07:20 Найти цитируемый пост)
Подскажите где можно найти метод для получения фильтров в таком виде ?

Из всего выше сказанного я понял одной хочу фильтр и чтобы он по волшебству читал мысли.
PM MAIL   Вверх
DRUID3
Дата 23.10.2009, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(DASTAD @  15.10.2009,  06:20 Найти цитируемый пост)
Причем у нового ряда, несколько (4 или 5 ) первых и последних значений "срезаются".

??? как так? smile 
Цитата(DASTAD @  15.10.2009,  06:20 Найти цитируемый пост)
Прошу помощи в создании своего фильтра для временного ряда X[t], t=0..N

Э... smile 
Цитата(DASTAD @  16.10.2009,  19:49 Найти цитируемый пост)
Неужели все цифровые фильтры страдают запаздыванием выходного сигнала? :( 

Да...
Цитата(DASTAD @  15.10.2009,  06:20 Найти цитируемый пост)
У выходного сигнала Y  не должно быть сдвига по фазе от X (экстремумы должны совпадать)

Противоречит самому понятию - свертка... Нереализуемо...

Так и не понял что именно Вам надо, исходник простейшего FIR'а или адаптивный фильтр, но рискну предположить, что таки первое. smile 
Googl'им и находим чудо-программу. Помимо нахождения значения коэффициентов фильтра эта программа умеет генерировать совершенно неоптимизированные(сдвигом массива "влоб") FIR и IIR фильтры. Но... Для данных поступающих раз в минуту на современных компьютерах - этого бо-о-о-о-олее чем достаточно...

Цитата(DASTAD @  15.10.2009,  06:20 Найти цитируемый пост)
Или готовый алгоритм\компонент для фильтрации в "реальном" времени а не постобработке.

Не поминайте такие термины всуе...


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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