Главная > Прикладные задачи фильтрации и управления
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

§ 6.8. Оценка влияния ошибок вычислений на БЦВМ

Исследования по реализации алгоритма ОРФ Калмана в виде программы БЦВМ, производящей арифметические действия с фиксированной запятой при сравнительно малой длине разрядной сетки (по опубликованным в литературе данным наиболее часто в БЦВМ число разрядов из которых один — знаковый), показывают, что в ряде случаев возможно быстрое накопление

ошибок вычислений, вызывающее резкое ухудшение точности оценки. Имеющийся опыт показывает, что наиболее быстро ошибки вычислений «деформируют» к. определяемое рекуррентными уравнениями главы 4, так что, начиная с некоторой величины эти матрицы теряют основное свойство корреляционных матриц: условие перестает выполняться и точность оценки существенно ухудшается. В литературе [31], [57] описанное явление часто называют «расходимостью фильтра Калмана» и один из эффективных способов его ликвидации состоит в использовании подпрограмм вычислений с удвоенной точностью. При этом, конечно, время вычислений резко увеличивается и повышаются требования к производительности БЦВМ.

Детальные исследования вопросов точности оценки по формулам алгоритма ОРФ при различных схемах организации последовательных вычислений на БЦВМ можно производить с помощью ИНТЕРПРЕТАТОРА - программы, которая на универсальной ЦВМ моделирует процесс вычислений на БЦВМ. Однако предварительные данные об искажениях матриц возникающих из-за вычислений с фиксированной зацятой, можно получить и без ИНТЕРПРЕТАТОРА по излагаемой ниже методике.

Как известно, основные особенности вычислений на БЦВМ с фиксированной запятой состоят в том, что

а) модули всех постоянных и переменных величин, входящих в формулы, реализуемые программой БЦВМ, должны быть не более 1;

б) числа, получаемые в БЦВМ после реализации каждой арифметической операции, являются числами вида

где равны 0 или заданное целое число, определяющее длину разрядной сетки БЦВМ. Далее, числа вида (6.59) называем «-разрядными». Если число а в регистрах БЦВМ оказывается -разрядным, где то далее оно округляется — переводится в ближайшее -разрядное число а по формуле

где целая часть числа х. Если а — -разрядное число, то Нетрудно проверить, что ошибка округления всегда удовлетворяет неравенству

Так как результаты сложения, вычитания и деления -разрядных чисел также являются -разрядными, то при этих действиях, операция округления не используется и вычисления в БЦВМ ошибок не вносят. Произведение двух -разрядных чисел является числом -разрядным, производится операция округления, и, следовательно, при умножении вычисления на БЦВМ происходят с потерей точности.

Пусть А и а — некоторые матрица и вектор, размерностей Тогда вектор, компоненты которого — -разрядные числа, вычисленные при использовании операции округления. Так как компонента вектора А а определяется формулой

то компонента вектора ошибок округления имеет

Из (6.61) следует, что

Поэтому при большой величине компоненты вектора могут быть достаточно велики и, следовательно, умножение в БЦВМ вектора на матрицу может происходить с заметными ошибками. Аналогичные выводы получим при умножении матрицы А на матрицу В. Очевидно, что элемент матрицы ошибок оценится формулой

В алгоритмах ОРФ, изложенных, в главе 4, много операций умножения векторов и матриц. Поэтому естественно ожидать быстрого накопления ошибок при расчетах на БЦВМ по формулам алгоритмов ОРФ, производимых не с удвоенной точностью. При расчетах с удвоенной точностью ошибки вычислений резко уменьшаются, так как в (6.63), (6.64) число надо заменить на

Далее примем, что выбором соответствующих масштабных коэффициентов для компонент вектора фазовых

координат и вектора измерений в формулах алгоритма ОРФ удовлетворено требование а исследования накопления ошибок при вычислениях на БЦВМ происходят на универсальной ЦВМ с плавающей запятой. Тогда достаточно полное представление об искажении условных к. м. из-за накопления ошибок вычислений получим, если при вычислениях, например, по формулам алгоритма ОРФ Калмана после каждого умножения двух; чисел производить операцию округления по формуле (6.60). Сравнение найденных матриц полученными при точных вычислениях, позволит провести подробное исследование процесса накопления ошибок вычислений. Однако при этом программа универсальной ЦВМ усложняется и заметно увеличивается время вычислений. Поэтому целесообразно иметь рекуррентные формулы для приближенной оценки накопления ошибок.

Для сокращения записи формул считаем (используется последовательный алгоритм § 4.4), (оптимальной оценке подлежит вектор постоянных параметров), (случайные возмущения системы отсутствуют), При идеальных вычислениях (с разрядной сеткой большой длины) к. определяется рекуррентным уравнением

где

Пусть на шаге алгоритма ОРФ определилась матрица отличная из-за ошибок вычислений на БЦВМ от к. При определении матрицы дополнительные ошибки возникнут из-за использования операции округления при умножении вектора на матрицу умножении слева вектора на строку умножении слева строки на вектор Положим и учтем, что

Положив приближенно считая малой величину получим из (6.65)

где

В (6.66) используются вместо так как ошибки априорного задания на порядок больше матриц Рекуррентное уравнение (6.66), описывающее эволюцию матриц отличающиеся от матриц из-за наличия векторов ошибок и матриц ошибок последовательно используется при тех же начальных условиях, что и (6.65). Из (6.66) и (6.67) видно, что матрицы должны быть симметричны.

Обозначим через матрицу ошибок вычислений на БЦВМ элементов условных к. Вычитая (6.65) из (6.66) и считая малыми элементы получим

причем а при вычислениях элементов матриц вектор заменяется на определяемый из (6.65). Как видно из (6.68), матрица удовлетворяет нелинейному неоднородному рекуррентному уравнению, исследование решений которого может быть проведено, по-видимому, лишь численно. Грубые оценки влияния ошибок вычислений найдем, если компоненты векторов и элементы матриц заменим их верхними гранями в соответствии с (6.63), (6.64).

Рекуррентные формулы, аналогичные (6.66), (6.68), нетрудно получить для общего случая а также для оценки влияния ошйбок вычислений на определение векторов оптимальных оценок

В литературе описан ряд эвристических способов борьбы с расходимостью алгоритмов ОРФ, основанных на добавлении к матрицам некоторых матриц, интерпретируемых как корреляционные матрицы случайных векторов ошибок вычислений [60], умножении первого слагаемого в формуле (4.95) на коэффициент, больший 1 [48], и т. д. К числу таких способов можно отнести и метод исправления корреляционных матриц, рассмотренный в § 2.14.

Categories

1
Оглавление
email@scask.ru