حذف نویز از سیگنال ECG توسط موجک‌ها

در سالهای اخیر پردازش سیگنال های قلب (ECG) به منظور تشخیص اولیه مشکلات قلبی ، کاربرد گسترده ای یافته است. اولین گام برای تحلیل سیگنال حذف نویزهای موجود در سیگنال بدست آمده است.
شنبه، 8 شهريور 1393
تخمین زمان مطالعه:
موارد بیشتر برای شما
حذف نویز از سیگنال ECG توسط موجک‌ها
حذف نویز از سیگنال ECG توسط موجک‌ها

 

نويسنده:ساعد مرادی*
منبع: راسخون




 

مقدمه

در سالهای اخیر پردازش سیگنال های قلب (ECG) به منظور تشخیص اولیه مشکلات قلبی ، کاربرد گسترده ای یافته است. اولین گام برای تحلیل سیگنال حذف نویزهای موجود در سیگنال بدست آمده است.
سیگنال ECG در واقع سیگنالی الکتریکی است که توسط بافت عضلانی قلب در هنگام انقباض و انبساط ایجاد می‌شود. این سیگنال‌های توسط الکترودهای در نزدیکی قلب و از روی پوست جمع‌آوری شده و اطلاعات مفیدی از نحوه‌ی عملکرد قلب می دهند. شکل موج یک دوره از ضربان عادی و سالم قلب مشابه شکل 1 است. سیگنال ECG دارای پالس‌هایی با فرکانس‌ها و دامنه‌های متفاوت است. رفتار متغییر با زمان این پالس‌ها، سیگنال ECG را یک سیگنال غیرایستا (Non-Stationary) می‌سازد.
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 1 ) شکل موج یک ضربان عادی قلب سالم
در هنگام جمع‌آوری و ثبت سیگنال الکتریکی قلب، نویزهای متفاوتی این سیگنال را آلوده می‌سازند شامل :

الف) تغییرات در پایه سیگنال (Baseline Wandering) که بصورت یک نویز فرکانس پایین مدل می‌شود.
ب) تداخل نویز 50 – 60 Hz ناشی از خطوط برق که در مقایسه با فرکانس سیگنال قلب، نویز فرکانس بالا محسوب می‌شود
پ) سیگنال EMG (Electromyogram) که سیگنالی الکتریکی ناشی از عضلات غیر قلب اطراف الکترودها می باشد.
ت) نویز ایجاد شده به علت تغییرات در امپدانس اتصال الکترود با پوست بدلیل جابجایی الکترودها روی پوست در زمان ثبت سیگنال

