Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

Вопрос к математикам.   Найти похожие ветки 

 
TTCustomDelphiMaster   (2002-07-25 10:29) [0]

Подскажите пожалуйста как можно решит такую задачу.
Имеется изменяющийся сигнал, на который накладываются помехи (10 - 20 % от величины сигнала). Сигнал зависит от кучи внешних факторов, т.е. обычно он постоянный или медленно изменяющийся, а при воздействии различных факторов скорость его изменения увеличивается. Показания этого сигнала (с помехами) снимаются раз в секунду. В результате график получается не плавный а с выбросами.
Я пытался прогонять его через мат. модель фильтра. Помехи устраняются, но при высокой скорости изменения входного сигнала, фильтрованный отстает от него на несколько секунд.
Так вот вопрос какие математические методы или алгоритмы можно применить для фильтрации сигнала в реальном времени или фильтровать небольшой отрезок например за 60 секунд.
Спасибо за ответы.


 
Alx2   (2002-07-25 10:37) [1]

Что-нибудь о природе сигнала известно?
Если можно построить математическую модель незашумленного сигнала, то, пожалуй, подойдут классические фильтры Калмана и т.п.


 
Alibaba   (2002-07-25 10:39) [2]

По задаче ничего не могу сказать.
Но ник у тебя прикольный! :)
Надеешся что дети твои и внуки будут заниматься Дельфой? :))


 
Viewer   (2002-07-25 10:56) [3]

Как верно заметил Alx2, без мат.модели исходного сигнала, а заодно и помехи ничего толкового не получиться.
Фильтр розового типа по природе инерционен (не зависимо от структуры реализации). Оптимальные и адаптивные фильтры тоже выходят на режим не сразу.
Задержку в сложных наблюдающих системах с элементами прогноза можносвести к минимуму, но опять же нужна адекватная мат.модель.


 
Viewer   (2002-07-25 10:58) [4]

В общем случае потребуется измерение этих самых воздействующих факторов.


 
Digitman   (2002-07-25 11:27) [5]

Да те же самые модели, наверно ...
Если ты о фильтрах на базе FFT, то попытайся поиграться с периодом фрейм-выборки, поступающей на вход фильтра, уменьшая период до достижения минимально допустимой задержки и оптимальных результатов фильтрации


 
TTCustomDelphiMaster   (2002-07-25 11:41) [6]

Вобщм как я и думал дело безнадежное:(
Сигнал этот - мощнность генератора работающего в энергосистеме. На мощность воздействует система регулирования, входным параметром которой является частота в системе, которая зависит от миллионов потребителей (это без учета всяких аварийных ситуаций). Так что построить модель незашумленного сигнала не реально. А помехи возникают от датчика и внешних наводок при передаче аналогового сигнала к АЦП, т.е. имеют случайный характер.

А у этих фльтров розового типа, оптимальных и адаптивных фильтров есть какие нибудь конкретные названия, чтобы поискать их описание в интернете?


 
Евген   (2002-07-25 11:50) [7]


> TTCustomDelphiMaster ©

Учили мы в универе такую мат. модель фильтра:
текущий отсчет сигнала [i] сравнивается с предидущим отсчетом
[i-1] и с последующим [i+1]. Если S(i-1)<=S(i)<=S(i+1) при спадающем сигнале или S(i+1)<=S(i)<=S(i-1) при возрастающем, то сигнал считантсч без помех, если не укладываеться, то береш S(i)=(S(i+1)+S(i-1))/2.
Может я не совсем точно вспомнил как было дело (в студенческие годы было :)) ), но судя по лабам фильтр очень эффективный. Кроме того я тебе описал работу фильтра 2-го порядка (по одному отсчету с каждой стороны сигнала используеться) а ведь есть еще фильтр 4-го, 6-го, ... порядков. Если тебя этот фильтр заинтересовал - мыль, попробую найти эти лабы на Бейсюке :).


 
Евген   (2002-07-25 11:52) [8]


> TTCustomDelphiMaster ©

