آموزش طراحي فيلتر IIR در متلبسهشنبه 16, فوریه 2021
آموزش طراحي فيلتر IIR در متلب
در ادامه آموزش های سایت همیارپروژه آموزش نرم افزار متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما نرم افزار را یاد خواهیم داد. با ما همراه باشید.
فيلترهاي IIR كلاسيك در متلب
فيلترهاي IIR كلاسيك كه شامل باتروث (Butterwroth) ، چبيچف (Chebyshev) نوع Iو II ، اليپتيك(elliptic) و بسل (Bessel) مي شود .
همگي تقريب هايي از فيلتر ايده آل با روش هاي مختلف هستند .
در اين جعبه ابزار براي همه اين حالات توابعي در شرايط آنالوگ و ديجيتال (به جز بسل كه فقط درحالت آنالوگ است) وجود دارد .
در جدول زير روش هاي مختلف طراحي فيلتر موجود در جعبه ابزار و دستورات موجود براي پياده سازي آن ها به طور خلاصه نمايش داده شده است .
در اولين سطر اين جدول به فيلتر هاي IIR ديجيتالي اشاره شده .
كه از گسسته سازي فيلتر و تبديل فركانسي فيلترهاي آنالوگ در جهت دست يابي به فيلتر ديجيتال به دست مي آيند .
فيلترهاي از درجه دلخواه و با انواع مختلف (بالا گذر ، پايين گذر و …).
با استفاده از اين توابع امكان پذير است در جدول زيرنيز توابع مورد استفاده براي طراحي فيلترها و پارامترهاي ورودي و خروجي آن ها نشان داده شده است .
به صورت پيش فرض ، هر كدام از اين توابع يك فيلتر پايين گذر را توليد مي كنند و تنها بايد فركانس قطع مورد نياز را معين كرد .
براي فيلتر بالاگذر ، بايد’high’ را به ليست پارامترهاي تابع اضافه كرد .
براي فيلترهاي ميان گذر و ميان نگذر ، Wn بايد يك بردار ۲ عضوي باشد كه مشخص كننده فركانس هاي لبه است.
در حالت ميان نگذر بايد «stop» را به ليست پارامترهاي تابع اضافه كرد . به مثال هاي زير توجه كنيد :
براي طراحي فيلتر آنالوگ ، از ‘s’ در ليست استفاده كرده و فركانس هاي قطع (rad/s) را نيز مشخص كنيد :
به اين نكته توجه شود كه همه فيلترهاي IIR كلاسيك پايين گذر در حالتي كه فركانس قطع خيلي پايين باشد .
به خوبي عمل نمي كنند در اين حالت بهتر است كه سيگنال ورودي را با نرخ كمتري نمونه برداري كرده و فيلتر را با پهناي باند عبور بيشتري توليد كنيد .
بهترين روش طراحي فيلتر استفاده از فرم zero – pole – gain و سپس تبديل آن به SOS با استفاده از فرم SOS با استفاده از تابع zp2sos و سپس استفاده از فرم هاي SOS با dfilt براي طراحي و پياده سازي فيلتر است.
طراحي فيلترهاي IIR براي دست يابي به ويژگي هاي خاص در حوزه فركانس در متلب
اين جعبه ابزار از توابع انتخاب مرتبه استفاده مي كند تا حداقل مرتبه موجود براي دست يابي به شرايط مورد نظر را به دست آورد . در جدول زير توابع مورد استفاده براي تفريب مرتبه جند نوع فيلتر نشان داده شده است .
اين توابع در همراهي با توابع طراحي فيلتر مفيد هستند .
براي مثال اگر بخواهيد يك فيلتر ميان گذر با باند عبور ۱۰۰۰Hz تا ۲۰۰۰Hz و باند توقفي با فاصله ۵۰۰۰Hz از هر كدام از لبه هاي باند عبور .
فركانس نمونه برداري ۱۰kHz ، با حداكثر ريپل باند قطع۱dB و حداقل تضعيف برابر ۶۰dB در باند توقف داشته باشيد .
بايد از يك فيلتر باتروث استفاده كنيد :
يك فيلتر اليپتيك كه شرايط بالا را داشته باشد نيز به شكل زير است :
طراحي مستقيم فيلتر IIR در متلب
بر خلاف حالت آنالوگ ، فيلترهاي مستقيماً طراحي شده ، به شكل هاي استاندارد پايين گذر، بالاگذر ، ميان گذر و ميان نگذر محدود نيستند .
اين توابع قادر به طراحي فيلترهاي با پاسخ فركانسي چند باندي هستند .
دستور yulewalk يك فيلتر ديجتال IIR بازگشتي را با انطباق روي يك پاسخ فركانسي خاص طراحي مي كند .
نام تابع yulewalk خود گوياي روش به كار رفته در محاسبه ضرايب مخرج است .
اين تابع معكوس fft پاسخ مطلوب ايده آل را گرفته و معادلات يول واكر اصلاح شده را با استفاده از نمونه هاي تابع خودهمبستگي به دست آمده حل مي كند . عبارت :
در وردي ، f را كه بردار نقاط فركانسي بين ۰ تا۱ (فركانس نايكوئيست) .
به همراه n درجه فيلتر IIR و m كه بردار شامل دامنه هاي مطلوب در فركانس هاي مشخص شده در f است را مي گيرد .
در خروجي بردارهاي a و b را كه ضرايب صورت و مخرج هستند مي دهد .
تابع سازنده همتاي اين حالت در فيلترهاي FIR تابع fir2 است . در زير مشاهده مي كنيد .
در اینجا آشنایی با نرم افزار متلب بخش صد و دهم به پایان می رسد و در آموزش های بعدی به مباحث دیگر نرم افزار متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه های متلب خود آموزش های ما را دنبال نمایید.
نویسنده : زهرا رستمی
جهت سفارش پروژه به لینک زیر مراجعه نمایید :
همچنین می توانید برای ارتباط سریعتر با شماره و آیدی تلگرام زیر تماس حاصل کنید :
۰۹۱۲۹۵۴۰۱۲۲ – آیدی تلگرام : @fnalk
از طریق کلیک برروی آیکن های زیر میتوانید پروژه خود را در تلگرام و یا واتساپ برای ما ارسال کنید:
دیدگاهتان را بنویسید