Next:Формат
файла с протоколомUp:Форматы
выходных файловPrevious:Формат
заголовочного файла
Формат файла данных
Файл с данными *.<NN>d записан блоками размеров по 4096 байт (рис.
на стр.)
(во включаемом файле pas.h определена константа SPMquotBUFFER_DATA_SIZE").
В начале каждого блока находится префикс размером 16 байт (константа SPMquotCOUNT_WORD_HEADER"),
который в первых четырех байтах содержит символы "PASSPMquot "
", в следующих двух байтах -- номер блока, затем в четырех байтах -- номер
тика, соответствующий моменту начала регистрации блока, последующие байты
префикса оставлены в качестве резерва и не используются. Основное назначение
префикса данных -- создание возможности восстановления данных при аварийном
завершении работы программы сбора. Если во время регистрации произойдет
выключение питания или "зависание" программы, которое потребует перезагрузки
системы, то файлы с данными не будут корректно закрыты, и вся записанная
информация окажется расположенной в "утерянных" кластерах (lost clusters).
С помощью сервисных программ, например, утилит Нортона, утерянные кластеры
можно восстановить, однако возникает задача отождествления, где находятся
данные, а где -- "мусор". Благодаря наличию идентификатора "PAS" кластеры
с данными легко могут быть выделены, а по номеру блока -- упорядочены.
Таким образом, наблюдательная информация будет полностью восстановлена.
Особенно это актуально для наблюдений солнечных затмений, ради которых
снаряжаются дорогостоящие экспедиции, и, следовательно, утеря данных из-за
случайного сбоя была бы катастрофой.
Figure: Формат блока файла с данными. Файл состоит из последовательности
таких блоков. N -- число точек в блоке, определяется по формуле ,
NCH -- количество частотных каналов. Слова "правая" и "левая" поляризации
взяты в кавычки, потому что здесь эти понятия условны, истинный знак поляризации
может быть определен при обработке калибровок.
|
После идентификатора располагаются отсчеты по каналам, сначала по одной
поляризации, затем по другой. В целях экономии места на диске записываются
данные только для каналов, которые включены в конфигурацию. Поскольку число
записываемых каналов может изменяться от наблюдения к наблюдению, то не
было смысла согласовывать размер блока данных с размером порции данных,
получаемой при одном цикле опроса, и в конце блока данных, как правило,
остается небольшое количество неиспользуемых байт. Число точек в одном
блоке можно определить по формуле:
(5.1)
где BUFFER_DATA_SIZE, COUNT_WORD_HEADER объявлены в pas.h, Header
-- это структура типа HEADER, объявленная там же. Здесь и в последующих
формулах для записи элементов структур использована нотация, принятая в
языке программирования Си.
Susanna Tokhchukova
2000-06-21