Главная ❯ Наши проекты для образования ❯ ACubes: Руководство пользователя
![]() |
|
---|---|
www.unavlab.com support@unavlab.com |
A3S ACubes Руководство пользователя |
В первую очередь ACubes задумывался для применения в сфере образования и подготовки инженерных кадров.
A³S (или ACubes, «Акустические кубики») — это конструктор, набор элементарных функциональных элементов, на основе которых можно создавать макеты практически любых типов гидроакустических навигационных систем и систем связи:
«Кубики» берут на себя вопросы, связанные с преобразованием цифрового сигнала в гидроакустический и обратно, позволяя пользователю сосредоточиться на решении прикладных задач: разработке оригинальных навигационных алгоритмов, алгоритмов помехоустойчивого кодирования, сетевых протоколов и схем взаимодействия.
Как правило, для этих целей не требуются ни сверхминиатюрность, ни высокая мощность, ни рекордная дальность — важны простота, надёжность и доступность. Именно эти принципы мы заложили в основу при создании этой линейки устройств.
Мы сознательно не ограничиваем список самих «кубиков», поскольку он изначально задуман как пополняемый. Он будет расширяться в зависимости от сценариев применения — например, при сборке антенной решётки или приёмопередатчика для измерения наклонной дальности.
Это импульсный одноканальный (одночастотный) передатчик и одночастотный приёмник.
Передатчик A³T излучает импульсы фиксированной частоты и длительности при изменении состояния на своём цифровом входе, которым управляет пользователь.
Приёмник A³R может улавливать эти импульсы и передавать информацию пользователю, изменяя состояние своего цифрового выхода.
Эти два устройства спроектированы таким образом, что могут объединяться в стек и использовать общую приёмо-передающую антенну, например, RT-1.332820-1. В такой конфигурации получается приёмо-передатчик.
Если выход приёмника подключить ко входу передатчика, получится маяк-ответчик: принятый сигнал сразу же передаётся на вход передатчика, который излучает ответный гидроакустический сигнал. Вся связка работает по принципу “эха”. Такая схема позволяет измерять, например, двойное время распространения сигнала между запрашивающим устройством и маяком-ответчиком, а следовательно, и наклонную дальность.
Разъёмы, смонтированные по длинным краям плат, образуют шину, позволяющую объединить один передатчик и до 12 приёмников. При этом выходы всех приёмников будут доступны на свободном разъёме.
Таким образом можно строить и изучать различные конфигурации антенных решёток. Если 12-элементной антенной решётки недостаточно, можно использовать любое количество стеков, в каждом из которых может быть до 12 модулей A³R.
Для удобного объединения до 24 приёмников существует специальная кросс-плата A³R-CB2. Естественно, можно использовать любое количество таких плат.
Для работы с модулями A³S доступны антенны двух типов:
При использовании устройства только в режиме приёма рекомендуется выбирать приёмные антенны, так как они:
Антенны серии R-1.d3505-1:
Антенны сделаны так, чтобы их легко можно было объединить друг с другом |
Лаборатория подводной связи и навигации предлагает несколько моделей:
Модель | Характеристики |
---|---|
RT-1.332820-1 | Наиболее доступное и компактное решение |
RT-2.332820-1 | Свешиваемая антенна для надводного оборудования (2 пьезоэлемента) |
RT-1.524525-1 | Модель с повышенной чувствительностью |
При соблюдении этих правил антенны демонстрируют долговечность и простоту в обслуживании.
Самый простой сценарий, в котором задействованы один приёмник и один передатчик.
№ | Наименование | Количество | Примечание |
---|---|---|---|
1 | Модуль A³R | 1 | |
2 | Модуль A³T | 1 | |
3 | Антенна приёмная R-1.d3505-1 | 1 | |
4 | Антенна приёмо-передающая RT-1.332820-1 | 1 | |
5 | Плата с микроконтроллером (например, Arduino Nano) | 2 | Можно заменить кнопкой для инициации передачи |
6 | Провода Dupont Female-Female или Male-Female, 25+ см | 4 |
Подключение приемной антенны |
Подключение приемопередающей антенны |
Контакт на XS2 | Контакт на Arduino Nano |
---|---|
1 (GND) | GND |
4 (Инициация передачи) | 10 (D10) |
#define TX_PIN 4 // Пин инициации передачи
#define LED_PIN 13 // Индикаторный светодиод
void setup() {
pinMode(TX_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(TX_PIN, HIGH); // Исходное состояние
}
void loop() {
digitalWrite(TX_PIN, LOW); // Начало передачи
digitalWrite(LED_PIN, HIGH);
delay(10); // Длительность импульса 10 мс
digitalWrite(TX_PIN, HIGH); // Окончание передачи
digitalWrite(LED_PIN, LOW);
delay(990); // Общий период 1 секунда
}
Примечание: минимальный интервал между передачами - 40 мс
Контакт на XS3 | Контакт на Arduino Nano |
---|---|
2 (GND) | GND |
1 (Строб приёма) | 2 (D2) |
#define RX_PIN 2 // Пин детектирования приёма
#define LED_PIN 13 // Индикаторный светодиод
void setup() {
pinMode(RX_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
attachInterrupt(digitalPinToInterrupt(RX_PIN), rxDetected, FALLING);
}
void rxDetected() {
digitalWrite(LED_PIN, HIGH);
delay(100); // Светодиод горит 100 мс при приёме
digitalWrite(LED_PIN, LOW);
}
void loop() {
// Основной цикл не требуется
}
Лабораторная установка |
Многолучевость и методы борьбы с ней представляют собой обширную область исследований. В данном разделе мы рассмотрим лишь основные принципы.
Явление многолучевости можно сравнить с акустическим эхом. Звуковой сигнал от источника распространяется сферическим фронтом, при этом:
Для простых сигнальных систем наиболее эффективным решением является защитный интервал:
Параметр | Описание |
---|---|
Принцип работы | После детектирования сигнала приёмник временно прекращает обработку входящих сигналов |
Длительность | Определяется экспериментально для конкретных условий |
Факторы влияния | Глубина, рельеф дна, наличие объектов, свойства водной среды |
Рекомендации по настройке:
Примечание: В профессиональных системах используются более сложные методы (разнесённые частоты, кодирование сигналов, адаптивные алгоритмы), но они выходят за рамки данного руководства.
В ходе данной работы мы соберем два приемопередатчика, один из которых будет выполнять функцию маяка-ответчика, а другой сможет излучать запросный сигнал, ожидать ответный и по времени распространения сигнала и скорости звука определять наклонную дальность между абонентами.
№ | Наименование | Количество | Примечание |
---|---|---|---|
1 | Модуль A3R | 2 | |
2 | Модуль A3T | 2 | |
3 | Антенна приемопередающая RT-1.332820-1 | 2 | |
4 | Любая плата с МК, например, Arduino Nano | 2 | |
5 | LCD-экран, например MT-204S | 1 | Для отображения измеренного времени и дальности, но можно выводить и в COM-порт |
6 | Провода Dupont Female-Female или Male-Female, 25+ см | 15 |
На самом деле данный сценарий содержит как минимум два разных подсценария:
первый подразумевает установку перемычки P0 на маяке-ответчике, таким образом, чтобы выход приемника был соединен со входом передатчика. И маяк-ответчик в этом случае будет излучать ответный сигнал с нулевой задержкой. Казалось бы, схема наиболее удобная и максимально простая, но такой подход накладывает определенные ограничения. Дело в том, что у приемных модулей есть т.н. защитный интервал, который определяет, через какое время после приема возможен следующий прием. В свою очередь это означает, что у такой системы будет некоторая минимальная дальность, расстояние меньше которой измерить не получится - в момент прихода ответного сигнала с расстояния, меньше минимального, приемник будет ожидать завершения защитного интервала и будет невосприимчив.
Во втором подсценарии мы вводим фиксированную задержку между приемом запросного сигнала и излучением ответа. Значение этой задержки известно на запрашивающем устройстве и может быть легко учтено. Такая схема хоть и сложнее, но позволяет измерять расстояния почти до нулевого. Для формирования этой задержки удобнее всего воспользоваться каким-нибудь МК, например, той же Arduino.
Итак, начнем с запрашивающего устройства. Опять же, мы подготовили два варианта разной сложности - с использованием экрана и без - с передачей необходимой информации по UART.
Сначала соберем “бутерброд” из модулей A3R и A3T. Зададим адрес приемника на шине, установив джампер P1. Это сделано для того, чтобы все подключение к плате Arduino было на разъеме XS2. Оплетку и минус антенны спаиваем вместе. Платы приемника и передатчика соединяем перемычками из отрезков проводов через разъемы XS1.
Подключение общей антенны к модулям приемника и передатчика |
Далее, подключаем сборку кубиков к плате Arduino. Для этого потребуется 4 провода папа-мама.
Подключение “бутерброда” к плате Arduino Nano |
Номер/Наименование контакта на XS2 | Номер/Наименование контакта на Arduino Nano |
---|---|
1 / GND | GND |
2 / Строб при начале передачи | 3 / INT1 |
4 / Инициация передачи импульса | 10 |
6 / Строб приемника №1 | 2 / INT0 |
Если вы планируете использовать LCD-экран МЭЛТ МТ-20S4S или совместимый, то необходимо соединить пины следующим образом:
Номер контакта на экране | Номер/Наименование контакта на Arduino Nano |
---|---|
1 | GND |
2 | 5V |
4 | 8 (D8) |
5 | 9 (D9) |
10 | 4 (D4) |
11 | 5 (D5) |
12 | 6 (D6) |
13 | 7 (D7) |
Кроме того, необходимо на плате экрана соединить контакты 1-5 и 2-18, а также контакты 2-3 между собой. Сопротивление между контактами 2-3 задает контрастность экрана, и в некоторых случаях простого их замыкания может оказаться недостаточно.
Ниже представлен скетч для управляющей платы Arduino:
Если использование экрана не планируется, необходимо закомментировать строчку #define USE_LCD
. Скорость звука задана константой 1500.0, для более точного значения предлагаем обратиться к нашему онлайн-калькулятору скорости звука в воде: Толковый калькулятор скорости звука в воде
#define USE_LCD
#ifdef USE_LCD
#include "LiquidCrystal.h"
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // RS, E, D4-D7
#define X_MAX (20) // Число символов на строчку экрана
#define MSG_LINE (3) // Номер строки для сообщения
#define W_LINE (0) // Номер стоки для отображения прогресса
#endif
// Пин-назначения
#define TX_CONTROL_PIN 10 // Пин управления передатчиком (активный HIGH)
#define TX_STROBE_PIN 3 // Пин строба передатчика (ожидаем FALLING edge)
#define RX_STROBE_PIN 2 // Пин строба приемника (ожидаем FALLING edge)
// Параметры системы
#define ANSWER_DELAY_MS 500 // Фиксированная задержка ответа маяка [мс]
#define SOS_MPS 1500 // Скорость звука в воде [м/с]
#define MAX_DISTANCE_M 500 // Максимальная измеряемая дальность [м]
#define PULSE_WIDTH_MS 10 // Длительность управляющего импульса [мс]
#define PAUSE_MS (1000) // Пауза между измерениями
#define TIMEOUT (2 * 1000000L * MAX_DISTANCE_M / SOS_MPS + ANSWER_DELAY_MS * 1000L)
#ifdef USE_LCD
#define TKS_PER_CHAR ((TIMEOUT - ANSWER_DELAY_MS * 1000L) / X_MAX)
#endif
// Глобальные переменные
volatile uint32_t tor = 0; // Время излучения сигнала
volatile uint32_t toa = 0; // Время приема ответного сигнала
volatile bool rx_strobe = false; // Флаг получения строба
// Обработчик прерывания по стробу передатчика
void txStrobeISR() {
tor = micros();
}
// Обработчик прерывания по стробу приемника
void rxStrobeISR() {
toa = micros();
rx_strobe = true;
}
void setup() {
#ifdef USE_LCD
lcd.begin(20, 4);
lcd.clear();
lcd.print(F("Starting..."));
#endif
Serial.begin(9600);
Serial.println(F("Starting..."));
// Настройка пинов
pinMode(TX_CONTROL_PIN, OUTPUT);
digitalWrite(TX_CONTROL_PIN, HIGH);
pinMode(TX_STROBE_PIN, INPUT);
pinMode(RX_STROBE_PIN, INPUT);
// Настройка прерываний
attachInterrupt(digitalPinToInterrupt(TX_STROBE_PIN), txStrobeISR, FALLING);
attachInterrupt(digitalPinToInterrupt(RX_STROBE_PIN), rxStrobeISR, FALLING);
delay(1000);
}
void loop() {
#ifdef USE_LCD
lcd.setCursor(0, W_LINE);
lcd.print(" ");
#endif
// 0. Сброс
tor = 0;
// 1. Инициируем передачу
digitalWrite(TX_CONTROL_PIN, LOW);
// 2. Ждем строб передатчика (прерывание установит tor)
while (tor == 0) {
// Ожидание...
}
// 3. Возвращаем состояние пина, управляющего передачей
digitalWrite(TX_CONTROL_PIN, HIGH);
// 4. В течение фиксированной задержки ответа не обрабатываем приемник
delay(ANSWER_DELAY_MS);
toa = 0;
rx_strobe = false;
// 5. Ждем строб приемника с таймаутом
#ifdef USE_LCD
int c_idx = 0;
uint32_t tks = micros();
#endif
while (!rx_strobe && (micros() - tor < TIMEOUT)) {
// Ожидание...
#ifdef USE_LCD
if ((micros() - tks) >= TKS_PER_CHAR) {
lcd.setCursor(c_idx, W_LINE);
lcd.print(")");
if (c_idx < X_MAX) c_idx++;
tks = micros();
}
#endif
}
// 6. Если сигнал получен - вычисляем дальность
if (rx_strobe) {
// Корректно обрабатываем переполнение micros()
uint32_t tof;
if (toa > tor) {
tof = toa - tor;
} else {
tof = (0xFFFFFFFF - tor) + toa;
}
// Вычитаем фиксированную задержку маяка и делим на 2 (туда и обратно)
tof = (tof - ANSWER_DELAY_MS * 1000L) / 2;
// Рассчитываем дальность
float srn = tof * 1e-6 * SOS_MPS;
#ifdef USE_LCD
lcd.setCursor(0, MSG_LINE);
lcd.print(" ");
lcd.setCursor(0, MSG_LINE);
lcd.print(srn, 1);
lcd.print(" m");
#endif
Serial.println(srn, 1);
} else {
#ifdef USE_LCD
lcd.setCursor(0, MSG_LINE);
lcd.print(" TIMEOUT ");
#endif
Serial.println("TIMEOUT");
}
// Пауза между измерениями
delay(1000);
}
Здесь нам необходимо собрать такой же “бутерброд”, как и для запрашивающего устройства, с тем лишь отличием, что мы устанавливаем джампер P0, который замыкает выход приемника и вход передатчика. Строб от приемника при получении сигнала станет стробом, инициирующим передачу. Также не забудем установить джампер для задания адреса приемника на шине - это позволит вывести его на разъем XS2.
Джампер P0 соединяет выход приемника и вход передатчика |
Антенну подключаем таким же образом, как и для запрашивающего устройства: оплетка и минус спаяны, перемычками соединены разъемы XS1 приемника и передатчика. Отметим, что питание и в случае запрашивающего устройства, и в случае маяка-ответчика необходимо подавать на передающий модуль, чтобы избежать прохождения существенных токов по шине в момент излучения.
В этом случае в скетче для Arduino запрашивающего устройства необходимо задать какое-то ненулевое значение ANSWER_DELAY_MS
. И у платы приемника, и у платы передатчика длительность защитного интервала составляет 40 мсек. Соответственно, выбираемая длительность фиксированной задержки должна быть больше этого значения. В нашем примере мы установили значение 500 мс, что подойдет для большинства небольших акваторий с длительным “хвостом” отражений.
Кроме изменения значения ANSWER_DELAY_MS
в скетче запрашивающего устройства не потребуется никаких изменений. А к маяку-ответчику теперь необходимо убрать джампер P0 и подключить вторую плату Arduino Nano, согласно следующей таблице:
Номер/Наименование контакта на XS2 | Номер/Наименование контакта на Arduino Nano |
---|---|
1 / GND | GND |
4 / Инициация передачи импульса | 10 |
6 / Строб приемника №1 | 2 / INT0 |
Вот так может выглядеть незамысловатый скетч, который ожидает приема сигнала, выдерживает паузу и излучает ответный сигнал:
#define A3R_STATE_PIN (2)
#define A3T_TX_ENGAGE_PIN (10)
#define LED_PIN (13)
#define ANSWER_DELAY_MS (500L) // Фиксированная задержка ответа на ответчике, [мс]
#define DEAD_TIME_MS (500L) // Защитный интервал после излучения
#define TX_STROBE_DURATION_MS (10L)
void setup() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
pinMode(A3T_TX_ENGAGE_PIN, OUTPUT);
digitalWrite(A3T_TX_ENGAGE_PIN, HIGH);
pinMode(A3R_STATE_PIN, INPUT_PULLUP);
}
void loop() {
if (digitalRead(A3R_STATE_PIN) == LOW) {
delay(ANSWER_DELAY_MS);
digitalWrite(A3T_TX_ENGAGE_PIN, LOW);
digitalWrite(LED_PIN, HIGH);
delay(TX_STROBE_DURATION_MS);
digitalWrite(A3T_TX_ENGAGE_PIN, HIGH);
delay(DEAD_TIME_MS);
digitalWrite(LED_PIN, LOW);
}
}
При работе с пьезокерамическими антеннами всегда нужно иметь в виду, что питаются они напряжением, как правило от десятков до сотен вольт. Частоты при этом обычно килогерцы и десятки килогерц. Такое сочетание может привести к тому, что на столе или даже более общо - на воздухе, гидроакустические системы могут вполне работать не акустически, а электромагнитно. В реальности же при проверках на воздухе мы имеем дело с обоими эффектами - как с акустическим, так и с электромагнитным.
Итак, для чего вообще в этом случаем может потребоваться проверка на столе, или на “столе”, или даже “на столе”? Помимо того, что мы можем убедится в правильности всех соединений и в том, что в целом макет рабочий, имеет смысл определить величину статической ошибки и ее статистические параметры. Причины ее возникновения могут быть разными - и неточность хода часов, и аппаратные ограничения, ограничения, связанные с типом сигнала и методами его обработки, ну и возможно что-то где-то мы могли забыть, оценить неверно и т.д. и т.п.
К примеру, в наш тестовый макет, когда антенны лежат на воздухе и соприкаются друг с другом, т.е. когда фактическое расстояние равно нулю, выдает такие времена распространения:
№ | TOF, c |
---|---|
1 | 0.001054 |
2 | 0.001182 |
3 | 0.001024 |
4 | 0.001052 |
5 | 0.001148 |
6 | 0.001174 |
7 | 0.000966 |
8 | 0.001154 |
9 | 0.001004 |
10 | 0.001044 |
11 | 0.001282 |
12 | 0.001170 |
Среднее значение времени распространения по 150 измерениям равно 0.001096 с, что эквивалентно расстоянию 1.64 м при скорости звука 1500 м/с. Диапазон изменения величины TOF составляет от 0.000886 до 0.001308 с, или от 1.33 до 1.96 м соответственно.
Интересно выглядит распределение величины статической ошибки - это очень похоже на т.н. Гауссову сместь (Gaussian Mixture), т.е. смесь нормальных (Гауссовых) распределений. Мультимодальность может говорить о наличии нескольких сценариев, по которым происходит процесс.
Мультимодальность в распределении величины статической ошибки |
Определить и устранить причины этой статической ошибки - интересная и увлекательная задача, и мы не можем лишить читателя удовольствия сделать это самостоятельно.
Мы же, для упрощения учтем измеренную статическую ошибку, путем вычитания ее среднего значения: введем #define MAGIC_STATIC_S (0.001096253)
, и будем вычитать это значение при расчете наклонной дальности:
float srn = ((tof * 1e-6) - MAGIC_STATIC_S) * SOS_MPS;
Подытожим: в результате экспериментов “на столе” мы:
Теперь можно переходить к водным экспериментам.
После отладки макета на столе, можно попробовать любую емкость с водой или водоем - начать можно хоть с пластикового ведра - главное, чтобы туда можно было налить воды и разместить две антенны.
Вот, к примеру, вариант “лабораторной установки”. Антенны в нем расположены на расстоянии 40 см друг от друга.
“Лабораторная установка” |
Распределение измеренной дальности имеет уже несколько иной вид:
Распределение измеренного времени распространения |
Размер выборки не позволяет сделать однозначные выводы, но здесь есть намек на нормальное распределение. Данную гипотезу, увеличив размер выборки, мы предлагаем проветить пользователям самостоятельно. И если эта гипотеза подтвердится, в несколько ином свете выгладит мультимодальность в распределении, полученном по измерениям на воздухе.
Если перейти от времени к дальности, то для данного эксперимента получается диапазон от, фактически, нуля: -0.08 м до 2.07 м. Среднее значение и мода 0.58 м и 0.52 м соответственно. Это некоторым образом отличается от фактического расстояния в 0.4 м между антеннами, но в таких условиях малого объема не стоит ожидать высокой точности и повторяемости результата.
Подытожим: эксперимент в малом объеме имеет право на существование и даже позволяет сделать грубые количественные оценки.
Даже в небольшом плавательном бассейне объемом ~100 м3 уже появляется возможность провести количественные оценки макета оборудования более тщательно.
Хорошая согласованность непосредственного измерения с акустическими |
Антенны можно разместить вдоль одной и той же стенки. Очевидно, более крупные бассейны с мягким полимерным покрытием являются более благоприятными для акустических экспериментов. В ходе экспериментов были выполнены измерения в диапазоне от 0.8 до 8 метров через фиксированные интервалы 0.8 м - соответствующие ширине бардюрной плитки, покрывающей борт бассейна.
Результат измерения дальности на фактическом расстоянии между антеннами 8 метров |
Распределение измеренного времени распространения, выполненное по 150 измерениям имеет такой вид:
Предположительно бимодальное распределение величины измеренного времени распространения. Размер выборки 150 |
Снова распределение имеет мультимодальный, или даже бимодальный вид. При этом, все измерения располагаются в диапазоне от 7.8 до 8.9 м, а среднее значение 8.2 хорошо согласуется с фактическим расстоянием 8 м.
Стоит отметить, что в случае мультимодального распределения не вполне корректно говорить о среднем значении всей выборки. Разобраться в этом вопросе мы также предлагаем пользователю самостоятельно.
Подытожим:
Напомним, что максимальная практическая дальность кубиков A³R и A³T согласно спецификациям составляет 300 м. Естественно это не значит что в любых, даже самых неблагоприятных условиях оборудование позволит достичь заявленных показателей, ровно не значит это и того, что на удалении 301 м, устойчиво работающая до этого связь многовенно прекратится.
Например, при проверке на максимальную дальность, передатчик, излучающий сигнал 1 раз в секунду располагался на заякоренном плоту, а приемник постепенно удалялся от него на весельной лодке, заметные перебои в приеме начинали происходить при достижении расстояния 350-370 метров. Условия эксперимента нельзя назвать ни идеальными ни очень сложными. Водоем представляет собой затон р. Волга, длиной порядка 3 км и шириной от 400 до 200 метров в разных местах. Песчаное дно, судоходство средней интенсивности, существенное количество металлических конструкций на дне.
На этом же водоеме проводились эксперименты с обсуждаемым макетом оборудования. Маяк-ответчик располагался на заякоренном плоту из плотного вспененного материала сначала на удалении порядка 80 метров от лодочной пристани, а потом был перемещен на расстояние 156 метров. В обоих случаях расстояние фиксировалось при помощи лазерного дальномера.
Дальность 80 м. Хорошая согласованность непосредственного измерения с акустическими |
Дальность 156 м. Хорошая согласованность непосредственного измерения с акустическими |
При проведении экспериментов на водоемах, полезно вести запись сигналов. Например, в обсуждаемых испытаниях гидрофон, на который велась запись, располагался в непосредственной близости от антенны запрашивающего устройства и ниже преставлены сами записи и снимки экрана, на которых представлены случайные фрагменты с одним циклом “запрос-ответ” - для дальностей 80 и 156.
При желании, читатель может сам проанализировать записи:
10-06-2025, Красноармейский затон, г. Волгоград. A³S наклонная дальность, 80 м
10-06-2025, Красноармейский затон, г. Волгоград. A³S наклонная дальность, 156 м
Дальность 80 м. Фрагмент записи из положения запрашивающей системы |
Дальность 156 м. Фрагмент записи из положения запрашивающей системы |
Во-первых, из записи можно составить представление об акватории: наличие шумов и их распределение по частотам, длительность послезвучания и т.п., а во-вторых, проконтролировать полученные результаты. Согласно этим двум фрагментам, расстояния между фронтами запросного и ответного сигналов составили 610 и 711 мсек соответственно.
Если учесть фиксированную задержку ответа в 500 мсек, а остаток поделить на два - путь “туда-обратно”, а еще учесть определенную в п. 1.4.5.1. статическую ошибку в 1.096 мсек и скорость звука 1500 м/с, то значение наклонной дальности будут:
((0.610-0.500) / 2 - 0.001096) * 1500 = 80.86 м
, и
((0.711-0.500) / 2 - 0.001096) * 1500 = 156.6 м
что отлично согласуется и с измерением при помощи лазерного дальномера и с тем, что отображается на экране макета.
Также примечательна дительность послезвучания, составляющая около четверти секунды:
4-х миллисекундный сигнал “гуляет” по акватории еще 250 миллисекунд |
Если бы фиксированная задержка была меньше этой величины, то запрашивающее устройство вполне могло бы принять свой собственный сигнал за сигнал маяка-ответчика.
Что же до статистического анализа измерений наклонной дальности, то мы предлагаем пользователю провести его самому. Будет интересно сравнить результаты экспериментов, проведенных в разных водоемах и разных условиях - погрешность, процент успешных измерений, оценить влияние скорости звука и т.п.
Например, в ледовых условиях гораздо проще обеспечить статичное положение запрашивающего устройства и маяка-ответчика, а также более точно измерить фактическое расстояние между ними.
Подытожим: