|
Найти экстремумы функции с гармонической составляющей, как сделать красиво? |
|
|
|
Jul 28 2015, 13:33
|

unexpected token
   
Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987

|
Добрый день. Есть некий медленно меняющийся сигнал, отягощенный влиянием гармонической составляющей с переменным периодом (см картинку).
хочется найти все локальные экстремумы такого сигнала. Пока что делаю так. Выбираю окно размером с период гармонической составляющей и уже в нем нахожу экстремумы. Зная закон изменения периода гарм. функции, изменяю размер окна для поиска. Есть ли более "красивый" способ решить эту задачу? Спасибо.
--------------------
А у тебя SQUID, и значит, мы умрем.
|
|
|
|
|
 |
Ответов
|
Jul 28 2015, 16:59
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(alexunder @ Jul 28 2015, 19:33)  хочется найти все локальные экстремумы такого сигнала. Пока что делаю так. Выбираю окно размером с период гармонической составляющей и уже в нем нахожу экстремумы. Зная закон изменения периода гарм. функции, найдите первый, например, максимум, потом от него вправо одномерной минимизацией минимум, потом снова максимум. Идея примерно такая, делаете два мааааленьких шажка право, про длину который Вы точно будете уверены, что за экстремум не убежите, по ним считаете первую и вторую производную, и дальше бежите Ньютоном, возможно с релаксацией. Если нет дельта функций и очень не линейных зависимостей, то сойдетесь очень быстро. Если у Вас функция - суть сумма двух-трех синусов и косинусов, с заранее неизвестными фазами, амплитудами и периодами, и шума нет, или почти нет, можно сделать еще элегантнее: загоняете оцифрованную функцию в вектор v_1, сдвигаете этот вектор на 1 вниз, сохраняя в v_2, и так далее столько раз, сколько у Вас синусов. Подрезаете сверху и снизу вектора, чтобы одинаковое количество элементов было, и строите матрицу. Находите у нее правый сингулярный вектор, соответствующий минимальному сингулярному числу. Записываете элементы этого вектора в виде коэффициентов полинома и находите корни. Они все - Ваши периоды деленные на шаг дискретизации. Зная периоды, наименьшими квадратами находите амплитуды и фазы. Дальше - аналитически ищите все корни и решение у Вас на ладони. Выглядит страшно, но зная лапак + мапл или математику, можно за несколько часов сделать и запрограммировать. В МК, на который лапак не компилится, реализовать будет ужасно сложно, думаю, что практически невозможно, в этом случае, остается только первый, не элегантный, метод.
|
|
|
|
|
Jul 29 2015, 06:40
|

unexpected token
   
Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987

