آموزش طراحی فیلتر های تطبیقی در متلبپنجشنبه 18, فوریه 2021
آموزش طراحی فیلتر های تطبیقی در متلب
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
طراحی فیلتر های تطبیقی در متلب
هدف مساله : استفاده از فیلترهای تطبیقی به منظور استخراج سیگنال مطلوب از سیگنال نویزی
صورت مساله : با استفاده از فیلترهای تطبیقی .
سیگنال مطلوب سینوسی s=sin(3πn/4) را از سیگنال نویزی که شامل نویز autoregressive جمع شونده است .
با فرض این که سیگنال مرجع از کورولیشن نویز با یک سیگنال moving average به دست می آید ، استخراج کنید .
با فرض سینوسی بودن سیگنال مطلوب را می توان با دستورات زیر ایجاد کرد :
و برای تولید نویز ، با فرض autoregressive بودن ، دستورات زیر را وارد کنید :
دستور Y=filter(B,A,X) که اساسی ترین دستور فیلترینگ در متلب
بدین صورت عمل می کند که اطلاعات موجود در بردار X را توسط بردارهای B و A که ضرایب فیلتر مورد نظر هستند ، فیلتر می کند .
با توجه به این که نویز جمع شونده است ، برای اجاد سیگنال نویزی دستور زیر را تایپ کنید :
با فرضیات صورت مساله برای سیگنال مرجع می توان نوشت :
حال از دو فیلتر تطبیقی با ۷ وزن (taps/weights) یکی LMS نرمالیزه شده (NLMS) استفاده کنید .
برای کسب اطلاعات بیشتر از نحوه ساختداین دو فیلتر، دستورات helpwin adaptfilt.lms و helpwin adaptfilt.nlms را در خط فرمان MATLAB تایپ کنید .
برای تمام الگوریتم های مشابه LMS یک step size تعریف می شود که نشان دهنده میزان تصحیح هنگامی که فیلتر از یک مرحله برای مرحله بعد خود را تطبیق می دهد ، می باشد .
انتخاب این مقدار همیشه کار ساده ای نیست .
زیرا اگر مقدار آن کم انتخاب شود در سرعت همگرایی خلل وارد می کند و اگر زیاد انتخاب شود باعث واگرایی فیلتر می شود .
با استفاده از دستور maxstep ابتدا بزرگترین مقدار ممکن برای step size را به دست آورید.
خروجی اول دستور maxstep مقدار ضروری برای همگرایی میانگین ضرایب و خروجی دوم مقدار مورد نیاز برای همگرایی میانگین مربع ضرایب است .
از آن جا که انتخاب بزرگترین مقدار ممکن برای step size سبب اختلافات زیاد در مقادیر همگرایی می شود ، به صورت زیر مقدار آن را تنظیم کنید :
اگر از ابتدا مقدار step size را بدانید ، به راحتی می توان مقدار آن را در همان ابتدا به صورت زیر تنظیم کرد :
پس از تظیم پارامترهای فیلتر تطبیقی ، می توان از آن برای حذف نویز از سیگنال نویزی استفاده کرد .
مطابق بلوک دیاگرام ، سیگنال مرجع V2 به عنوان ورودی فیلتر تطبیقی می باشد (در ترکیب بندی این شکل ، x سیگنال مطلوب است) .
y ، خروجی فیلتر تطبیقی است که هدف همانندی آن با d تا حد امکان می باشد . از آنجا که V2 فقط با مولفه نویزی x یعنی V1 کورولیت شده است ،
در نتیجه y تنها می تواند شبیه V1 شود ، بدین ترتیب سیگنال خطا (تفاضل سیگنال y و x)همان سیگنال s بدون نویز است .
که elms و enmls سیگنال های سینوسی بدون نویز هستند .
در اینجا آشنایی با محیط متلب بخش صدو بیست و دوم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده : زهرا رستمی
جهت سفارش پروژه به لینک زیر مراجعه نمایید :
همچنین می توانید برای ارتباط سریعتر با شماره و آیدی تلگرام زیر تماس حاصل کنید :
۰۹۱۲۹۵۴۰۱۲۲ – آیدی تلگرام : @fnalk
از طریق کلیک برروی آیکن های زیر میتوانید پروژه خود را در تلگرام و یا واتساپ برای ما ارسال کنید:
دیدگاهتان را بنویسید