Технический форум по робототехнике.
noonv » 28 апр 2013, 22:09
а Matlab под рукой есть? там есть тулбокс для этого дела
Radist » 28 апр 2013, 22:22
Нету(. Да и не умею я в нем. Раньше таких задач не было - вот и обходился без него. Если не трудно - можно сюда формулку с примерными коэффициентами?
noonv » 28 апр 2013, 22:30
у меня дома тоже нету
а в коэффициентах то вся магия и заключается
а матлаб даёт возможность их быстро получить, но нужно знать рабочую частоту сигнала + частоту отсечки, а далее можно выбрать нужный фильтр и уже оценить результаты его работы.
elmot » 28 апр 2013, 22:57
почто операционник не поставить?
Radist » 28 апр 2013, 23:08
Все к этому идет. Питание 5В, средняя точка она же опорник 2,5В. Коэффициент усиления сделать постоянным. Думаю, что самое главное требование к оперу - это малое смещение и временная стабильность. Вот только вход будет не универсальным, только для термопар. Но хоть для них хотя бы.
Калибратор у меня только на работе - завтра проверю как он отличные от нуля напряжения измеряет. А дальше видно будет.
Romikgy » 29 апр 2013, 01:10
какие характеристики ФНЧ фильтра должны быть?
Radist » 29 апр 2013, 03:35
Все что знал - я уже написал. Я же работаю уже с потоком цифровых данных, с отсчетами, которые скачут около некой средней точки. Приблизиться к ней основная задача. Сигнал - постоянный ток, можно частоту среза взять максимум 10 ГЦ (если это применимо к цифре). Данные поступают каждые 20 мс. Время переходного процесса (реакция на ступеньку) должно быть не более 100 мс.
Madf » 29 апр 2013, 09:20
так как раз в этом и проблема, у вас число выборок большое, АЦП чувствительное, измеряемый источник не стабильный, сколько АЦП не мучай - всегда на выходе будет помеха (сигнал не идеален же)
здесь как не крути, нужно огрублять, если стремимся к 0, а огрубление - это потеря данных так или иначе...
возможно ещё внутреннее сопротивление, нагрузки на термопаре, не хватает достаточной между связкой термопары+ацп, вот и ловит куча мусора. Не пробовали в режиме покоя подносить руку к проводникам, шумит не сильнее?
Radist » 29 апр 2013, 12:09
Сейчас как раз этим занимаюсь. Набираю статистику для проверки алгоритмов фильтрации. Какой бы сигнал не измерял - порядок шумящих битов неизменен. В среднем шумит плюс минус 30 отсчетов, хоть 1мВ измеряю, хоть 125 мВ. Делаю вывод - это внутренние шумы схемы. Они симметричны по мощности относительно истинного значения. Задача - максимально быстро найти истинное значение.
Добавлено спустя 1 час 59 минут 1 секунду:
Попробовал сделать такой финт. Сперва упростил формулу рекурсивного фильтра (чтоб легче считать было): Yn = (Yn-1 + Xn)/2. Прогнал входной массив данных через этот фильтр 4 раза - и разброс уменьшился вдвое. Причем бОльшую часть разброса "съел" первый прогон, а чем дальше - тем меньше относительное изменение разброса.
Добавлено спустя 31 минуту 37 секунд:
Есть некоторые практические результаты. Исходные данные: выборка из 20 отсчетов, среднее арифметическое 33565, разброс 58.
1. Четыре прогона через рекурсивный фильтр: среднее арифметическое 33567, разброс 25
2. Один прогон рекурсивным фильтром, затем прогон медианным окном на 5 отсчетов: среднее арифметическое 33563, разброс 27
3. Сперва прогон медианным окном шириной 5, затем один прогон рекурсивным фильтром: среднее арифметическое 33562, разброс 18
Медианное окно - это скользящее окно на 5 элементов, в окне провожу сортировку и беру средний элемент.
Romikgy » 29 апр 2013, 12:47
Radist » 29 апр 2013, 13:41
Скачал, спасибо. Вот только проверка в маткаде дает вместо отфильтрованных данных какую-то чушь. Пока не могу понять почему. Я ввел частоту дискретизации 60 Гц (именно с этой частотой у меня идет поток данных с АЦП, частоту среза взял 5 Гц, фильтр Баттерворта). Может быть отсчеты нормировать надо предварительно?
Aseris » 01 май 2013, 14:55
если не хочеш дрожания младшего бита то используй джитер фильтр jitter
Плюс простор для фантазии - IIR фильтры - Vi= (Vi-1*(K-1)+Vi)/K вацией К - меняеш частоту среза фильтра. Младший разряд будет дрожать когда значение будет на грани разрядов. добавляем джитер и вуаля.
Как я понял хочетса на индикатор выводиь значение без дрожания цифр...
Radist » 01 май 2013, 18:00
Если бы дрожжал только младший бит - я был бы счастлив
. Дрожжат 5-6 младших битов. Хочу отвоевать хотя бы один бит (снизить размах колебаний в два раза). Два бита имеют право дрожжать по даташиту, почему дрожжат остальные - не ясно. То есть предполагаю, хотелось бы узнать в каких условиях снимали данные для написания даташита.
Romikgy » 01 май 2013, 19:13
выложи отсчеты с ацп ... дабы на чем пробовать алгоритмы....
Radist » 01 май 2013, 22:00
Первая выборка это 0, вторая 1мВ, третья 5 мВ.
- Вложения
-
- adc.txt
- (321 байт) Скачиваний: 316