روش‌های متفاوتی برای حذف نویز وجود دارد. در این بین به دلیل غیرایستا (non-stationary) بودن سیگنال ECG ، استفاده از موجک‌ها برای حذف نویز و تحلیل این دسته از سیگنال‌های محبوبیت یافته است.
با استفاده از تبدیل موجک گسسته، سیگنال به یک سیگنال تقریب (Approximation) و یک سیگنال جزییات (details) تجزیه می‌شود و می‌توان سیگنال تقریب را مجدد با استفاده از تبدیل موجک به دو بخش تجزیه کرد و این روند را برای تعداد مراحل موردنظر ادامه داد، در انتها مجموعه‌ای از سیگنال‌های جزییات و سیگنال‌های تقریب بدست می‌آید. (شکل 1)
برای حذف نویز از سیگنال اصلی، با آستانه گذاری برای سیگنال جزییات در مراحل مختلف، می‌توان جزییات ناخواسته سیگنال را که حذف کرد. پس از این آستانه‌گذاری، با تبدیل موجک معکوس سیگنال‌های جزییات و تقریب را مرحله به مرحله ترکیب کرد و در نهایت به سیگنال بدون نویز دست یافت. این مراحل در شکل 1 قابل مشاهده است.
با توجه به روند ذکر شده، اولین گام در حذف نویز انتخاب موجک مناسب برای سیگنال ECG و سپس انتخاب تعداد مراحل اعمال تبدیل موجک است. همچنین انتخاب آستانه مناسب بسیار حائز اهمیت می‌باشد زیرا با آستانه‌گذاری باید بگونه‌ای باشد که جزییات غیرضروری یا بعبارتی نویز را حذف شوند در حالیکه جزییات ضروری سیگنال اصلی حفظ شوند.
پس از گذر از بخش تئوری، بحث پیاده‌سازی این سیستم پردازش سیگنال دیجیتالی مطرح می‌شود. با توجه به کند بودن تغییرات در سیگنال ECG ، فرکانس نمونه‌برداری تقریبا کمی، معمولا 0.5 KHz و گاهی 1 KHz، بکار می‌رود، بنابراین مسئله فرکانس عملیاتی و سرعت محاسبات چالشی در این پیاده‌سازی محسوب نمی‌شود. از سویی دیگر تمایل به مصرف توان و مساحت اشغالی پایین همواره وجود دارد. در این مقاله FPGAای از شرکت Xillinx و از خانواده Spartan6 مدل XC6SLX4 جهت پیاده‌سازی هدف قرار داده شده است. این FPGA در خانواده خود کوچکترین است و این انتخاب کمترین مساحت و توان مصرفی را در این مقاله هدف گذاری می‌کند.
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 2) شکل نویزهای متداول آلاینده سیگنال ECG و شکل نویز مرکب آنها [1]
در بخش بعدی دو مقاله که مقایسه ای در روشهای انتخاب آستانه و موجک انجام داده‌اند بررسی می‌شوند و در بخش 3 نتایج شبیه‌سازی MATLAB حذف نویز بر اساس چند موجک انتخابی ارائه می‌شوند و موجک مناسب انتخاب می‌شود. در بخش 4 ، الگوریتم و معماری سیستم طراحی شده برای حذف نویز معرفی می‌شود. در بخش 5، مدول‌های Verilog استفاده شده در پیاده‌سازی بررسی و معرفی می‌شود. در بخش 6 نتایج بدست آمده از شبیه‌سازی مدل Verilog ارائه و با نتایج MATLAB مقایسه می‌شوند و گزارشی از میزان منابع استفاده شده FPGA و فرکانس کار سیستم پردازش ارائه می‌شود. در بخش آخر، نتیجه‌گیری و خلاصه‌ای از این طراحی ارائه شده است.

بخش دوم : بررسی چند پژوهش در زمینه انتخاب موجک و آستانه مناسب

در [1]، 7 موجک متفاوت در 5 مرحله و با شیوه‌های متفاوت انتخاب آستانه آزموده شده است و نتیجه گرفته اند که موجک Sym9 با روش انتخاب آستانه MinMax و در 5 مرحله بیشترین بهبود SNR را نتیجه داده است. برای سایر موجک‌ها نتایج آزمایش در جدول ذیل آورده شده است. سیگنال ECG مورد آزمایش در این پژوهش از بانک اطلاعاتی MIT-BIH Arrhythmia گرفته شده است و سیگنال نویزی با اضافه کردن نویزهای نشان داده شده در شکل (1) بعلاوه‌ی 5db نویز سفید به سیگنال سالم، بدست آمده است.
حذف نویز از سیگنال ECG توسط موجک‌ها
جدول 1 ) نتایج شبیه‌سازی حذف نویز برای موجک‌های مختلف [1]
در [2] ، تعداد بیشتری موجک و با تنوع بیشتر مورد آزمایش قرار گرفته اند و علاوه بر روش انتخاب آستانه، اندازه واریانس نمونه‌ها و تعداد نمونه‌ها نیز متغییرهای آزمایش محسوب می‌شوند. معیارهای سنجش کیفیت حذف نویز در این پژوهش، ریشه‌ی میانگین مجذور خطا (RMSE : Root Mean Square Error) ، ریشه میانگین مجذور بایاس (RMSB) و خطای آشکارسازی می‌باشند. برای موجک DB8 و واریانس یک و 256 نمونه، شیوه‌ی انتخاب آستانه Hybrid SURE مناسب تشخیص داده شده است و در آزمایش دیگر با این شیوه‌ی انتخاب موجک‌های متفاوت آزموده شدند و نتایج نشان داده‌اند که موجک DB8 کمترین خطای آشکارسازی را دارا بوده است و به عبارتی کمترین صدومه را به سیگنال اصلی وارد می‌سازد.
در [3] نشان داده شده است که اگرچه Sym8 در حذف نویز از قسمت‌های فرکانس پایین سیگنال ECG موفق است اما به قسمت‌های فرکانس بالای این سیگنال آسیب می‌رساند.

