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