Биомеханические основы сокращения сердца 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Биомеханические основы сокращения сердца



Содержание

1. Биомеханические основы сокращения сердца…………………………………..…..3

2. Основные гемодинамические параметры деятельности сердца…..……………….5

3. Обзор методик определения времени изгнания сердца………………………........6

3.1. Определение времени изгнания по электрокардиограмме…………...….6

3.2. Определение времени изгнания с помощью поликардиографии…….....7

3.3. Определение времени изгнания по транcторакальной реограмме…........8

4. Разработка алгоритма обработки сигнала ЭКГ: выделение RR интервалов….…10

5.Разработка алгоритма определения времени изгнания по трансторакальной реограмме………………………………………………………………………………….……11

6.Реализация программ для выделения RR интервалов на ЭКГ и определения времени изгания по сигналу трансторакальной реограммы в среде Delphi………………..14

7.Выводы………………………………………………………………………………..18

Список используемой литературы…………………………………………………….18

Приложение А……………………………………………………………………….19-26

Основные гемодинамические параметры деятельности сердца

Приведем расчеты основных показателей, характеризующих цикл сердечного сокращения:

1) Ударный объем крови (УОК) где: r - удельное сопротивление крови (135 Ом/см); I - межэлектродное расстояние (см); Rб - базисное сопротивление (импеданс); Ад - амплитуда дифреограммы (Ом/с); Ти - период изгнания (с).
2) Минутный объем крови (МОК) МОК = УОК ×ЧСС
3) Ударный индекс (УИ) и сердечный индекс (СИ) , где ПТ - площадь поверхности тела человека (м2)
4) Объемная скорость выброса (ОСВ) мл/с
5) Линейная скорость движения крови (ЛСДВ) см/с где Q - площадь сечения аорты (см2)
6) Начальная скорость повышения внутрижелудочкового давления (СПВД) мм.рт.ст/с   где ДД - диастолическое давление (мм.рт.ст); Тизом - время изометрического сокращения (с); 5 - условная величина конечно-диастолического давления в левом желудочке.
7) Мощность левого желудочка (N) Вт N = ОСВ×СДД×1,33×10-4 где СДД - среднее динамическое давление в мм.рт.ст; где ПД – пульсовое давление в мм.рт.ст ПД = АДсист-АДдиаст
8) Расход энергии (РЭ), затраченной на перемещение 1л крови (Вт/л) или или РЭ = СДД×0,133
9) Общее периферическое сопротивление (ОПС) дин.×см.-5×с
10) Удельное периферическое сопротивление (УПС) или

3. Обзор методик определения времени изгнания сердца

Период изгнания крови из желудочков распространяется на вторую, большую часть систолы. Его начало совпадает с моментом, когда внутрижелудочковое давление достигает величины аортального давления, а окончание — с концом систолы желудочков (началом расслабления мускулатуры желудочков). Период изгнания характеризует собой время, в течение которого совершается полезное расходование энергии сердечного сокращения, направленное на перемещение крови из сердца в сосудистую систему.

Временные показатели.

1. Tc - период пульсовой волны, фактически является длительностью сердечного цикла и определяется по R - R интервалу ECG.

2. Ts - систолическая часть пульсовой волны, т.е. приток крови, за время сердечного выброса, состоящая из анакроты (восходящая) и катакроты (нисходящая часть), называемая, для центрального кровотока, "временем изгнания".

Часто Ts - время изгнания крови из сердца, также обозначаемое как - Ti или LVET, определяется от точки пересечения касательной переднего фронта диффреограммы (не показано) с изолинией, до отрицательного экстремума амплитуды (- Ad). Ожидаемое время систолы (и окончания периода изгнания) Ts = 0,36 - 50/Tc (±20 %).

3. Td - диастолическая часть пульсовой волны (отток крови по сосудам), после систолы, т.е. Tc = Ts + Td.

4. Tr - часть диастолической волны реограммы

