Моделирование Эффекта Доплера для движущегося объекта.
Перед запуском любой из моделей, можно изменять некоторые параметры (подробнее в Документация.ipynb)
Запуск и настройка:
Угловой анализ (for_angles.ipynb)
-
Изменяйте angles для новых траекторий
-
Регулируйте constant_speed для различных скоростей
Для запуска - запустите код из файла или скачайте версию для ПК и запустите её с помощью любого редактора (Python IDLE) или IDE.
Таже для запуска можно написать в любом shell следующее:
python for_v.py
Скоростной анализ (for_speed.ipynb)
- Настрайивайте acceleration и constant_speed для изменения условий движения (max_speed - на данный момент нигде не используется, но в будущем это может измениться)
Результаты работы программы
- Базы данных:
-
/user/Dopler_Effect_Model/code/data_a.db- угловой анализ -
/user/Dopler_Effect_Model/code/data_v.db- скоростной анализ
- Текстовые отчеты:
-
for_a.txt: данные по углам -
for_v.txt: сравнение режимов движения
Возможные ошибки и пути их решения
Ошибки путей файлов
Симптомы:
-
Отсутствие output-файлов
-
"Permission denied" в терминале
-
"unable to load/open file name.format"
Решение:
# В for_v.py заменить абсолютные пути:
home_dir = os.path.expanduser("~")
db_path = os.path.join(home_dir, 'data_v.db')
txt_path = os.path.join(home_dir, 'for_v.txt')
Физические несоответствия
Симптомы:
-
Частота возрастает при удалении объекта
-
Неадекватные значения скорости
Проверьте:
-
Корректность
source_pos -
Знак ускорения (
acceleration > 0для разгона) -
Формулу относительной скорости:
relative_speed = 2 * v * cos_theta
Проблемы визуализации
Симптомы:
-
Обрыв графиков
-
Отсутствие интерполированных точек
Решение:
-
Увеличить
time_stepдля больших дистанций -
Проверить работу
interp1dвget_7_points()
Ошибки времени выполнения
Критические ситуации (или паника):
-
Деление на ноль в
calculate_frequency -
Отрицательное время при ускорении
Способ обезопаситься:
# Добавить проверки:
dist = np.sqrt(dx**2 + dy**2) if (dx != 0 or dy != 0) else 1e-5
total_time = ... # Проверка положительности выражения
Рекомендации по избежанию ошибок
- Всегда проверять физическую реализуемость параметров:
assert acceleration <= max_speed / (2*radius), "Нереалистичное ускорение"
- Использовать logging вместо print для диагностики
- Тестировать edge-кейсы (нулевая скорость, 90° угол)
Заключение
Программы предоставляют инструментарий для исследования эффекта Доплера. Для корректных результатов:
-
Проверяйте физические параметры перед запуском
-
Контролируйте пути сохранения данных
-
Анализируйте текстовые отчёты совместно с графиками
-
Учитывайте ограничения модели (точечный источник, идеальное отражение)