انجام پروژه پردازش سیگنال

انجام پروژه پردازش سیگنال

هرگاه روند تغییرات یک پدیده یا کمیت را در طول زمان مورد مطالعه قرار دهیم، در واقع با یک سیگنال روبرو هستیم. در علم پردازش سیگنال­های حیاتی با سيگنال­هايي كه توسط ارگان­هاي بدن توليد مي­شوند و در واقع منشا بیولوژیکی سر و کار خواهیم داشت. این سیگنال­ها می­توانند نظیر سیگنال الکتروکاردیوگرافی (ECG) نتيجة دپلاريزاسيون سلول هاي ماهيچة قلب باشند و منشا الکتروشیمیایی داشته باشند و یا همچون صداي توليد شده توسط دريچه­ هاي قلب که به وسیله سمع صدای قلب قابل ثبت و ضبط می­باشد و به Auscultation Signal یاHeart Sound  شهرت دارد، منشا مكانيكي داشته باشند. امروزه در مهندسی پزشکی، روند استفاده از این سيگنال­هاي حياتي براي تشخيص و تحقيقات بالینی به شدت دارای نرخ صعودی است. بدون شک استفاده از پیشرفت چشمگیر سرعت محاسبات کامپیوتری نقش سرنوشت سازی در این زمینه دارد.


جهت مشاوره و ثبت درخواست مشاوره با ما تماس بگیرید

44972580

44972298

مسلما اولین و شاید مهمترین گام در این زمینه همان ثبت داده­های بالینی می­باشد که در اصطلاح داده برداری یا data acquisition گفته می­شود. امروزه با وجود پیشرفت­های شگرف در ساختار تجهیزات پزشکی و حسگرهای با دقت بالا، ثبت سیگنال­ های مهندسی پزشکی با بالاترین کیفیت صورت می­پذیرد. در اين مرحله سيگنال­هاي مكانيكي يا اکتروشيميايي به  سيگنال­هاي  الكتريكي  تبديل  مي­شوند و  پس از تقویت معمولا به صورت فایل­های با پسوندهای با فرمت dat، txt، csv، xls، wav، mat و ... بسته به نرم افزار ثبت داده ­ها قابل تغییر می­باشد.

 پروژه پردازش سیگنال

پیش پردازش سیگنال­ های حیاتی

این مرحله از انجام پروژه سیگنال  شامل مراحل زیر می باشد:

1-  فراخوانی داده ­های ثبت شده و آماده سازی آنها برای مراحل بعدی

2-  کاهش فرکانس نمونه برداری (Down-sampling) در صورت نیاز

3-  حذف نویز از سیگنال که در مورد سیگنال­های حیاتی از اهمیت ویژه­ای برخوردار است

در مورد روش­های حذف/کاهش نویز چند روش را به صورت اجمالی مرور خواهیم کرد. به عنوان مثال در هنگام ثبت سیگنال ECG نویزهای متفاوتی بر روی آن اثر می­گذارند و یا آن را آلوده می­سازند که شامل موارد زیر می­باشند.

    1) تغییرات در پایه سیگنال (Baseline Wandering) که معمولا به صورت نویزهایی با فرکانس پایین مدل می­شود.

    2) آرتیفکت یا تداخل نویز با فرکانس 50-60 هرتز ناشی از خطوط انتقال برق شهری.

    3) تداخل با سیگنال الکترومایوگرافی (EMG) که سیگنالی الکتریکی است و از فعالیت عضلات دیگر اطراف قلب و نزدیک به الکترودها ناشی می­شود.

    4) نویز ایجاد شده به خاطر تکان خوردن­های الکترود روی پوست و در نتیجه تغییر امپدانس اتصال الکترود که در زمان ثبت سیگنال معمولا اجتناب ناپذیر است.

 انجام کدنویسی پردازش سیگنال

از جمله نویزهایی که بر روی سیگنال EEG که دیگر سیگنال مهم درمیان سیگنال­های حیاتی است نیز می­توان به آرتیفکت­های ناشی از پلک زدن فرد اشاره نمود. همچنین اثرات ECG نیز بر روی سیگنال EEG معمولا مشاهده می­شود و باید با استفاده از روش­های حذف نویز به تخمین و سپس حذف آن پرداخت.

