توضیحات
ECG adaptive linear neural network for fetal monitoring
جداسازی سیگنال قلبی جنین از مادر با استفاده از شبکه عصبی خطی تطبیقی
کاهش نویز در نوار مغز EEG
گزارش این پروژه در حد توضیحات همین صفحه می باشد.
مقدمه
سیگنال قلبی جنین (FECG) یک سیگنال بیومدیکال که فعالیت الکتریکی قلب جنین را برای بدست آوردن اطلاعات حیاتی در مورد وضعیت جنین در زمان حاملگی، از روی سطح بدن مادر تعیین میکند.
این سیگنال در مقایسه با سیگنال مادر سیگنال ضعیفی است و حدود 20% سیگنال مادر را تشکیل میدهد.
سیگنال ECG جنین بسیار شبیه سیگنال بزرگسالان است و دارای موجهای اساسی سیگنال قلبی مانند موج P، کمپلکس QRS و موج T است.
کملکس PQRST آنطور که در شکل 1 دیده میشود یک سیگنال الکتریکی است که با انقباض ماهیچه های قلبی تولید میشود.
قسمتهای مختلف این موج عبارتند از:
1-موج P با انقباض دهلیزها تولید میشود.
2-کمپلکس QRS مربوط به انقباض دهلیزها است.
3-موج T متناظر با رپولاریزاسیونی است که به دنبال هر انقباض قلبی میآید.
شکل 1- وقایع مهم در یک دوره از سیگنال قلبی.
در سیگنالی که از شکم مادر ثبت میشود، سیگنال مادر سیگنال غالب است و باید برای پیدا شدن سیگنال جنین فیلتر شود.
اخیرا روشهایی مانند منطق فازی و شبکه های عصبی برای استخراج سیگنال قلبی جنین پیشنهاد شده اند.
شبکه های عصبی به علت تطبیق پذیر بودن و قابلیت آموزش و ساختار غیر خطی خود استفاده زیادی در روشهای داده کاوی و سیستمهای غیر خطی پیدا کرده است.
در این پروژه از شبکه عصبی خطی در جداسازی سیگنال جنین از سیگنال مادر استفاده میشود.
طراحی شبکه عصبی خطی برای جداسازی سیگنال قلبی جنین
شبکه عصبی خطی دارای تابع غعالیت خطی میباشد.
این شبکه از روش آموزش LMS استفاده میکند.
این شبکه میتواند در حین کار به تغییرات محیط پاسخ دهد.
بلوک دیاگرام روش شبکه تطبیقی ارائه شده در شکل 2 قابل مشاهده است.
همانطور که دیده میشود در این روش سیگنال قلبی گرفته شده از الکترود سینه مادر، که تقریبا تنها سیگنال قلبی مادر در آن وجود دارد و مقادیر تاخیر یافته آن تا چند نمونه به عنوان ورودی به شبکه عصبی داده میشود.
سیگنال شکمی مادر که حاوی هردو سیگنال مادر و جنین است نیز به عنوان هدف به شبکه داده میشود.
در هر نمونه شبکه با داشتن ورودیها و خروجی ذکر شده از خطای خروجی استفاده میکند تا وزنها را به نحوی تغییر دهد که خطا کاهش یابد.
این کار در هر تکرار با استفاده از روش گرادین نزولی با ممان انجام میشود.
در این روش ابتدا وزنهای شبکه به صورت تصادفی انتخاب میشوند و سپس برای هر نمونه از سیگنال شکمی، نمونه متناظر سینه و چند نمونه قبلی آن به شبکه داده میشود و شبکه بعد از انجام محاسبات پیشرو و تعیین خروجی شبکه، خطای خروجی را محاسبه میکند و سپس با رابطه زیر تنظیم وزنها را انجام میدهد.
شکل 2: ساختار فیلتر عصبی ارائه شده.
که در آن ضریب ممان و نرخ آموزش است.
شبکه سیگنال عبور کرده از سینه تا شکم را که در واقع از یک تابع غیر خطی عبور میکند، تقریب میزند.
با داشتن سیگنال مادر در محیط شکم، میتوان آن را از سیگنال شکم کم کرد تا تنها سیگنال جنین باقی بماند.
پیاده سازی در Matlab
برای نشان دادن کارایی الگوریتم فوق برنامه ای در matlab نوشتیم.
این برنامه به صورت زیر است (برنامه main1.m):
clc;clear all;close all;
load ecg2
% —–Control Parameters——%
d=5;% Number of delays
u=.1;% Learning rate
alpha=.01; % Momentum
% —————————–%
برای دیدن ادامه این کد باید این محصول خریداری شود.
در این برنامه ابتدا یک سیگنال 8 کانالة قلبی که از یک مادر باردار گرفته شده لود میشود، سپس کانالهای یک و هشت آن که متناظر با الکترودهای شکمی و قلبی هستند در بردارهای abd و thr ذخیره میشوند.
پارامترهای تنظیمی الگوریتم یعنی نرخ آموزش و ضریب ممان و تعداد تاخیرها توسط کاربر قابل تنظیم هستند.
سپس دو بردار مذکور نرمالیزه میشوند تا مقیاس یکسانی داشته باشند.
سپس وزنهای اولیه به صورت تصادفی در بازه [-1 1] تولید میشوند.
سپس در یک حلقه for برای تمام نمونه ها سیگنال سینه و چند نمونه قبلی آن در وزنها ضرب میشوند تا خروجی شبکه بدست آید و خطای آن در مقایسه با سیگنال شکمی محاسبه گردد.
از این خطا برای تنظیم وزنها استفاده میشود و حلقه تکرار ادامه پیدا میکند.
در هر مرحله سیگنال خروجی شبکه نیز ذخیره میگردد.
بعد از اتمام حلقه با کم کردن سیگنال خروجی شبکه از سیگنال شکمی، سیگنال قلبی جنین بدست میآید و تمامی سیگنالها نمایش داده میشوند.
همچنین روند همگرایی وزنها نیز با نمایش صفحه وزن اول و وزن دوم نمایش داده میشود.
سیگنال مورد استفاده یک سیگنال واقعی است و با هشت کانال از شکم و سینه یک مادر ثبت شده است.
طبیعی است که این سیگنال محتوی مقداری نویز نیز میباشد.
حال عملکرد برنامه را برای مقادیر مختلف نرخ آموزش و ضریب ممان تست میکنیم.
ابتدا مقدار نرخ آموزش را 0.05، ضریب ممان را 0.01 و تعدادتاخیرها را 5 انتخاب میکنیم، شکل سیگنالها بعد از اجرای برنامه به صورت شکل 3 میشود.
همانطور که دیده میشود مدتی طول کشیده تا سیگنال تخمینی به اندازه مطلوب برسد و در نتیجه در زمانهای ابتدایی سیگنال جنین حاوی سیگنال مادر نیز هست.
شکل 3: نتیجه اجرای برنامه با u=.05، و d=5.
با اضافه کردن نرخ آموزش همگرایی وزنها به مقدار نهایی سریعتر اتفاق می افتد.
شکل 4 نتیجه اجرای برنامه را با نرخ آموزش 0.2 نشان میدهد.
شکل 4: نتیجه اجرای برنامه با u=.2، و d=5.
همانطور که دیده میشود در شکل 4 همگرایی سیگنال تخمینی سریعتر از حالت قبل اتفاق افتاده است.
افزایش بیش از حد نرخ آموزش موجب افزایش نوسانات در سیگنال تخمینی و در نتیجه سیگنال جنین میشود که مطلوب نیست.
افزایش ضریب ممان تا حدی باعث کاهش نوسانات سیگنال تخمینی میشود، اما افزایش بیش از حد آن موجب کندی در همگرایی وزنها میگردد.
شکل 5 نتیجه اجرای برنامه را با ضریب ممان 0.2 نشان میدهد.
شکل 5: نتیجه اجرای برنامه با u=.1 2 و d=5.
پارامتر دیگری که بررسی شد تاخیر به کار رفته بود.
برای این کار میزان تاخیر را از 2 تا 16 تغییر دادیم و نتایج را مشاهده کردیم.
بهترین نتیجه با d=5 بدست آمد.
این پارامتر شدیدا به نوع سیگنال و همچنین مشخصه های بدن مادر وابسته است.
زیرا تعیین کننده نوع فیلتری است که سیگنال قلبی با گذر از آن به شکم میرسد.
این روش برای جداسازی نویزهای قابل اندازه گیری از سیگنالها نیز کاربرد دارد.
در برنامه main2.m یک نویز سینوسی به سیگنال قلبی اضافه میشود و بعد سیگنال نویزی و مقیاسی از نویز به برنامه داده میشود.
نتیجه اجرای برنامه حذف نویز از سیگنال است.
در واقع فیلتر استفاده شده در این روش یک فیلتر MA است که ضرایب آن با زمان تغییر میکنند.
شکل 6 نتیجه فیلترینگ یک سیگنال آلوده به نویز 60 هرتز با روش ارائه شده را نشان میدهد.
شکل 6: فیلترینگ سیگنال نویزی با روش ارائه شده.
- انجام پروژه شبکه عصبی با متلبی
کلید واژه : بیومدیکال، شبکه عصبی،,پروژه متلب,شبیه سازی با متلب,matlab project,پروژه های matlab,
Neural network, fetal monitoring, fetal electrocardiography (ECG), QRS, maternal ECG, pregnancy
شبیه سازی
ECG adaptive linear neural network for fetal monitoring
به تعداد محدودی قابل فروش می باشد.
سفارش انجام پروژه مشابه
درصورتیکه این محصول دقیقا مطابق خواسته شما نمی باشد،.
با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.