روش پنجره گيري
در روش پنجره گيري، پاسخ ضربه ي فيلتر ايده آل در يك پنجره ي مشخص ضرب مي شود. فيلتري كه به اين صورت به دست مي آيد معمولاً بهتر از روش نمونه برداري فركانسي است.

در جعبه ابزار پردازش تصوير متلب، از يكي از دو تابع 1 fwind و 2 fwindب راي طراحي به روش پنجره گيري استفاده مي شود. در تابع 1 fwind  پنجره ي دو بعدي لازم براي طراحي فيلتر، از روي يك يا دو پنجره ي يك بعدي (كه شما آن را مشخص مي كنيد) ساخته مي شود؛ اما در تابع 2 fwind پنجره ي دوبعدي بايد مستقيماً در اختيار اين تابع قرار داده شود.
تابع 1 fwind از دو روش مختلف براي توليد پنجره ي دو بعدي استفاده مي كند:

1- تبديل يك پنجره ي يك بعدي براي توليد يك پنجره ي دو بعدي كه تقريباً به صورت استوانه اي متقارن است. اين تبديل تقريباً شبيه به عمل چرخش است.
2- توليد يك پنجره ي مستطيليِ جدايي پذير از روي دو پنجره ي يك بعدي و به كمك ضرب خارجي آنها.

مثال زير از تابع 1 fwindبراي توليد يك پنجره ي 11 × 11 از روي پاسخ فركانسيِ مطلوبِ  Hd استفاده مي كند. در اين مثال، از تابع hamming براي مشخص كردن پنجره ي يك بعديِ همينگ (و البته ساخت نمونه ي دو بعديِ آن) استفاده شده است.

خرید کد:

676

 

توليد ماتريسِ پاسخ فركانسيِ مطلوب
توابع 2 fwind1، fwind و 2 fsamp همگي نياز به يك ماتريس اندازه ي پاسخ فركانسيِ مطلوب دارند. براي توليد چنين ماتريسي مي توانيد از تابع freqspace استفاده كنيد. اين تابع نقاط فركانسي به تعداد مشخص  شده (توسط شما) را توليد مي كند. اين نقاط به طور متساوي الفاصله نسبت به يكديگر قرار گرفته اند. براي مثال، اگر بخواهيد يك فيلتر پايين گذر ايده آل با فركانس قطع 0.5 و با تقارن استوانه اي را مشخص كنيد، مي توانيد به صورت زير عمل كنيد:

خرید کد:

نتيجه:

 

677

 

محاسبهي پاسخ فركانسي يك فيلتر از تابع freqz2 ميتوان براي محاسبهي پاسخ فركانسيِ يك فيلتر دو بعدي استفاده كرد. اگر براي اين تابع از هيچ آرگومان خروجي استفاده نكنيد، تابع freqz2 پاسخ فركانسي را به صورت يك صفحه ي مش رسم ميكند. براي مثال، اگر فيلتر زير را در نظر بگيريد:

h =[  0.1667   0.6667   0.1667

0.6667   ‐3.3333   0.6667

  0.1667   0.6667   0.1667];

آن گاه دستور زير، يك منحن ِي 64×64 نقطهاي از پاسخ فركانسي را رسم ميكند.

freqz2(h)

نتيجه:

678

اگر بخواهيد ماتريس پاسخ فركانسي و نقاط فركانسيِ مربوطه را داشته باشيد، از آرگومانهاي خروجي براي اين تابع استفاده كنيد:

[H,f1,f2] = freqz2(h);

در دستور فوق، مقادير فركانسهاي f1 و f2 به صورت نرماليزه شده برگردانده ميشوند، طوري كه عدد 1.0 متناظر با نصف فركانس نمونهبرداري (و يا همان π راديان) است.

خرید کد:

نویسنده: دکتر هادی گرایلو

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *