طراحی و پیاده سازی فیلترها در متلب
در این بخش از آموزش پردازش سیگنال در متلب پروژه به نحوه فیلتر کردن سیگنال های گسسته با استفاده از تابع filter و سایر توابع مربوطه در جعبه ابزار پردازش سیگنال پرداخته می شود . همچنین به نحوه استفاده از این جعبه ابزار در طراحی و تحلیل ویژگی های فیلترها که شامل پاسخ ضربه ، پاسخ دامنه و فاز ، تأخیر جمعی و مکان صفر و قطب ها است نیز اشاره می شود .
پایه ریاضی فیلتر کردن ، کانولوشن است . تابع conv یک عمل استاندارد کانولوشن یک بعدی با استفاده از دو بردار ورودی را انجام می دهد. برای پردازش سیگنال های دو بعدی از تابع conv2 استفاده می شود . در زیر مثالی از این حالت را مشاهده می کنید
conv([111]،[111])<<
خروجی یک فیلتر دیجیتال (k) y برابر با کانولوشن ورودی آن ، (k)x ، در پاسخ ضربه فیلتر (k)h ، است . در صورتی که (k)h و (k)x دارای طول محدود باشند ، پیاده سازی فیلتر با استفاده از دستور conv امکان پذیر است . به مثال زیر توجه کنید
<<x = rand(5,1) ; %A random vsctor of length 5
در حالت کلی تبدیل (z) Y به تبدیل z ورودی آن به شکل زیر مربوط است :
|
که در آن (z)H تابع تبدیل فیلتر است . ضرایب در دو بردار که یکی مربوط به صورت و دیگری مربوط به مخرج است ذخیره می شوند . فیلترها به راحتی به این شکل قابل پیاده سازی هستند . برای مثال ضرایب یک فیلتر تک قطبی پایین گذر به شکل زیر است
طول y به دست آمده در بالا برابر با طول x بوده و فیلتر با ساختار ترآن هاده نوع II (transposed direct- fromII) پیاده سازی می شود . در صورتی که (1)a با 1 نباشد ، همه ضرایب بر آن تقسیم می شوند .
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام متلب پروژه عضو شوید