پیاده سازی پروژه روش تابع پرگسسته برای طراحی فیلتر FIR با ضرایب SPT با نرم افزار MATLAB
A Discrete Filled Function Method for the Design of FIR Filters With Signed-Powers-of-Two Coefficients
فیلترهای دیجیتال با بیان ضرایب به عنوان SPT به طور گسترده در مفاهیم پایه پردازش سیگنال های دیجیتال و پردازش عددی به طور گسترده به دلیل کاربردشان مورد بحث می باشد. طراحی بهینه فیلتر FIR با SPT یک بهینه سازی عدد صحیح مختلط است و می تواند به صورت برنامه نویسی عدد صحیح تبدیل شود. در حال حاضر روش های گوناگونی در حالت عادی جهت سروکارداشتن با این مسائل وجود دارد. برای مثال روش MILP که مخفف شده Mixed-Integer Linear Programming به معنی برنامه نویسی خطی عدد صحیح مختلط وجود دارد، همینطور روش های تصادفی مانند تبرید شبیه سازی شده یا SA که مخفف Simulated Annealing و همینطور الگوریتم ژنتیک (Genetic) که الگوریتمی تکاملی است، الگوریتم چند جمله ای زمان یا Polynomial-time Algorithm به عنوان ارتباطی بین ضرایب و پاسخ فرکانس نمایش داده شده است. توضیحات بیشتر و تصاویری از خروجی این پروژه در ادامه مطلب …
(جهت بزرگنمایی تصاویر برروی آنها کلیک نمائید “در اینجا برای اینکه مطالعه این توضیحات برای شما عزیزان خسته کننده نباشه در میان توضیحات، خروجی های به دست آماده را قرار میدهیم”)
در این پیاده سازی و مقاله، به طراحی فیلتر FIR که مخفف Finite Impulse Response یا پاسخ ضربه ای محدود است با بیان ضرایب به عنوان SPT (مخفف شده Sign Powers of Two) که در آن NPR (مخفف Normalization Peak Ripple) به عنوان واحد اندازه گیری عملکرد پرداخته شده است. این مسئله به صورت برنامه نویسی عدد صحیح مختلط فرموله شده است.
.
.
بر اساس تبدیل بین دو فضای عدد صحیح مختلف و محاسبه فاکتور پیمایش برای یک مجموعه داده از ضرایب، این ساختار برنامه نویسی عدد صحیح مختلط به یک مشکل برنامه نویسی عدد صحیح معادله ای تبدیل شده است.
.
.
سپس یک الگوریتم کارآمد بر اساس تابع پُر گسسته برای حل این مشکل توسعه داده شده است. به عنوان مثال نیز چند معادله عددی در مقاله را با توجه به روش مذکور حل کرده است که لازم است آن ها را مشاهده و درک نمائید.
.
.
توسط روش جستجوی محلی و سپس پیکربندی تابع پُر گسسته که بهتر از روش به حداقل رساندن محلی است، اگر وجود داشته باشد آن را به دست می آوریم. در این پیاده سازی و مقاله، ما این مشکل را فرموله و تبدیل به برنامه نویسی عدد صحیح معادل کرده ایم. سپس یک الگوریتم موثر را با شرکت دادن یک پروسه برای انتخاب نقاط ابتدایی، روش گسسته نزول سرازیری (که این ترجمه برای آن اشتباه است زیرا با نام steepest descent شناخته می شود) و تابع پُر گسسته، ارتقا داده ایم.
.
.
بقیه مقاله به شرح زیر است:
- در بخش دوم به بیان مشکل فرموله می پردازیم.
- در بخش سوم مشکل اصلی را به برنامه نویسی عدد صحیح معادل تبدیل می کنیم.
- در بخش چهارم الگوریتم را ارتقا و برای حل مسئله استفاده می کنیم.
- در بخش پنجم یک سری مسائل عددی را حل کرده است.
.
.
الگوریتم های ارتقا داده شده، یکی Local Search یعنی جستجوی محلی است. بدین صورت که الگوریتم Steepest Descent که از نقطه X ان می خواهیم شروع کنیم را در نظر می گیریم و سپس با توجه به جستجو در همسایه های آن، نقاطی را انتخاب می کنیم که بزرگترین کاهش در مقدار در تابع را داشته باشند.
.
.
با این الگوریتم ما می توانیم حداقل کننده محلی را در هر نقطه ای پیدا کنیم. اما برای حل مشکل اینکه تعداد حداقل کننده های محلی زیاد است، می بایست روش تابع پُر محلی را برای جستجوی حل عمومی مشتق کنیم. پس نیاز به الگوریتم دومی داریم که جستجوی سراسری (Global Search) است.
.
.
نتایج شبیه سازی در این مقاله برای حل یک سری مسائل نیز در خود مقاله آورده شده است. محاسبات انجام شده با استفاده از Compaq Visual Fortran در مقاله صورت گرفته است. در صورتی که می خواهید این موارد را محاسبه بفرمایید، به این مفسر روی بیاورید.
.
.
برای خروجی ها، گام به گام مقاله پیش رفته ایم و توابع را نوشته ایم. یکسری بخش ها خروجی را نوشته ایم، و در نهایت به خروجی مورد نظر مقاله رسیده ایم.
.
هیچ نظری ثبت نشده است