|
Дамы и господа,
виноват, не упомянул, что работаю с дискретным массивом данных. В самом начале там очень мало точек на период сигнала, т.е. прикладываться там Ньютоном не к чему. Пробовал дифференцировать данные еще до совета Татьяны, но опять-таки из-за малого кол-ва точек на период искать прохождение через 0 приходится "руками". И почему-то я думал, что есть какой-то красивый способ из области мат. физики чтоб получить все и сразу. Спасибо, что развеяли мои надежды.
iiv, попробую, если будет возможность провести измерения с бОльшим разрешением.
serjj, я понял, поиск по разнице в знаке. Спасибо.
Santik, мне как раз и требуется получить красивую кривую этого НЧ сигнала, вычислив локальное среднее на базе амплитуды гармонического сигнала (да, именно так, всевозможные сглаживания применять нельзя).
--------------------
А у тебя SQUID, и значит, мы умрем.
|
|
|
|
Сообщений в этой теме
alexunder Найти экстремумы функции с гармонической составляющей Jul 28 2015, 13:33 Tanya Цитата(alexunder @ Jul 28 2015, 16:33) Ес... Jul 28 2015, 13:44 alexunder Цитата(Tanya @ Jul 28 2015, 15:44) В точк... Jul 28 2015, 14:04 Tarbal Цитата(Tanya @ Jul 28 2015, 17:44) В точк... Jul 30 2015, 13:55  alexunder Цитата(Tarbal @ Jul 30 2015, 15:55) Что з... Jul 30 2015, 14:39   Tarbal Цитата(alexunder @ Jul 30 2015, 18:39) пр... Jul 30 2015, 15:32    Tanya Цитата(Tarbal @ Jul 30 2015, 18:32) Я не ... Jul 30 2015, 15:47 serjj в матлабе вот так можно
Кодj = 0;
for k=2:leng... Jul 28 2015, 14:05 Santik Если я правильно понял, Вас интересует зависимост... Jul 29 2015, 06:55 serjj Цитатамне как раз и требуется получить красивую кр... Jul 29 2015, 06:56 Tanya Цитата(alexunder @ Jul 28 2015, 16:33) Ес... Jul 29 2015, 07:29 Santik Цитата(Tanya @ Jul 29 2015, 10:29) Что оз... Jul 29 2015, 08:00  Tanya Цитата(Santik @ Jul 29 2015, 11:00) Бывае... Jul 29 2015, 08:22   alexunder Запутал я всех капитально. Извините.
Цитата(Tanya... Jul 29 2015, 08:56    AlexRayne Цитата(alexunder @ Jul 29 2015, 11:56) Ре... Jul 29 2015, 13:28 Santik Ниччо не понял...
Фильтрация
Модель + Фильтр Чебы... Jul 29 2015, 09:09 alexunder Цитата(Santik @ Jul 29 2015, 11:09) Ниччо... Jul 29 2015, 09:24  Tanya Цитата(alexunder @ Jul 29 2015, 12:24) ... Jul 29 2015, 09:46 iiv Цитата(Santik @ Jul 29 2015, 14:09) Фильт... Jul 29 2015, 09:54  Tanya Многие не хотят понять, что автору нужно получить ... Jul 29 2015, 09:59 Santik Да я не понял математических "танцев с бубном... Jul 29 2015, 09:44 Santik Надо было:
1. Отфильтровать сигнал фильтром высоко... Jul 29 2015, 09:57 serjj да такую задачку можно решать не одним способом, п... Jul 29 2015, 10:11 Tanya Цитата(serjj @ Jul 29 2015, 13:11) да так... Jul 29 2015, 10:16 Santik ЦитатаАвтор снимает спектр действия фотодетектора ... Jul 29 2015, 10:23 Tanya Цитата(Santik @ Jul 29 2015, 13:23) Предл... Jul 29 2015, 12:47  alexunder ЦитатаДа я не понял математических "танцев с ... Jul 29 2015, 14:34 serjj ЦитатаА почему не прокатил простой КИХ НЧ фильтр? ... Jul 29 2015, 13:42 AlexRayne Цитата(serjj @ Jul 29 2015, 16:42) 1 - ка... Jul 30 2015, 08:42 Santik Ну тогда я не вижу вообще никаких преимуществ в пр... Jul 29 2015, 13:48 serjj ЦитатаПреобразование Фурье - вот лучший способ для... Jul 29 2015, 14:03 Santik Цитата...для существенного разрешения по частоте т... Jul 29 2015, 14:52 serjj ЦитатаПожалуй, надо закрывать тему, а то скоро пре... Jul 30 2015, 07:36 serjj Цитатавам потребуется ких с симметричным окном. и ... Jul 30 2015, 08:57 AlexRayne Цитата(serjj @ Jul 30 2015, 11:57) Я эти ... Jul 30 2015, 09:37 Santik ЦитатаГоспода Марпл, Хайкин и пр. в своё время мно... Jul 30 2015, 15:35 Tarbal Цитата(Santik @ Jul 30 2015, 19:35) Марп... Jul 30 2015, 15:50  Tanya Цитата(Tarbal @ Jul 30 2015, 18:50) Я вас... Jul 30 2015, 15:54   Tarbal Цитата(Tanya @ Jul 30 2015, 19:54) А я не... Jul 30 2015, 15:57 blackfin Цитата(Santik @ Jul 30 2015, 18:35) Марп... Jul 30 2015, 18:01 Serg76 Цитата(Santik @ Jul 30 2015, 18:35) Предл... Jul 30 2015, 19:30  Santik Цитата(Serg76 @ Jul 30 2015, 22:30) ...Ес... Jul 31 2015, 12:10   Serg76 Цитата(Santik @ Jul 31 2015, 15:10) Ну мо... Jul 31 2015, 14:10 Santik ЦитатаРазрешение преобразования Фурье определяется... Jul 30 2015, 16:13 serjj ЦитатаПосле чего находим частоту:
f = [1/[pi*(t3 ... Jul 31 2015, 06:32 blackfin Цитата(serjj @ Jul 31 2015, 09:32) Решени... Aug 1 2015, 06:59 Santik Ну тогда порадуй старика новым оригиальным решение... Jul 31 2015, 15:40 Serg76 Цитата(Santik @ Jul 31 2015, 18:40) Ну то... Jul 31 2015, 16:01 Santik Цитатаblackfin привел одно из простых решений лине... Aug 1 2015, 04:17 blackfin Цитата(Santik @ Aug 1 2015, 07:17) Страшн... Aug 1 2015, 04:57 Santik Ну тоже красивое решение... :-) Aug 1 2015, 05:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|