نویسندگان:
مسلم بگل (دانشجوی کارشناسی ارشد مهندسی پزشکی دانشگاه علوم و تحقیقات تهران)
بشری عمید (فارغ التحصیل کارشناسی مهندسی پزشکی دانشگاه آزاد اسلامی واحد دزفول)
ندا صادق جولا (فارغ التحصیل کارشناسی مهندسی پزشکی دانشگاه آزاد اسلامی واحد دزفول)
دانلود کامل مقاله :
http://www.iranbmemag.com/fa/issue/d...=file&i=1091&n
یكی از كاربردهای گسترده پزشكی از راه دور كه امروزه بسیار مورد توجه قرار گرفته، انتقال سیگنال های ECG از طریق اینترنت است . نرم افزار لب ویو این امكان را به كاربر می دهد تا به راحتی و در فضایی كاملا مهندسی این اطلاعات را ارسال كند. Labview در واقع ابزار یك میزكار(Workbench) مهندسی بوده كه حالت پیشرفته یك زبان برنامه نویسی گرافیكی است و زمان زیادی از تولد آن نمیگذرد. اساس برنامه نویسی مطابق با اصطلاحات مهندسی نامگذاری شده اند و به همین دلیل كار كردن با آن برای یك متخصص بسیار راحت است و این قدرت را به فرد می دهد كه ایده ذهنی خود را بدون درگیر شدن با اصول و كلمات برنامه نویسی مبتنی بر متن پیاده سازی كند و نتیجه آن را تحلیل كند.نرم افزار LabVIEW وToolkit های مرتبط با آن، مانند (Advanced signal processing Toolkit (ASPT و (Digital Filter Design Toolkit (DFDT محیطی كارامد و ابزاری مناسب جهت رفع مشكلات پردازش سیگنال ECG برای كاربر ایجاد می كند. دراین پروژه از این نرم افزار قدرتمند برای حذف نویز،آنالیز و استخراج سیگنال ECG جنین و در نهایت انتقال این سیگنال از طریق اینترنت استفاده شد . این راه كار نه تنها در تشخیص بیماری های قلبی موثر است بلكه راهی است برای پردازش دیگر سیگنالهای حیاتی نظیرEEG و EGG و ....
دستگاه الكتروكاردیوگراف ، سیگنال های الكتریكی قلب را به صورت نموداری بر حسب ولتاژ نمایش می دهد. آشكارسازی پیك های R و كمپلكس QRS در یك سیگنال ECG اطلاعاتی در مورد ریتم قلبی، سرعت هدایت ،شرایط بافت های داخل قلبی ، عوارض قلبی و پاسخ قلب بیمار در برابر داروهای مختلف را آشكار می سازد. نوار قلب جنین نیز شامل فاكتورهای مهمی در مورد شرایط سلامتی جنین است و می تواند یك ابزار تشخیصی قابل توجه باشد. همانند ECG افراد بالغ ،كمپلكس ECG وتغییرات ریتم قلبی جنین دو پارامتر مهم اندازه گیری هستندكه می توانند از ECG استخراج شوند.
هدف این پروژه جداسازی سیگنال ECG جنین از ECG مادر با استفاده از فیلتر تطبیقی و نرم افزار LabVIEW و در نهایت ارسال این سیگنال از طریق اینترنت و شبكه است.
سیگنالی كه از شكم مادر به دست می آید تركیبی از ECG جنین €ECG مادر و نویز است كه نویز ها در مرحله پیش پردازش حذف می شود. به طور كلی سیگنال ECG ثبت شده اغلب توسط نویز و آرتیفكت آلوده می شود :
این نویز ها عبارتند از :
1- تداخل خطوط نیرو
2- آرتیفكت های حركتی
3- نویز ناشی از دیگر بیو پتانسیل های حیاتی ( EMG ، EGG و...)
4- انحراف از خط مبنا
در بخش سخت افزاری با استفاده از فیلتر های پایین گذر ،بالا گذر، فیلتر حذف برق شهر ( NOTCH FILTER) و نهایتا استفاده از فیلتر میان گذر و استخراج طیف فركانسی HZ2 تا HZ158 نویز های موجود را حذف كردیم. برای این منظور از 8 كانال برای استخراج ECG جنین استفاده شد ، سیگنال ECG سینه ای مادر نیز توسط سه لید سینه ای و سیگنال شكمی را توسط 5 لید شكمی ثبت شدند .
ثبت سیگنال قلبی و پردازش
از سال 1960 روش های مختلفی برای آشكارسازی نوار قلب جنین شكل گرفت.بیشتر این روش ها روی تركیب سیگنال های چند كاناله متمركز هستند.یك روش مستقیم تفریق ECG سینه ای مادر از ECG مخلوط شكمی است.روش دیگر به كارگیری آنالیز مولفه های مستقل (ICA) است كه روشی برای بازیابی سیگنال های مخفی مستقل از یك مشاهده چند كاناله است.رهیافت دیگر استفاده از فیلتر تطبیقی (ADF) است كه در این طرح از این روش استفاده شده است .
روش آنالیز مولفه های مستقل (ICA)
ICA با فرض اینكه مولفه ها از نظرآماری مستقل هستند مولفه های مورد نظر را از تركیبشان استخراج می كند. فرض كنید كه مشاهد X یك Superposition از سیگنال منبع S است به طوری كه می توان گفت:
كه A نشان دهنده یك ماتریس مختلط است.فرض استقلال آماری سیگنال های S به شما اجازه می دهد كه هردو مشاهده نا شناخته S و A را از مشاهده X تخمین بزنید. در اینجا ECG مادر و ECG جنین می توانند به عنوان مولفه های مستقل كه بخش هایی از S هستند پردازش شوند.در حالی كه X از ثبت ECG اصلی تشكیل شده است.با اجرای ICA شما می توانید تخمینی از S به دست آورید. در واقع هر دو سیگنال ECG مادر و ECG جنین به دست می آید . با استفاده از جعبه ابزار LabView ASPT می توان به آسانی یك FHR) Fetal Heart Rate) مناسب استخراج كردكه در شكل 1 نشان داده شده است.
در شكل 1 ، ورودی های تابع ICA ، سیگنال های ECG به دست آمده از 8 كانال(5 كانال شكمی و3 كانال سینه ای) هستند. سیگنال ECG جنین به عنوان یكی از مولفه های مستقل از خروجی به دست می آید.
شكل 2 سیگنال ECG شكمی و ECG جنین استخراج شده توسط ICA را به ترتیب نشان میدهد.همان طور كه در شكل مشاهده می كنید ECG مادر به طور موثری تضعیف شده و ریتم قلب جنین به طور دقیق مشخص شده است.
روش استفاده از فیلتر تطبیقی
فیلتر تطبیقی این امكان را به ما می دهد تا با داشتن یك مقدار مرجع، شاخص اجرایی مورد نظرمان را بر اساس تنظیمات داخلی بهینه سازی كنیم. فیلتر های تطبیقی در محدوده وسیعی از جمله حذف نویز مورد استفاده قرار می گیرند. در آشكار سازی ECG جنین ، در واقع ECG مادر نویز محسوب می شود كه در شكل 3 نحوه حذف آن به كمك ADF نشان داده شده است.
پارامترهای نشان داده در شكل 3 به شرح زیر هستند:
(d(k:سیگنال شكمی كه شامل سیگنال مطلوب(FECG)s(k) و سیگنال نویز (MECG)n(k) است.
(r(k: سیگنال مرجع ECG سینه ای است كه وابسته به(n(k و مستقل از(s(k بوده كه در نتیجه عبور آن از فیلتر تطبیقی w(z) تخمینی از (n(kبه دست میآید كه در نهایت به دنبال تفریق از (dk) تخمینی از FECG به دست می آید.
LMS : الگوریتم Least Mean-Square جهت پیدا كردن مناسب ترین ضرایب برای بهینه سازی فیلتر استفاده می شود.
در واقع اساس كار ADF ،مینیمم كردن خطا بین سیگنال منبع و سیگنال نویز است. پیاده سازی این روش را در نرم افزار LABVIEW در شكل 4 مشاهده می كنید.
همان طور كه در شكل4 نشان داده شده است یك نویز سفید توسط EMB Uniform White Noise Waveform تولید می شود كه به وسیله یك جمع كننده با سیگنال ورودی جمع می شود و سیگنال آماده پردازش را تولید می كند.
سیگنال ورودی كه یك سیگنال نوسانی است توسط Frequncy Sweep Generator Express VI تولید می شود. ورودی فیلتر ( LMSسیگنال نویز) به عنوان سیگنال Refrence در نظر گرفته می شود. فیلتر LMS توسط دو عدد ثابت بهینه می شود كه این اعداد عبارتند از: مرتبه فیلتر و ضریب همگرایی.
توجه كنید كه خروجی فیلتر LMSدر واقع تخمینی از نویز است، بنابراین لازم است خروجی آن از سیگنال نویزی كم شود تا سیگنال بدون نویز به دست آید. سیگنال آلوده به نویز و سیگنال بدون نویز را به یك بلوك مقایسه گر داده و در نهایت خروجی را كه تقریب مناسبی از سیگنال بدون نویز ورودی است به بلوك Wave Form Graph داده تا سیگنال خروجی را مشاهده كنیم. شكل 5 سیگنال آلوده به نویز و سیگنال خروجی بدون نویز را نشان می دهد.
بر اساس همین روش و با استفاده از فیلتر تطبیقی در نرم افزار Labview می توان به سیگنال ECG جنین دست یافت. طریقه نوشتن برنامه در شكل 6 نشان داده شده است.
در شكل 7 مشاهده می كنید كه فیلتر تطبیقی با تنظیمات و Step Size مناسب می تواند ECG مادر را تخمین زده و ECG جنین را استخراج كند.
ارتباط سریال
نحوه ارتباط مدارات خارج از رایانه با برنامه LabVIEW را به دلیل سادگی ارتباط و كم كردن هزینه ها ،به صورت سریال انتخاب كرده ایم. انتقال سریال اطلاعات به رایانه دارای محدودیت هایی است كه مهم ترین این محدودیت ها، فركانس كاری سیستمی است كه از طریق پورت سریال به تبادل اطلاعات با رایانه میپردازد. در مورد ECG به دلیل پایین بودن فركانس ضربان قلب، استفاده از این ارتباط مشكلی را به وجود نمی آورد.
مدار واسط بین رایانه و مدار دریافت كننده سیگنال قلبی
ارتباط سریال USART یكی از پروتكل هایی است كه توسط انواع كامپیوترها نیز حمایت می شود لذا برای برقراری ارتباط بین میكروكنترولر و كامپیوتر غالبا از این روش استفاده می شود .
بعضی از انواع AVR تنها از ارتباط سریال UART پشتیبانی می كنند، به این معنی كه ارتباط سریال تنها به صورت آسنكرون قابل انجام است و انواع پیشرفته تر میكروكنترلر های AVR می توانند به صورت سنكرون و آسنكرون ارتباط برقرار كنند.این دو نوع ارتباط سریال از نظر محل بیت ها در داخل رجیستر ها ، نحوه تولید نرخ ارسال و دریافت اطلاعات و عملكرد بافر مربوط به ارسال اطلاعات كاملا مطابقت دارند و تنها عملكرد بافر مربوط به دریافت اطلاعات در ارتباط سریال USART بهبود یافته است.
پس از به دست آوردن سیگنال تقویت شده ECG ، اولا باید این سیگنال آنالوگ تبدیل به دیجیتال شود تا برای رایانه قابل فهم باشد و ثانیا به دلیل اینكه می خواهیم به صورت سریال این اطلاعات را ارسال كنیم ، بایستی این اطلاعات به صورت سریال كدگذاری شوند بعد عمل ارسال صورت بگیرد.برای انجام این دو كار به راحتی میتوان از میكروكنترل های AVR استفاده كرد. از آنجا كه برای برقراری ارتباط سریال با رایانه ناچاریم از 232(RSپورت سریال) استفاده كنیم، لازم است به نحوی بتوانیم سطوحTTL ایجاد شده توسط میكرو و 232RS را به یكدیگر تبدیل كنیم. عموما برای تبدیل این سطوح ولتاژ به یكدیگر از تراشه 232Max یا 233Max استفاده می شود. استفاده از این قطعه بسیار ساده و در عین حال ضروری است. نكته بسیار جالب این تراشه این است كه با تغذیه 5 ولتی در خروجی های 232MAX ولتاژهای 10- و10+ ولتی را تولید می كند. انجام این كار به چهار خازن 1تا22 میكروفاراد نیاز دارد كه عموما از خازن 22 میكرو فارادی كه به پایه های آن متصل می شوند صورت می گیرد. این خازن ها ولتاژها را از داده های قبلی در خود ذخیره كرده و با جمع آن ها داده ها را به 232RS تبدیل می كند. آنچه كه باید در اینجا مورد توجه قرار بگیرد، این است كه چون ورودی سریال Labview فقط میتواند از نوع رشته ای باشد، به همین دلیل خروجی میكرو را نیز باید به صورت رشته در نظر گرفت.
ازجمله قابلیت های بسیار خوب LabVIEW داشتن برنامه های كاربردی و مفید در كتابخانه خود است كه از جمله این برنامه ها،برقراری ارتباط سریال بین LabVIEW و پورت سریال است كه می توان با ایجاد تغییرات اندكی در خروجی این برنامه، به هدف خود رسید. برای این كار لازم است كه ورودی رایانه را به وسیله یك مبدل كه در خود نرم افزار وجود دارد، از آرایه به استرینگ تبدیل كرد و پس از عبور دادن از فیلترهای مورد نظر و انجام عمل پردازش توسط یك نمودار آن را نمایش داد.
ارسال سیگنال از طریق اینترنت و شبكه
بخش بعدی پروژه ارسال سیگنال های جنین از طریق اینترنت و شبكه است. در این قسمت از پروتكل TCP/IP استفاده شده است.
پروتكل ها
پروتكل به زبان عمومی است كه در ارتباطات رایانه ای مورد استفاده قرار میگیرد . یك پروتكل ارتباطی، روشی تعریف شده است كه به شما اجازه میدهد تا مشخص كنید كه چه داده ای را به كجا ارسال كنید .
مزایای استفاده از این پروتكل نسبت به دیگر پروتكل ها عبارت است از :
به كمك این پروتكل (TCP/IP) برقرار كردن ارتباط بین چندین رایانه كه از سیستم عامل های متفاوت استفاده می كنند امكان پذیر است. رایانه هایی كه به صورت شبكه با یكدیگر ارتباط دارند می توانند در فواصل بسیار دور نسبت به یكدیگر قرار داشته باشند. به عبارت دیگر به كمك این پروتكل می توانید فرایند دریافت اطلاعات را روی یك رایانه شخصی در ایران انجام دهید، سپس نتایج حاصله را از طریق اینترنت برای رایانه ای دیگر در كشور دیگر ارسال كرده و به صورت آنلاین نتیجه را مشاهده كرده و از صحت انتقال اطلاعات اطمینان حاصل كنید. البته هیچ لزومی ندارد كه رایانه های شبكه شده در فواصل دور نسبت به یكدیگر قرار گیرند. آنچه كه در این پروتكل ارتباطی نیاز دارید سخت افزار و نرم افزار مناسب جهت اتصال به یك شبكه رایانه ای است.شایان ذكر است كه این شبكه بایستی پروتكل TCP/IP را پشتیبانی كند.
TCP و IP مخفف عبارت Transmition Control Protocol و Internet Protocol هستند. IP داده های مورد نظر را كه در اصطلاح به آن ها datagram می گویند تقسیم كرده ، سپس آن ها را ارسال می كند. IP به صورت هوشمند عمل نمی كند، بدین معنی كه هیچ گونه سیگنال hand shaking را برای رایانه مقصد ارسال نمیكند.
این محدودیت می تواند باعث بروز مشكلات عدیده ای شود. عملكرد پروتكل IP را می توان نظیر ارسال یك نامه از طریق پست معمولی در نظر گرفت. در ارسال نامه به روش معمولی تضمینی مبنی بر رسیدن بسته به مقصد وجود ندارد. در مورد پروتكل IP نیز هیچ گونه ضمانتی مبنی بر دریافت datagram توسط گره مقصد وجود ندارد. ولی پس از آن TCP ظهور كرده و به پروتكل IP افزوده شد. TCP/IP عملیات hand shaking را انجام می دهد و ارسال datagram ها را نیز به مقصد تضمین می كند.
مراحل فرایند برقراری ارتباط در یك رایانه میزبان به صورت زیر است :
1 - درخواست برقراری ارتباط TCP، در صورت عدم پاسخ توسط برنامه سرویس دهنده، برای جلوگیری از توقف برنامه خطای time out در برنامه گنجانده شده است.
2 - نوشتن داده ها، لازم است كه داده ها همواره به صورت رشته ای منتقل شوند.
3- قطع ارتباط .TCP
مراحل برقراری ارتباط در رایانه هدف به صورت زیر است:
1- انتظار برای دریافت یك درخواست ارتباطی .TCP
2- خواندن داده ها، داده ها همواره به صورت رشته ای دریافت می شوند.
3- قطع ارتباط .TCP
جهت ارسال سیگنال ها ابتدا آدرسIP كامپیوتر هدف و پورت باز آن تعیین می شود.
پورت اختصاصی نرم افزار لب ویو جهت ارسال و دریافت سیگنال ها از طریق اتصال TCP/IP پورت 3363 است كه باید در نرم افزار فرستنده و گیرنده سیگنال فعال شده باشد. البته این پورت در تنظیمات نرم افزار به صورت پیش فرض بوده و امكان تغییر آن به شماره پورت دلخواه نیز وجود دارد.
در VI نوشته شده زیر ابتدا در بلوك TCP Open Connection آدرس IP و پورت كامپیوتر هدف مشخص شده و سپس سیگنال استخراج شده جنین پس از تبدیل شدن به یك آرایه در یك حلقه While كلیه اعداد آن به صورت رشته ای تبدیل میشود و از طریق بلوك TCP Write اطلاعات ارسال می شوند.
در سوی دیگر كامپیوتر هدف در حالت انتظار قرار گرفته و توسط VI زیر تك تك سیگنال ها دریافت شده و به صورت شكل موج نمایش داده می شوند.
نتیجهگیری
همانطور كه عنوان شد LabVIEW نرم افزاری قوی در ایجاد ارتباط سریال است كه برنامه نویسی آن آسان بوده و به صورت بلوكی است. در فضای خارج از كامپیوتر نیز می توانیم از میكرو كنترلر های مختلفی مانند 8051 ، AVR ، PLC و... استفاده كنیم. طرحی كه در این بخش جهت استفاده از نتیجه حاصله از ایجاد ارتباط سریال بین میكروكنترلر AVR و برنامه نرم افزاری LabVIEW و در نهایت ارسال آن از طریق اینترنت گرفته شده، ثبت FECG است. این امر در نتیجه پیش پردازش هایی در نرم افزار لب ویو این امر محقق شده و در نهایت سیگنال حاصله به رایانه دیگر از طریق اینترنت یا شبكه ارسال می شود.
به عنوان طرح های آتی این امكان وجود دارد تا در نرم افزار لب ویو آریتمی های سیگنال قلبی جنین نیز استخراج شده و اطلاعات مختلف این سیگنال پس از استخراج جهت اهداف درمانی و تشخیصی به رایانه های دیگر در هر نقطه از جهان ارسال شود.
منابع
[1] Ping Gao, Ee-Chien Chang, Lonce Wyse, "Blind Separation of Fetal ECG From Single Mixture Using SVD and ICA".
[2]S.M.M. Martens, J.W.M. Bergmans, S.G. Oei , " Signal processing in non-invasive fetal electrocardiography"
[3] Kamran Jamshaid, Omar Akram, Farooq Sabir, Dr. Syed Ismail Shah, Dr. Jamil Ahmed, "Application of Adaptive and Non Adaptive Filters in ECG Signal Processing".
[4]Designing Filters Using the NI LabVIEW Digital Filter Design Toolkit- Developer Zone - National Instruments.htm
[5] SDSU Biomedical Engineering Student Projects.htm
[6] میكرو كنترولرهای AVR و كاربرد های آن/مولف امیر رهافروز ، تهران،"نص" ، 1385
[7] راهنمای جامع ( LabVIEWلب ویو) زبان برنامه نویسی گرافیكی / نویسنده فربد قابوسی ، ویراستاران كوروش عظیمی ، مهدی صرافی - تهران : آفرنگ ، 1381 .منبع : ماهنامه مهندسی پزشکی
علاقه مندی ها (بوک مارک ها)