rezident 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Ко всем: EMA - это КИХ или БИХ?БИХ. Вам же вроде давали эту ссылку => http://www.may.nnov.ru/mak/DSP/wisIIR.shtml Кстати, EMA эквивалентно установке RC-цепи на входе измерителя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tanya 4 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Бугагага: // SMA - Simple Moving Average // EMA - Exponential Moving Average // WMA - Weighted Moving Average // DEMA - Double Exponential Moving Average // TEMA - Triple Exponential Moving Average // TRIMA - Triangular Moving Average // KAMA - Kaufman Adaptive Moving Average // MAMA - MESA Adaptive Moving Average // T3 - Triple Exponential Moving Average А вообще говоря, имея в виду обобщенное среднее, можно этих средних придумать бесконечно много... A=Sum(a(i)*b(i)/Sum(b(i)) Или интеграл вместо суммы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Усреднение не всегда есть хорошо. Если есть время( а оно у автора есть) лучше применить вероятностный метод (не знаю как он называтся по научному) мз массива оцифрованных значенний выбрать наиболее часто встречающееся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба мз массива оцифрованных значенний выбрать наиболее часто встречающееся.Медианная фильтрация? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lost_Viking 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Кстати, EMA эквивалентно установке RC-цепи на входе измерителя. Я уже заметил =). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Да нет, похоже не медианная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Да нет, похоже не медианная.Почему не похоже? Если вашу фразу продолжить мз массива оцифрованных значенний выбрать наиболее часто встречающеесязначения в окне фильтрации, то вполне медианная фильтрация получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Усреднение не всегда есть хорошо. Если есть время( а оно у автора есть) лучше применить вероятностный метод (не знаю как он называтся по научному) мз массива оцифрованных значенний выбрать наиболее часто встречающееся. Вы предлагаете построить гистограмму выборки? Могу предположить, что закон распределения для выборки, не очень искаженной какими-либо неприличными факторами, будет близок к нормальному, и, соответственно, максимум распределения совпадет со средним значением выборки. Если же закон распределения будет даже несимметричен, то имеет смысл сначала проверить смехотехнику и программу, а потом уж пускаться во всякие тяжкие. Если выборка содержит выбросы (ну, н-р, АЦП не вовремя прочитали), то их, как уже отметил ув. rezident, можно попробовать отрезать медианным фильтром. Но: 1) нужны ли такие навороты в придумываемой коробочке? 2) готов ли автор (которого пугают греческие буквы:)) лезть в теорию измерений? Там этих буковок... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Попробовал сделать осреднение результата АЦП. Примерно так: [*]АЦП в режиме постоянного преобразования (free run) [*]По совпадению таймера с OCR0 вызывается прерывание, при помощи которого реализована дин.индикация [*]В этом же обработчике прерывания: Блин, всю свадьбу пропустил... Вот мне одно непонятно: как можно так мощно дрыгать ногами в динамич. индикации и не отбрасывать значения АЦП, полученные за период, в котором было переключение ног ? Я так понимаю, что у нас должно быть прерывание во free run, и прерывание по OCR0, если угодно. В gcc-шной нотации где-то так: volatile uint8_t bad_adc; // used as flag volatile uint8_t ad_cnt; //counter volatile uint32_t ad_sum; volatile uint16_t ad_result; ISR(SIG_ADC) { if(!bad_adc) { ad_sum+=(uint32_t) ADC; if(ad_cnt++ == 0) { ad_result = (ad_sum >>8) & 1023; ad_sum = 0; } } else { bad_adc = 0; } } ISR(SIG_OUTPUT_COMPARE0) { /* здесь динамическая индикация*/ /* и обязательно пометка о плохих измерениях */ bad_adc = 1; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 6 августа, 2008 Опубликовано 6 августа, 2008 · Жалоба Вы предлагаете построить гистограмму выборки? Могу предположить, что закон распределения для выборки, не очень искаженной какими-либо неприличными факторами, будет близок к нормальному, и, соответственно, максимум распределения совпадет со средним значением выборки. Если же закон распределения будет даже несимметричен, то имеет смысл сначала проверить смехотехнику и программу, а потом уж пускаться во всякие тяжкие. Если выборка содержит выбросы (ну, н-р, АЦП не вовремя прочитали), то их, как уже отметил ув. rezident, можно попробовать отрезать медианным фильтром. Но: 1) нужны ли такие навороты в придумываемой коробочке? 2) готов ли автор (которого пугают греческие буквы:)) лезть в теорию измерений? Там этих буковок... Автору же точность нужна и пусть тренируется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 6 августа, 2008 Опубликовано 6 августа, 2008 · Жалоба Блин, всю свадьбу пропустил... Вот мне одно непонятно: как можно так мощно дрыгать ногами в динамич. индикации и не отбрасывать значения АЦП, полученные за период, в котором было переключение ног ? Я так понимаю, что у нас должно быть прерывание во free run, и прерывание по OCR0, если угодно. А зачем freerun? Пусть хочется вывести 4 десятичных разряда для индикации с частотой обновления 100 Гц (2.5 мс на разряд). Пусть АЦП стоит в single shot с частотой 100 кГц (135 мкс на преобразование). Вывели все разряды, погасили индикаторы, запустили АЦП (хоть с noise canceller'ом), проснулись и поехали дальше индицировать. Автору же точность нужна и пусть тренируется. :bb-offtopic: Автору сначала нужно понять, что такое точность. От того, что он выведет на индикатор 10 бит, зафильтрованные по дальше некуда, точность не увеличится. Да и пытаться одним камнем и измерять на пределе точности АЦП, и светодиодами мыргать - не совсем разумный подход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lost_Viking 0 6 августа, 2008 Опубликовано 6 августа, 2008 · Жалоба Сейчас с макетки на плату переведу, и займусь повышением точности АЦП. Кстати, я решил вынести с платы все транзисторы, кнопки... Все это будет на другой плате, куда будет впаян индикатор. Точность в пределе градуса обеспечивается. Все же зависит от типа датчика и опорного напряжения + шумы. :| Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 6 августа, 2008 Опубликовано 6 августа, 2008 · Жалоба А зачем freerun? Пусть хочется вывести 4 десятичных разряда для индикации с частотой обновления 100 Гц (2.5 мс на разряд). Пусть АЦП стоит в single shot с частотой 100 кГц (135 мкс на преобразование). Вывели все разряды, погасили индикаторы, запустили АЦП (хоть с noise canceller'ом), проснулись и поехали дальше индицировать. :bb-offtopic: Автору сначала нужно понять, что такое точность. От того, что он выведет на индикатор 10 бит, зафильтрованные по дальше некуда, точность не увеличится. Да и пытаться одним камнем и измерять на пределе точности АЦП, и светодиодами мыргать - не совсем разумный подход. Согласен Lost_Viking-у стоило сперва сделать АЦП без динамической индикации, а потом усовершенствовать индикацию. Я думаю 3 индикатора с 514ИДх - подошло бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
loskun 0 27 сентября, 2008 Опубликовано 27 сентября, 2008 · Жалоба Lost_Viking как устройство, получилось? Вот _http://www.kosmodrom.com.ua/data/kty.php_ вроде неплохие датчики для вашего устройства, а вот это устройство сделано на этих датчиках _http://www.radiokot.ru/lab/controller/21/ . Может вам будет интересно. Данный термометр я сейчас изготавливаю, жду когда приедут датчики. Прошу прощения может чего-то недосмотрел где можно посмотреть схему вашего устройства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twin_by 0 13 октября, 2016 Опубликовано 13 октября, 2016 · Жалоба Всем привет. Не стал создавать новую тему. У меня собственно тоже терморегулятор только на ATtiny88. И проблема с АЦП. Как видно на скриншоте не соответствуют значения. Это идет самое первое измерение после включения. Второе уже показывает правильно. Вопрос почему значение BuffADC после присвоения не равно значению ADC? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться