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

 
 
> Поиск экстремума в функции
inventor
сообщение May 31 2011, 09:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Кто нибудь подскажет алгоритм поиска максимумов амплитуд на "грязном"
синусоидальном сигнале.
все методы, которые я испробовал (наименьших квадратов, интерполяции)
дают результат, который меня не совсем устраивает.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xemul
сообщение May 31 2011, 09:59
Сообщение #2



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Могу предположить, что на чистом.
Тогда сначала почистить от грязи (сигнал и грязь сосредоточены по спектру?), а потом искать.
Как чистить и искать, зависит от вычислительных возможностей - вдруг на входе double, вычислитель - AVR, а хочется реального времени...
Go to the top of the page
 
+Quote Post
inventor
сообщение May 31 2011, 10:48
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 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):
но этот метод не дает совсем уж точное значение.
поэтому мне нужен алгоритм,
который ишет абсолютные максимумы,
и уже из них высчитыват усредненный максимум.

Go to the top of the page
 
+Quote Post
xemul
сообщение May 31 2011, 11:32
Сообщение #4



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(inventor @ May 31 2011, 14:48) *
фильтровать-это увеличивать шум.

Ну вот... Я думал, что, фильтруя, убираю, н-р, внеполосные помехи, а оказывается, просто шум увеличиваю.
Цитата
мне нужны какие-то методы усреднения
амплитуд.
то есть идут максимумы, минимумы, их нужно копить
и искать среднее из них, чтобы исключить выбросы.

Среднее Вам даст какой-нить ФНЧ, выбросы исключит, н-р, медианный фильтр.
Цитата
напрример вот так:
...
но этот метод не дает совсем уж точное значение.

Вероятно таки даёт, но с учётом "грязи". Как смогло, так и с-апроксимировало...
Уж извините, но мне постановка задачи яснее не стала. Наоборот, присоединяюсь к вопросу Татьяны в посте #2.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 4th August 2025 - 23:26
Рейтинг@Mail.ru


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