ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
1312474 Топик полностью
Связанные сообщения
DspФильтрыAdcFilter
Поднял старый комп, вытащил старую проверенную версию Filter Wiz Pro2024-02-18
Программная фильтрация. Чаще всего для фильтрации используется апериодическое звено - аналог RC-цепочки.2023-08-22
У кого китайцы слизали этот АЦП?2023-05-25
Брр. Вроде бы врубился. Посмотри, правильно ли я понял идею?2023-05-24
ЦОС на atmega8. Без плавающей точки. Пролетел с блоком питания и теперь имею на входе сигнал с характерным "кивком" почти на 10%...2023-05-24
HX711 вкусная... только нигде не нашел как на нее кварц цеплять2023-05-16
кому здесь требовались ацп, цапы, драйверы 485? в рекламе прилетело2022-07-27
Надо измерять Pt100 в трехпроводном включении: что предпочесть ads1220 или ads1247 ? (санкции пох)2022-07-21
Чего-то не соображаю сегодня. Хочу к целочисленным данным применить экспоненциальный фильтр вида Yn=a*X+(1-...2020-08-27
Процитирую самого себя: "Зачем вообще использовать "экспоненциальное скользящее среднее", кроме как от бедности (не хватает ресу...2019-11-01
Самые [Многобитные АЦП всех времен и народов. Основной пост.] 24...32b, от $1.64. По мотивам мегатопика про 12b ADC ->2017-09-04
[Многобитные АЦП] сводный справочный пост.2017-09-04
Посоветуйте контроллер, чтоб мог генерировать синус с частотой 57кГц без джиттера (важно)? Сейчас делаю на PIC24, гоню таблицу и...2016-10-14
Некорректное поведение текущего среднего?2015-12-17
Решается ли средствами DSP (и если да, то как) вот такая задачка:2014-04-09
Да не так страшен этот чёрт. Берём массив длиной 4N, набиваем отсчётами АЦП с частотой 4F, умножаем на синус { 0, 1, 0, -1 } и к...2013-05-26
Nikolay_Po (24.05.2023 19:52, просмотров: 479) ответил Cкpипaч на ЦОС на atmega8. Без плавающей точки. Пролетел с блоком питания и теперь имею на входе сигнал с характерным "кивком" почти на 10% вниз, на 2-3ms, в каждом периоде сети (20ms). Как вычистить?
Простейший а-ля медианный фильтр. Инициализируешь 32-х битную целую переменную "Фильтр" первым измеренным значением АЦП, умноженным на 2^10, к примеру. Каждый период отсчётов, берёшь значение "Фильтра" и делишь его на 2^10. Сравниваешь полученное значение и значение свежего отсчёта АЦП. Если код АЦП больше делённого значения фильтра, то инкрементируешь "Фильтр". Если мешьше - декрементируешь. Если равно - ничего не делаешь. Выход фильтра - величина "Фильтр" поделённая 

на 2^10 - уже получена для сравнения.

Таким образом, на выходе получишь практически медианное значение за период ~1024 отсчёта, с точностью +/-1/1024. Показатель степени выбираешь по результатам тестирования - размениваешь скорость реакции на стабильность замеров.


P.S. Пожалуй, с 10-й степенью я загнул. Скачок с 2^14 до нуля займёт 2^14*2^10 отсчётов, 9 часов где-то. Или я что-то путаю. Сам использовал такой фильтр для компенсации дрейфа порогового значения при ловле импульсов небольшой амплитуды. Время установления было минуты при 19кГц выборки.