بخش سوم : نتایج آزمایش چند موجک و انتخاب موجک مناسب

در مقالات مطالعه شده از میان موجک‌های موجود، موجک‌های خانواده Dabuchies و Symlet مناسب معرفی شده‌اند. با بررسی شکل موج این موجک‌ها، بطور شهودی درک می‌شود که این موجک‌ها از نظر شکل به پالس‌های موجود در سیگنال ECG شبیه می‌باشند و معیار انتخاب یک موجک در واقع میزان شباهت آن با سیگنال مورد بررسی است.
از میان این دو خانواده موجک‌های DB4 , DB8 و Sym8 , Sym9 , Sym10 در مطلب بروی سیگنال نویزی آزموده شدند. که در این میان اگرچه Sym10 و DB8 اندکی بهتر هستند ولی با توجه به هدف‌گذاری توان مصرفی و مساحت پایین در پیاده‌سازی، استفاده از موجک‌هایی با فیلترهای مرتبه پایین، در صورتی که کیفیت حذف نویز تغییر جدی نکند، ترجیح داده می‌شود. با توجه به این موضوع موجک DB4 با فیلترهای 8 مرتبه ، انتخاب شده است. در این شبیه‌سازی‌ها از شیوه‌ی Fixed Thresholding یا Univeral Thresholding برای انتخاب آستانه استفاده شده است که بسته به انحراف از معیار و تعداد نمونه سیگنال نویزی آستانه برای هر مرحله تعیین می‌شود.
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل3 ) مقایسه میزان خطا آشکارسازی موجک‌ها مختلف به ازای آستانه گذاری Hybrid SURE
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 4 ) نتایج آزمایش موجک‌های مختلف یا آستانه گذاری ثابت بروی سیگنالی با نویز متوسط

بخش چهارم : الگوریتم و معماری سخت‌افزار برای پیاده سازی سیستم حذف نویز

