Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 1 1 . Аналоговый компаратор и АЦП 289 Эта формула хорошо работает для фильтрации случайного шума с небольшими ам плитудами («дребезга» показаний), который всегда имеет место в любых измерени ях, и в цифровых в особенности. Производя измерение некоего параметра в одной определенной точке, вы выполняете его несколько раз без изменения условий и вы числяете среднее, что и принимается за истинное значение измеряемой величины в этой точке. ПОДРОБНОСТИ Для быстро и непредсказуемо меняющихся величин есть специальный способ осред нения, который позволяет сгладить резкие скачки показаний на дисплее , - так назы ваемый «метод скользящего среднего» (от англ . movi пg aveгage, МА) . Для его реали зации вы создаете в памяти массив емкостью, например, 8 или 1 6 значений измеряе мой величины, и на начальном этапе заполняете его текущими значениями . После заполнения можно приступать к собственно осреднению: выполнив каждое измерение, вы сдвигаете массив «влево» , теряя самое старое из значений , и помещаете на осво бодившееся место новое измеренное значение. Затем вычисляете среднее из обнов ленного массива и посылаете результат, например, на индикацию. За число измере ний , равное объему массива, значения в нем обновляются полностью. Существует ряд модификаций этого метода , отличающихся способами формирования массива , вычисления текущего значения , взвешивания исходных данных и т. п. Метод можно совмещать с вычислением среднего арифметического из группы измерений , помещая в массив уже усредненные величины . Подчеркнем , что речь не идет о случайном «дребезге» показаний , который всегда со провождает цифровые измерения: если величина сама по себе меняется плавно, то для сглаживания мелких флуктуаций вполне достаточно обычного среднего арифме тического. МА-метод используется для сглаживания случайных выбросов данных, час тота появления которых относительно мала, а амплитуды велики, из-за чего результа ты простого осреднения все время «дребезжат» , и увеличение периода осреднения уже не меняет картину. Излишне говорить, что метод весьма громоздок в реализации даже на языках высокого уровня, и в обычных случаях фильтрации случайного шума с относительно небольшими амплитудами выбросов его никто не применяет. Но бы вают ситуации , когда без метода скользящего среднего не обойтись - пример дает непростая задача усреднения значений направлений , которые выдает флюгер, мечу щийся на ветру. Если измеряемых точек много по всему интервалу измерений, то по ним строится уравнение градуировочной кривой, - некое обобщение понятия среднего, только в интервале значений. По этому уравнению можно вычислить нужные коэффици енты пересчета для какого-либо датчика, чтобы прибор показывал физические величины, - выполнение этой задачи и называется кш�ибровкой. С построением такого уравнения (оно еще называется регрессионным) сложнее, чем со средним арифметическим, - принцип там простой и носит название метода наименьших квадратов (провести кривую так, чтобы сумма квадратов отклонений значений, вычисленных по уравнению, от экспериментальных была минимальной), но весьма громоздкий в реализации. В основе его лежит подбор коэффициентов ai некоего полинома вида: у = ао + а1х + а 2 х 2 + а:;:х 3 + . . . Причем для простых линейных датчиков обычно первой степени достаточно, и по лином вырождается во всем знакомое уравнение прямой линии: у = ао + а1х,
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==