توضیحات
سیگنال الکتروکاردیوگرام (ECG) اطلاعات حیاتی درباره عملکرد قلب را در خود دارد؛ اما نویز برق شهر که معمولاً در فرکانسهای ۵۰ یا ۶۰ هرتز ظاهر میشود، تحلیل دقیق این سیگنال را دشوار میکند. این پروژه الگوریتم فیلتر تطبیقی FIR مبتنی بر LMS را برای حذف این نویز از سیگنال ECG واقعی در سه فرکانس مختلف پیادهسازی کرده و نتایج قبل و بعد از فیلترشدن را بهصورت کامل نشان میدهد.
توضیحات
شبیهسازی حذف نویز برق شهر از سیگنال ECG با فیلتر تطبیقی FIR-LMS در متلب
عنوان اصلی مقاله:
Suppression of Powerline Interference in ECG Using Adaptive Digital Filter
شبیهسازی در MATLAB پیادهسازی شده و با نسخههای متداول تا 2025b تست شده است. گزارش فارسی ۱۵ صفحهای توضیح کامل الگوریتم، کد و نتایج را همراه دارد.
ترجمه تخصصی چکیده
آرتیفکتهای موجود در سیگنال الکتروکاردیوگرام (ECG) ناشی از عوامل مختلفی نظیر تداخل برق شهر، الکتروانسفالوگرام (EEG)، الکترومیوگرام (EMG) و گردش خط پایه هستند. این منابع نویز تحلیل ECG و استخراج اطلاعات بالینی را دشوار میکنند. به همین دلیل طراحی فیلترهای مناسب برای کاهش این آرتیفکتها ضروری است. در این مقاله یک فیلتر تطبیقی FIR مبتنی بر الگوریتم کمترین مجذور مربعات (LMS) برای حذف تداخل برق شهر با فرکانس ۵۰ هرتز از سیگنال ECG پیشنهاد شده است. این فیلتر با FDAtool نرمافزار MATLAB طراحی و با سیگنال ECG آلوده به فرکانسهای مختلف برق شهر آزمایش شده است.
توضیحات شبیهسازی حذف نویز ECG در MATLAB
در این پروژه الگوریتم حذف نویز تطبیقی (ANC) بر اساس فیلتر FIR-LMS پیادهسازی شده است. ساختار کلی سیستم به این صورت است که سیگنال اولیه d(n) شامل ECG واقعی همراه با نویز برق شهر است و سیگنال مرجع x(n) یک سیگنال سینوسی همفرکانس با نویز است. فیلتر تطبیقی خروجی y(n) را تولید میکند که از d(n) کم میشود تا سیگنال ECG تمیزشده e(n) بهدست آید. ضرایب فیلتر در هر مرحله با الگوریتم LMS بهروزرسانی میشوند تا خطا به کمینه برسد.
پروژه شامل سه فایل اجرایی مجزا برای سه فرکانس نویز متفاوت (۵۰، ۶۰ و ۴۵ هرتز) و یک تابع اصلی LMS است. نرخ آموزش (delta) بر اساس رابطه پایداری مقاله (معادله ۱۵) بهصورت خودکار از روی توان سیگنال محاسبه میشود.
موضوعات مورد بررسی در پروژه
- پیادهسازی الگوریتم LMS برای بهروزرسانی تطبیقی ضرایب فیلتر FIR (معادلات ۱ تا ۱۴ مقاله)
- طراحی حذفکننده نویز تطبیقی (ANC) برای سیگنال ECG واقعی
- محاسبه خودکار نرخ آموزش بهینه (delta) بر اساس توان سیگنال ورودی (معادله ۱۵ و ۱۶ مقاله)
- حذف نویز برق شهر با فرکانس ۵۰ هرتز از سیگنال ECG
- حذف نویز برق شهر با فرکانس ۶۰ هرتز از سیگنال ECG
- حذف نویز برق شهر با فرکانس ۴۵ هرتز از سیگنال ECG
- تحلیل پاسخ ضربه و پاسخ فرکانسی فیلتر تطبیقی
- مقایسه طیف فرکانسی سیگنال قبل و بعد از فیلترشدن
مشخصات فنی پروژه
نرمافزار مورد استفاده:
MATLAB — سازگار با نسخههای متداول، تستشده تا 2025b
فایلهای اصلی و پارامترهای کلیدی:
- lms1.m — تابع اصلی الگوریتم LMS: محاسبه خروجی فیلتر y(n)، خطای تخمین e(n) و بهروزرسانی ضرایب w(k)
- fig2_9.m — شبیهسازی حذف نویز ۵۰ هرتز (فرکانس استاندارد شبکه برق ایران و اروپا)
- fig10_14.m — شبیهسازی حذف نویز ۶۰ هرتز (فرکانس استاندارد شبکه برق آمریکا)
- fig15_19.m — شبیهسازی حذف نویز ۴۵ هرتز
- ecg.mat — داده واقعی ECG با نرخ نمونهبرداری fs=360 هرتز
- مرتبه فیلتر: L=100 ضریب
- نرخ آموزش: delta محاسبهشده از رابطه مقاله (≈ 1/(10×L×Pxx))
- دامنه نویز اضافهشده: ۰.۲۵ برابر دامنه نویز سینوسی
این شبیهسازی برای چه کسانی مناسب است؟
این پروژه برای پژوهشگران و علاقهمندان به حوزههای زیر کاربرد دارد:
- پژوهشگران پردازش سیگنالهای زیستپزشکی و ECG
- علاقهمندان به طراحی و پیادهسازی فیلترهای تطبیقی
- متخصصان حذف نویز از سیگنالهای بیولوژیکی
- پژوهشگران الگوریتم LMS و کاربردهای آن در پردازش سیگنال
- مهندسان پزشکی و الکترونیک علاقهمند به سیستمهای اندازهگیری زیستپزشکی
فایلهای موجود در پروژه
پس از خرید، فایلهای زیر در اختیار شما قرار میگیرد:
- lms1.m — تابع الگوریتم LMS
- fig2_9.m — فایل اجرایی حذف نویز ۵۰ هرتز
- fig10_14.m — فایل اجرایی حذف نویز ۶۰ هرتز
- fig15_19.m — فایل اجرایی حذف نویز ۴۵ هرتز
- ecg.mat — داده واقعی ECG
- گزارش فارسی (۱۵ صفحه) — شامل توضیح الگوریتم، کد و تحلیل نتایج
نتایج قابل مشاهده
با اجرای هر فایل، ۷ نمودار بهصورت خودکار تولید میشود. نتایج هر سه حالت (۵۰، ۶۰ و ۴۵ هرتز) ساختار یکسانی دارند:
نمودار ۱ و ۲ — مشخصات فیلتر تطبیقی
- پاسخ ضربه (Impulse Response) فیلتر FIR با L=100 ضریب
- پاسخ فرکانسی (Frequency Response) فیلتر تطبیقی پس از همگرایی
نمودار ۳ و ۴ — سیگنال ECG آلوده
- سیگنال ECG آلوده به نویز برق شهر در حوزه زمان
- طیف فرکانسی سیگنال آلوده — قله نویز در فرکانس هدف کاملاً مشهود است