اولین گام در طراحی سیستم دیجیتال حذف نویز توسط تبدیل موجک، طراحی فیلترهای FIR برای موجک انتخابی است. با انتخاب موجک DB4، فیلترهای FIR مرتبه 8 مورد نیاز است. با توجه به اینکه هدف کلی پیاده‌سازی کمترین مساحت و توان مصرفی است، و از سویی دیگر فرکانس کار و سرعت محاسبات مسئله نیست، ساختار تکرارشونده برای فیلتر پیشنهاد می‌شود که شمای بلوک دیاگرامی آن در شکل 5 نشان داده شده است.
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 5 ) نتایج آزمایش موجک‌های مختلف یا آستانه گذاری ثابت بروی سیگنالی با نویز بالا
در ساختار تکرارشونده (Iterative) تنها از یک ضرب کننده- جمع کننده (MAC) استفاده می‌شود. با استفاده از یک شمارنده که با لبه‌ی کلاک افزایش می‌یابد، نمونه مورد نیاز از شیفت رجیستری که به منظور نگه‌داری 8 نمونه تعبیه شده است، و ضریب متناظر آن، توسط MUX هایی براساس شمارنده انتخاب و حاصلضرب نمونه با ضریب فیلتر متناظر آن با مقدار قبلی انباشگر جمع می‌گردد و مجدد مقدار جدید به انباشگر داده می‌شود. بدین ترتیب به ازای هر نمونه، 8 بار این کار تکرار می‌شود تا فیلتر در لبه‌ی کلاک 9 ام خروجی دهد. به عبارتی فرکانس عملیاتی باید 9 برابر فرکانس نمونه‌برداری سیگنال ECG باشد. بدین ترتیب با هزینه کردن سرعت، مساحت و منابع کمتری استفاده می‌شود.
حذف نویز از سیگنال ECG توسط موجک‌ها
با توجه به ساختار تجزیه و ترکیب سیگنال توسط تبدیل موجک، چهار فیلتر FIR در هر مرحله استفاده می‌شوند که تنها در ضرایب متفاوت می‌باشند. همچنین پس از هر مرحله تجزیه فرکانس نمونه‌برداری نصف می‌شود (DownSampling) و در شروع هر مرحله ترکیب فرکانس نمونه‌برداری دو برابر می‌گردد (UpSampling). همچنین در هنگام ترکیب بخش جزییات در هر مرحله، آستانه‌گذاری (بلوک T در شکل6) اعمال می‌شود. می‌توان با ترکیب بخش‌های مختلف چهار مدول متماییز برای هر مرحله تعریف کرد (شکل 6).
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 6 – شمای یک فیلتر FIR با ساختار تکرارشونده
با این تعریف، فیلترهای H0 و H1 باید بگونه‌ای اصلاح شوند که بصورت یکی در میان خروجی بدهند تا DownSampling صورت پذیرد و همچنین براساس اینکه در کدام مرحله قرار دارند، باید با فرکانس نمونه‌برداری متناسب کار کنند، برای مثال فیلتر در مرحله سوم باید با فرکانس نمونه‌برداری برابر 4/1 فرکانس نمونه‌برداری اصلی کار کند بعبارتی به ازای هر 36 کلاک کاری یک نمونه جدید بپذیرد و یک نمونه خروجی دهد.
فیلترهای F0 و F1 نیز باید بگونه‌ای تغییر داده شوند که با فرکانس نمونه‌برداری مرحله قبلی نمونه‌برداری کنند، و به ازای هر نمونه‌ای که از مرحله قبل دریافت می‌شود، یک نمونه اضافی صفر هم به عنوان ورودی به فیلتر تحویل داده شود. در مدول F1، علاوه بر دو برابر کردن نرخ نمونه‌برداری، آستانه‌گذاری نیز باید لحاظ شود، بدین صورت که درهنگام پذیرفتن نمونه (x) از مرحله قبل، اگر از آستانه (Thsh) برزگتر بود، (x-Thsh) وارد شود در غیر این صورت صفر به ورودی فیلتر داده شود.( آستانه گذاری نرم)
موضوع دیگری که باید در مورد آن تصمیم گرفته شود، تعداد بیت ورودی/خروجی فیلترها و ضرایب فیلتر و تعیین میزان دقت آنها می‌باشد. تعداد بیت بالاتر اگرچه دقت را افزایش می‌دهد اما افزایش مساحت و توان مصرفی را نیز بدنبال دارد. کم کردن تعداد بیت‌ها باعث کاهش دقت و افزایش نویز گسسته‌سازی(Quantization) می‌گردد. در این طراحی 12 بیت برای ورودی/خروجی و ضرایب فیلتر در نظر گرفته شده است که ورودی خروجی به شکل ممیز ثابت Q3.8 علامت‌دار و ضرایب به شکل Q1.10 علامت‌دار در نظر گرفته شده‌اند. فرم Q3.8 به این دلیل انتخاب شده است که طبق شبیه‌سازی‌ها در MATLAB، در مرحله چهارم تبدیل موجک،اندازه ضرایب تقریب از 4 بیشتر شده و در دو بیت صحیح نمی‌گنجد. اندازه انباشگر (Accumulator) در فیلترها، به اندازه جمع تعداد بیت موثر ضرایب فیلتر و ورودی به علاوه‌ی بیت علامت، برابر 23 می‌باشد.
با توجه به ناچیز بودن جزییات در مرحله‌ی اول و دوم تبدیل، و براساس شبیه‌سازی‌های صورت گرفته در MATLAB، این جزییات از آستانه عبور نمی‌کنند و در واقع حذف می‌شوند بنابراین برای استفاده بهینه از فضا و کاهش توان مصرفی، فیلترهای H1 و F1 مراحل اول و دوم را از سیستم حذف شده است.
باید توجه شود برای رساندن نمونه‌های جزییات از H1 مرحله سوم به F1 ، بصورت همزمان (Synchronized) با نمونه‌های تقریب، نیاز به شیفت رجیستری است که تاخیر ناشی از مرحله چهارم تبدیل بر نمونه‌های تقریب مرحله سوم را به نمونه‌های جزییات نیز وارد سازد.
در نهایت شمای کلی سیستم حذف نویز ، براساس مدول‌های H0، H1، F0 و F1 و شیفت رجیستر(SR)، در شکل 7 مشاهده می‌گردد
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 7 ) شمای کلی سیستم حذف نویز توسط چهار مرحله تبدیل موجک

