Анализ реографических сигналов, полученных при исследовании межпозвоночных грыж пояснично-крестцового отдела

Панфилов Илья Викторович – студент магистратуры Московского государственного технического университета им. Н. Э. Баумана.

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

Ключевые слова: Импеданс, кровенаполнение, реография, цифровые фильтры.

Введение. Целью работ является создание реографического комплекса, обеспечивающего диагностику патологий пояснично-крестцового отдела, выражаемых в увеличении кровотока в мышцах позвоночника взрослых мужчин с индексом массы тела 18,5-30 с ростом 175 – 195 см [1]. Определение патологического состояния основывается на увеличении кровотока в мышцах пояснично-крестцового отдела позвоночника при структурных нарушениях в межпозвоночных дисках, комплекс должен обеспечивать снятие, обработку и представление сигнала [2]. В данной научной работе рассмотрено моделирование изменения сопротивления биообъекта, при различных параметрах удельного сопротивления мышц спины, параметров электродной сборки, толщины мышечного слоя, рассмотрено проектирование цифровых фильтров для уменьшения шумов в снимаемом сигнале, рассмотрен алгоритм анализа сигнала для определения наличия увеличенного кровенаполнения, приведен порядок проведения эксперимента для получения данных.

Выберем параметры цифрового фильтра низких частот 5Гц – граничная частота пропускания, 20 Гц – граничная частота затухания. Так как частота дискретизации прибора составляет 500 Гц, то один отсчет занимает во временной области 0,002 секунды, поэтому при реализации фильтра необходимо учитывать потерю сигнала при применении фильтра. Так как частота пропускания фильтра составляет 5 Гц, период колебаний при данной частоте составляет 0,2 секунды. Порядок цифрового фильтра, при котором потери сигнала составят меньше 0,2 секунды составляет меньше 100. Для фильтра низких частот выберем реализацию на основе КИХ-фильтра.

Для данных характеристик был создан в программе Matlab фильтр низких частот, представленный на рисунке 1 [3].

Рисунок 1. АЧХ и ФЧХ КИХ-фильтра низких частот.

Порядок приведенного фильтра составил 71. Далее рассчитаем фильтр высоких частот. Использование КИХ-фильтра было бы предпочтительнее, т.к. он обеспечивает линейность ФЧХ, но при расчете фильтра получаемый результат неудовлетворителен, т.к минимальный порядок обеспечиваемый при характеристиках фильтра частота остановки 0,2Гц, частота пропускания 0,8 Гц, составляет 1900, что приводит к значительным искажениям в начале измерения, порядка 3,6 секунды. Поэтому для реализации фильтра был выбран БИХ фильтр. Для аналогичных характеристик частот задержки и пропускания рассчитан фильтр с АЧХ и ФЧХ представленными на рисунке 2.

Рисунок 2. ФЧХ и АЧХ для фильтра Чебышева 2ого типа.

Порядок рассчитанного фильтра составил 5. Применение данных фильтров позволило значительно уменьшить влияние шума на сигнал. Сигнал до фильтрации, после фильтрации и их АЧХ продемонстрированы на рисунке 3.

Рисунок 3. Сравнение сигналов до и после фильтрации и их спектра.

Как видно из сравнения сигналов во временной области и спектров, удалось добиться значительного снижения шумов для дальнейшего определения патологических пиков и их параметров

В данной части работы будет представлен алгоритм программы, которая обеспечивает регистрацию патологических колебаний. Перед написанием программы необходимо определить параметры, которые будут являться ключевыми для классификации патологии. Такими параметрами являются: периодичность колебаний сигнала, амплитуда колебаний. Периодичность колебаний говорит о наличии пульсаций, вызванных увеличением кровотока у одного из позвонков, также важен период данных колебаний, так, если их период примерно равен времени между сокращениями сердца, то это уже может говорить о наличии патологии. Амплитуда колебаний – единичные пики колебаний, выше 20мОм не должны регистрироваться как патологические, так как могут возникать из-за помех или нарушений методики наложения электродов. Если присутствуют колебания, и их амплитуда составляет больше 20 мОм, то это говорит о наличии патологии и её серьезном развитии. Однако если амплитуда периодических колебаний составляет от 10 мОм до 20 мОм, то это также должно вызывать опасения и быть поводом для дальнейшей диагностики пациента.

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

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

Программа реализует поиск колебаний используя встроенные в среду функции. Основной функцией, которая позволяет найти колебания и определить их параметры является функция findpeaks. Она позволяет найти параметры пиков, такие как: высота пика, его ширина, его координаты по оси х и оси у. Также данная функция позволяет изначально выводить пики только определенных значений и учитывать минимальное расстояние между ними. Именно её использование позволило добиться определения периодичности пиков и определить период между ними.

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