✅ سیگنال ECG آلوده به نویز ۵۰ هرتز (بالا) و طیف فرکانسی آن با قله مشخص در ۵۰ هرتز (پایین)
نمودار ۵ و ۶ — سیگنال ECG تمیزشده
- سیگنال ECG پس از حذف نویز توسط فیلتر تطبیقی LMS در حوزه زمان
- طیف فرکانسی سیگنال فیلترشده — قله نویز در فرکانس هدف بهطور چشمگیری کاهش یافته است

✅ سیگنال ECG تمیزشده (بالا) و طیف فرکانسی آن با حذف قله ۵۰ هرتز (پایین)
نمودار ۷ — خروجی فیلتر تطبیقی
- سیگنال تخمینزدهشده نویز توسط فیلتر — چون نویز سینوسی است، خروجی فیلتر نیز سینوسی است
علاوه بر این، تمامی متغیرهای اصلی سیستم در محیط شبیهسازی قابل اندازهگیری و تحلیل بوده و کاربر میتواند با تغییر پارامترهای سیستم، مطالعات تکمیلی مورد نیاز خود را انجام دهد.
پرسشهای متداول
چه نسخهای از MATLAB نیاز است؟
پروژه با نسخههای متداول MATLAB سازگار است و تا نسخه 2025b تست شده است. نیازی به Toolbox خاصی ندارد.
چطور شبیهسازی را اجرا کنم؟
فایلهای lms1.m و ecg.mat را در یک پوشه قرار دهید، سپس هر یک از فایلهای fig را اجرا کنید. هر فایل بهطور مستقل اجرا میشود.
تفاوت سه فایل اجرایی چیست؟
تنها تفاوت، فرکانس نویز شبیهسازیشده است: fig2_9.m برای ۵۰ هرتز، fig10_14.m برای ۶۰ هرتز و fig15_19.m برای ۴۵ هرتز. ساختار الگوریتم و نتایج در هر سه یکسان است.
آیا میتوانم فرکانس نویز را تغییر دهم؟
بله. تنها کافی است مقدار fo را در ابتدای هر فایل اجرایی تغییر دهید. نرخ آموزش delta بهصورت خودکار بر اساس توان سیگنال محاسبه میشود.
داده ECG از کجا است؟
داده ECG در فایل ecg.mat ذخیره شده و با نرخ نمونهبرداری ۳۶۰ هرتز است. این داده در هر سه فایل اجرایی مشترک است.
گزارش چه اطلاعاتی دارد؟
گزارش فارسی ۱۵ صفحهای شامل توضیح کامل الگوریتم LMS، شرح خطبهخط کد، تحلیل نتایج و ارتباط هر بخش با معادلات مقاله است.
مزایای پروژه
- پوشش سه فرکانس مختلف نویز برق شهر (۴۵، ۵۰ و ۶۰ هرتز) در سه فایل مجزا و قابل تنظیم
- پیادهسازی کامل الگوریتم LMS از صفر در MATLAB بدون استفاده از توابع آماده
- محاسبه خودکار نرخ آموزش بهینه بر اساس رابطه پایداری مقاله
- استفاده از داده واقعی ECG (نه سیگنال مصنوعی) برای اعتبارسنجی
- سازگاری با تمام نسخههای متداول MATLAB بدون نیاز به Toolbox خاص
- گزارش فارسی ۱۵ صفحهای با توضیح کامل الگوریتم و کد
نکات مهم
۱. طراحی با FDAtool: مقاله اصلی از FDAtool برای طراحی فیلتر استفاده کرده است؛ در این پیادهسازی الگوریتم LMS بهصورت مستقیم در MATLAB کدنویسی شده و نیازی به FDAtool نیست.
۲. محدوده نمودارها: نمودارهای خروجی هر سه فایل از نظر ساختار یکسان هستند و فقط فرکانس نویز در آنها متفاوت است. پیش از خرید، نمودارهای نمونه برای حالت ۵۰ هرتز را در بخش نتایج مشاهده کنید.
۳. نویز اضافهشده: نویز سینوسی با دامنه ۰.۲۵ به سیگنال ECG اضافه شده است. این مقدار در فایلهای اجرایی قابل تغییر است.
شاید به موارد زیر نیز علاقهمند باشید:
شبیهسازی حذف نویز برق شهر از سیگنال ECG با فیلتر تطبیقی FIR-LMS در متلب
طبق توضیحات فوق توسط کارشناسان سایت متلبی تهیه شده است و به تعداد محدودی قابل فروش میباشد.
سفارش انجام پروژه مشابه
درصورتیکه این محصول دقیقاً مطابق خواسته شما نمیباشد،
با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.







