|
|
  |
Поиск экстремума в функции |
|
|
|
May 31 2011, 10:48
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(xemul @ May 31 2011, 13:59)  Могу предположить, что на чистом. Тогда сначала почистить от грязи (сигнал и грязь сосредоточены по спектру?), а потом искать. Как чистить и искать, зависит от вычислительных возможностей - вдруг на входе double, вычислитель - AVR, а хочется реального времени... На выходе float(ye пусть double) фильтровать-это увеличивать шум. мне нужны какие-то методы усреднения амплитуд. то есть идут максимумы, минимумы, их нужно копить и искать среднее из них, чтобы исключить выбросы. напрример вот так: 1.3. Если на период приходится 20 или более значений АЦП, то для поиска экстремумов можно использовать аппроксимацию данных скользящей параболой по ме-тоду наименьших квадратов по 5 или 7 точкам (центральная и по 2-3 точки справа и слева): y=A∙x2+B∙x+C, где х – время в долях интервала между измерениями, т.е. значения АЦП это у(-3), у(-2), у(-1), у(0), у(1), у(2), у(3). Для вычисления А, В и С используются следующие формулы (N=2 или 3, 2N+1 – число точек – 5 или 7): но этот метод не дает совсем уж точное значение. поэтому мне нужен алгоритм, который ишет абсолютные максимумы, и уже из них высчитыват усредненный максимум.
|
|
|
|
|
May 31 2011, 11:32
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(inventor @ May 31 2011, 14:48)  фильтровать-это увеличивать шум. Ну вот... Я думал, что, фильтруя, убираю, н-р, внеполосные помехи, а оказывается, просто шум увеличиваю. Цитата мне нужны какие-то методы усреднения амплитуд. то есть идут максимумы, минимумы, их нужно копить и искать среднее из них, чтобы исключить выбросы. Среднее Вам даст какой-нить ФНЧ, выбросы исключит, н-р, медианный фильтр. Цитата напрример вот так: ... но этот метод не дает совсем уж точное значение. Вероятно таки даёт, но с учётом "грязи". Как смогло, так и с-апроксимировало... Уж извините, но мне постановка задачи яснее не стала. Наоборот, присоединяюсь к вопросу Татьяны в посте #2.
|
|
|
|
|
May 31 2011, 11:45
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(xemul @ May 31 2011, 15:32)  Ну вот... Я думал, что, фильтруя, убираю, н-р, внеполосные помехи, а оказывается, просто шум увеличиваю.
Среднее Вам даст какой-нить ФНЧ, выбросы исключит, н-р, медианный фильтр.
Вероятно таки даёт, но с учётом "грязи". Как смогло, так и с-апроксимировало... Уж извините, но мне постановка задачи яснее не стала. Наоборот, присоединяюсь к вопросу Татьяны в посте #2. предположим у меня задача такая-отсчеты АЦП, преобразованные во float поступают ко мне по COM порту. если частота сигнала высокая, то амплитуды могут не попасть в выборки, а если частота низкая, то это так же может произойти. мне нужен алгоритм поиска, где он не завязан на частоту. вот тот метод, который я выше привел вычисляет с достаточно большой ошибкой. а прибор - акселерометр, должен показывать точнее. да.. насчет фильтрации, если какой-нибудь чебышев, то он может изменить амплитуду сигнала(неравномерность ачх и пр.) если "максимально-плоский" то у него очень большой порядок получается.
|
|
|
|
|
May 31 2011, 12:20
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(inventor @ May 31 2011, 15:45)  предположим у меня задача такая-отсчеты АЦП, преобразованные во float поступают ко мне по COM порту. если частота сигнала высокая, то амплитуды могут не попасть в выборки, Какое минимальное fдискр/fсигнала у Вас получается? Отсюда несложно выводится ошибка интерполяции используемого Вами метода для идеального синуса. Цитата а если частота низкая, то это так же может произойти. Не понял, но приму на веру. Цитата мне нужен алгоритм поиска, где он не завязан на частоту. вот тот метод, который я выше привел вычисляет с достаточно большой ошибкой. а прибор - акселерометр, должен показывать точнее. Полагаю, метод вычисляет ровно то, что должен вычислить по имеющимся исходным данным. Цитата да.. насчет фильтрации, если какой-нибудь чебышев, то он может изменить амплитуду сигнала(неравномерность ачх и пр.) если "максимально-плоский" то у него очень большой порядок получается. А есть уверенность, что интерполяция по сигналу с шумом даст меньшую погрешность? Оцените сигнал/шум. Оцените спектр сигнала и помех. (вдруг он окажется достаточно узким и поддающимся фильтрации режекторным фильтром без особого ущерба полезному сигналу) Без этого мне только бубен на ум приходит в качестве рабочего инструмента.
|
|
|
|
|
May 31 2011, 13:16
|

Частый гость
 
Группа: Свой
Сообщений: 86
Регистрация: 22-03-07
Из: Санкт-Петербург
Пользователь №: 26 406

|
Найти-то что нужно? Амплитуду гармонического сигнала неизвестной частоты? Или позиции максимумов гармонического сигнала? Тогда это оценка частоты и фазы. По имеющимся данным могу предложить использовать БПФ
|
|
|
|
|
May 31 2011, 15:44
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
А в этой функции как найти экстремум? Нужно найт Fi0 при котором максимум функции будет минемалек.
Сообщение отредактировал ivan219 - May 31 2011, 15:47
Прикрепленные изображения
|
|
|
|
|
May 31 2011, 18:36
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(ivan219 @ May 31 2011, 19:44)  А в этой функции как найти экстремум? Нужно найт Fi0 при котором максимум функции будет минемалек. Разложит синус в ряд Тейлора продифференцировать по fi0, приравнять нулю... ps Наверное Тейлор с рядом не прокатит  . Мне кажется такая задача решается только тупым поиском по fi0.
--------------------
ну не художники мы...
|
|
|
|
|
Jun 1 2011, 09:38
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(ivan219 @ May 31 2011, 19:44)  А в этой функции как найти экстремум? Нужно найт Fi0 при котором максимум функции будет минемалек. Как и все минимаксные функции эта функция негладкая и красивых решений не бывает. Решал так. Накидываем сетку находим минимальное значение, в области этого минимального значения накидываем более мелкую сетку итд. В области оптимального минимума функция имеет V-образный характер, так что два значения слева, два значения справа и на пересечении прямых.
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|