Автор работы: Пользователь скрыл имя, 18 Декабря 2013 в 10:53, курсовая работа
В настоящее время существует большое количество офисных программ и простому пользователю бывает трудно найти наиболее подходящий вариант. В данной курсовой работы на первом этапе будет рассмотрен офисный пакет OpenOffice будут рассмотрены основные преимущества и недостатки, кратко будут описанные существующие альтернативные пакеты, так же будет проводиться сравнение раздела Writer с MS Word. На втором этапе работы надо оформить текстовый документ согласно ГОСТ 7.32-2001 «Отчет о научно-исследовательской работе. Структура и правила оформления.
Введение...............................................................................................................................2
1.Существующие альтернативные пакеты........................................................................4
2.Сходства и различия.........................................................................................................6
3.Описания назначения раздела Writera............................................................................7
4.Текст работы....................................................................................................................15
Заключение.........................................................................................................................30
Список литературы............................................................................................................31
Чтобы вычислить оценку сигнала и величину, используемую для оценки достоверности, нужно хранить необходимое количество последних выборок сигнала в линии задержки. С этой целью резервируется массив ячеек в ОЗУ, называемый буфером. Для уменьшения размера программы и увеличения ее быстродействия в качестве линии задержки целесообразно использовать следующий порядок записи в массив. В первый раз входной сигнал записывается в начало массива. При каждом последующем обращении к программе фильтрации входной сигнал записывается в следующие ячейки массива до тех пор, пока не будет достигнута верхняя граница массива. После этого запись снова производится в начало массива. Таким образом новый сигнал всегда записывается вместо самого старого, а в буфере всегда находится некоторое заранее заданное количество предыдущих сигналов. При таком способе записи буфер называется кольцевым. Адрес для записи в кольцевой буфер должен сохраняться в отдельной ячейке ОЗУ и изменяться программой фильтрации.
Рассмотрим пример с усреднением по 8 выборкам сигнала, представленным в двухбайтовом формате целыми положительными числами со значениями не более 2000h. Резервирование памяти для кольцевого буфера и для указателя производится директивами:
.RSECT
buf: DS 16
pbuf: DS 1
В начале каждого обращения
к программе фильтрации нужно
записать в фильтр новую выборку
на место самой старой. Для этого
нужно вычислить новое значение
указателя и с помощью
INC pbuf
ANL pduf, #07h ;ограничение приращения
MOV A, pduf ;для формирования адреса
RL A
ADD A, #buf ;формирование адреса в буфере
XCH A, r0 ;загрузка адреса в регистр
MOV @R0, A ;запись мл. байта в буфер
INC R0
MOV @R0, A ;запись ст. байта в буфер
Полученная сумма может использоваться в качестве оценки сигнала с наибольшим количеством значащих цифр, а для вычисления суммы квадратов нужно вычислить среднее значение сигнала делением полученной оценки на 8. Это можно сделать посредством трех сдвигов вправо находящейся в накопителе и регистре В суммы, а затем вычислить сумму квадратов отклонений выборок сигнала.
В данном случае для накопления суммы квадратов используется только один байт, так как приемлемыми считаются серии измерений с малыми отклонениями. Поэтому при выходе отклонения одной выборки за пределы 15 или при заведомом выходе суммы за пределы 255 программа выходит из цикла и заносит в ячейку с оценкой суммы квадратов максимальное однобайтовое число.
Оценка суммы квадратов отклонений может увеличиваться не только из-за влияния шума. При скачкообразном изменении сигнала его оценка изменяется линейно за время, равное длительности накопления. Во время переходного процесса сумма квадратов отклонений сначала увеличивается, а затем уменьшается до уровня, зависящего от шума. Если сумма квадратов отклонений превышает заранее заданный порог, то для дальнейшей обработки используется старая оценка сигнала. Если сумма квадратов находится в заданных пределах, то используемая для дальнейшей обработки оценка сигнала обновляется.
Интересно сравнить этот алгоритм фильтрации с простым накоплением значения входного сигнала в течение 8 тактов. Приведенной программе для получения первоначальной оценки требуется 8 тактов, а затем оценка выдается каждый такт с запаздыванием 8 тактов. При простом накоплении оценка будет выдаваться только один раз за 8 тактов с тем же запаздыванием. Но при этом нет необходимости запоминания всех значений сигналов. Даже если нужно вычислить сумму квадратов отклонений, то для этого достаточно накопить сумму квадратов значений сигнала. Для накопления суммы квадратов выборок и последующего вычисления суммы квадратов отклонений необходимо работать с промежуточными результатами в форматах до 5 байт.
6.4 Программирование медианного фильтра
В предыдущем примере рассматривалась линейная фильтрация медленно изменяющегося сигнала для достаточно “гладких” помех. В случае редких импульсных помех в сочетании с необходимостью сохранения длительности фронта быстро изменяющегося сигнала бывает целесообразно использовать нелинейную фильтрацию с помощью медианного фильтра. В медианном фильтре обработке подвергается нечетное количество выборок входного сигнала. Из их значений составляется упорядоченный список, а в качестве выходного берется значение из середины списка. Этот способ фильтрации основан на сортировке. Термин медиана в данном случае относится не к геометрии, а к статистике. Этим словом обозначается параметр статистического распределения, для которого значения одной половины выборок не больше его, а значения другой половины выборок не меньше.
Рассмотрим такой фильтр для случая 5 выборок, имеющих однобайтовый формат. Для сортировки можно записать набор сигналов во вспомогательный массив, а затем произвести их перестановку, чтобы они расположились в убывающем или возрастающем порядке. При этом необязательно полное упорядочение списка, достаточно найти третий по порядку элемент. Другой вариант поиска медианы использует вычисление рангов сигналов, по которым можно определить их положение в списке. При вычислении рангов перестановка не нужна, что экономит время работы программы (оптимизация по быстродействию в этом случае достигается увеличением ее объема). Но в данном случае автор решил привести вариант с вычислением рангов по другим соображениям. До сих пор не представлялось хорошей возможности, чтобы продемонстрировать использование сложных текстовых подстановок. Не испытывая особой склонности к применению таковых, автор все же считает, что они весьма эффективны при программировании некоторых алгоритмов.
Пусть входной сигнал находится в ячейке х, а выходной сигнал должен быть записан в ячейку у. В предыдущем примере текущий сигнал записывался в буфер перед началом фильтрации, что увеличивает затраты объема ОЗУ. На самом деле в буфере нужно хранить только предшествующие выборки входного сигнала. Для этого надо обновлять содержимое буфера только после обработки вновь поступившего сигнала. В данном случае между обращениями к программе нужно сохранять один байт в качестве указателя самого старого сигнала и четыре байта в качестве значений предыдущих сигналов. Зададим имена каждой из ячеек кольцевого буфера следующим образом:
.RSECT
Pduf: .DS 1 ;указатель на кольцевой буфер
Buf0: .DS 1 ;ранг записывается в R4
Buf1: .DS 1 ;ранг записывается в R5
Buf2: .DS 1 ;ранг записывается в R6
Buf3: .DS 1 ;ранг записывается в R7
Значения рангов (информации о старшинстве сигналов) будем накапливать в регистрах общего назначения. Предназначим регистр R3 для ранга входного сигнала, а регистры R4, R5, R6 и R7 для рангов сигналов, хранящихся в буфере. В начале работы программы в эти регистры заносятся нули. Для подсчета рангов пяти сигналов нужно произвести сравнение 10 пар значений (аналогично проведению турнира по круговой системе). При равенстве значений сигналов содержимое соответствующих им регистров не изменяется. При неравенстве в регистр большего сигнала добавляется 1, а из регистра меньшего сигнала вычитается 1. Определим операцию накопления ранга с двумя формальными параметрами, фактические значения которых должны соответствовать номерам используемых регистров.Перед использованием этой операции в накопитель нужно занести сигнал, соответствующий первому фактическому параметру. В регистровых операндах команд счета используется подстановка символа фактического параметра, что обозначено операцией конкатенации (вертикальная черта). Во втором операнде команды сравнения в результате подстановки должно быть записано имя ячейки буфера. Перед подстановкой приходится выполнять арифметическую операцию вычитания. Необходимость вычисления выражения до подстановки обозначена угловыми скобками. Все метки в операции подсчета рангов локальные. При равенстве сигналов выполняется 2 команды. Если первый сигнал меньше второго, то выполняется 4 команды. Если первый сигнал больше второго, то выполняется 6 команд.
Запишем часть программы, осуществляющую подсчет рангов. За счет применения сложной текстовой подстановки исходный текст для подсчета рангов получился компактным и легко читаемым:
MOV R7, A;запись нулей в счетчики ранга
MOV A, х ;для проверки входного сигнала
RANK 3,4
RANK 3,5
RANK 3,6
RANK 3,7
MOV A, buf0 ;для проверки 0-ой ячейки буфера
RANK 4,5
RANK 4,6
RANK 4,7
MOV A, bufl ;для проверки 1-ой ячейки буфер
RANK 5,6
RANK 6,7
Но главное достоинство
использования сложной
Теперь по содержимому регистров нужно определить, в какой ячейке находится медиана. Если бы все сигналы были разные, то все ранги также были бы разными. Поэтому медиану можно было бы найти по регистру с нулевым содержимым. В случае совпадения значений сигналов поиск медианы несколько усложняется. Рассмотрим все варианты распределения рангов, расположенных по старшинству:
0, 0, 0, 0, 0 значения всех сигналов совпадают
+1,+1,+1,+1,-4
+2, +2, +2, —3, —3
+2, +2, +2, —2, —4
+3,+3,-2,-2,-2
+3,+3,-1,-1,-4
+3,+3, 0,-3,-3
+3,+3, 0,—2,—4
+4,-1,-1,-1.-1
+4, 0, 0, 0,-4
+4,+1,+1,-3,-3
+4,+1,+1,-2,-4
+4,+2,—2,—2,—2
+4,+2,-1,-1,-4
+4,+2, 0,-3,-3
+4,+2, 0,-2,-4 значения всех сигналов различны
Анализ всех 16 вариантов показывает, что ранг с модулем не более 1 всегда соответствует медиане. Если минимальный модуль ранга равен 2, то медиане соответствует ранг с таким знаком, какой имеется еще у двух таких же значений ранга. Ранги с модулями 3 и 4 никогда не соответствуют медиане.
Для определения номера регистра, удовлетворяющего заданным требованиям, используется сложная текстовая подстановка с одним формальным параметром. Если в результате проверки удалось вычислить номер регистра, соответствующего медиане, то управление передается на нелокальную метку в ту часть программы, которая должна записать медиану в ячейку y:
MDN: .MACRO n
MOV R0, # | n
MOV A, R | n
JZ ldm
JNB A.7, pls#
CPL A
SJM ch1#
pls# : DEC A
ch1# : JZ ldm
DEC A
JNZ nxt#
MOV A, R | n
JB A.7, ch2#
INC R1
CJNE R1, #3, nxt#
Сначала на случай обнаружения подходящего ранга в регистр R0 заносится номер проверяемого регистра. Затем содержимое проверяемого регистра пересылается в накопитель. В случае нулевого ранга управление передается на загрузку медианы. В противном случае вычисляется модуль ранга, уменьшенный на единицу. Если модуль ранга равен 1, то управление передается на загрузку медианы. Если он больше 2, то управление передается на последнюю метку подстановки. Для рангов +2 и -2 в регистрах R1 и R2 подсчитывается количество соответствующих им сигналов. Если содержимое счетчика оказалось равным 3, управление передается на загрузку медианы. Время выполнения подстановки зависит от содержимого проверяемых регистров. При нулевом ранге выполняется 3 команды, а при рангах +1 и -1 — 6 и 7 команд соответственно. При рангах +3 и +4 выполняется 8 команд, а при рангах -3 и -4 выполняется 9 команд. При модуле ранга, равном 2, выполняется 14 команд.
Определившись с подстановкой для поиска медианы, можно написать завершающую часть программы фильтрации:
MOV R1, #0 ;для подсчета количества рангов +2
MOV R2, #0 ;для подсчета количества рангов -2
MOV R0, #7 ;проверка рангов завершена
Длительность поиска медианы существенно зависит от расположения выборок в массиве. В наилучшем случае, когда нулевой ранг содержится в первом проверяемом регистре, поиск займет 3 команды. Если нулевой ранг содержится в последнем проверяемом регистре, то для поиска медианы придется затратить свыше 40 команд. Наиболее длительным оказывается поиск медианы при трех совпавших сигналах, когда модуль ранга равен 2. Обратите внимание на то, как по номеру регистра вычисляется адрес передачи управления на команду записи медианы в ячейку у:
Idm: MOV A, R0 ;номер регистра
MOV B, #5 ;длина блока загрузки
MUL AB ;для вычисления адреса перехода
SUBB A, #15 ;смещение относительно адреса ldy
MOV DPTR, #ldy
JMP @A+DPTR
SJMP ldx
MOV y, buf0
SJMP ldx
MOV y, buf1
SJMP ldx
MOV y, buf2
SJMP ldx
MOV y, buf3
Вариант с вычислением рангов имеет явные преимущества перед вариантом с сортировкой в том случае, если значения сигнала представлены в двухбайтовом формате. Увеличение формата удваивает количество команд, используемых для пересылки сигналов. Подсчет рангов усложняется совсем немного, а блок поиска медианы можно использовать без изменений.Приведенными примерами не исчерпываются варианты программирования медианного фильтра. Можно запоминать ранги сигналов, чтобы уменьшить количество операций сравнения за счет их коррекции при замене старого сигнала на новый. Можно сохранять массив сигналов в отсортированном виде для упрощения поиска медианы.
Заключение
В первом этапе данной работе был изучен офисный пакет OpenOffice.org.Расмотрен состав пакета,так же были расмотрены альтернативные пакеты.Описаны преимущества и недостатки OpenOffice.org.Произведено сравнение Writer с MS Word. На втором этапе работы был оформлен текстовый документ согласно ГОСТ 7.32-2001 «Отчет о научно-исследовательской работе. Структура и правила оформления.»
Список литературы
Информация о работе Оформление текста по ГОСТ 7.32-2001 с помошью офисного пакета OpenOffice.org