ساده­ترین روش برای حذف/کاهش نویز از سیگنال­های حیاتی استفاده از فیلترها است که می­توان آنها را به فیلترهای پایین­گذر، بالاگذر، میان­گذر و میان­نگذر تقسیم بندی نمود. اما روش­های پیشرفته­تر دیگری نیز وجود دارد. در این بین به دلیل غیرایستا (non-stationary) بودن سیگنال­های حیاتی، استفاده از موجک‌ها (Wavelets) برای حذف نویز و تحلیل این دسته از سیگنال‌ها در سالیان اخیر محبوبیت یافته است. با استفاده از تبدیل موجک گسسته، سیگنال به یک سیگنال تقریب (Approximation) و یک سیگنال جزییات (Detail) تجزیه می‌شود و می‌توان سیگنال تقریب را مجدد با استفاده از تبدیل موجک به دو بخش تجزیه کرد و این روند را برای تعداد مراحل موردنظر ادامه داد، در انتها مجموعه‌ای از سیگنال‌های جزییات و سیگنال‌های تقریب بدست می‌آید. حال برای حذف نویز از سیگنال اصلی، با آستانه گذاری برای سیگنال جزییات در مراحل مختلف، می‌توان جزییات ناخواسته سیگنال را که حذف کرد. این پدیده خود می­تواند با استفاده از روش­های بهینه سازی کلاسیک و یا روش­های تکاملی نظیر الگوریتم ژنتیک (GA)، الگوریتم ازدحام ذرات (PSO)، شبیه سازی تبرید (SA)، جستجوی هارمونی (HS)، جهش قورباغه (SFLA)، زنبور عسل (ABC)، کلونی مورچگان (ACO) و ... بصورت یک مساله بهینه سازی در آمده و تابع هدف در آن بصورت مقدار نویز باقیمانده در سیگنال تعریف شود. پس از این آستانه‌گذاری، با تبدیل موجک معکوس سیگنال‌های جزییات و تقریب را مرحله به مرحله ترکیب کرد و در نهایت به سیگنال بدون نویز دست یافت. اخیرا استفاده از روش تجزیه به مدهای تجربی یا Empirical Mode Decomposition (EMD) نیز مورد توجه قرار گرفته است و تعداد مقالات زیادی در زمینه­ های مختلف وجود دارد که از این روش دامنه نویز را کاهش داده­اند.

پروژه استخراج ویژگی از سیگنال

در این مرحله پس از ثبت داده­ ها و انجام پیش پردازش، پارامترهاي مناسب معنادار كه ويژگيهاي سيگنال ناميده مي شوند استخراج مي شوند. نتايج حاصل از اين مرحله براي فرايند تصميم گيري در مرحلة بعد مورد استفاده قرار مي­گيرد. اهمیت این مرحله به قدری زیاد است که شاید بتوان آن را مهم­ترین مرحله در پردازش سیگنال­ها بخصوص در مورد سیگنال­های مهندسی پزشکی دانست. به طور کلی هدف این مرحله استخراج ویژگی­هایی است که به خوبی تمایز در میان بیماری­های مختلف، ناهنجاری­ها، نارسایی­ ها و ... را هم در میان خود آنها و هم در مقایسه با افراد سالم را برجسته نمایند. روش­های گوناگونی در زمینه استخراج ویژگی وجود دارد و هر روز نیز با توجه به پیشرفته روش­های داده­کاوی بر تعداد آنها افزوده می­شود. در ادامه برخی از این روش­ها را مرور می­نماییم.

پروژه کدنویسی پردازش سیگنال

استخراج ویژگی های آماری

علم آمار، علم فراهم کردن داده‌های کمّی و تحلیل آن‌ها به منظور به دست آورن نتایجی که اگرچه احتمالی است، اما در خور اعتماد است. از جمله مهم‌ترین اهداف آمار، می‌توان تولید بهترین اطّلاعات از داده­های موجود و سپس استخراج دانش از آن اطّلاعات را ذکر کرد. به همین سبب است که برخی از منابع، آمار را شاخه‌ای از نظریه تصمیم‌ها به شمار می‌آورند. در مباحث پردازش سیگنال نیز از دیرباز استفاده از روش­های مبتنی بر آمار برای استخراج ویژگی کاربرد فراوان داشته است. ویژگی­هایی همچون بیشینه، کمینه، میانگین، انحراف معیار، چولگی (ممان سوم)، میانه و سایر ویژگی­های برگرفته از نمودار هیستوگرام (فراوانی) را می­توان از جمله این ویژگی­ها دانست. در برخی موارد از این ویژگی­ها به عنوان ویژگی­های حوزه زمان (Time Domain) نیز نام برده می­شود. در برخی موارد می­توان خصوصا در مورد سیگنال EEG ویژگی­هایی نظیر تعداد دفعات قطع کردن محور صفر (Zero Crossing) را نیز به ویژگی­های قبلی افزود.

استخراج ویژگی های فرکانسی

هرچند استفاده از ویژگی­های آماری می­تواند در برخی اوقات مفید واقع شود، ولی نقص بزرگ این ویژگی­ها که تابع زمان بودن سیگنال را هرگز در نظر نمی­گیرند. این دلیل، باعث شده که اقبال برای استفاده از ویژگی­های مبتنی بر تحلیل فرکانسی که برخی اوقات تحلیل طیفی نیز خوانده می­شود، روز افزون شود. این ویژگی­ها عموما برای سیگنال­های دیجیتال که امروزه اکثر قریب به اتفاق سیگنال­های حیاتی را شامل می­شوند، بر اساس تبدیل فوریه سریع (FFT) بدست می­آیند. ویژگی­هایی نذیر دامنه بیشینه، فرکانس دارای دامنه بیشینه، توان سیگنال در بازه فرکانسی مشخص و ... همگی برگرفته از تحلیل فرکانسی می­باشند.

استخراج ویژگی با استفاده از تبدیل wavelet

هنگاميكه به تبديل فوريه يك سيگنال نگاه مي­كنيم، غير ممكن است تشخيص دهيم يك اتفاق خاص در چه زماني رخ داده است. در كوششي براي رفع اين نقیصه، دنيس گابور تبديل فوريه را براي تحليل بخش كوچكي از يك سيگنال (در زمان محدودي) تنظيم كرد. تكنيكي كه پنجره سيگنال ناميده مي­شود. تنظيم گابور كه تبديل فوريه زمان – كوتاه (STFT) ناميده مي شود، سيگنال را به صورت تابعي دوبعدي از زمان و فركانس رسم مي­كند. مصالحه STFT مابين اطلاعات زمان و فركانس، هميشه كارا نيست چرا كه هنگام انتخاب اندازه ي مشخص براي زمان پنجره، آن پنجره براي تمام فركانسها مشابه مي باشد و اين موضوع عيب عمده روش STFT  مي­باشد. اما تبدیل موجک با رزولوشن همزمان فرکانسی – زمانی این مشکل را حل می نماید. اهمیت تبدیل ویولت در آن است که فضای سه بعدی كه اين تبديل از سيگنال ارائه می‌دهد باعث آشكار شدن ويژگيهای خاصی از سيگنال می شود كه با ديگر ابزارهای پردازش سيگنال قابل دسترسی نيستند. از طرفی در بسياری از پديده‌های قدرت كه ماهيتی گذرا دارند، ناپيوستگی ها، تغييرات ناگهانی و موضعی، تمركز انرژی در قسمت كوچكی از سيگنال و بسياری از خصوصيات ديگر ديده می‌شوند كه در حال حاضر یکی از بهترين راه های پردازش آنها استفاده از تبديل Wavelet می‌باشد.

پردازش سیگنال پیشرفته

تبدیل ویولت گسسته همانگونه که پیش از این در مبحث نویززدایی از سیگنال به آن اشاره شد، با در اختیار داشتن سیگنال و انتخاب یک ویولت مادر که عمدتا از توابع Haar، Symlets و یا Daubechies انتخاب می­شود، در هر مرحله یک سیگنال حاوی فرکانس­های بالا (جزئیات/اطلاعات سیگنال) و یک سیگنال حاوی فرکانس­های پایین (تقریب سیگنال اولیه) تحویل می­دهد. تحلیل درخت ویولت (Wavelet Tree) اجازه می­دهد از هر کدام از سیگنال­های جزئیات یا تقریب مجددا سیگنال­های جزئیات یا تقریب مرحله بعد را استخراج کرد ولی معمولا در تبدیل ویولت گسسته این سیگنال تقریب است که در هر مرحله برای بوجود آوردن سیگنال­های Detail و Approximate مرحله بعد مورد استفاده قرار می­گیرد.