بخش پنجم : توضیح مدول‌های Verilog طراحی

همانگونه که در بخش قبل شرح داده شد، چهار مدول متفاوت H0، H1، F0 و F1 تعریف شده و سپس در مدول اصلی با فراخوانی این مدول‌های و اتصال صحیح آنها به یکدیگر، سیستم حذف نویز براساس چهار مرحله تبدیل موجک طراحی می‌شود. مدول‌های H0 و H1 از نظر ساختار کاملا مشابه بوده و تنها در ضرایب فیلتر متفاوت می‌باشند. در ادامه هریک از مدول‌ها بررسی می‌شوند.

مدول‌های H0 و H1 :

این مدول‌ها در واقع همان فیلتر FIR با ساختار تکرارشونده (شکل 2) می‌باشند که DownSampling نیز در آنها تعبیه شده است.
مدول‌ها پارامتری نوشته شده‌اند. L مرتبه فیلتر، M تعداد بیت ضرایب فیلتر، N تعداد بیت ورودی و lvl متناسب با مرحله‌ای است که این مدول برای آن فراخوانی می‌شود. برای مرحله اول lvl برابر یک و برای مراحل دو، سه و چهار به ترتیب برابر 2 ، 4، 8 است.
از آنجاییکه تمام مدول‌ها براساس یک فیلتر با ساختار تکرارشونده می‌باشند، همه نیاز به یک شمارنده دارند و برای استفاده بهینه از فضا، یک شمارنده در مدول اصلی تعبیه شده است که مقدار آن به عنوان ورودی به زیر مدول‌ها داده می‌شود. بنابراین هر مدول ورودی بنام counter دارد.
تغییر فرکانس نمونه‌برداری توسط شمارنده‌ی lvel صورت می‌پذیرد. بدین ترتیب که در ابتدا مقدار این رجیستر یک است و هنگامی نمونه ورودی پذیرفته می‌شود و خروجی داده می‌شود که مقدار این رجیستر با پارامتر lvl برابر شود. بنابراین مدولی که در مرحله اول قرار داشته باشد با یکبار 8 شدن شمارشگر نمونه‌گیری می‌کند و خروجی می‌دهد و مدول در مرحله سوم پس از 4 بار 8شدن شمارشگر اقدام به نمونه‌گیری می‌کند بدین‌گونه فرکانس نمونه‌برداری در مرحله سوم 4/1 مرحله اول می‌شود.
در کلیه مدول‌ها، در هنگام انتقال مقدار نهایی انباشگر، بدلیل اینکه فرمت انباشگر در واقع Q4.18 می‌باشد و فرمت خروجی Q3.8 تعریف شده است، و همچنین بدلیل اینکه با توجه به شبیه‌سازی‌ها هیچگاه نتایج از 7 بزرگتر نمی‌شوند، بیت پرارزش (بعد از بیت علامت) حذف می‌گردد.

مدول F0 :

ساختار فیلتر این مدول و نحوه‌ی تغییر فرکانس نمونه‌برداری آن کاملا مشابه با مدول‌های H است و تنها تفاوت آن در تعبیه شدن UpSampling در آن است. بیت پرچم (U) تعربف می‌شود و مقدار آن به ازای هر بار برآورده شدن شروط (counter =L) و (lvel = lvl)، تغییر می‌کند، بسته به اینکه مقدار U یک یا صفر است، نمونه از طبقه قبلی گرفته می‌شود یا ورودی صفر داده می‌شود. بدین صورت به ازای هر نمونه‌ی طبقه‌ی قبل، یک نمونه صفر هم به فیلتر داده می‌شود و UpSampling صورت می‌پذیرد.

