totop

طراحي فيلتر  IIR در نرم افزار متلبشنبه 22, مه 2021

متلب همیارپروژه

طراحي فيلتر  IIR در نرم افزار متلب

در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را رایگان یاد خواهیم داد. با ما همراه باشید.

انجام پروژه متلب

طراحي فيلتر  IIR در نرم افزار متلب

فيلترهاي IIR كلاسيك

فيلترهاي IIR كلاسيك كه شامل باتروث (Butterwroth) ، چبيچف (Chebyshev) نوع Iو II ، اليپتيك(elliptic) و بسل (Bessel) مي شود ، همگي تقريب هايي از فيلتر  ايده آل با روش هاي مختلف هستند . در اين جعبه ابزار  براي همه اين حالات توابعي در شرايط آنالوگ و ديجيتال (به جز بسل كه فقط درحالت آنالوگ است) وجود دارد . در جدول زير روش هاي مختلف طراحي فيلتر  موجود در جعبه ابزار  و دستورات موجود براي پياده سازي آن ها به طور خلاصه نمايش داده شده است .

matlabمتلب

در اولين سطر اين جدول به فيلتر هاي IIR ديجيتالي اشاره شده كه از گسسته سازي فيلتر و تبديل فركانسي فيلترهاي آنالوگ در جهت دست يابي به فيلتر  ديجيتال به دست مي آيند . فيلترهاي از درجه دلخواه و با انواع مختلف (بالا گذر ، پايين گذر و …) با استفاده از اين توابع امكان پذير است در جدول زيرنيز توابع مورد استفاده براي طراحي فيلترها و پارامترهاي ورودي و خروجي آن ها نشان داده شده است .

matlabمتلب

به صورت پيش فرض ، هر كدام از اين توابع يك فيلتر  پايين گذر را توليد مي كنند و تنها بايد فركانس قطع مورد نياز را معين كرد . براي فيلتر بالاگذر ، بايد’high’  را به ليست پارامترهاي تابع اضافه كرد . براي فيلترهاي ميان گذر و ميان نگذر ، Wn بايد يك بردار ۲ عضوي باشد كه مشخص كننده فركانس هاي لبه است و در حالت ميان نگذر بايد «stop» را به ليست پارامترهاي تابع اضافه كرد . به مثال هاي زير توجه كنيد :

matlabمتلب

براي طراحي فيلتر  آنالوگ ، از ‘s’ در ليست استفاده كرده و فركانس هاي قطع (rad/s) را نيز مشخص كنيد

matlabمتلب

براي طراحي فيلتر  آنالوگ ، از ‘s’ در ليست استفاده كرده و فركانس هاي قطع (rad/s) را نيز مشخص كنيد

matlabمتلب

به اين نكته توجه شود كه همه فيلترهاي IIR كلاسيك پايين گذر در حالتي كه فركانس قطع خيلي پايين باشد ، به خوبي عمل نمي كنند در اين حالت بهتر است كه سيگنال ورودي را با نرخ كمتري نمونه برداري كرده و فيلتر را با پهناي باند عبور بيشتري توليد كنيد . بهترين روش طراحي فيلتر  استفاده از فرم zero – pole – gain و سپس تبديل آن به SOS با استفاده از فرم SOS با استفاده از تابع zp2sos و سپس استفاده از فرم هاي SOS با dfilt براي طراحي و پياده سازي فيلتر  است.

 

طراحي فيلترهاي IIR براي دست يابي به ويژگي هاي خاص در حوزه فركانس

اين جعبه ابزار  از توابع انتخاب مرتبه استفاده مي كند تا حداقل مرتبه موجود براي دست يابي به شرايط مورد نظر را به دست آورد . در جدول زير توابع مورد استفاده براي تفريب مرتبه جند نوع فيلتر نشان داده شده است

 

matlabمتلب

اين توابع در همراهي با توابع طراحي فيلتر  مفيد هستند . براي مثال اگر بخواهيد يك فيلتر  ميان گذر با باند عبور ۱۰۰۰Hz تا ۲۰۰۰Hz و باند توقفي با فاصله ۵۰۰۰Hz از هر كدام از لبه هاي باند عبور ، فركانس نمونه برداري ۱۰kHz ، با حداكثر ريپل باند قطع۱dB و حداقل تضعيف برابر ۶۰dB در باند توقف داشته باشيد ، بايد از يك فيلتر  باتروث استفاده كنيد :

matlabمتلب

يك فيلتر  اليپتيك كه شرايط بالا را داشته باشد نيز به شكل زير است :

matlabمتلب

در اینجا آشنایی با نرم افزار متلب بخش صد و سی و هفتم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.

نویسنده: زهرا رستمی

جهت سفارش پروژه به لینک زیر مراجعه نمایید :
همچنین می توانید برای ارتباط سریعتر با شماره و آیدی تلگرام زیر تماس حاصل کنید :
۰۹۱۲۹۵۴۰۱۲۲ – آیدی تلگرام : @fnalk

از طریق کلیک برروی آیکن های زیر میتوانید پروژه خود را در تلگرام و یا واتساپ برای ما ارسال کنید:

ثبت سفارش در واتس آپ ثبت سفارش در تلگرام


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حق نشر برای همیارپروژه ❤️ مرجع انجام پروژه دورکاری و آنلاین ✔️ سایت انجام پروژه و استخدام فریلنسر در همه حوزه ها ، مهارت ها ، نرم افزارها و پروژه های برنامه نویسی محفوظ است.