Учили мы в универе такую мат. модель фильтра:
текущий отсчет сигнала [i] сравнивается с предидущим отсчетом
[i-1] и с последующим [i+1]. Если S(i-1)<=S(i)<=S(i+1) при спадающем сигнале или S(i+1)<=S(i)<=S(i-1) при возрастающем, то сигнал считантсч без помех, если не укладываеться, то береш S(i)=(S(i+1)+S(i-1))/2.
Может я не совсем точно вспомнил как было дело (в студенческие годы было :)) ), но судя по лабам фильтр очень эффективный. Кроме того я тебе описал работу фильтра 2-го порядка (по одному отсчету с каждой стороны сигнала используеться) а ведь есть еще фильтр 4-го, 6-го, ... порядков. Если тебя этот фильтр заинтересовал - мыль, попробую найти эти лабы на Бейсюке :).
P.S. Фильтр на ура работает с медленно изменяющимися сигналами (с быстроизменяющимися впрочем тоже).


 
Viewer   (2002-07-25 11:54) [9]

>Так что построить модель незашумленного сигнала не реально

На самом деле это не совсем верно (даже совсем не верно).
Шумовой сигнал проходя через динамическую систему приобретает свойства, определяемые ее динамикой, т.е. уже можно говорить о прогнозируемых вероятностных его характеристиках.
И первична не модель сигнала, а модель системы (это САР энергосистемы).
Браться за программирование нужно только после инженерных расчетов в целом.
Фильтр розового типа - это фильтр нижних частот.
Теория оптимальных фильтров выстроена Винером.
Из наиболее известных - фильтр Калмана.
Для фильтрации в частотной области используются фильтры на основе БПФ (Быстрое преоразование Фурье)

Интересные результаты (с точки зрения качества фильтрации) дают фильтры на основе вейвлетного преобразования.


 
Viewer   (2002-07-25 11:57) [10]

>Евген © (25.07.02 11:50)
Не надо так примитивно. Речь идет об энергосистеме и вероятно не для тети Дуси результаты должны предоставляться.
Реализация - это последнее дело. Вначале расчет.


 
TTCustomDelphiMaster   (2002-07-25 12:39) [11]

Спасибо всем за ответы.


 
Евген   (2002-07-25 15:25) [12]


> Viewer


> Не надо так примитивно.

Это не я придумал. Если я все правильно понял, то этот фильтр был теоретически и практически реализован в Национальном авиационном ун-те г. Киев. Мат. модель под него и все расчеты были выполнены профессором.


 
Viewer   (2002-07-25 15:47) [13]

Во как !
И где же таких умных профессоров готовят ?
Пожидел Киев (ну поняли - я о чем) :)
Это простейший осредняющий фильтр который годиться разве, что для учебных целей таких студентов, какими были Вы.

Если профессор будет "выполнять расчеты" для таких фильтров, то место ему в Вашем ряду.


 
Евген   (2002-07-25 17:22) [14]


> Viewer

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

P.S. Пей Спрайт и не ешь на ночь сырых помидоров :(


 
Viewer   (2002-07-25 17:49) [15]

Да..
Вот о таких как Вы (прослушавших какие-то курсы) ветки в этом форуме сейчас и ломяться.

1.По поводу эффективности - представьте хотя бы математическое описание тех разностных формул, что Вы привели - я уж не говорю о количественных оценках.
2.Ваши исходники на Васике никого не волнуют, т.к. кодирование удел среднеарифметических "программистов".
3.То, что Вы привели s(i)= 0.5*(s[i+1]+s[i-1]) и есть интерполирующий нерекурсивный фильтр среднего.
В общем случае как (1/N)*(s[i+n/2]+...+s[i-n/2]).
Это нерекурсивный фильтр с равными коэффициентами.
4. Ваше определение сигнала без помех как неубывающей (невозрастающей) производной, подходит только для гладких сигналов при условии правильного выбора частоты дискретизации.
Для данного случая (10-20% помеха наводок и шумов) это просто неприемлимо.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
7-60886
Сявчик
2002-06-01 08:21
2002.08.19
EXE


3-60494
Старик
2002-07-29 13:58
2002.08.19
Структура таблиц


3-60504
Александр Спелицин
2002-07-29 19:17
2002.08.19
Манипулящии в RunTime и DesignTime.


14-60839
Инопланетянин
2002-07-24 14:24
2002.08.19
На Землю летит X-метровый НЛО


3-60488
Кирилл Усов
2002-07-29 09:09
2002.08.19
транзакции на interbase 5.6





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский