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

 
 
> Простейший цифровой ФНЧ, для конечного массива точек
Ivan Kuznetzov
сообщение Jan 20 2011, 10:37
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Есть массив, в котором записаны значения с АЦП. Напряжения формируют некую "огибающую"

Платформа: STM32, сигнал - массив значений с АЦП в вольтах.

1)Подскажите фильтр (алгоритм на Си) чтобы сгладить(усреднить) значения в массиве?
2) Как определить характерные места у огибающей (резкое увеличение значения, резкий спад)



Сообщение отредактировал Ivan Kuznetzov - Jan 20 2011, 11:26
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_pv
сообщение Jan 23 2011, 13:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Ivan Kuznetzov @ Jan 20 2011, 16:37) *
1)Подскажите фильтр (алгоритм на Си) чтобы сгладить(усреднить) значения в массиве?
2) Как определить характерные места у огибающей (резкое увеличение значения, резкий спад)


1) demiurg_spb и firstvald уже подсказали простейший IIR фильтр:
Код
y[0] = x[0];
for (int i = 1; i < len; i++) y[i] = y[i-1] + (x[i] - y[i-1]) * K

K = 0.0 .. 1.0, временная постоянная фильтра. Ну и конечно можно (и нужно) заменить на целочисленное умножение и битовый сдвиг вправо.

Хотя если надо потом точно определять положение "характерных мест", то fir фильтр (скользящее среднее - частный случай) лучше из-за линейной фазовой характеристики. Кстати, то что предложил SasaVitebsk - fir фильтром не является.

2) искать локальные максимумы на производной, или, если заранее известно то как именно выглядит то что хочется найти, то максимумы корреляционной функции сигнала с тем, что ищем.

Цитата(777777)
разводить плату надо было так, чтобы программисту не пришлось фильтровать результаты АЦП

таким сигнал вполне может быть изначально, и совсем не обязательно вызван шумами на плате.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 26 2011, 07:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(_pv @ Jan 23 2011, 16:06) *
Кстати, то что предложил SasaVitebsk - fir фильтром не является.

)) Во-первых Вы мне льстите. Это предложил не я, а Баттерворт. ))
Во-вторых, а чем по вашему мнению является уравнение вида "y0 = 0,061885*(x0+x2) + 0,123770*x1 + 1,048600*y1 - 0,296140*y2"?
(где x1 = x(n-1) и так далее)
Я не математик, если честно, и не теоретик, но некоторые источники типа фильтрсолюшн, QED и другие, просто вводят нас в заблуждение, а Вы нам сейчас откроете всю правду. ))
Ждём.
===
2 777777 по поводу
Цитата
разводить плату надо было так, чтобы программисту не пришлось фильтровать результаты АЦП
. А причём здесь АЦП? Иногда входной сигнал требует фильтрации. Или обработанный. То есть даже если этот сигнал идеально снят АЦП.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ivan Kuznetzov   Простейший цифровой ФНЧ   Jan 20 2011, 10:37
- - Demeny   Цитата(Ivan Kuznetzov @ Jan 20 2011, 13:3...   Jan 20 2011, 11:21
- - Ivan Kuznetzov   Demeny, спасибо! функция уже заметно красивей ...   Jan 20 2011, 12:02
|- - AHTOXA   Цитата(Ivan Kuznetzov @ Jan 20 2011, 17:0...   Jan 20 2011, 13:27
- - Ivan Kuznetzov   AHTOXA, спасибо, действительно красивее! В...   Jan 20 2011, 13:55
|- - AHTOXA   Цитата(Ivan Kuznetzov @ Jan 20 2011, 18:5...   Jan 20 2011, 19:16
- - firstvald   Есть метод скользящего среднего, считается так: (...   Jan 20 2011, 14:18
- - SasaVitebsk   Код/**********************************************...   Jan 21 2011, 11:01
|- - Ivan Kuznetzov   SasaVitebsk, поясните пожалуйста как пользоваться?...   Jan 21 2011, 14:24
|- - demiurg_spb   Пробегало давненько: ЦитатаКодu16_t Yavg; for...   Jan 21 2011, 14:47
|- - SasaVitebsk   Цитата(Ivan Kuznetzov @ Jan 21 2011, 17:2...   Jan 25 2011, 15:04
|- - Ivan Kuznetzov   SasaVitebsk, хотим! чем отличается от этого?   Jan 25 2011, 19:31
- - 777777   Цитата(Ivan Kuznetzov @ Jan 20 2011, 13:3...   Jan 23 2011, 10:58
|- - demiurg_spb   Цитата(777777 @ Jan 23 2011, 13:58) Если ...   Jan 24 2011, 10:20
|- - _pv   Цитата(SasaVitebsk @ Jan 26 2011, 13:20) ...   Jan 26 2011, 15:29
|- - SasaVitebsk   Цитата(_pv @ Jan 26 2011, 18:29) не думаю...   Jan 26 2011, 21:14
- - GetSmart   В Саратове живут суровые профэссианалы   Jan 24 2011, 11:15
|- - 777777   Цитата(GetSmart @ Jan 24 2011, 14:15) В С...   Jan 24 2011, 13:04
- - Ivan Kuznetzov   Внесу ясность в суть дела. Речь идет о цифровом из...   Jan 25 2011, 13:24
|- - firstvald   Цитата(Ivan Kuznetzov @ Jan 25 2011, 16:2...   Jan 26 2011, 11:29
- - firstvald   Навсякий случай: FIR все же постабильнее, хотя и ...   Jan 26 2011, 15:38
- - ig_z   QUOTE (_pv @ Jan 23 2011, 15:06) Кстати, ...   Jan 27 2011, 11:54
|- - ViKo   Цитата(ig_z @ Jan 27 2011, 13:54) Так все...   Jan 28 2011, 08:48
|- - orthodox   Цитата(ViKo @ Jan 28 2011, 10:48) Из прив...   Jan 30 2011, 09:50
|- - ViKo   Цитата(orthodox @ Jan 30 2011, 11:50) Нес...   Jan 30 2011, 10:31
- - SasaVitebsk   Извиняюсь. Действительно IIR.   Jan 28 2011, 11:47
- - Ivan Kuznetzov   Еще вопрос по теме тонометра. Я сейчас использую д...   Jan 29 2011, 16:04
- - =AK=   Цитата(Ivan Kuznetzov @ Jan 20 2011, 21:0...   Jan 30 2011, 09:00
- - firstvald   Не , там напряжение ли или частота - все едино - п...   Jan 30 2011, 09:22
- - ViKo   http://search.analog.com/search/default.as...CG...   Jan 30 2011, 09:39


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:48
Рейтинг@Mail.ru


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