Login:
Password:
Auth @ DIMS.PRV
Регистрация

Программа "Apparat"
Одномерное исключение аппаратных искажений

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

Главное окно программы содержит меню, панель инструментов, поле графиков и строку статуса.

Окно программы (anim GIF 73K)

Программа может использовать как английский, так и русский языки. Переключение между языками осуществляется выбором соответствующей команды из меню "Options" ("Настройки"). Программа запоминает в системном реестре язык, с которым в последний раз работал пользователь, и при следующем запуске сразу же переключается на него (ключ в реестре: "HKEY_CURRENT_USER\ SOFTWARE\ APPARAT.EXE\ Language"). Для удобства работы с программой часто используемые команды вынесены в виде кнопок на панель инструментов: "Настройка функций", "Моделирование аппаратных искажений", "Исключение аппаратных искажений", "Скопировать в буфер обмена", "Распечатать", "Открыть файл" и "Сохранить".

Пользователь может узнать точные значения одной из функций, для этого надо выбрать функцию в списке на панели инструментов (такая функция названа "отслеживаемой") и щелкнуть мышью на требуемой абсциссе. Значение отслеживаемой функции в этой точке отображается в строке статуса (ABS-модуль, RE-вещественная часть, IM-мнимая часть). В строке статуса также отображается текущая абсцисса (X) и индекс в массиве значений функции для этой абсциссы (IDX). Следует отметить, что кнопки "Открыть файл" и "Сохранить" также относятся к отслеживаемой функции. Кроме того, для отслеживаемой функции можно быстро изменить масштаб по вертикали с помощью бегунка на панели инструментов. Масштаб меняется от 1:5 (20%) до 5:1 (500%). Текущий размер окна по вертикали выводится в строке статуса (Ysize).

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

Содержимое поля графиков можно скопировать в буфер обмена или вывести на принтер (печать настраивается так, чтобы содержимое поля графиков заняло половину страницы)

На экране могут быть видны не все функции. Некоторые функции могут быть не заданы, а некоторые - просто скрыты. Состояние функций можно определить в окне легенды. В этом окне пользователь может поменять цвет функций и выбрать, какие функции отобразить в поле графиков, а какие скрыть. Окно легенды можно показать или скрыть при помощи команды "Legend" из меню "Options".

Расчеты начинаются после выбора одной из команд меню "Calculations". Информация о каждом этапе расчетов выводится в строке статуса. Расчеты могут быть прерваны, если пользователь нажмет клавишу [ESC]. При этом недосчитанные функции отмечаются как незаданные.

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

Диалог настроек

Диалог настройки функций позволяет конфигурировать внутренние функции, задавать точность вычислений и зашумлять сигнал. Группа "Given function" содержит параметры внутренней функции, используемой для задания входной и выходной функции. Предлагается задать функцию как сумму трех гауссианов, при этом определяются амплитуда (A), смещение по абсциссе (B) и ширина (C) каждого гауссиана. Группа "Spread function" определяет параметры гауссиана (амплитуду (A) и ширину (C)), используемого как внутренняя аппаратная функция. Пользователь может задать только ширину этого гауссиана, т.к. программа сама вычисляет амплитуду, нормируя аппаратную функцию. Под пределами функции понимаются следующие значения: "x0" - минимальное значение аргумента, "xM" - максимальное значение аргумента, "dx" - шаг дискретизации аргумента, "yM" - размер графика по вертикали. Блок "Limits of result function" задает пределы для входной функции, когда выполняется команда восстановления входного сигнала, или для выходной функции, когда выполняется команда моделирования выходного сигнала. Блок "Filter" определяет параметры встроенного в программу фильтра (П-фильтр или "гладкий" фильтр). Для гладкого фильтра задается коэффициент, определяющий крутизну (ширину) гауссианов, формирующих пропускание по краям фильтра. Значения "Spectra's limits" определяют пределы фурье-образов и фильтра. (Для гладкого фильтра пользователь указывает пределы по уровню 0,7).

Получение нормально-распр.сл.вел.(формула) В этом же диалоге можно задать зашумленность функции. Программа работает с двумя видами нормально распределенных шумов - аддитивными и мультипликативными. Как известно, генератор случайных чисел, предоставляемый библиотекой функций C, генерирует равномерно распределенные псевдослучайные числа. Нормально распределенное случайное число получается из выборки 100 сгенерированных чисел (см. слева). Полученное число затем умножается на введенное пользователем в диалоге настроек значение σ.

Горячие клавиши:

Перейти в меню программы можно по [ALT] или [F10]. Перемещать отслеживаемую позицию в поле графиков можно стрелочками [←] и [→]. Стрелочками же можно выбрать положение бегунка масштаба и элемент списка выбора отслеживаемой функции ([F4] - раскрыть список). Переключение фокуса клавиатуры между этими тремя элементами осуществляется клавишей [TAB].

Отличия предыдущих версий

Версия 1.0, октябрь-1998.

Пробная версия программы была выполнена как лабораторная работа по курсу "Метрология и измерительная техника". Использовала свой класс complex, представляя комплексные числа в виде модуль-аргумент. Только аддитивные равномерно-распределенные шумы. С незначительными усовершенствованиями была представлена на студенческой конференции в марте 1999 года.

Версия 1.1, май-1999.

Основные отличия касаются интерфейса: добавлена панелька инструментов, возможность отслеживания значения функции, возможность быстрого масштабирования отслеживаемой функции, использование мультипликативных шумов, двухязыковый интерфейс (по умолчанию - английский). Отказ от собственного класса complex в пользу стандартного. Как следствие - переход на файлы в формате "вещественная часть - мнимая часть".

Версия 1.2, февраль-2000.

Шумы стали нормально распределенными. Добавлена концепция фильтров. Кроме использовавшегося в предыдущих версиях П-фильтра, встроен "гладкий" фильтр и возможность загрузить фильтр из файла. Язык пользователя запоминается в системном реестре. Во входных файлах мнимую часть можно не указывать.

ZIP-архив программы (62K) Щелкните на иконке слева, чтобы скачать ZIP-архив с программой и руководством к ней (62K).
Версия 1.4 (94K) Версия 1.4 (94K).