5. Tv (PT) - время распространения пульсовой волны

6. Tp (PEP) - время пресистолы или изометрического сокращеня.

 

Амплитудные показатели.

1. Ar - максимальная амплитуда реограммы Δ Z (Ом), или "реографический индекс". Характеризует максимальную "объёмную скорость" кровотока.

2. As - значение амплитуды реограммы, в момент окончания систолы (Ом).

3. -Ar - амплитуда инцизуры диастолической части пульсовой волны. Определяется по точке отрицательного экстремума (при его наличии).

4. Ad - максимальная амплитуда диффреограммы (Ом / с), т.е. её первая производная, в момент наибольшей скорости крово-тока - dZ max.

6. -Ad - максимальная амплитуда отрицательной части диффреограммы, в момент окончания времени изгнания крови из сердца - Ts.

7. +Ad - положительная амплитуда диффреограммы, в начале диастолической фазы. Определяется во временном диапазоне - Tr, по положительному экстремуму (при его наличии, или по максимальной скорости).

 

 

4. Разработка алгоритма обработки сигнала ЭКГ: выделение RR интервалов

 

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

S1 = x1/2, Sn+1=Sn-c(Sn-xn+1), yn=xn-Sn.

где с - адаптивная константа, зависящая от частоты дискретизации

 

Определить R-зубцы на ЭКГ или соответствующие им зуб­цы на дифференцированной ЭКГ можно с помощью следующего алгоритма. Вычисляется некий порог, и среди значений, которые его превышают, ищется локальный максимум.

Порог может вычисляться, например, как сумма среднего значения ЭКГ и половины максимального значения ЭКГ. Далее ищется первое значение, которое больше порога. От этого значения до первого значения меньшего, чем порог, ищется максимальное значение, которое и определяется как R-зубец.

5. Разработка алгоритма определения времени изгнания по трансторакальной реограмме

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

Рассмотрим алгоритм, который реализуется нерекурсивным цифровым фильтром. Входная последовательность {x(kT}} ап­проксимируется для каждого из пяти последовательных отсчетов сигнала с абсциссами k = -2, -1, 0, 1, 2 полиномом p2(t) второго порядка (параболой): P2(t) = A + Bt + Ct2.

Рисунок 7 - Пятиточечный алгоритм цифровой фильтрации

В качестве выходного значения получаем:

Выходная последовательность при этом подобна входной по­следовательности, но содержит меньше высокочастотных помех, так как параболическая аппроксимация обеспечивает некоторое сглаживание входной последовательности.

Системная функция сгла­живающего фильтра:

Частотная характеристика такого фильтра имеет вид:

.

Рисунок 8 - Частотная характеристика сглаживающего цифрового фильтра

 

Теперь найдем первую производную для функции:

Окончательно по­лучаем:

Системная функция и частотная характеристика используемого нерекурсивного цифрового фильтра будут иметь вид:

 

 

2. Найдем максимумы дифференцированной реограммы.

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

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

 

 

3. Определим момент начала изгнания по дифференцированной реограмме.

Начало изгнания характеризуется резким повышением аортального давления. В самом начале изгнания ЛЖ придает крови ускорение, и она под действием нарастающего давления перемещается в начальный участок аорты, растягивая его стенки. Т.е. меткой начала изгнания мог бы служить момент времени, когда ускорение, с которым нарастает объем крови в участке восходящей аорты, т.е. ускорение роста Z-сигнала, достигает максимального значения.

Вторая производная реограммы по времени, как правило, имеет два хорошо различимых пика, наибольший из которых указывает на начало пульсовой волны в сигнале ΔZ. Этот момент достаточно хорошо соответствует началу изгнания крови в аорту.

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

Воспользуемся следующим алгоритмом. Первая производная РГ в любой точке представляет собой графическое изображение изменения во времени величины тангенса угла наклона касательной к кривой в этой точке. К кривой дифференцированной реограммы в точке макси­мума второй производной реограммы проводится касательная до пересечения ее с нулевым уровнем. Эта точка является абсциссой точки начала изгнания крови из левого желудочка сердца.

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

Рисунок 9 - Нахождение производной и её геометрический смысл

Следовательно,

Далее ищется максимальная производная на всем периоде. Абсцисса точки начала выброса определяется через тангенс угла. Чтобы компенсировать сдвиг между секущей и касательной (они параллельны), в формулу будет подставляться координата точки i.

Пусть t – абсцисса точки начала выброса крови. Она равна разности абсциссы точки максимума производной i и основания касательной к точке i.

, где i – точка максимума второй производной основной реограммы.

 

4. Момент окончания изгнания определим как отрицательный экстремум амплитуды после точки максимума диффреограммы.

6. Реализация программ для выделения RR интервалов на ЭКГ и определения времени изгнания по сигналу трансторакальной реограммы в среде Delphi

Рисунок 10 – Вид реализованной программы в среде Delphi

Рисунок 11 – Тест 1: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF) с выделенными моментами начала и окончания изгнания, 2-ая производная реограммы.

 

Рисунок 12 – Тест 1: определение начала, окончания и времени изгнания.

 

Рисунок 13 – Тест 2: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF) с выделенными моментами начала и окончания изгнания, 2-ая производная реограммы.

 

Рисунок 14 – Тест 2: определение начала, окончания и времени изгнания.

 

Рисунок 15 – Тест 3: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF) с выделенными моментами начала и окончания изгнания, 2-ая производная реограммы.

 

Рисунок 16 – Тест 3: определение начала, окончания и времени изгнания.

Тест 3 – пример патологического сигнала. В данном случае время изгнания меньше, чем для приведенных примеров нормальных сигналов (тесты 1 и 2). Укороченный период изгнания говорит о поражении миокарда, недостаточности кровообращения.

 

Рисунок 17 – Тест 4: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF), 2-ая производная реограммы.

 

На данном патологическом сигнале определить время изгнания не представляется возможным. Причиной является отсутствие механической систолы, не происходит сокращение миокарда. Присутствует только электрическая систола.

Выводы

В данной работе была проведена разработка алгоритма определения времени изгнания по сигналу трансторакальной реограммы.

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

При проведенных тестированиях программы полученное время изгнания составило в среднем 0,36 с для сигналов, снятых у здоровых испытуемых. Также были рассмотрены примеры патологических сигналов. Так, для приведенного примера патологического сигнала (тест 3) период изгнания составил в среднем 0,22 с, укороченный период изгнания говорит о поражении миокарда, недостаточности кровообращения. Для некоторых патологических сигналов (как пример, приведен тест 4) определить период изгнания не представилось возможным, наблюдается отсутствие механической систолы.

Список используемой литературы

1. Каро К., Педли Т. и др. Механика кровообращения. -М.: издательство «Мир», 1981.

Приложение А.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ActnList, Menus, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Image1: TImage;

OpenDialog1: TOpenDialog;

Memo1: TMemo;

procedure Image1Click(Sender: TObject);

procedure MaxR;

procedure MaxM;

procedure GelZ;

procedure GelY;

procedure PorR;

procedure PorM;

procedure Action1Execute(Sender: TObject);

procedure Action2Execute(Sender: TObject);

procedure Action3Execute(Sender: TObject);

procedure Action4Execute(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const Gc=500;

var

Form1: TForm1;

F:TextFile;

I1,I2,J1,J2,Predel:integer;

ARR:array of smallint;

h1,h2,h3:smallint;

C: array of array of real;

e,PorogM,PorogR:smallint;

q,w,q2,w2,q3,w3,q4,w4,a1,a2,a3,a4:real;

 

implementation

{$R *.dfm}

 

////процедура при нажатии на кнопке Открыть ЭКГ

procedure TForm1.Action1Execute(Sender: TObject);

var i,j: integer;

S: string;

begin

SetLength(C,10);

OpenDialog1.Filter:='Файлы данных (*.txt)|*.txt|Все файлы|*.*';

OpenDialog1.FilterIndex:=1;

OpenDialog1.Title:='Выбор файла';

if OpenDialog1.Execute then

begin

try

AssignFile(F,OpenDialog1.FileName); ////Открытие файла

Reset(F);

i:=0;

SetLength(C[1],0);

SetLength(C[6],0);

SetLength(C[2],0);

while not EOF(F) do

begin

Readln(F,S);

S:= StringReplace(S, '.', ',', [ rfReplaceAll, rfIgnoreCase ]);

SetLength(C[1],i+1);

C[1,i]:=StrToFloat(S);

i:=i+1;

end; ////Чтение данных из файла в переменную

CloseFile(F); ////Закрытие файла

Button4.Enabled:=True;

 

SetLength(C[6],1); //Фильтр

C[6,0]:=C[1,0]/2;

SetLength(C[2],1);

C[2,0]:=C[1,0]-C[6,0];

 

for j:=1 to Length(C[1])-1 do

begin

SetLength(C[6],j+1);

SetLength(C[2],j+1);

C[6,j]:=C[6,j-1] - (1/Gc)*(C[6,j-1]-C[1,j]);

C[2,j]:=C[1,j]-C[6,j];

end;

 

except ////Обработка исключительных ситуаций

on E:EInOutError do ShowMessage(E.Message);

end;

end

end;

 

procedure TForm1.Action4Execute(Sender: TObject); /// Загрузить Реограмму

var i,j: integer; S:string;

begin

OpenDialog1.Filter:='Файлы данных (*.txt)|*.txt|Все файлы|*.*';

OpenDialog1.FilterIndex:=1;

OpenDialog1.Title:='Выбор файла';

if OpenDialog1.Execute then

begin

try

AssignFile(F,OpenDialog1.FileName); ////Открытие файла

Reset(F);

i:=0;

SetLength(C[3],0);

while not EOF(F) do

begin

Readln(F,S);

S:= StringReplace(S, '.', ',', [ rfReplaceAll, rfIgnoreCase ]);

SetLength(C[3],i+1);

C[3,i]:=StrToFloat(s);

i:=i+1;

end; ////Чтение данных из файла в переменную

CloseFile(F); ////Закрытие файла

Button2.Enabled:=True;

 

SetLength(C[4],0);

for j:=2 to Length(C[3])-3 do

begin

SetLength(C[4],j-1);

C[4,j-2]:=(1/35)*(-3*(C[3,j-2])+12*C[3,j-1]+17*C[3,j]+12*C[3,j+1]-3*C[3,j+2]);

end;

 

SetLength(C[5],0);

for j:=10 to Length(C[4])-11 do

begin

SetLength(C[5],j-9);

C[5,j-10]:=0.1*(-2*C[4,j-10]-C[4,j-5]+C[4,j+5]+2*C[4,j+10])/(1/Gc);

end;

 

SetLength(C[9],0);

for j:=2 to Length(C[5])-3 do

begin

SetLength(C[9],j-1);

C[9,j-2]:=(1/35)*(-3*(C[5,j-2])+12*C[5,j-1]+17*C[5,j]+12*C[5,j+1]-3*C[5,j+2]);

end;

 

SetLength(C[10],0);

for j:=10 to Length(C[9])-11 do

begin

SetLength(C[10],j-9);

C[10,j-10]:=0.1*(-2*C[9,j-10]-C[9,j-5]+C[9,j+5]+2*C[9,j+10])/(1/Gc);

end;

 

except ////Обработка исключительных ситуаций

on E:EInOutError do ShowMessage(E.Message);

end;

end

end;

 

 

////Нахождение минимального значения

function Min(i:integer):real;

var j:integer;

begin

Result:=C[i,0];

for j:=1 to Length(C[i])-1 do

if C[i,j]<Result then Result:=C[i,j];

end;

 

////Нахождение максимального значения

function Max(i:integer):real;

var j:integer;

begin

Result:=C[i,0];

for j:=1 to Length(C[i])-1 do

if C[i,j]>Result then Result:=C[i,j];

end;

 

 

////процедура при нажатии на кнопке Нарисовать - построение графика

procedure TForm1.Action2Execute(Sender: TObject);

var j:integer;

begin

Image1.Picture:=nil;////Очистка TImage1

I1:=0; ////Ввод координат, в пределах которых будет происходить построение графиков

I2:=Image1.Width; //длина

J2:=Image1.Height; //высота

J1:=round(J2/4);

 

e:=Image1.Height div 20;

 

q:=J1/(Abs(Max(2))+Abs(Min(2)));

q2:=J1/(Abs(Max(3))+Abs(Min(3)));

q3:=J1/(Abs(Max(5))+Abs(Min(5)));

q4:=J1/(Abs(Max(10))+Abs(Min(10)));

 

w:=I2/Length(C[2]);

w2:=I2/Length(C[3]);

 

a1:=(1/(Abs(Min(2))+Abs(Max(2)))*Abs(Max(2)))*J1;

a2:=(1+(1/(Abs(Min(3))+Abs(Max(3)))*Abs(Max(3))))*J1;

a3:=(2+(1/(Abs(Min(5))+Abs(Max(5)))*Abs(Max(5))))*J1;

a4:=(3+(1/(Abs(Min(10))+Abs(Max(10)))*Abs(Max(10))))*J1;

 

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(0,round(a1));

Image1.Canvas.LineTo(I2,round(a1));

Image1.Canvas.Pen.Color:=clRed;

Image1.Canvas.MoveTo(round((1)*w),round(a1+(-1)*C[2,1]*q));

for j:=2 to Length(C[2])-1 do ////Построение графиков

begin

Image1.Canvas.LineTo(round((j-1)*w),round(a1+(-1)*C[2,j-1]*q));

end;

 

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(0,round(a2));

Image1.Canvas.LineTo(I2,round(a2));

Image1.Canvas.Pen.Color:=clBlue;

Image1.Canvas.MoveTo(round((1)*w2),round(a2+(-1)*C[3,1]*q2));

for j:=2 to Length(C[3])-1 do ////Построение графиков

begin

Image1.Canvas.LineTo(round((j-1)*w2),round(a2+(-1)*C[3,j-1]*q2));

end;

 

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(0,round(a3));

Image1.Canvas.LineTo(I2,round(a3));

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(round((1)*w2),round(a3+(-1)*C[5,1]*q3));

for j:=2 to Length(C[5])-1 do ////Построение графиков

begin

Image1.Canvas.LineTo(round((j-1)*w2),round(a3+(-1)*C[5,j-1]*q3));

end;

 

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(0,round(a4));

Image1.Canvas.LineTo(I2,round(a4));

Image1.Canvas.Pen.Color:=clGreen;

Image1.Canvas.MoveTo(round((1)*w2),round(a4+(-1)*C[10,1]*q4));

for j:=2 to Length(C[10])-1 do ////Построение графиков

begin

Image1.Canvas.LineTo(round((j-1)*w2)+1,round(a4+(-1)*C[10,j-1]*q4));

end;

 

end;

 

 

////нахождение порогового значения (для поиска R-зубцов)

procedure TForm1.PorR;

var j:integer; sum,max:real;

begin sum:=0;

for j:=0 to Length(C[2])-1 do

sum:=sum+C[2,j];

max:=C[2,0];

for j:=1 to Length(C[2])-1 do

if C[2,j]>max then max:=C[2,j];

PorogR:=Round(sum/(Length(C[2])-1)+max/2);

end;

 

////нахождение порогового значения (для поиска M-зубцов)

procedure TForm1.PorM;

var j:integer; sum,max:real;

begin sum:=0;

for j:=0 to Length(C[5])-1 do

sum:=sum+C[5,j];

max:=C[5,0];

for j:=1 to Length(C[5])-1 do

if C[5,j]>max then max:=C[5,j];

PorogM:=Round(sum/(Length(C[5])-1)+max/2);

end;

 

////нахождение R-зубцов

procedure TForm1.MaxR;

var j,p,k:integer;

Ry,Rx:real;

begin

Image1.Canvas.Brush.Style:=bsClear;

Image1.Canvas.Font.Color:=clBlack;

Image1.Canvas.Pen.Color:=clBlack;

for j:=0 to Length(C[2])-1 do

if (C[2,j]<=PorogR) and (C[2,j+1]>PorogR) then

begin

for k:=j+1 to Length(C[2])-1 do

if ((C[2,k]>PorogR) and (C[2,k+1]<=PorogR)) then

begin

Rx:=j+1;

Ry:=C[2,j+1];

for p:=j+1 to k do

if C[2,p]>Ry then

begin

Ry:=C[2,p];

Rx:=p;

end;

Image1.Canvas.MoveTo(round((Rx)*w),round(a1+(-1)*Ry*q)+e);

Image1.Canvas.LineTo(round((Rx)*w),round(a1+(-1)*Ry*q)-e);

end;

end;

end;

 

////нахождение максимумов дифференцированной реограммы

procedure TForm1.MaxM;

var Mx,a,j,k,p:integer;

My:real;

begin

Image1.Canvas.Brush.Style:=bsClear;

Image1.Canvas.Font.Color:=clRed;

Image1.Canvas.Pen.Color:=clRed;

SetLength(ARR,0);

SetLength(ARR,1);

ARR[0]:=1;

a:=2;

 

for j:=0 to Length(C[5])-1 do

if ((C[5,j]<PorogM) and (C[5,j+1]>PorogM)) then

begin

for k:=j+1 to Length(C[5])-1 do

if ((C[5,k]>PorogM) and (C[5,k+1]<PorogM)) then //C[5,k]<0

begin

Mx:=j+1;

My:=C[2,j+1];

for p:=j+1 to k do

if C[5,p]>My then

begin

My:=C[5,p];

Mx:=p;

end;

if Mx>ARR[a-2] then

begin

SetLength(ARR,a);

ARR[a-1]:=round(Mx);

a:=a+1; ////заполнение массива координатами точек максимума дифференцированной реограммы по оси Х

 

Image1.Canvas.MoveTo(round((Mx)*w2),round(a3+(-1)*My*q3)+e);

Image1.Canvas.LineTo(round((Mx)*w2),round(a3+(-1)*My*q3)-e);

end;

 

end;

end;

SetLength(ARR,a);

ARR[a-1]:=round(Length(C[5]));

end;

 

////Нахождение точек начала изгнания крови из левого желудочка сердца

procedure TForm1.GelZ;

var b,e9,Px:integer;

Max:real;

begin

Px:=1;

SetLength(C[7],0);

for b:=0 to Length(ARR)-3 do

begin

Max:=0.0001;

for e9:=ARR[b]+1 to ARR[b+1] do

begin

if ((C[5,e9+1]-C[5,e9-1])/2>Max) and (C[5,e9]>0) then

begin

Max:=(C[5,e9+1]-C[5,e9-1])/2;

Px:=e9;

end;

end;

 

SetLength(C[7],b+1);

C[7,b]:=(Px-C[5,Px]/Max)/Gc;

 

Image1.Canvas.Brush.Style:=bsClear;

Image1.Canvas.Font.Color:=clBlue;

Image1.Canvas.Pen.Color:=clBlue;

Image1.Canvas.MoveTo(round((Px-C[5,Px]/Max)*w2),round(a3+5)+e*2);

Image1.Canvas.LineTo(round((Px-C[5,Px]/Max)*w2),round(a3+5)-e*2);

 

if Length(C[10])-Px>0 then begin

Image1.Canvas.Brush.Style:=bsClear;

Image1.Canvas.Font.Color:=clBlack;

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(round((Px-C[5,Px]/Max)*w2),round(a4-40)+e*2);

Image1.Canvas.LineTo(round((Px-C[5,Px]/Max)*w2),round(a4-40)-e*2);

end;

end;

 

end;

 

////Нахождение точек конца изгнания крови из левого желудочка сердца

procedure TForm1.GelY;

var b,e9,Px,Px2:integer;

Min1,Min2:real;

begin

for b:=1 to Length(ARR)-2 do

begin

Px2:=0;

Min1:=C[5,ARR[b]];

for e9:=ARR[b] to ARR[b+1] do

if (Min1>C[5,e9]) and ((C[5,e9-1]<C[5,e9]) and (C[5,e9]<C[5,e9+1])) then

begin

Min1:=C[5,e9];

Px2:=e9; //Изначально Px

end;

 

{Min2:=C[5,ARR[b]];

Px2:=1;

for e9:=ARR[b]+1 to Px-1 do

if ((Min2>C[5,e9]) and ((C[5,e9-1]<C[5,e9]) and (C[5,e9]<C[5,e9+1]))) then

begin

Min2:=C[5,e9];

Px2:=e9;

end;

 

if Px2 = 1 then Px2:=Px; }

 

if Length(C[10])-Px2>-10 then begin

 

Memo1.Lines.Add('C '+FloatToSTR(round(C[7,b-1]*100)/100)+'c.'+

' По '+(FloatToStr(round((Px2/Gc)*100)/100)+'c.') +

' = '+FloatToSTR(round(((Px2/Gc) - C[7,b-1])*100)/100) +'c.');

 

Image1.Canvas.Brush.Style:=bsClear;

Image1.Canvas.Font.Color:=clGreen;

Image1.Canvas.Pen.Color:=clGreen;

Image1.Canvas.MoveTo(round((Px2)*w2),round(a3+5)+e*2);

Image1.Canvas.LineTo(round((Px2)*w2),round(a3+5)-e*2);

end;

end;

end;

 

procedure TForm1.Image1Click(Sender: TObject);

begin

Image1.Width:=Form1.Width-190;

Image1.Height:=Form1.Height - 70;

end;

 

////процедура при нажатии на кнопку Разместить

procedure TForm1.Action3Execute(Sender: TObject);

begin

Memo1.Lines.Clear;

PorR;

PorM;

MaxR;

MaxM;

GelZ;

GelY;

end;

 

end.

 

Содержание

1. Биомеханические основы сокращения сердца…………………………………..…..3

2. Основные гемодинамические параметры деятельности сердца…..……………….5

3. Обзор методик определения времени изгнания сердца………………………........6

3.1. Определение времени изгнания по электрокардиограмме…………...….6

3.2. Определение времени изгнания с помощью поликардиографии…….....7

3.3. Определение времени изгнания по транcторакальной реограмме…........8

4. Разработка алгоритма обработки сигнала ЭКГ: выделение RR интервалов….…10

5.Разработка алгоритма определения времени изгнания по трансторакальной реограмме………………………………………………………………………………….……11

6.Реализация программ для выделения RR интервалов на ЭКГ и определения времени изгания по сигналу трансторакальной реограммы в среде Delphi………………..14

7.Выводы………………………………………………………………………………..18

Список используемой литературы…………………………………………………….18

Приложение А……………………………………………………………………….19-26

Биомеханические основы сокращения сердца

Цикл сокращения сердца начинается в определенной области стенки правого предсердия, которую на­зывают водителем ритма, или сино-атриальным узлом. Начавшаяся в водителе ритма деполяризация распространяется со скоростью порядка 1 м/с по окружающим эту область мышцам стенок правого и левого предсердий (вызы­вая их сокращение). Затем она передается клеткам атриовентрикулярного узла, расположенного в межпредсердной перегородке. Далее деполяризации подвергается особый пучок мышечных воло­кон, который про­ходит через фиброзную ткань, окружающую трехстворчатый кла­пан, в межжелудочковую перегородку; здесь этот пучок делится и проникает в мышечную массу каждого желудочка, оканчиваясь среди обычных мышечных клеток сетью особых тонких мышечных волокон. Волна деполяризации распростра­няется по этому проводящему пути быстро (5 м/с), и потому деполяризация и сокращение всех мышечных волокон как левого, так и правого желудочков происходят относительно синхронно: потенциал деполяризации желудочков на электрокардиограмме — комплекс QRS — длится меньше 0,1 с. Организованная по­следовательность сокращения предсердий и желудочков, возникаю­щая после деполяризации водителя ритма, обеспечивается глав­ным образом расположением и свойствами проводящих путей.

-

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

 

Циклы деполяризации и реполяризации, происходящие в сер­дечной мышце, генерируют слабые электрические потенциалы, и при соответствующем расположении электродов эти потенциалы могут быть восприняты на поверхности тела, усилены и зарегистрированы в виде электрокардиограммы.

Оба желу­дочка сокращаются почти синхронно, но для простоты рассматриваются обычно лишь явления, происходящие в левых камерах сердца. Последовательность событий показана на рис. 1. Через очень короткий интервал времени после деполяризации мышечные волокна стенки желудочка начинают развивать активное напря­жение, и давление в желудочке возрастает. Такое состояние весьма кратко­временно, так как давление в желудочке почти сразу становится выше давления в предсердии, и в течение очень короткого периода времени кровь течет обратно — из желудочка в предсердие. Этот период заканчивается закрытием митрального клапана, что сопро­вождается характерным звуком, который прослушивается через стенку грудной клетки; этот звук — первый тон сердца — отмечает начало систолы, т. е. периода сокращения желудочков. Второй тон сердца соответствует началу диастолы, т. е. периода расслабления желудочков.

Напряжение стенки желудочка теперь начинает расти исклю­чительно быстро, и этот рост продолжается до тех пор, пока дав­ление в полости желудочка не превысит давление в аорте. В этот период никакого изменения объема желудочка не происходит, по­скольку кровь фактически несжимаема, и потому этот период на­зывают изоволюмическим. Как только давление внутри желудочка превысит давление в аорте, возникает система сил, действующих так, чтобы открыть аортальный клапан, и на­чинается следующая фаза систолы — фаза изгнания крови. По­скольку объем левого желудочка уменьшается, кровь, находя­щаяся в желудочке и в проксимальной части аорты, быстро при­обретает направленное вперед ускорение. Затем напряжение стен­ки желудочка падает, разность давлений в желудочке и в аорте меняет знак и движение крови в аорте замедляется.

Наконец, пе­ред закрытием аортального клапана, сопровождающимся вторым тоном сердца, существует небольшой период времени обратного движения крови через этот клапан — из аорты в желудочек. За этим следует второй изоволюмический период, во время которого мышца желудочка расслабляется и давление в нем падает.

В то же самое время давление, в левом предсердии повышается по мере того, как оно наполняется кровью из легочных вен. Как только это давление превысит давление в левом желудочке, мит­ральный клапан вновь открывается и под влиянием разности дав­лений, создаваемой сначала пассивно, а затем за счет активного укорочения мышечных волокон стенки предсердия, происходит на­полнение желудочка. Это активное сокращение предсердия (си­стола предсердия) проявляется на электрокардиограмме зубцом Р, а механически — кратковременным увеличением давления в пред­серди. Вскоре после этого происходит активация мышцы желудочка и весь цикл начинается снова.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 191; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.110.162 (0.351 с.)