حال فراموش نکنیم که در اینجا، مراد استفاده از تبدیل ویولت استخراج ویژگی­های مناسب از سیگنال است. پس از در اختیار داشتن تجزیه­های Detail و Approximate سیگنال اصلی، یکی از راه­کارهای استخراج ویژگی در اینجا، بدست آوردن ویژگی­های آماری و فرکانسی هر یک از این مولفه­ها است. یعنی در واقع ویژگی­های سیگنال به جای آنکه از سیگنال اصلی استخراج شوند از سیگنال­های خروجی تبدیل ویولت استخراج خواهند شد. در کنار مزیت­هایی که این روش دارد که می­توان پررنگ کردن تفاوت­های جزئی و یا کلی میان سیگنال­های استخراج شده از بیماری­های مختلف یا به طور کلی کلاس­های مختلف در طبقه بندی نهایی است، نقیصه این روش بالا رفتن بیش از حد تعداد ویژگی­ها و یا ابعاد سیستم تشخیص است. عمدتا پس از طی این مراحل، به منظور کاهش تعداد ویژگی­ها و انتخاب ویژگی­های برتر از روش­های کاهش ابعاد نظیر PCA، ICA، LDA، FDA، Mutual Information و ... استفاده می­شود که توضیحات هر یک از این­ها در این مبحث نمی­گنجد.

استخراج ویژگی پردازش سیگنال

استخراج ویژگی با استفاده از روشهای مدلسازی

یکی از روش­های مهم در زمینه استخراج ویژگی از سیگنال­ها مربوط است به روشی که در آن ابتدا با استفاده از مدل­های ریاضی (که بیشتر در مبحث شناسایی سیستم از آنها یاد می­شود نظیر AR، ARMA، ARMAX در حالت­های خطی و غیرخطی (Nonlinear)) و یا مدل­های آماری نظیر مدل مخفی مارکوف (Hidden Markov Model) سیگنال را مدلسازی می­کنند و در آخر ضرایب این مدل­ها را به عنوان ویژگی­های استخراج شده از سیگنال مد نظر قرار می­دهند. استفاده از این روش خصوصا در زمینه­های پردازش صوت و گفتار، پردازش سیگنال EEG، پردازش سیگنال تغييرات نرخ ضربان قلب معروف به HRV، و پردازش سیگنال­های مربوط به تعادل افراد بر روی صفحه نیرو (Force Plate) در سالیان اخیر در مقالات زیادی به چشم می­خورد و مزایای زیادی از جمله مقاومت بالا به داده­های پرت و نویز را می­توان از جمله مشخصه های آن دانست. در برخی موارد به این ویژگی­ها، ویژگی­های مبتنی بر تحلیل سری زمانی نیز اتلاق می­شود.

انجام پروژه پردازش سیگنال پزشکی

پس از استخراج ویژگی مرحله آخر انجام پروژه های پردازش سیگنال استفاده از مباحث یادگیری ماشین به منظور تکمیل نمودن چرخه تشخیص در پردازش سیگنال مطرح خواهد شد. این طبقه بندی بر اساس ویژگی­های استخراج شده و شکاره کلاس مربوط به داده­ها انجام می­پذیرد و البته برحسب اینکه کلاس داده­ها به عنوان خروجی در دسترس باشد یا نباشد معمولا با نام­های کلاسه بندی و خوشه بندی تفکیک می­شود. روش­های شبکه عصبی MLP، شبکه عصبی خودسازمانده SOM، ماشین بردار پشتیبان SVM، شبکه فازی عصبی ANFIS، درخت تصمیم­گیری و ... همه و همه می­توانند در این قسمت بسته به نوع کار مورد استفاده قرار گیرند.