مدول F1 :

این مدول کاملا مشابه با F0 است و تنها تفاوت آن در تعبیه شدن آستانه‌گذاری قبل از پذیرفتن نمونه ورودی است. پارامتر Thsh مقدار آستانه را مشخص می‌کند. نمونه ورودی با این مقدار مقایسه می‌شود در صورت بزرگتر بودن، با کسر این مقدار از آن پذیرفته می‌شود و در صورت کوچکتر بودن از مقدار آستانه، ورودی صفر به فیلتر داده می‌شود.

مدول اصلی :

در این مدول، یک ثبات شمارنده (counter) تعریف شده است که همان شمارنده سراسری سیستم است.
مدول‌هایی که قبلا نوشته شده اند به ترتیب مراحل، فراخوانی (instantiate) و توسط wire های تعریف شده به یکدیگر متصل می‌گردند.

بخش ششم : نتایج سنتز و پیاده سازی بروی FPGA

در این بخش ورودی به مدول اصلی داده می‌شود سپس نتایج شبیه‌سازی Verilog که بهMATLAB منتقل شده است با نتایج بدست آمده از شبیه‌سازی‌های تحت MATLAB مقایسه می‌شود همچنین گزارشی از میزان منابع استفاده شده از FPGA ارائه می‌شود.

دادن نمونه‌های ورودی به شبیه‌ساز Verilog (نرم‌افزار ISE):

سه نوع ورودی با سطح نویز متفاوت موجود است. این ورودی‌ها طولانی می‌باشند و با جدا کردن 2048 نمونه از آنها (معادل 4 ثانیه) این ورودی‌ها را در مطلب می‌خوانیم.
برای وارد کردن این نمونه‌ها به ISE، روش اصلی، ذخیره حاصلضرب اطلاعات بردار حاوی نمونه‌ها در 28 درون یک فایل متنی است و سپس خواندن این فایل در ISE و قرار دادن اطلاعات در یک حافظه تا ورودی از این حافظه خوانده شود. اما می‌توان با کپی کردن ستون نمونه‌ها از ویرایشگر مطلب، و وارد کردن آنها در برنامه Excel، آنها را در 28 ضرب کرد و عبارت #9 X= را به ابتدای آن و “;” را به انتهای آن اضافه کرد و سپس ستون حاصله را در مدول تست (Test-Bench module) وارد کرد.

خواندن نمونه‌های از ISE و وارد کردن آنها به محیط MATLAB:

با نوشتن قطعه کد Verilog زیر در مدول تست، نمونه‌های خروجی در فایلی ذخیره می‌شوند. با پاک کردن "X" ها از اول فایل به وجود آمده، می‌توان این فایل را در MATLAB بارگذاری کرد و اطلاعات آن را در برداری قرار داد و سپس خروجی را رسم کرد.
Integer handle;
Initial begin
handle = $fopen (“out.txt”);
#1 forever #9 $fdisplay (handle,Y);
End
نتایج شبیه‌سازی Verilog برای حذف نویز توسط 4 مرحله تبدیل موجک، با استفاده از موجک DB4 و آستانه‌گذاری نرم در شکل 8 نشان داده شده است. در اینجا ورودی دارای نویز متوسط می‌باشد. همانطور که در شکل (ب) مشاهده می‌شود، تعدادی از نمونه‌ها از دست رفته‌اند که البته این در ابتدای شروع به کار سیستم رخ می‌دهد و با گذشتن 200 نمونه، خروجی ظاهر می‌گردد و پس از آن مشکلی پیش نمی‌آید. می‌توان این مشکل را با وارد کردن 200 ورودی صفر جبران کرد.
حذف نویز از سیگنال ECG توسط موجک‌ها
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 8
در شکل 9 ورودی با محتوای نویز بالا داده شده است. قابل ذکر است که آستانه‌ها در هر مرحله با توجه به سیگنال و میزان نویز آن تعیین می‌شوند در اینجا آستانه مرحله سوم برابر 0.292 و برای مرحله چهارم برابر 0.325 قرار داده شده است.
حذف نویز از سیگنال ECG توسط موجک‌ها
حذف نویز از سیگنال ECG توسط موجک‌ها
شکل 9

