реклама на сайте
подробности

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


unexpected token
****

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



Добрый день.

Есть некий медленно меняющийся сигнал, отягощенный влиянием гармонической составляющей с переменным периодом (см картинку).
Прикрепленное изображение


хочется найти все локальные экстремумы такого сигнала. Пока что делаю так. Выбираю окно размером с период гармонической составляющей и уже в нем нахожу экстремумы. Зная закон изменения периода гарм. функции, изменяю размер окна для поиска.
Есть ли более "красивый" способ решить эту задачу?
Спасибо.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iiv
сообщение Jul 28 2015, 16:59
Сообщение #2


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(alexunder @ Jul 28 2015, 19:33) *
хочется найти все локальные экстремумы такого сигнала. Пока что делаю так. Выбираю окно размером с период гармонической составляющей и уже в нем нахожу экстремумы. Зная закон изменения периода гарм. функции,

найдите первый, например, максимум, потом от него вправо одномерной минимизацией минимум, потом снова максимум. Идея примерно такая, делаете два мааааленьких шажка право, про длину который Вы точно будете уверены, что за экстремум не убежите, по ним считаете первую и вторую производную, и дальше бежите Ньютоном, возможно с релаксацией. Если нет дельта функций и очень не линейных зависимостей, то сойдетесь очень быстро.

Если у Вас функция - суть сумма двух-трех синусов и косинусов, с заранее неизвестными фазами, амплитудами и периодами, и шума нет, или почти нет, можно сделать еще элегантнее:

загоняете оцифрованную функцию в вектор v_1, сдвигаете этот вектор на 1 вниз, сохраняя в v_2, и так далее столько раз, сколько у Вас синусов.
Подрезаете сверху и снизу вектора, чтобы одинаковое количество элементов было, и строите матрицу. Находите у нее правый сингулярный вектор, соответствующий минимальному сингулярному числу. Записываете элементы этого вектора в виде коэффициентов полинома и находите корни. Они все - Ваши периоды деленные на шаг дискретизации. Зная периоды, наименьшими квадратами находите амплитуды и фазы. Дальше - аналитически ищите все корни и решение у Вас на ладони.

Выглядит страшно, но зная лапак + мапл или математику, можно за несколько часов сделать и запрограммировать. В МК, на который лапак не компилится, реализовать будет ужасно сложно, думаю, что практически невозможно, в этом случае, остается только первый, не элегантный, метод.
Go to the top of the page
 
+Quote Post
Santik
сообщение Jul 29 2015, 05:59
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096



Для начала я бы избавился от низкочастотной составляющей простейшим ФВЧ :-)
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jul 29 2015, 06:40
Сообщение #4


unexpected token
****

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



Дамы и господа,

виноват, не упомянул, что работаю с дискретным массивом данных. В самом начале там очень мало точек на период сигнала, т.е. прикладываться там Ньютоном не к чему. Пробовал дифференцировать данные еще до совета Татьяны, но опять-таки из-за малого кол-ва точек на период искать прохождение через 0 приходится "руками". И почему-то я думал, что есть какой-то красивый способ из области мат. физики чтоб получить все и сразу. Спасибо, что развеяли мои надежды.

iiv,
попробую, если будет возможность провести измерения с бОльшим разрешением.

serjj,
я понял, поиск по разнице в знаке. Спасибо.

Santik,
мне как раз и требуется получить красивую кривую этого НЧ сигнала, вычислив локальное среднее на базе амплитуды гармонического сигнала (да, именно так, всевозможные сглаживания применять нельзя).


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016