Создается переменная, которая будет содержать в себе результаты обработки. Далее начинается цикл обработки, на данной стадии необходимо заполнить данные для 29 позвонков, так как копчиковый раздел рассматривать не будем. Цикл проходит 29 итераций, по одной итерации для каждого позвонка.

В данном фрагменте программы происходит вызов встроенной функции findpeaks и присваивание значений переменным, которые отвечают за параметры найденных пиков: pks – значение локального максимума, которое считается как пик, locs – координаты пика по оси х, w – ширина пика, которая считает расстояние между точками, лежащими на половине высоты пика, p – выводит значение возвышения пика, над уровнем от которого он отсчитывался. Для выводов координат пика необходимо использовать значения переменной vTSIG, далее в функции используются текстовые команды 'MinPeakProminence' и 'MinPeakDistance'. 'MinPeakProminence' задает величину возвышения пика, именно эта команда позволяет найти относительное возвышение над уровнем сигнала. 'MinPeakDistance' – позволяет исключить пики, которые расположены вблизи друг другу, что позволяет задавать временной окно, в котором происходит поиск максимальных значений амплитуды.

Далее для ограничения максимального значения времени, в которое должны попадать пики, необходимо использовать расстояние между ними. Это позволяет сделать переменная loc, которая записывается для каждого значения пика. Разница между ними и будет периодом между пиками, который не должен быть более 1,5 секунд, иначе это может говорить о случайности колебаний.

Для выполнения поиска были заданы значение выпуклости 20, минимальное окно 0,6. В данном фрагменте происходит аналогичные операции, изменено только значение выпуклости пиков, которое было уменьшено до 10.

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

Параметр a отвечает за то, чтобы максимальное расстояние между пиками не превышало двух секунд и предотвращает внесение случайных пиков в процедуру сравнения [4].

Сами логические условия включают в себя сравнение двух параметров: количества пиков, за это отвечает функция длины, встроенная в программу Matlab, а также сравнение расстояния между пиками с параметром a.

Данные команды выводят в графическом виде полученные результаты. Для проверки правильности описанного механизма обнаружения пиков проанализируем два вида сигнала. Сигнал полученный при реографическом измерении рядом с грыжей и сигнал, полученный при измерении здорового участка. В сигнале на рисунке 4 присутствуют различные шумовые помехи, которые не позволяют однозначно определить патологические колебания, что вызывает ошибки при анализе сигнала представленным алгоритмом.

Рисунок 4. Патологический сигнал с отмеченными пиками.

Результат фильтрации сигнал с анализом патологических колебаний, алгоритм позволяет точно определить патологические колебания и определить наличие грыжи, представленный на рисунке 5.

Рисунок 5. Отфильтрованный патологический сигнал с отмеченными пиками.

Данный график был снят с участка позвоночника, у которого располагалась грыжа, тем самым, алгоритм показал свою пригодность для

Также проведено исследование сигала снятого со здорового участка, на рисунке 6 представлен вид сигнала с анализом до фильтрации, представлен сигнал после фильтрации с анализом патологических пиков [5]

Рисунок 6. Сигнал со здорового участка спины с отмеченными пиками до и после фильтрации.

После анализа сигналов на основе алгоритма было выполнено картирование полученных сигналов и определено наличие патологии.

Рисунок 7. Результат анализа сигналов.

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

Список литературы

  1. J. R. TAYLOR Growth of human intervertebral discs and vertebral bodies // Department of Anatomy, University of Edinburgh. 1975. №120.
  2. Mavrych V, Bolgova O, Ganguly P and Kashchenko S Age-Related Changes of Lumbar Vertebral Body Morphometry // Austin Journal of Anatomy. 2014. №3.
  3. Клинические рекомендации: стандарты лечения хронической боли в спине/ред. совет: И.Н. Денисов [и др.] Москва: ГЭОТАР-Медиа, 2014. –с. 76
  4. Айфинчер, Эммануил С., Джервис, Барри У. Цифровая обработка сигналов: практический подход, 2-е издание.: Пер. с англ. – М: Издательский дом “Вильямс”, 2004. – 992 с. : ил. – Парад. Тит. Англ.
  5. Оппенгейм А., Шафер Р. Цифровая обработка сигналов. – М.: Техносфера, 2006 856c.
  6. Моделирование процессов и систем в Matlab. Учебный курс СПб.: Питер; Киев: Изд. Группа BHV. 2005 512c.
  7. Солонина А.И., Клионский Д.М., Меркучева Т.В., Перов С.Н. Цифровая обработка сигналов и Matlab. – СПб.: БХВ-Петербург, 2013. 512c.
Интересная статья? Поделись ей с другими: