شنبه, 21 ارديبهشت 1392 ساعت 18:41

ثبت ECG و انتقال آن از طريق بلوتوث كاربردي از نرم افزار LabVIEW

نوشته شده توسط

 

با پيشرفت تكنولوژي، ارتباطات بي سيم بالاخره جايگزين روش هاي ارتباطي سابق شد. بلوتوث هم يكي از همين روش هاي ارتباطي است كه به طور خودكار عمل مي كند و در چند سال اخير استفاده از آن گسترش يافته است. بارز ترين نكته مثبت بلوتوث اين است كه مي تواند ارتباطي بي سيم، ارزان و خودكار بين دستگاه هاي الكترونيكي برقرار كند. بدين ترتيب نيازي به استفاده از سيم هاي طولاني نيست؛كه اين امر سبب كاهش نويزهاي وارده به سيگنال مي شود. به كمك اين ارتباط، ثبت، تحليل و تفسير سيگنال هاي حياتي بيمار، مي‌تواند در قسمت هاي مختلف بيمارستان انجام پذيرد و نيازي به متمركز شدن همه عوامل در يك جا نيست.

 

ثبت سيگنال و انتقال به كامپيوتر
مدار دريافت سيگنال از بدن، اختلاف ولتاژ دست راست و چپ را توسط يك تقويت كننده ديفرانسيلي به نام  620ADدريافت مي كند.اين ولتاژ همان سيگنال  ECGاست كه داراي بسياري از اطلاعات حياتي بيمار است. سيگنال  ECGتركيبي از سيگنال هايي با هارمونيك هاي مختلف است كه داراي فركانس هايي بين 15/0 تا 100 هرتز هستند. لذا در طراحي مدار مربوطه از فيلتر هاي بالا گذر و پايين گذري استفاده كرده‌ايم تا محدوده فركانسي خارج از اين ناحيه را حذف كنند. همچنين جهت حذف نويز برق شهر و ساير نويز هاي محيطي كه روي دريافت سيگنال اثر سوء دارند، از فيلتر  Notch  و روش هايي چون درايور پاي راست، شيلد كردن سيم هاي دريافت سيگنال و اتصال زمين و بدنه دستگاه به زمين واقعي، استفاده كرده ايم. با توجه به اينكه سيگنال دريافتي بسيار كوچك و در حد دهم ولت است، آن را تقويت كرد تا در حد ولت شود. سپس سيگنال مطلوب به دست آمده به كمك ميكرو پروسسور  16ATmegaبه ديجيتال تبديل شده و  از طريق پورت سريال وارد كامپيوتر مي شود. از مزيت هاي اين ميكرو اين است كه داري مبدل  ADCداخلي است كه داراي خصوصيات زير  است:
‌دقت 10 بيت
‌زمان تبديل 65  )Conversion  Time(تا  125
‌كانال ورودي تك پايه  )Single  Ended(مولتي پلكس شده 
 ‌كانال ورودي ديفرانسيلي
‌كانال ورودي ديفرانسيلي با بهر“ قابل انتخاب 10 Xو 200 X
‌محدود“ ولتاژ ورودي  ADCاز 0  تا  Vcc
‌ولتاژ مرجع v  56/2قابل انتخاب براي  ADC
‌امكان تريگر شدن خودكار شروع تبديل  ADC، با منابع  مختلف 
‌ايجاد وقفه در پايان تبديل  ADC
‌مد   Sleep   )Noise Canceller(براي كاهش نويز  ADC
ميكروكنترلر هاي  AVRاز  ADCنوع تقريب هاي متوالي  approximation  successiveاستفاده مي كنند. ADCيك پايه تغذيه آنالوگ مجزا دارد  (AVCC)، پايه  AVCCنبايد بيشتر ازV3/0  ‌اختلاف داشته باشد. ولتاژ مرجع مي تواند به صورت داخلي با مقدار V‌56/2 يا ولتاژپايه  AVCCيا به صورت خارجي ومتصل به پايه  AREF، همراه با يك خازن براي كاهش نويز انتخاب شود.

ارتباط سريال
منظور از ارتباط سريال، ارتباطي است كه از يك خط استفاده كرده، بنابراين در هر لحظه تنها يك بيت مي تواند بين فرستنده و گيرنده مبادله شود.
نحوه ارتباط مدارات خارج از رايانه با برنامه  LabVIEWرا با توجه به مزيت هاي آن و به خاطر كم كردن هزينه ها ، مي توان به صورت سريال انتخاب كرد. فقط بايد توجه كرد كه انتقال سريال اطلاعات به رايانه داراي محدوديت هايي است كه مهمترين اين محدوديت ها، فركانس كاري سيستمي است كه از طريق پورت سريال به تبادل اطلاعات با رايانه مي پردازد.  در مورد  ECGچون فركانس ضربان قلب درحد hz 3/1  ‌است، استفاده از اين ارتباط مشكلي را به وجود نمي آورد.استاندارد  232RSيكي از قديمي‌ترين استانداردهاي ارتباطات فيزيكي در جهان كامپيوتر است. اين استاندارد ارتباط سريال كم‌هزينه‌اي را معرفي مي كند، كه از طريق يك سيستم نيرومند، بيت ها را به طور مرتب در يك سيم مسي ارسال مي‌كند.
خروجي هاي  233MAXولتاژهاي 10 -و 10+ ولتي را توليد مي كند و سطوح منطقي  TTLرا به سطوح منطقي  232RSتبديل مي كند.
ازقابليت هاي بسيار خوب  Lab VIEW  داشتن برنامه هاي كاربردي در كتابخانه خود است كه از جمله اين برنامه ها، برقراري ارتباط سريال بين  LabVIEWو پورت سريال است. براي اين كار لازم است ورودي رايانه را به كمك يك مبدل كه در خود نرم افزار وجود دارد از آرايه به استرينگ تبديل كرد و در نهايت توسط نمودار آن را نمايش داد.

بلوتوث
بلوتوث يك استاندارد راديويي و پروتكل ارتباطي براي مصارف با توان پايين و برد كوتاه (1متر، 100 متر) است كه با نصب يك ميكروچيپ ارزان قيمت در دستگاه ها فعال مي شود. دستگاه هايي كه در حدفاصل مجاز از يكديگر قرار دارند مي توانند با استفاده از بلوتوث با يكديگر ارتباط برقرار كنند. از آنجا كه اين دستگاه ها از يك سيستم ارتباطي راديويي استفاده مي كنند احتياجي به خط ديد مستقيم بين آن‌ها وجود ندارد و حتي مي‌توانند در اتاق هاي مجزا از هم باشند. با توجه به طرح هاي مختلف آنتن ها، ميزان تضعيف سيگنال در مسير انتقال و ساير متغيرها، بردهاي موجود هم متفاوت هستند. اما در نهايت بايد در محدوده يكي از سه كلاس موجود بگنجند:

كلاس100 :1  متر،   MW100، DBM 20
كلاس10 :2  متر MW5/2، DBM 4
كلاس 1:3 متر،  MW1، DBM 0

عملكرد
همان طور كه اشاره شد، شبكه بلوتوث داده ها را از طريق امواج ضعيف راديويي منتقل مي كند. ارتباطات بلوتوث در فركانس 45/2 گيگاهرتز  صورت مي گيرد. 
اطمينان از عدم تداخل دستگاه هاي مختلف با يكديگر يكي از مهم ترين اهداف طراحان اين تكنولوژي بوده است. يكي از روش هايي كه دستگاه هاي بلوتوث با استفاده از آن از تداخل با ديگر سيستم ها جلوگيري مي كنند، ارسال سيگنال هاي بسيار ضعيف (حدود يك ميلي‌‌وات) است. همين قدرت پايين، برد يك دستگاه بلوتوث را به 10 متر كاهش مي دهد و متقابلاً احتمال تداخل با ديگر دستگاه ها را نيز كمتر مي كند. با وجود قدرت پايين سيگنال در ارتباط بلوتوث، نيازي به خط ديد مستقيم بين دو دستگاه وجود ندارد. 
با استفاده از بلوتوث مي توان 8 دستگاه را به طور همزمان به هم متصل كرد. علي رغم اينكه همه دستگاه ها در شعاع 10 متري يكديگر قرار دارند هيچ گونه تداخلي در ارتباط بين  آن‌ها پيش نمي آيد. اين بدان دليل است كه بلوتوث با استفاده از تكنيكي با عنوان پرش فركانس ها  )SSFH(امكان استفاده همزمان از يك فركانس مشخص را در بيش از يك دستگاه غيرممكن مي‌سازد. در اين تكنيك بلوتوث طيف فركانسي   ISMرا به 79 فركانس مجزا تقسيم كرده و دستگاه مورد نظر بر مبناي معيارهاي خاص در هر لحظه به صورت تصادفي يكي از اين فركانس ها را انتخاب كرده و استفاده مي كند. در ارتباطات بلوتوث دستگاه فرستنده در هر ثانيه 1600 بار فركانس عوض مي كند. بدين ترتيب تعداد دستگاه هاي بيشتري مي توانند از طيف راديويي استفاده كنند و امكان تداخل بين آن ها هم كاهش مي يابد.

انتقال داده به كمك لب ويوو از طريق بلوتوث
برنامه جامع براي خواندن پورت سريال، تبديل ديجيتال به آنالوگ و ارسال از طريق بلوتوث در شكل2  نشان داده شده است.
پورت سريال  :Init.Vi پورت سريال انتخاب شده را براي تنظيمات تعيين شده، مقدار دهي اوليه مي كند. اگر در اين حين خطايي اتفاق افتد، كد خطا در  error codeنمايش داده مي شود.
پورت سريال  :read.Vi ‌تعداد كاراكترهاي مشخص شده توسط  requested byte countاز پورت سريال را  كه در  port numberمشخص شده است  مي خواند.  سپس رشته دريافتي را به عدد تبديل كرده و با توجه به تناسب زير كه با اندازه گيري ولتاژ ورودي به دست آمده است،  مجددا عدد ديجيتال براي نمايش در گراف، به آنالوگ تبديل مي شود:


(1)
 ‌كه  Vaولتاژ آنالوگ اوليه و  Digital Numberعدد خوانده شده از پورت سريال است. با توجه به اين تناسب مي توان به رابطه زير دست يافت:


(2)
 ‌كه اين رابطه در شكل2 به كمك يك بلوك ضرب و يك بلوك تقسيم پياده سازي شده است.
 Bluetooth   create   listener:يك كانال بلوتوث را مشخص مي كند كه سرور مي‌تواند از آن براي اتصال به ورودي استفاده كند.
 :Bluetooth   wait   listenerمنتظر مي ماند تا درخواست ارتباط، پذيرفته شود.
پس از تبديل عدد ديجيتال به آنالوگ، و پذيرفته شدن درخواست ارتباط، موج دريافتي وارد بلوك  Bluetooth writeمي شود، اين بلوك ديتا را روي شبكه بلوتوث مي‌نويسد. سپس  Bluetooth read ‌تعداد  بايت ها را از يك ارتباط شبكه بلوتوث خوانده و نتيجه را روي   data outنشان مي دهد.
در صورتي كه كاربر حلقه  whileرا متوقف كند،  يا خطايي رخ دهد، Bluetooth close connection، ارتباط شبكه بلوتوث را قطع مي كند. اگر يك خطا اتفاق افتاده است،  Simple Error Handler.Viرخ دادن خطا را نشان و آن را توضيح مي دهد.
 :Bluetooth Discover ‌اين بلوك نام وآدرس بلوتوث متصل به كامپيوتر اصلي را شناسايي كرده و نمايش مي دهد. در قسمت   channelشماره كانال مورد نظر را مي‌نويسيم. 
شكل 3، شكل موج قلبي دريافتي از پورت سريال را نشان مي دهد كه در آن  port numberشماره پورت  COMمورد استفاده است.
لازم به ذكر است كه ارسال اطلاعات از ميكرو مي تواند به صورت 7 يا 8 بيت صورت گيرد. پس از اتمام اين 7 يا 8 بيت (تعداد بايت ها  را كه 7 يا 8 هستند مي توان در تنظيمات نرم افزاري ميكرو  تغيير داد ) مي توان يك بيت اختياري به عنوان بيت خطاياب  )Parity(جهت اطمينان از صحيح ارسال شدن اطلاعات بيت ها فرستاده شود. پس از منتقل شدن بيت خطاياب يك يا چند بيت توقف  )Stop Bit(ارسال مي شود تا اطمينان حاصل شود كه خط در وضعيت  Markقرار دارد و براي انتقال بايت بعدي آمادگي دارد.  در اين پروژه اطلاعات در ميكرو به صورت 8 بيت ، 1stopو بدون بيت خطاياب ارسال شد. تنظيمات دريافت اطلاعات از پورت  COMدر  LabVIEW ‌نيز بايد با توجه به تنظيمات ميكرو انجام گيرد.

دريافت داده از طريق بلوتوث
آدرس بدست آمده  در قسمت  addressاز برنامه   serverرا در برنامه  ( Clientشكل4) مي‌نويسيم (اين برنامه در كامپيوتر ديگري تحت عنوان كامپيوتر  Clientيا كامپيوتر دريافت‌كننده سيگنال اجرا مي شود) و در قسمت  channelشماره كانال را مطابق با شماره انتخاب شده در برنامه   serverانتخاب مي كنيم. در اين پروژه از كانال شماره 1 استفاده شده است.
 Bluetooth open connectionكانال مورد نظر را براي ارتباط با آدرس داده شده باز مي كند. Bluetooth   read، ديتا را از شبكه بلوتوث خوانده و نتيجه را روي  data outنمايش مي دهد. سپس مجددا   Bluetooth writeديتا را روي شبكه بلوتوث مي نويسد. در اين هنگام اگر خطايي اتفاق افتد يا كاربر دكمه  stopرا فشار دهد، دريافت داده متوقف مي شود و ارتباط شبكه بلوتوث قطع مي شود. 
شكل5، شكل موج قلبي دريافتي از طريق بلوتوث را نشان مي دهد. نكته قابل ذكر اين است كه سرعت ارسال و دريافت داده به حدي است كه انتقال به صورت  real timeانجام مي‌شود.

 منبع:ماهنامه مهندسی پزشکی