Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Погрешность входного параметра
Вычисление тригонометрической функции синус происходит на интервале значений аргумента (-π/2, π/2). При этом ошибка датчиков равна 0.005, ошибка АЦП должна быть хотя бы на порядок меньше ошибки датчиков, поэтому возьмем равной 0.0005. Ошибка входного параметра складывается из ошибки датчика и ошибки АЦП: ; , тогда:
Найдем величину максимальной неустранимой ошибки по следующей формуле: Возьмем производную от общего ряда (3):
Максимальный аргумент равен , подставив который в предыдущее выражение получим:
Вычислим необходимую разрядность АЦП – : Отсюда . Погрешность метода Необходимо определить количество членов ряда, при которых ошибка разложения в ряд не будет превышать максимальную неустранимую ошибку, равную Ряд Тейлора имеет бесконечное количество членов, поэтому, отбросив несколько членов общего ряда (3) по очереди, мы внесем ошибку ограничения. Для всякого знакопеременного сходящегося ряда эта ошибка ограничения по модулю меньше первого отброшенного члена. Таким образом, ищем наименьшую ошибку, удовлетворяющую условию: учитывая, что максимально возможный аргумент: · · · · · · ·
Заметим, что после шестой степени условие начинает выполняться постоянно, поэтому первым отбрасываемым членом будет Тогда можно ограничиться первыми пятью членами общего ряда (3): (5)
с погрешностью разложения:
Аналогично определяется количество используемых членов для общего ряда (4), учитывая, что максимально возможный аргумент: :
(6) Общая ошибка для ряда Положим, что: погрешность представления аргумента, погрешность представления коэффициентов, ошибка округления. Исходные величины a1, a2, a3, a4, a5 имеют абсолютные ошибки округления , где n - разрядность сетки. При выполнении операций перемножения появляются ошибки округления (округление происходит путем занесения в n+1 разряд 1). При выполнении операций сложения и вычитания ошибок округления не возникает, т.к. мы используем машину с фиксированной запятой. Тогда:
Конечный ряд для вычисления функции синуса (5) может быть записан в общем виде как
, где a1…a5 – определенные ранее константы. Общую ошибку для ряда запишем следующим образом: Запишем ошибки для отдельных операций: Тогда конечное уравнение относительно с подставленными a1…a5 примет вид: Решив его при , найдем разрядность сетки . Теперь, зная разрядную сетку, уточним абсолютную ошибку округления коэффициентов: Зная n, вычислим абсолютные ошибки в вычислениях: = 0.0007440600245 = Вычисление суммарной ошибки машины Суммарная ошибка нашей машины: 0.00000185537834 0.004635002636
Архитектура машины Наша машина может вычислять значения синуса в диапазоне . К такому решению мы прибегли в связи с тем, что наша машина с фиксированной запятой, и она работает только со значениями аргументов, лежащими в диапазоне [-1;1] (так же данное решение позволяет снизить ошибку, связанную с разложением в ряд при большом значении аргумента). Но и при таком решении при углах больше аргумент будет больше единицы, поэтому на вход машины мы подаем не сам x, а x/2. Для того чтобы избежать переполнений в вычислениях при x > , вычисления производим по формуле: · для случая, когда аргумент лежит в интервале · для случая, когда аргумент лежит в интервале . Аргумент x поступает в машину с коэффициентом масштабирования . Все константы преобразуем в двоичный 13-и разрядный код. Все данные в двоичном представлении (13 знаков после запятой). В машине с инструкцией умножения используется 4 регистра, а в машине с заменой инструкции умножения, сдвигом и сложением - 7. В машине используется память с произвольным доступом. Она характеризуется содержимым, хранящимся в группе ячеек, и расположением (адресом) каждой ячейки. Так как за основу взята архитектура Фон-Неймана, то и программа, и данные располагаются в одной области памяти.
Регистры r3, Res, x, y – рабочие регистры. В них находится один из операндов команды, либо источник, либо адресат. Регистры r1, r2, r4 – регистры данных. Эти регистры выполняют две функции: · Хранят содержимое адресованного регистра данных, если ЦПУ осуществляет цикл чтения; · Хранят данные, которые ЦПУ собирается записать в адресованный регистр данных (цикл записи). Система команд Для случая, когда в машине реализована функция умножения:
Для случая, когда в машине функция умножения не реализована:
|
Последнее изменение этой страницы: 2019-05-08; Просмотров: 164; Нарушение авторского права страницы