- •Содержание
- •Понятие вычислительной системы
- •Организация микроконтроллерных систем управления
- •Микроконтроллеры. Основные сведения
- •Интерфейсы связи с датчиками Сигнальные интерфейсы и цифровые интерфейсы
- •Прием импульсно-дискретных сигналов
- •Демодуляция квадратурно-модулированного сигнала
- •Прием аналоговых сигналов
- •Схемотехника ацп
- •Ацп последовательного счета
- •Ацп последовательного приближения
- •Расширение разрядности. Метод передискретизации
- •Стандартные интерфейсы связи Интерфейсы связи
- •Топологии сетей
- •Последовательный интерфейс i2с
- •Состояние старт и стоп
- •Подтверждение
- •Адресация в шине i2c
- •Преимущества
- •Последовательный интерфейс spi Введение
- •Электрическое подключение
- •Протокол передачи
- •Cравнение с шиной i2c
- •Последовательный интерфейс rs-232
- •Can интерфейс
- •Описание стандарта
- •Контроль ошибок
- •Скорость передачи и длина сети
- •Методы выявления и устранения ошибок данных при передаче
- •Блоковые коды
- •Свёрточные коды
- •Коды обнаружения Циклический избыточный код (crc)
- •Бит чётности
- •Формализованный алгоритм расчёта crc16
- •Корректирующие коды
- •Каскадное кодирование. Итеративное декодирование
- •Выбор кода
- •Некоторые методы (алгоритмы) обработки сигналов
- •Калибровка сигнала
- •Компенсация сигнала
- •Табличные вычисления и тарировочные таблицы Табличные вычисления
- •Тарировочные таблицы
- •Коррекция нуля, обнуление
- •Фильтрация
- •Разностное уравнение дискретного фильтра
- •Рекурсивные (бих) и нерекурсивные (ких) фильтры
- •Устойчивость
- •Зависимости частотных свойств звеньев системы регулирования
- •Регуляторы
- •Регулятор типа п – пропорциональный
- •Регулятор типа пи – пропорционально-интегральный
- •Регулятор типа пид – пропорционально-интегрально-дифференциальный
- •Реализация регуляторов
- •Примерная реализация ядра регулятора на языке Си
- •Выбор длительности такта
- •Вычисления с плавающей и фиксированной точкой
- •Основы технологии разработки программного обеспечения Структура программы на языке Си
- •Компиляция программы
- •Директивы препроцессора
- •Присоединение файла
- •Макросы
- •Условная компиляция
- •Типы переменных
- •Математические операторы
- •Операторы цикла
- •Условный оператор
- •Оператор выбора
Коррекция нуля, обнуление
Из практики известно, что наибольшему паразитному влиянию подвержено положение нуля сигнала – дрейф нуля наиболее ярко выражен по сравнению с искажением линейности или угла наклона характеристики. Поэтому коррекция нуля может быть выведено как самостоятельная задача. Вообще говоря, чисто к коррекции нуля можно свести 70-80% задач калибровки сигналов датчиков.
Коррекция нуля, обнуление обычно является частью боевой работы системы, например, обнуление показаний высотомера на ЛА перед взлетом, пока он находится на земле.
Для коррекции дрейфа нуля необходимо привести систему в состояние, когда целевая измеряемая величина будет равна нулю, а величины паразитных факторов станут стабильными и соответствовать величинам, наблюдаемым при работе системы (например, прогрев бортовой аппаратуры).
Теперь надо измерить нулевой сигнал, который соответствует нулевой величине физического параметра и в дальнейшем вычитать его значение из всех показаний датчика.
Нулевой сигнал следует определять как математическое ожидание накопленной последовательной выборки показаний датчика. Длительность выборки определяется по частотному спектру сигнала (фактически спектру шума, так как полезный сигнал постоянен) и должна быть в 5-10 раз длиннее периода самой низкочастотной составляющей части спектра шумового сигнала. На практике это от 5 до 40 секунд.
Фильтрация
Ранее мы рассмотрели способы получения цифрового значения, соответствующего входному сигналу разной природы.
Важно понимать, что эти рассмотренные операция являются (в идеале) всего лишь преобразованием формы, не затрагивающей содержание (с известными оговорками естественно).
Эти сигналы помимо полезной составляющей несут в себе шум, который может мешать корректному функционированию алгоритма, опирающегося на этот измеряемый сигнал.
В лекции про АЦП мы говорили о фильтрации высокочастотного, не удовлетворяющего критерию Найквиста шума. Рассмотренный случай являет собой самый простой пример проявления шумов и способа борьбы с ним – шум лежит вне интересующей нас полосы частот. Гораздо сложнее, если этот шум находится внутри спектра полезного сигнала и не является постоянным.
Рассмотрим такой пример. Есть самолет с бензиновым двигателем.
Работа двигателя вызывает вибрации корпуса, причем с изменением оборотов частота этих колебаний меняется.
Усугубим ситуацию тем, что частота этих колебаний лежит внутри полосы гироприборов системы навигации и стабилизации.
В отличие от рассмотренного примера в лекции по АЦП, где у нас параметры фильтра прямо следовали из величины частоты дискретизации, в данном случае из-за изменчивости шума нельзя построить постоянный фильтр.
Для этого используются специальные алгоритмы фильтрации, цифровые фильтры.
Цифровые фильтры можно разделить на два основных класса – БИХ-фильтры и КИХ-фильтры.
Разностное уравнение дискретного фильтра
Можно сделать вывод о том, что если есть передаточная характеристика дискретного фильтра, то:
Передаточная функция дискретного фильтра выражается через нули и полюса и не зависит от входных и выходных сигналов. Можно записать:
Откуда получаем уравнение вида:
Произведение полиномов можно получить численным методом путем вычисления линейной свертки коэффициентов исходных полиномов. Тогда мы можем раскрыть произведения полиномов левой и правой частей при помощи линейной свертки вида:
В выражении в квадратных скобках выделены коэффициенты полинома произведения, вычисленные через линейную свертку. Очевидно, что равенство двух полиномов будет если порядки этих полиномов равны, т.е. и коэффициенты при соответствующих степенях полиномов также равны. Тогда можно приравнять то, что в квадратных скобках и получим:
Это выражение есть разностное уравнение дискретного фильтра. По аналогии с тем, что аналоговые фильтры могут быть описаны дифференциальными уравнениями, дискретные фильтры описываются разностными уравнениями.
Рассмотрим подробнее полученное разностное уравнение. Для этого перепишем его в виде:
Таким образом, очередной k - ый отсчет на выходе фильтра y(k) рассчитывается как взвешенная сумма задержанных входных отсчетов минус взвешенная сумма предыдущих выходных отсчетов. Очень важно, чтобы a0 был отличен от нуля, в противном случае сигнал на выходе будет бесконечным. Часто задают a0=1 для того чтобы «не таскать» за собой 1/a0. При этом коэффициенты дискретного фильтра в разностном уравнении bm=0, если m>N и am=0 если m>M. Количество коэффициентов am bm и задают порядок дискретного фильтра.