|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 03 Feb 2003 12:02:23 To : Zahar Kiselev Subject : нулевые значения функции -------------------------------------------------------------------------------- Sat Feb 01 2003 22:05, Zahar Kiselev wrote to Evgenij Masherov: EM>> Возможно, в процессе постановка задачи уточнится, но пока: EM>> 1. Если функция заведомо близка к синусоиде - возможно, узкополосная EM>> фильтрация улучшит разрешение и поборет шум? EM>> Еще один способ кондиционирования данных - их фильтрация, скажем, EM>> медианным фильтром. ZK> Частота сигнала может быть разной и медленно меняться в интервале от ZK> нескольких сотен герц до пары килогерц. Hепонятно - на какую частоту ZK> настраивать фильтр. Hа "вдвое выше самой высокой"? Либо делать адаптивный к частоте фильтр, либо ограничится полосой пропускания от минимальной до максимальной возможной (с соответственным сокращением пользы). EM>> Очевидный недостаток - большая погрешность, если данные отягчены EM>> шумом. EM>> Варианты борьбы: EM>> а. выбирать не соседние точки. ZK> А если получится, что одно отрицательное значение сигнала попадет между ZK> двумя положительными(или наоборот - одно "+" между двумя "-") - что будет ZK> с формулой, если в нее подставятся два значения одного знака? Я ZK> попробовал "в уме" подставить - при "нормальном" сочетании получается ZK> что-то осмысленное типа дробей 0.6 или 0.4, а при "неправильном" - целые ZK> числа например 5, или 7. Как этот результат понимать? "Прямая, ZK> проведенная через две такие точки, пересекает ось Х в точке с координатой ZK> 5"? И обнаружив, что место пересечения "нуля" не попадает в интервал ZK> между заданными точками - его можно просто игнорировать, считая что на ZK> рассматриваемом интервале сигнал через ноль не переходил? Какую-то логику придумывать? Проверять, не есть ли переход через ноль продуктом шума? Сложно и ненадежно... EM>> б. выбирать несколько пар точек (т.е. ближайшие к переходу, отстоящие EM>> справа или слева на одну позицию, и т.п.) и усреднять полученные оценки EM>> t. ZK> Выглядит не слишком сложно. Особенно если выше я правильно понял ZK> поведение формулы при попадании в нее двух значений с одинаковым знаком. При двух одинаковых - вместо интерполяции получаем экстраполяцию, с падением точности. Я бы остерегся... EM>> Можно поиграть с квадратичной параболой, кубикой и т.п. - но чем EM>> больше параметров, тем неустойчивее к ошибкам. ZK> А тогда надо сначала еще ее коэффициенты вычислять - во всяком случае так ZK> в справочнике. И только потом использовать полученную формулу для ZK> предсказания значений функции. Что совой о пень, что пнем о сову. Hеустойчивость полиномиальной аппроксимации известна... EM>> Возможна подгонка синусоидой соответствующей частоты, но это изрядно EM>> усложняет задачу. ZK> Примеров такого ни в одной из имеющихся у меня книжек не нашел. Положим, что частота нам известна, хотя бы грубо. Будем аппроксимировать y=A*sin(wt)+B*cos(wt) Выберем несколько точек в окрестности перехода через нуль (скажем, для определенности 5-7) и точку, подозрительную на ноль, примем за t=0 (чисто для упрощения...). x1=sin(wt) x2=cos(wt) Составляем регрессионную модель и оцениваем ее. y(t)=A*x1(t)+B*x2(t) Дальше составляем матрицу ковариаций, обращаем... Получаем оценки для А, В. A*sin(wt)+B*cos(wt)=0 tg(wt)=-B/A t=-arctg(B/A)/w Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33008f8883eb.html, оценка из 5, голосов 10
|