![]() |
|
|
![]()
|
|
| DASTAD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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 Гц PS Собственные знания по цифровым фильтрам отсутсвуют :( Есть под рукой книги Хемминг "Цифровые фильтры", Айфичер "Цифровая обработка сигналов" и несколько медодичек по проектированию фильтров, в том числе и фильтра Баттерворта. Это сообщение отредактировал(а) DASTAD - 15.10.2009, 08:09 Присоединённый файл ( Кол-во скачиваний: 11 )
Filter.JPG 50,51 Kb |
|||
|
||||
| DASTAD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 14.10.2009 Репутация: нет Всего: 1 |
Неужели все цифровые фильтры страдают запаздыванием выходного сигнала? :(
|
|||
|
||||
| Pavia |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Нет. Возьми тот который страдает и примени функцию запаздывания только с обратным знаком.
Из всего выше сказанного я понял одной хочу фильтр и чтобы он по волшебству читал мысли. |
||||
|
|||||
| DRUID3 |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 20.6.2005 Где: Kyyiv Репутация: 2 Всего: 9 |
??? как так?
Э...
Да...
Противоречит самому понятию - свертка... Нереализуемо... Так и не понял что именно Вам надо, исходник простейшего FIR'а или адаптивный фильтр, но рискну предположить, что таки первое. Googl'им и находим чудо-программу. Помимо нахождения значения коэффициентов фильтра эта программа умеет генерировать совершенно неоптимизированные(сдвигом массива "влоб") FIR и IIR фильтры. Но... Для данных поступающих раз в минуту на современных компьютерах - этого бо-о-о-о-олее чем достаточно...
Не поминайте такие термины всуе... -------------------- Every time if you use Linux, you are joined to the communism... практика - критерий истины ... отделенной от нас пропастью субъективного восприятия... |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |