Помощь в учёбе, очень быстро...
Работаем вместе до победы

Исследование и разработка способов измерения и мониторинга артериального давления

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Другой задачей, также относящейся к области измерения АД, является задача мониторинга АД. Как известно, значения АД не являются величиной постоянной, а колеблются с течением времени. Соответственно для диагностики отклонений АД от нормы может понадобиться отслеживание динамики изменения АД в течение некоторого временного промежутка. Зачастую для подобного мониторинга используют приборы… Читать ещё >

Содержание

  • Глава 1. Обзор существующих методов и средств измерения артериального давления
    • 1. 1. Вводные замечания
    • 1. 2. Историческая справка
    • 1. 3. Особенности механизма кровотока в артерии
    • 1. 4. Классификация способов измерения и мониторинга артериального давления
    • 1. 5. Инвазивные методы измерения АД
    • 1. 6. Осциллометрические методы измерения АД
    • 1. 7. Аускультативный метод измерения АД
    • 1. 8. Другие методы фиксации моментов компенсации систолического и диастолического значений АД
    • 1. 9. Косвенные методы измерения АД
    • 1. 10. Способы мониторинга АД
    • 1. 11. Сравнительные оценки методов измерения АД

Исследование и разработка способов измерения и мониторинга артериального давления (реферат, курсовая, диплом, контрольная)

Актуальность работы и состояние вопроса. Артериальное давление является важнейшим показателем работы сердечно-сосудистой системы. Приборы для его измерения (тонометры) являются одними из самых распространенных бытовых приборов медицинского назначения. Однако подавляющее большинство тонометров представляют собой незначительные вариации прибора, предложенного еще в начале прошлого века. Эти тонометры для получения достаточно точных результатов требуют наличия у измеряющего специальных навыков, к тому же люди, имеющие дефекты слуха не могут ими пользоваться. В настоящее время в продаже появились автоматические и полуавтоматические тонометры, изготавливаемые такими фирмами, как Omron, A&D Medical, Nissey, Microlife и т. д. Данные тонометры гораздо более удобны в использовании, однако в основе их работы также лежит метод определения АД, предложенный в середине XIX века, и с тех пор практически не изменившийся. В частности все они требуют для измерения полного пережатия артерии, что приводит к существенному нарушению гемодинамики артерии. Также к недостаткам подобных тонометров можно отнести большое время измерения (более минуты), что является критическим параметром в ситуациях, когда необходимо произвести измерение АД у большого количества людей. Кроме того, данные тонометры, как правило, имеют невысокую точность, особенно это относится к недорогим моделям.

Другой задачей, также относящейся к области измерения АД, является задача мониторинга АД. Как известно, значения АД не являются величиной постоянной, а колеблются с течением времени. Соответственно для диагностики отклонений АД от нормы может понадобиться отслеживание динамики изменения АД в течение некоторого временного промежутка. Зачастую для подобного мониторинга используют приборы, построенные на тех же принципах, что и описанные выше тонометры. Данные приборы с некоторой периодичностью, задаваемой таймером, измеряют АД и заносят его в память [1]. Однако полученные в результате такого «мониторинга» результаты имеют достаточно низкую точность, а сам процесс «мониторинга» создает существенный дискомфорт [2,3]. С другой стороны, существуют приборы, позволяющие фиксировать всю кривую изменения АД в полном объеме, однако как правило они либо имеют очень большие погрешности результатов, либо неудобны для бытового использования. Кроме того, подобные системы, как правило, очень дороги. Таким образом, в настоящее время проблема мониторинга АД имеет приемлемое решение только для очень узкой области — мониторинга АД в палатах интенсивной терапии. Задачу же бытового мониторинга АД можно считать практически нерешенной. При этом ее актуальность не только является огромной, но и постоянно возрастает: по различным оценкам в 2000 году гипертонией в той или иной форме страдали от 600 миллионов до 1 миллиарда человек, а к 2025 году количество страдающих гипертонией может возрасти до 1.5 миллиарда человек [4, 5,6].

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

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

1. Систематизация методов измерения АД. Она необходима для более полной и всесторонней оценки методов измерения АД и выявления их достоинств и недостатков.

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

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

4. Исследование возможности использования режима компрессии конечности для измерения АД. Использование режима компрессии заметно сокращает время измерения, а также существенно уменьшает нарушения гемодинамики, оказываемые тонометром в процессе измерения.

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

6. Разработка способа мониторинга АД, обладающего достаточно высокой точностью измерений и не оказывающего заметного влияния на гемодинамику конечностей.

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

Основные результаты диссертационной работы заключаются в следующем:

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

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

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

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

Заключение

.

Показать весь текст

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

  1. С. К. Кукушкин, Е. М. Маношкина, А. В. Лебедев, В. М. Шамарин //Суточное мониторирование артериального давления (учебное пособие для врачей) // Лечащий Врач, № 09 1999.
  2. Ю.В.Котовская, Ж. Д. Кобалава Суточное мониторирование артериального давления в клинической практике: не переоцениваем ли мы его значение? // Артериальная гипертензия: Том 10 № 1 2004.
  3. В.Н.Хирманов, Т. В. Тюрина, А. В. Гротова Метод доктора Н. С. Короткова в эпоху «техно». Методические и клинические аспекты «домашнего» мониторирования артериального давления // Артериальная гипертензия Том 11 № 2 2005 г.
  4. World Hypertension League bulletin 2005 // http://hsc.utoledo.edu/org/whl/pdf/WHDBooklet2005.pdf.
  5. Kearney PM, Whelton M, Reynolds K, et al. Global burden of hypertension: analysis of worldwide data. Lancet 2005- 365:217−223.
  6. Global Burden of Hypertension to Increase to 1 in 3 by 2025 //http://www.medscape.com/viewarticle/4 989 042
  7. Harvey, William Harvey’s Contribution // http://www.discoveriesinmedicine.com/General-Information-and-Biographies/Harvey-William.html.
  8. The history of blood pressure measurement //http://www.medphys.ucl.ac.uk/teaching/undergrad/projects/2003/group03/history. html.
  9. Carl Ludwig biography // http://en.wikipedia.org/wiki/CarlLudwig.
  10. History of Pulse Oximetry in Neonatal Medicine Hay Neoreviews.2005- 6: 533 538.11 http://www.makhaon.com/index.php?lng=ru&p=dict &euid=25 001 &PHPSESSID=f2fl 631 180 6135fbd4437501 c73e9358.
  11. Blood pressure measuring devices //http://www.discoveriesinmedicine.corn/Bar-Cod/Blood-Pressure-Measuring-Devices.html.
  12. A. Roguin. Scipione Riva-Rocci and the men behind the mercury sphygmomanometer // International Journal of Clinical Practice Vol. 60 Issue 1 Page 73 January 2006.14 Кровяное давление //http://www.medicus.ru/cardiology/spec/?cont=article&artid=376
  13. Claude Lenfant Гипертензия и ее последствия: состояние проблемы в мире // Артериальная гипертензия Том 11 № 2 2005 г.16 100 лет аускультативному методу измерения артериального давления: к юбилею Н. С. Короткова Артериальная гипертензия, Том 11 № 2 2005 г.
  14. Lawrence R. Krakoff Ambulatory Blood Pressure Monitoring for Every Hypertensive Patient: It’s About Time! // http://www.medscape.com/viewarticle/497 723.
  15. В. H. Тонков Учебник нормальной анатомии человека. JI.: Медгиз, 1962, 763с.
  16. В.П., Яковлев В. М. Кукса П.Я. Артериальные сосуды и возраст. АМН СССР. М: Медицина, 1986, 224 с.
  17. S. Sharma Control of Arterial Blood Pressure // http://www.nda.ox.ac.uk/wfsa/html/u01/u01008.htm.
  18. Patent Full-Text and Full-Page Image Databases // http://patft.uspto.gov/netahtml/PTO/search-bool.html.
  19. B.A. Люсов, H.A. Волов, B.A. Кокорин. Проблемы и достижения в измерении артериального давления // Русский Медицинский журнал, 2003, т. 11, № 19(191), 1093−1096.
  20. Методы измерения артериального давления // http://www.monitorad.ru/index.aspx?pg=3
  21. Э. К. Шахов, А. П. Писарев, В. В. Акинин Классификация методов измерения артериального давления // Вычислительные системы и технологии обработки информации: Межвуз. сб. науч. тр. -Пенза: Инф.-изд. центр ПГУ, 2006. Вып. 6 (30). — С. 107−110.
  22. Э.К. Разделение функций основной принцип структурного совершенствования измерительных преобразователей. В кн. Информационно-измерительная техника. Межвуз. сб. науч. тр. Вып. 8. Пенза, ППИ. 1978.
  23. П.П. Автоматические измерения и приборы. Киев: Вища школа, 1973, 552 с.
  24. Attenuation in invasive blood pressure measurement systems // Ercole Br. J. Anaesth. 2006- 96: 560−562.
  25. H.H. Биофизические основы кровообращения и клинические методы изучения гемодинамики. М.: Медицина, 1974. — 311с.
  26. А.А. Биофизические основы измерения артериального давления. -Л., Медицина, 1983.
  27. Приборы для измерения артериального давления // http://www.8a.ni/abc/l 159. php
  28. Л. И., Манелис Э. С. Аппаратура и методы клинического мониторинга: Учебное пособие. Самара: Самар. гос. аэрокосм, ун-т., 1999. -161 с.
  29. , Б. Б., Искаков, К. М., Рысмендиев, А. Ж., Юлдашев., А. А. Неинвазивное безокклюзионное мониторирование давления крови // Здравоохранение Казахстана 1992.- № 8.- С. 29 — 30.
  30. В. М. Пономаренко, Р. Г. Воронцов, Б. С. Бобров. Способы и приборы автоматического измерения артериального давления // Мед. техника.-1973.-№ 6.- С. 36 42.34 de Dobbeleer G. Пат. США No 3 118 440,1964.
  31. Ware R. W., Laegner Ch, J., Owens T. E., Немецкий пат., No 1 302 482, 1971, prior. USA.
  32. Медицинская электронная аппаратура для здравоохранения: Пер. с англ. / Л. Кромвелл, М. Ардитти, Ф. Вейбелл и др.- Пер. под ред. Р. И. Утямышева. -М.: Радио и связь, 1981.
  33. С. А. Патент Великобритании No 1 227 030, 1970.
  34. Hersh- Lawrence Т. Automatic indirect non-invasive apparatus and method for determining diastolic blood pressure by calibrating an oscillation waveform // Пат. США № 6 517 495
  35. Nasiff- Roger E. Indirect continuous blood pressure method // Пат. США № 5 111 826
  36. Nelson- Craig H. Method and apparatus for indirect blood pressure measurement // Пат. США № 4 799 492
  37. M. Ю. Руденко, В. Б. Алексеев, С. А. Мащок, В. А. Зернов Биофизические явления в системе кровообращения при косвенном измерении артериального давления и анализ приборов для его измерения // «Медицинская техника» № 5 1986 г. стр.26−35.
  38. Hill L. On rest, sleep, and work and the concomitant changes in the circulation of the blood. Lancet. 1898−1:282−285.
  39. О кровяном давлении // http://www.aandd.com.ua/DrAugustql6.htm
  40. Evaluation of the Remler M2000 blood pressure recorder. Comparison with intraarterial blood pressure recordings both at hospital and at home // http://hyper.ahajournals.org/cgi/content/abstract/hypertensionaha-6/2/209.
  41. R. J. O. Davies, N. E. Jenkins, J. R. Stradling. Effect of measuring ambulatory blood pressure on sleep and on blood pressure during sleep BMJ 1994 308: 820 823.
  42. A.H. Методы неинвазивного измерения артериального давления// http://medlinks.ru/print.php?sid=8178.
  43. Eoin O’Brien- Neil Atkins- Jan Staessen A Review of Ambulatory Blood Pressure Monitoring Devices I I http://hyper.ahajournals.Org/cgi/content/full/26/5/835.
  44. Penaz J. Photoelectric Measurement of Blood Pressure, Volume, and Flow in the Finger- Digest of 10th International Conferention on Medical and Biological Engineering., 1973, p. 104.
  45. Анализатор ритмов сердечно-сосудистой системы САКР // http://www.asvomed.ru/php/content.php?id=1022
  46. Спироартериокардиоритмограф, Описание //http://www.int-edu.ru/object.php?ml=468&m2=2&id=798
  47. Accuracy and precision of blood pressure determination with the Finapres: an overview using re-sampling statistics. Journal of human hypertension, 1998 Jun-12(6):403−9.
  48. P. Shaltis, A. Reisner, H. Asada A hydrostatic pressure approach to cuffless blood pressure monitoring //http://web.mit.edu/pshaltis/www/pubs/embc2004cufflessbp.pdf.
  49. A.H. и др. Суточное мониторирование артериального давления при гипертонии (методические вопросы) // http://webmed.irkutsk.ru/doc/pdf/abpmmethod.pdf.
  50. Pressman, G. L. et al., «A Transducer for the Continuous External Measurement of Arterial Blood Pressure», IEEE BME Trans, #10, Apr. 1963, pp. 73−81.
  51. А.П. Моделирование взаимодействия объекта и средства измерения для совершенствования тонометров и термометров //диссертация на соискание уч. степени канд. техн. наук.
  52. Н. С. Жидков Н.П. Кобельков Г. М. Численные методы: Учебник для вузов Изд. 4-е. Бином. Лаборатория знаний 2006, 636 с.
  53. Фофанов П. Н Учебное пособие по механокардиографии // Военно-медицинская ордена Ленина Краснознаменная академия имени С. М. Кирова, Ленинград, 1977 г.
  54. Рекомендации по диагностике, лечению и профилактике артериальной гипертензии у детей и подростков // http://www.cardiosite.ru/medical/recom-diagnoz.asp
  55. С. J1. Кузнецов, Н. Н. Мушкамбаров, В. J1. Горячкина. Атлас по гистологии, цитологии и эмбриологии. М: Медицинское информационное агентство, 2002 г. 376 стр. 60 http://www.omron-med.ru/Intellisense.htm
  56. Э.К. Способ измерения артериального давления и устройство для его осуществления // Патент № 2 048 789, Бюлл. № 33.- 1995.
  57. G.L. Патент США № 3 219 035, 1965.
  58. Newgard, Peter М. Патент США No4423738, 1977
  59. Пат. 2 281 687 Российская Федерация, МПК А61 В 5/022. Способ мониторинга артериального давления / Э. К. Шахов, А. П. Писарев, В. В. Акинин. -заявл. 14.02.2005- опубл. 20.08.2006, Бюл. № 23.unit Unitl-interfaceuses
  60. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, TeEngine, Series, ExtCtrls, TeeProcs, Chart, Unit2, ToolWin, ActnMan, ActnCtrls, XPStyleActnCtrls, ActnList, StdCtrls-type
  61. Forml: TForml- ChildModel: TForm2-implementation {$R *.dfm}procedure TForml. N3Click (Sender: TObject) — begin
  62. Forml.Close- end- // end procedureprocedure TForml. N2Click (Sender: TObject)-1. Var i: integer-begin
  63. Forml.OpenDialogl.Execute thenbeginwith OpenDialogl. Files do for i := 0 to Count -1 do begin
  64. CreateMDIChild (ExtractFileName (Strings1.), i) — Forml.ListBoxl.Items. Add (ExtractFileName (Stringsi.)) — end- end- // end if end- // end procedureprocedure TForml. CreateMDIChild (const Name: string- Nunvlnteger) — begin
  65. Forml.MDIChildren1.BringToFront-
  66. Form 1. ActiveMDIChild as TForm2).PageControll.ActivePageIndex:=j- Break- end- // end if end- // end procedureprocedure TForml. N5Click (Sender: TObject)-var i: integer-begin
  67. For i:=Form 1. MDIChildCount-1 downto 0 do Forml. MDIChildren1.Close- end-end. // end moduleunit Unit2-interfaceuses
  68. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, ComCtrls, TeeFunci-type
  69. Function MinValue (Data: array of Extended): ValCoord-
  70. Function MaxValue (Data: array of Extended): ValCoord-
  71. Function ReadValue (S:String): ResArr-procedure TabSheet2Show (Sender: TObject)-procedure TabSheet3Show (Sender: TObject)-private
  72. Private declarations} public1. Public declarations} end-var
  73. Form2: TForm2- implementation uses Unitl-$R *.dfm}procedure TForm2. FormClose (Sender: TObject- var Action: TCloseAction) —, var i: integer-beginfor i:=0 to Forml.ListBoxl.Items.Count-1 do if Caption = Forml.ListBoxl.Items1. then begin
  74. Form 1. ListBoxl .Items.Delete (i) — Break- end- // end if Action:=caFree- end- // end procedureprocedure TForm2. FormCreate (Sender: TObject) — var
  75. TempArrayl, PartArray: ResArr- // массивы значений из файла, полный и частичный
  76. TempArray2:ResArr-// Тут будет храниться нормализованный массив MaxValue, MinValue: ValCoord- // значения и координаты экстремумов участка кривой ТешрАггауЗ: array of array 1.2. of ValCoord- // массив всех значений экстремумов кривой
  77. Form 1. OpenDialogl .Files.StringsForm 1. OpenDialogl .Tag.o" then begin
  78. Series 1. Clear- // начинаем рисовать первый график1. Series2. Clear-1. Series3. Clear-1. Series4. Clear-1. Series5. Clear-1. Series6. Clear-
  79. PageControll.ActivePageIndex:=0-
  80. TempArray 1 :=ReadValue (Forml .OpenDialogl .Files.StringsForml .OpenDialogl .Tag.) — for i:= 0 to High (TempArrayl)do ^ Series l. Add (TempArrayl1.) —
  81. SetLength (TempArray3, Length (TempArray 1)) — for i:=0 to High (TempArrayl) do begin
  82. For i:=l to High (TempArray3)-l do I begin
  83. TempArray3i, 1. Coord=TempArray3[i+1,1 ]. Coord then inc (jmax) else beginifjmax>10 then begin
  84. SetLength (Maxims, Length (Maxims)+1) — MaximsHigh (Maxims). :=TempArray3 [i, 1 ] end- // end if. then jmax:=0- end- // end if. elseifTempArray3i, 2. Coord=TempArray3[i+l, 2]. Coord then inc (jmin) > elsebeginifjmin>5 then begin
  85. SetLength (Minims, Length (Minims)+1) — MinimsHigh (Minims).:=TempArray3[i, 2] end-//end if. then jmin:=0- end-// end if. else end- // end for
  86. For i:=0 to High (Maxims) do I begin
  87. Series2.AddXY (Maxims1.Coord, Maximsi. Value) — // рисуем график Series6. AddXY (Maxims[i]. Coord, Maxims[ij.Value) — // рисуем график end-
  88. For i:=0 to High (Minims) do begin
  89. SetLength (Amplitudes, Length (Amplitudes)+1) — AmplitudesHigh (Amplitudes).Value:=abs (Maxims1.Value-(Minims[j]. Value+(Maxims[i].Coord-Minims[j].Coord)*(Minims[j+l].Value-Minims[j].Value)/(Minims[j+l].Coord-Minims[j].Coord))) —
  90. Series4.AddXY (Amplitudes1.Coord, Amplitudesi. Value) — end-
  91. SetLength (TempArray2,Length (TempArray 1)) —
  92. TempArray21.:=(TempArray 1 i-2.+TempArrayl [i-l]+TempArrayl[i]+TempArrayl[i+l]+TempArrayl[i+2])/5-a2- // И вычитаем этот минимум нахрен
  93. TempArray21.> Amplitudesl. Value*0.55 then Series5. AddXY (i, l) else Series5. AddXY (i, 0)
  94. Series5.AddXY (i, TempArray21.) — end-end- // end if. then end- // end procedure
  95. Function TForm2. MinValue (Data: array of Extended): ValCoord- var I: Integer- begin
  96. Result. Value := DataLow (Data).- Result. Coord:=Low (Data) — for I := Low (Data) + 1 to High (Data) do if Result. Value > Data1. then begin1. Result. Value := Data1.-1. Result. Coord:=i-end-end- // end function
  97. Function TForm2. MaxValue (Data: array of Extended): ValCoord- var1. Integer- begin
  98. Result. Value := DatafLow (Data).- Result. Coord:=Low (Data)-for I := Low (Data) + 1 to High (Data) do if Result. Value < Data1. then begin1. Result. Value :=DataIJ-1. Result. CoordH-end-end- // end function
  99. Function TForm2. ReadValue (S:String): ResArr- var MyFormat: TFormatSettings- // так, фигня F: TextFile-
  100. TempString:String- // временная строка, в нее читаем строки из файла begin
  101. My Format. Deci mal Separator:-.'- AssignFile (F, S) — // открываем файл. Reset (F)-1. While not EOF (F) do begin
  102. SetLength (Result, Length (Result)+1) — ReadLn (F, TempString)-// читаем из файла. TempString:=Trim (TempString) — if length (Copy (TempString, 1, Pos (' ', TempString)-l))>0 then
  103. Chart2.LeftAxis.Maximum:=Chartl.LeftAxis.Maximum- Chart2.LeftAxis.Minimum:=Chartl.LeftAxis.Minimum- end- end-procedure TForm2. TabSheet3Show (Sender: TObject) — begin1. not Chartl. Zoomed then begin
  104. Chart3.BottomAxis.Maximum:=Chartl.BottomAxis.Maximum- end-end-end. // end module
  105. Листинги основных модулей программы «виртуального тонометра"unit GMMain-interfaceuses
  106. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, TeEngine, Series, StdCtrls, TeeProcs, Chart, ExtCtrls, ComCtrls, Buttons, Menus, ToolWin, ImgList-type
  107. ArPress, ArPr 1: Array 1. .6000. of real- implementationuses ComSight-$R *.DFM}1. Var
  108. TopPress, BottomPress, AverT: Double- Press, Puis: Double-//Integer- Finish: Boolean-
  109. Max, Min, Dif, D01, D02, Criter, CrMax, DMaxLow, DMaxHigh: Double- k, m, mm, u, Index:integer-
  110. Max, IsMin, IsDifCount, IsCrMax, IsFirst: Boolean- T1, T2, T3, T4: Integer-
  111. P1,P2,P3,P4,P5,P6,P7,P8,P9, P10, PI 1, PI 2, PI 3, PI 4, PI 5, PI 6, PI 7, PI 8, PI 9, P20, D1, D2,D3,D4, D5,
  112. D6,D7,D8,D9, D10, D11,D12,D13,D14, D15, D16,D17,D18,D19, D20, D21,D22,D23,D24, D25, TTT, DAver, h, d, hi, dl, dlh, dlMin, dlMinTop, Pmax, TopPressCalk: Double- DifCount: byte-1. F: Text-
  113. PulsFreq:Integer- TimerTic: Integer-
  114. DPW, APress: array 1. 80. of double- Const PressResuIt: BooIean=FaIse- Var PredMin, MMin, AverDPW, TopPr, DeltaP: Double-procedure TfmMain. BitBtn4Click (Sender: TObject) — begin
  115. ArPress1.:= 0- //ArPulsi.:=0- end-
  116. OpenDlg.InitialDir:-D:PressureModelPulsTonometrTonFilesTonF261201'- 1 If OpenDlg. Execute thenbegin
  117. System.Assign (F, OpenDlg. FileName) — Reset (F) — end- i:=0-
  118. While not EOF (F) do begin lnc (i) —
  119. Readln (F, Pr, Pu) — Readln (F, Pr) — Щ ArPress1.:=Pr-1. ArPuls1.:=Pu- end-1. ArSize:=i- end-procedure TfmMain. BitBtn3Click (Sender: TObject) — begin
  120. Sum, Prl, Pr2, Pr3, Pr4, differ: double-begin
  121. Chart2.Series0.Clear- Chart2. Series[ 1 ]. Clear-
  122. Chart2.Series0.AddXY (l, 10) — //Это для того, чтобы оси абсциссI
  123. For i:=l to 80 do DPW1.:=0−1. Criter:=-100−1. DMaxLow:=-100−1. DMaxHigh:=-100−1. CrMax:=-100−1. AverT:=0−1.Min:=False-1.Max:=False-u:=0-
  124. Up.Caption:-'- lbDown. Caption:=" — label8. Caption:=" — DifCount:=4- ' Finish:=False-1. TopPress:=0−1. BottomPress:=0−1. Criter:=0−1.CrMax:=True-dlMinTop:=100-
  125. Сглаживаем кривую давления в манжете путем скользящего усреднения 15 отсчетов } For mm:=l to ArSize -15 do begin Sum:=0-
  126. For i:=m2+l to m3 do ArPrl1.:=ArPressi.-(Pr3-Pr2)/(m3-m2)*(i-m2)-ArPress[l]-
  127. For i:=m3+l to ArSize-15 do
  128. ArPrl1.:=ArPressi.-(Pr4-Pr3)/(ArSize-15-m3)*(i-m3)-ArPress[l]- differ- (ArPrl[m2+l]- ArPrl[m2]) — For i:=m2+l to m3 do ArPrl [i]: =ArPrl [i] -differ- differ: — (ArPrl[m3+l]- ArPrl[m3]) — For i:=m3+l to ArSize-15 do ArPrl [i]: =ArPrl[i]- differ- //
  129. For mm:=l to ArSize do BrandNewLast- Chart3. Series0., Clear- For i:=l to ArSize-15 do Chart3. Series[0]. AddXY (i, ArPrl 1.) end-procedure TfmMain. BrandNewLast- begin Press:=(ArPressmm.
  130. StrToInt (EdReplace.text)/StrToFloat (edScale.Text))*StrToFloat (edScale.Text) — D02:=Press- D01:= ArPrl mm.- If (D02o0) then begin
  131. Chart 1. Series0. Add (D02) —
  132. DOloO then Chart 1. Series 1 .Add (D01)-1. D1<0 then1. IsFirst thenbegin1.D01>Max then begin1. Max:=D01- k:=0-
  133. Max:=False end else Inc (k) — If (k>4)then IsFirst:=False- end-1. not IsFirst then begin IfDOKMin then begin Min:=D01- m:=0-
  134. Min:=False end else Inc (m)-1. (m>4) {and (Max-Min>0.6*Dif)} then begin
  135. MMin:=Min- IsMin:=True- end-1.lsMin then IfD01>Maxthen begin1. Max:=D01- k:=0−1.Max:=Falseendelse1.c (k)-1. k>5 thenbegin1. PredMin:=MMin-1.Max:=True- end-
  136. Dif>10 then Dif:=0-} Max:=-100- Min:=1000−1 //If mm>100 then Chart2. Series0.AddXY (mm, Dif|t10) —
  137. В зависимости от выбранного числа периодов пульсовой волны (длины участка анализа) производится набор исходных данных амплитуды пульсовой волны, давления и моментов времени в точках отсчета}1. APressIndex. :=Press-
  138. DPWIndex.:=Dif- Inc (Index) —
  139. Dif<0.3*D2 then exit- чтобы пропустить локальные экстремумы между основными Т4:=ТЗ-1. ТЗ:=Т2−1. Т2-Т1- Tl:=mm-
  140. Поскольку экстремумы пульсовой волны найдены, устанавливаем начальные значения кит} к:=0- т:=0−1. тт>100 then} Chart2. Series0.AddXY (mm, Dif*10) — If (DPW[4]oO) and (DifM).l) then begin AverT:=(Tl-T4)/3-
  141. TTT:= (Sqr (Tl-T2 -AverT) + Sqr (T2-T3 -AverT) + Sqr (T3-T4 -AverT)) — IfTTT < 50 then If not IsDifCount then begin
  142. PulsFreq:=Round (3000/AverT) — LbPu1s. Caption:=T^bc:'+ IntToStr (Pu1sFreq) — IsDifCount:=True- end- end- end-end-end-end-procedure TfmMain. Button2Click (Sender: TObject) —
  143. Обычно они возникают при экстрасистолах}
  144. DPW1.:= (DPWi+l.+ DPW[i+2])/2- For i:=3 to 60 do1. (DPW1.<0.6* (DPWi+l.+ DPW[i+2])/2)and (DPW[i+2]oO) then DPW[i]: = (DPW[i+l]+ DPW[i+2])/2- }1. For i.-2 to 40 do> begin1. SumPDW:=0−1. DPW i+SumNum.o0 thent)
  145. For j:=i to i+SumNum do SumPDW:=SumPDW+DPWj.- If SumPDW>MaxDPW then begin
  146. MaxDPW -SumPDW- imax:=i+SumNum div 2- end- end-
  147. DPW1.:= DPWi-l.- { For i:=l to 50 do If DPW[i]>1.2*DPW[imax] then DPW[i]: =0-}
  148. Chart2.Series0.AddXY (i*60,DPW1.) — label4. Caption:=IntToStr (Round (APress[imax])) — Pmax:= APress[imax]- crHighPrMax:=-100-
  149. Up. Caption :=Format ('%3.2 f, TopPress.) —
  150. Dovvn.Caption:=Format ('%3.2f, BottomPress.) —
  151. TopPressCalk:=Pmax+(Pmax-BottomPress)-label8.Caption:= Format ('%3.2f, TopPressCalk.)-label 10. Caption:= Format ('%d', Index.)-end-end.
Заполнить форму текущей работой