میزان منابع مصرفی از FPGA :

این مدل از خانواده Spartan 6 دارای 8 مدول DSP داخلی (DSP48A1) است که هریک دارای یک MAC با ورودی ضرب کننده‌ی 18 بیتی و یک پیش جمع کننده می‌باشد. به عبارتی با ساختار تکرارشونده، هر مدول DSP در این FPGA می‌تواند یک فیلتر FIR را پیشتیبانی کند.
مدل XC6SLX4، دارای 600 برش (slice) می‌باشد که 300 تای آنها دارای RAM و Register می‌باشند. بطور کلی این تراشه دارای ظرفیت 36 کیلوبیت ثبات می‌باشد. طبق گزارش ابزار سنتز ISE، تنها 7% از ثبات‌های برش‌ها استفاده شده اند و 46% از LUT های برش‌های در تراشه مورد استفاده قرار گرفته‌اند که تنها 41% از آنها به عنوان مدار منطقی مورد استفاده قرار گرفته‌اند و بصورت کلی 56% از کلی برش‌ها استفاده شده‌اند.

خلاصه و نتیجه‌گیری :

با توجه به اهمیت پردازش سیگنال‌های قلب، تلاش فراوانی بر حذف نویزها و عوامل مزاحم از سیگنال اصلی ECG به عنوان گام اول می‌باشد. با توجه به غیر ایستا بودن این سیگنال، استفاده از تبدیل موجک بهترین نتیجه را می‌دهد. نشان داده شده است که خانواده‌هایDabuchies وSymlet ، مناسب‌ترین انتخاب‌ها برای موجک می‌باشند.
با توجه به کند بودن تغییرات سیگنال ECG، سرعت محاسبات مهم نیست و هدف کمترین مساحت و توان مصرفی می‌باشد.
تراشه XC6SLX4 از خانواده Spartan 6 محصول Xillinx، هدف پیاده‌سازی این سیستم می‌باشد که تراشه‌ی کوچک و کم‌ظرفیتی است.
سیستم حذف نویز با چهار مرحله تبدیل موجک DB4 طراحی شده است. انتخاب این موجک بدلیل کم بودن مرتبه‌ی فیلترهای آن و کارایی قابل مقایسه آن در حذف نویز با موجک‌های مرتبه بالاتر است، که در شبیه‌سازی‌ها مشاهده شده است. روش انتخاب آستانه، Universal Thresholding برگزیده شده است که آستانه در آن براساس واریانس سیگنال نویزی و تعداد نمونه‌ها در هر مرحله تعیین می‌گردد. و فیلترها همگی بر اساس ساختار تکرارشونده و با یک MAC طراحی شده اند بنابراین فرکانس کاری سیستم باید 9 برابر فرکانس نمونه‌برداری سیگنال ECG باشد.

پي‌نوشت‌ها:

* دانشجوی دکتری مهندسی برق

منابع مقاله :
[1] G.Garg, V.Singh, J.R.P Gupta, A.P. Mittal “Optimal Algorithm for ECG Denoising using Discrete Wavelet Transforms” IEEE, 2010.
[2] B.N. Singh, A.K. Tiwari “Optimal selection of wavelet basis function applied to ECG signal denoising” , Digital Signal Processing , vol. 16 , pp.275-287 , 2006.
[3] M. Kania, M. Fereniec, R. Maniewski “Wavelet Denoising for Multi-lead High Resolution ECG Signals,” MEASUREMENT SCIENCE REVIEW, Vol.7 , No.4 , 2007


شکل‌ها و جداول



 

 



نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.