|
Простейший цифровой ФНЧ, для конечного массива точек |
|
|
|
Jan 20 2011, 10:37
|

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

|
Есть массив, в котором записаны значения с АЦП. Напряжения формируют некую "огибающую" Платформа: STM32, сигнал - массив значений с АЦП в вольтах. 1)Подскажите фильтр (алгоритм на Си) чтобы сгладить(усреднить) значения в массиве? 2) Как определить характерные места у огибающей (резкое увеличение значения, резкий спад)
Сообщение отредактировал Ivan Kuznetzov - Jan 20 2011, 11:26
Эскизы прикрепленных изображений
--------------------
Разработчик
|
|
|
|
|
 |
Ответов
|
Jan 23 2011, 13:06
|
Гуру
     
Группа: Свой
Сообщений: 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) разводить плату надо было так, чтобы программисту не пришлось фильтровать результаты АЦП таким сигнал вполне может быть изначально, и совсем не обязательно вызван шумами на плате.
|
|
|
|
|
Jan 26 2011, 07:20
|
Гуру
     
Группа: Свой
Сообщений: 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 по поводу Цитата разводить плату надо было так, чтобы программисту не пришлось фильтровать результаты АЦП . А причём здесь АЦП? Иногда входной сигнал требует фильтрации. Или обработанный. То есть даже если этот сигнал идеально снят АЦП.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|