Top.Mail.Ru
Ответы
Аватар пользователя
1мес
Изменено

Проект универ

Вот 30 конкретных задач для проекта «Разработка программы для расчета параметров биосигналов», разбитых по этапам и функциональным блокам. Эти задачи можно использовать для формирования технического задания (ТЗ), для распределения в команде или как чекпоинты для преподавателя.

---

Блок 1: Теоретическое исследование и аналитика

Задачи этого блока показывают глубину проработки темы.

1. Провести обзор предметной области: Изучить существующее ПО для анализа биосигналов (LabVIEW, Matlab, Biopac, OpenBCI GUI) и выявить их недостатки.

2. Классифицировать типы биосигналов: Составить таблицу характеристик ЭКГ, ЭЭГ, ЭМГ и ФПГ (частотный диапазон, амплитуда, природа возникновения).

3. Изучить математический аппарат: Разобрать методы спектрального анализа (БПФ) и вейвлет-преобразования применительно к зашумленным сигналам.

4. Собрать базу тестовых сигналов: Найти и скачать открытые датасеты (PhysioNet, MIT-BIH Arrhythmia Database) для последующего тестирования алгоритмов.

5. Составить сравнительную таблицу фильтров: Сравнить фильтры Баттерворта, Чебышева и эллиптические для задачи очистки ЭКГ от сетевой помехи 50 Гц.

6. Проанализировать форматы данных: Изучить структуру форматов EDF, BDF, CSV и HDF5 для хранения многоканальных физиологических записей.

Блок 2: Разработка математических алгоритмов и бэкенда

Самый объемный блок — "сердце" программы.

1. Реализовать функцию чтения данных: Написать модуль для импорта данных из CSV и TXT файлов (столбец времени, столбец амплитуды).

2. Добавить поддержку медицинского формата EDF: Реализовать парсер для чтения файлов формата EDF (European Data Format).

3. Реализовать фильтр высоких частот: Создать функцию для удаления дрейфа изолинии (постоянной составляющей) сигнала.

4. Реализовать режекторный фильтр: Написать функцию для подавления сетевой помехи 50 Гц без искажения полезного сигнала.

5. Реализовать фильтр низких частот: Создать фильтр для среза высокочастотных мышечных шумов (для ЭКГ частота среза ~40 Гц).

6. Разработать алгоритм детекции R-пиков (ЭКГ): Реализовать метод Пана-Томпкинса (Pan-Tompkins) для нахождения QRS-комплексов.

7. Реализовать расчет мгновенного пульса: Вычислить пульс на основе интервалов между найденными R-пиками (RR-интервалы).

8. Разработать модуль вариабельности ритма (ВСР): Рассчитать временные показатели SDNN, RMSSD, pNN50 по массиву RR-интервалов.

9. Реализовать спектральный анализ ВСР: Разложить сигнал RR-интервалов на частоты (VLF, LF, HF) с помощью преобразования Фурье.

10. Реализовать функцию интерполяции: Восстановить пропущенные отсчеты в сигнале (например, при потере пакетов данных с Bluetooth-датчика).

11. Разработать алгоритм детекции альфа-ритма (ЭЭГ): Реализовать функцию для вычисления мощности сигнала в диапазоне 8-12 Гц для закрытых глаз.

12. Реализовать нормализацию сигнала: Привести значения амплитуды к единому диапазону (например, от 0 до 1) для корректного отображения.

13. Создать функцию определения частоты дискретизации: Автоматически определять частоту дискретизации из метаданных файла или вычислять её по временной метке.

14. Реализовать вейвлет-шумоподавление: Очистить сигнал от шума с помощью дискретного вейвлет-преобразования и пороговой обработки коэффициентов.

Блок 3: Пользовательский интерфейс (GUI) и взаимодействие

Задачи, которые делают программу видимой и удобной.

1. Спроектировать макет главного окна: Нарисовать в Figma или на бумаге расположение элементов: панель инструментов, область графика, панель результатов.

2. Реализовать виджет отображения графика: Внедрить библиотеку matplotlib или PyQtGraph для отрисовки сигнала с возможностью масштабирования.

3. Создать диалог открытия файла: Реализовать стандартное окно выбора файла с фильтром по расширениям (.csv, .edf).

4. Разработать панель управления фильтрами: Добавить слайдеры для настройки частот среза фильтров в реальном времени (или кнопки "Применить").

5. Реализовать отображение маркеров пиков: Визуально отметить на графике найденные R-пики (красными кружками или крестиками).

6. Создать панель вывода результатов: Выводить числовые значения (Средний пульс, SDNN, LF/HF) в отдельную таблицу или текстовые поля.

7. Реализовать функцию экспорта отчета: Сохранить рассчитанные параметры и скриншот графика в PDF-файл (с использованием библиотеки ReportLab или FPDF).

8. Добавить индикатор прогресса: Показывать прогресс-бар при обработке длинных записей (например, 24-часовых), чтобы программа не "зависала".

Блок 4: Тестирование, валидация и документирование

Задачи для подтверждения работоспособности.

1. Провести юнит-тестирование фильтров: Подать на вход фильтра чистый синус и проверить, подавилась ли нужная частота.

2. Валидация медицинской точности: Запустить программу на размеченном датасете MIT-BIH и сравнить найденные программой пики с "правильными" пиками из базы (оценка ошибки детекции).

По дате
По рейтингу
Аватар пользователя
Ученик
1мес

Универ новая общага



Видео по теме