انتخاب فیلتر FIR یا IIR؟ مساله، درک دورنمای طراحی است

 

 

سوال “بهترین فیلتری که میتوان استفاده کرد، کدام است؟ فیلتر FIR (پاسخ ضربه محدود) یا IIR (پاسخ ضربه نامحدود)؟” اغلب پرسیده میشود. دو نوع مختلف فیلترهای نامتغیر با زمان خطی یا LTI از منظر تابع تبدیل وجود دارد: FIR یا همان فیلتر با پاسخ ضربه محدود و IIR یا فیلتر با پاسخ ضربه نامحدود که تکنیکها و روشهای بسیار زیادی برای طراحی آنها وجود دارد. این واقعیت صریح که روشهای طراحی متعددی برای طراحی این فیلترها موجود است، بیانگر این حقیقت نیز است که یک روش طراحی بهینه مشخص وجود ندارد. طراح فیلتر باید مزایا و معایب انتخاب یک روش طراحی را با در نظر گرفتن فاکتورهایی که در ادامه خواهد آمد، در تصمیم‌گیری خود لحاظ کند.

 

 

مشخصات طراحی

 

 طراحی یک فیلتر از مشخصات آن شروع میشود. ما ممکن است که یک سری مشخصات ساده که تنها حذف فرکانسهای ناخواسته را طلب میکند در اختیار داشته باشیم و یا مجموعه مشخصات طراحی کاملی که شامل پارامترهای مختلفی همچون مقدار ریپل (ripple) باند عبور (passband)، تضعیف باند توقف (stopband)، عرض ناحیه گذار و غیره میشود را داشته باشیم. مشخصات طراحی معمولا پیروی از یک یا بیش از یک مورد از موارد زیر را طلب میکند:

 

  • اندازه دامنه پاسخ فرکانسی مطلوبH_{spec}(\omega)
  • پاسخ فاز فرکانسی مطلوب \angle H_{spec}(\omega)
  • مشخصات تاب‌آوری (tolerance) – که میزان تغییرات مجاز پاسخ فیلتر در مقایسه با پاسخ ایده‌آل فیلتر است. به عنوان مثال میتوان به میزان نوسانهای ریپل مجاز در باند عبور، باند توقف و غیره اشاره کرد.

شکل 1- فیلترهای FIR و IIR میتوانند به فرم ساختارهای مستقیم تحقق یابند. a) ساختار با المانهای تغذیه مستقیم که روش مرسوم در FIR است. b) ساختار با مسیرهای تغذیه پسخور یا فیدبک که معمولا در فیلترهای IIR استفاده میشود. سایر ساختارها همچون لتیس (lattice) نیز برای این کار وجود دارد.

 

با داشتن مشخصات بالا، هدف فرآیند طراحی فیلتر، انتخاب پارامترهای M,N,b_k,a_k به نحوی است که تابع تبدیل فیلتر به شکل زیر:

 

H(z)=\frac{\sum_{i=0}^{M}b_z^{-1}}{1+\sum_{i=0}^{N}a_z^{-1}}=\frac{\prod_{i}(z-z_i)}{\prod_{j}(z-p_j)}

 

پاسخ مطلوب را ارائه دهد:

 

H(\omega)\approx H_{spec}(\omega)

 

به عبارت دیگر، فرآیند طراحی شامل انتخاب تعداد و مکان صفرها (z_i) و قطبها (p_i) در نمودار یا دیاگرام صفر-قطب میشود.

 

دو نوع فیلتر از تابع تبدیل داده شده در بالا قابل استنباط است.

  • زمانیکه N=0، مسیر پسخور یا فیدبکی در ساختار فیلتر وجود ندارد. همچنین هیچ قطبی در صفحه صفر-قطب نداریم (در واقع همه قطبها در مبداء قرار میگیرند). پاسخ ضربه چنین فیلتری از نقطه‌ای به بعد در زمان تحلیل میرود (صفر میشود) و به عنوان فیلتر با پاسخ ضربه محدود یا FIR کلاسبندی میشود. این نوع فیلتر ویژگی فاز خطی در باند عبور را از خود نشان میدهد که بسیار حائز اهمیت است.
  • زمانیکه N>1، ساختار فیلتر با وجود المانهای فیدبک مشخص میشود. به دلیل حضور المانهای فیدبک، پاسخ ضربه فیلتر فراتر از یک نقطه در زمان صفر نخواهد شد و تا بینهایت ادامه می‌یابد و به همین دلیل به آن فیلتر با پاسخ ضربه نامحدود میگویند.
  • توجه: در بیشتر حالتها، حضور المانهای فیدبک، پاسخ ضربه نامحدود ایجاد میکند ولی نه همیشه. برخی حالتهای خاص وجود دارند که ساختار فیدبک منجر به پاسخ ضربه محدود میشود. برای مثال، یک فیلتر میانگین متحرک (moving average) پاسخ ضربه محدود دارد. خروجی این فیلتر میتواند توسط یک فرمول بازگشتی توصیف شود که منجر به ساختاری با المانهای فیدبک میشود.

 

 

ملاحظات کلی در طراحی فیلتر

 

همانطور که قبلا گفته شد، انتخاب فیلتر و فرآیند طراحی آن به مشخصات طراحی، کاربرد و مسائل مرتبط با عملکرد آن بستگی دارد. هر چند، ملاحظات کلی که در ادامه می‌آیند در طراحی عملی فیلتر قابل اجرا هستند.

 

حداقل کردن تعداد محاسبات

به منظور کاهش نیاز به حافظه‌ برای ذخیره کردن ضرایب فیلتر a_k,b_k و همچنین حداقل کردن تعداد محاسبات لازم، به طور ایده‌آل علاقمند هستیم که مجموع M+N تا حد ممکن کوچک باشد. برای یک دسته مشخصات یکسان، فیلترهای IIR در مقایسه با FIR از مرتبه بسیار کمتری برخوردار هستند. بنابراین، فیلترهای IIR از منظر تعداد محاسبات و ضرایب کارآمدتر هستند.

 

نیاز به پردازش زمان-واقعی و برخط

کاربرد داده شده برای فیلتر مورد نظر ممکن است به پردازش نمونه‌های ورودی در لحظه و به صورت زمان-واقعی نیاز داشته باشد یا اینکه نمونه‌های ورودی به صورت ذخیره شده و ضبط شده از قبل وجود داشته باشند (مثلا: اجرای مجدد فایل تصویری یا صوتی، کاربردهای پردازش تصویر، فشرده‌سازی صوت و غیره). از این چشم‌انداز، ما دو نوع سیستم فیلتر کننده داریم:

 

  • فیلتر علّی (causal)
    • خروجی فیلتر وابسته به حال و گذشته نمونه‌های ورودی است و نه نمونه‌های آینده آن، مشابه آنچه که در خروجی فیلتر IIR داریم. به طور صریح نمونه‌های آینده وجود ندارند.
    • چنین فیلترهایی برای کاربردهای زمان-واقعی بسیار مناسب هستند.
  • فیلترهای غیر علّی (Non-causal)
    • حالتهای عملی متعددی هستند که یک فیلتر غیرعلّی در آنها مورد نیاز است. معمولا چنین کاربردهایی، یک نوع پس‌پردازش (post-processing) را ایجاب میکند که در آن تمام جریان داده در حافظه ذخیره میشود.
    • در چنین حالتهایی، یک فیلتر میتواند طراحی شود که تمام نمونه‌های ورودی را برای پردازش دریافت میکند: حال، گذشته و آینده.
    • فیلترهای غیرعلّی روشهای طراحی بسیار ساده‌تری دارند.

 

معمولا در متون پردازش سیگنال متعددی دیده شده است که فیلترهای علّی به طور عملی قابل تحقق عنوان میشوند. این بدان معنی نیست که فیلترهای غیرعلّی به طور عملی قابل تحقق و پیاده‌سازی نیستند. در حقیقت هر دو نوع فیلتر قابل پیاده‌سازی هستند و شما میتوانید آنها را در بسیاری از سیستمهای امروزی ببینید. سوالی که باید پرسید این است که: آیا کاربرد شما به پردازش زمان-واقعی نیاز دارد یا پردازش نمونه‌های از پیش ضبط شده. اگر کاربرد مورد نظر به پردازش زمان-واقعی نیاز دارد، فیلترهای علّی باید استفاده شوند. در غیر اینصورت، فیلترهای غیرعلّی قابل استفاده است.

 

 

عواقب فیلترهای علّی

 

اگر کاربرد مورد نظر به پردازش زمان-واقعی نیاز دارد، فیلترهای علّی تنها انتخاب برای پیاده‌سازی است. عواقب و نتایجی که در ادامه می‌آیند در صورتی که علّیت مورد نیاز است، باید در نظر گرفته شوند.

فیلترهای ایده‌آل با باندهای محدود با پاسخ صفر (مثلا فیلترهای با دیواره‌های عمودی)، توسط ساختار فیلتر علّی قابل پیاده‌سازی نیستند. یک نتیجه مستقیم فیلتر علّی این است که پاسخ آن نمیتواند ایده‌آل باشد. بنابراین، فیلتر باید طوری طراحی شود که تقریب خوب و نزدیکی از پاسخ ایده‌آل را فراهم کند. اگر مشخصات تاب‌آوری داده شده است، باید فیلتر مورد نظر آنها را رعایت کند.

برای مثال، برای طراحی یک فیلتر پایین‌گذر با فرکانس باند عبور \omega_p و فرکانس باند توقف \omega_s، مشخصات تاب‌آوری اضافی همچون فاکتور ریپل مجاز در باند عبور \delta_p، فاکتور ریپل باند توقف \delta_s، در طراحی باید در نظر گرفته شوند. بنابراین، طراحی عملی فیلتر شامل انتخاب \delta_p, \delta_s, \omega_s, \omega_p میشود و سپس طراحی فیلتر با N,M,\left \{ b_k \right \},\left \{ a_k \right \} که تمام نیازها و پاسخهای داده شده را برآورده کند. اغلب، روشهای تکراری برای برآورده‌سازی تمام موارد بالا مورد نیاز است (مثال: الگوریتم پارکس-مک‌کللان (Parks and McClellan) که برای طراحی فیلترهای FIR علّی بهینه استفاده میشود).         

 

شکل 2- یک نمونه از مشخصات طراحی فیلتر

 

 

برای یک فیلتر علّی، بخش حقیقی پاسخ فرکانسی، H_R(\omega) و بخش موهومی آن، H_I(\omega)، جفت تبدیل هیلبرت را تشکیل میدهند. بنابراین پاسخهای اندازه و فاز وابستگی درونی خواهند داشت.

 

 

پایداری

 

یک فیلتر دیجیتال LTI علّی به صورت ورودی-کراندار خروجی-کراندار (BIBO) خواهد بود اگر و فقط اگر پاسخ ضربه h[n] آن به طور مطلق جمع‌پذیر باشد:

 

\sum_{n=-\infty}^{+\infty}\left | h[n] \right |<\infty

 

پاسخ ضربه فیلترهای FIR همیشه کراندار هستند و بنابراین به طور ذاتی پایدار هستند. از طرف دیگر، یک فیلتر IIR اگر درست طراحی نشود، میتواند ناپایدار شود.

یک فیلتر IIR که با استفاده از پردازنده با محاسبات ممیز شناور (floating point) پیاده‌سازی شده است را در نظر بگیرید که دقت لازم برای نمایش تمام ضرایب تابع تبدیل زیر را نیز دارد:

 

H_1(z)=\frac{1}{1-1.845z^{-1}+0.850586z^{-2}}

 

پاسخ ضربه متناظر h_1[n] در شکل 3a نمایش داده شده است. شکل نشان میدهد که پاسخ ضربه به سرعت با افزایش n به صفر نزول می‌یابد. برای این حالت، جمع مطلق پاسخ ضربه (داده شده در فرمولهای بالا) محدود خواهد بود. بنابراین این فیلتر IIR پایدار است.

فرض کنید اگر میخواستیم همین فیلتر را با پردازنده ممیز ثابت (fixed point) پیاده‌سازی کنیم و مجبور بودیم که ضرایب فیلتر را به دو رقم پس از ممیز، گرد (round-off) کنیم، تابع تبدیل زیر حاصل میشد:

 

H_2(z)=\frac{1}{1-1.85z^{-1}+0.85z^{-2}}

 

پاسخ ضربه متناظر با این تابع، h_2[n] که در شکل 3b رسم شده است، نشان میدهد که با افزایش n، پاسخ ضربه به سرعت به یک مقدار ثابت میل میکند. در این حالت، جمع مطلق پاسخ ضربه به بینهایت میل میکند. بنابراین فیلتر IIR پیاده شده ناپایدار است.

 

شکل 3- اثر پیاده‌سازی ضعیف فیلتر IIR بر پایداری. a) فیلتر IIR پایدار. b) همان فیلتر IIR که به دلیل اثر گرد کردن ضرایب ناپایدار شده است.

 

بنابراین، ضروری است که پس پیاده‌سازی یک فیلتر IIR، تست پایداری روی آن صورت گیرد. برای تحلیل پایداری فیلتر، جمع نامحدود مطلق پاسخ ضربه باید محاسبه شود که اغلب کار دشواری است. تحلیل نمودار صفر-قطب یک راه‌حل جایگزین است. برای داشتن یک فیلتر علّی پایدار، باید قطبهای تابع تبدیل به طور کامل داخل دایره واحد در صفحه اعداد مختلط قرار داشته باشند. نمودار صفر-قطب تابع تبدیلهای H_2(z),H_1(z) در شکل 4 نمایش داده شده است. از شکل مشخص است که برای تابع تبدیل H_1(z)، تمام قطبها درون دایره واحد قرار دارند (ناحیه پایداری) و بنابراین یک فیلتر پایدار داریم. از طرف دیگر، برای تابع تبدیل H_2(z)، یک قطب دقیقا روی دایره واحد قرار گرفته است (خارج از ناحیه پایداری) و به همین دلیل یک فیلتر IIR ناپایدار داریم.

 

شکل 4- اثر پیاده‌سازی ضعیف فیلتر IIR بر پایداری آن. a) فیلتر IIR پایدار به دلیل قرار گرفتن تمام قطبها داخل دایره واحد. b) به دلیل اثر گرد کردن، یک قطب روی دایره واحد قرار گرفته است (خارج از ناحیه پایداری) و به همین دلیل فیلتر ناپایدار است.

 

 

نیاز به فاز خطی

 

در بسیاری از کاربردهای پردازش سیگنال، لازم است که فیلتر دیجیتال رابطه زاویه‌ای بین اجزاء حقیقی و موهومی یک سیگنال را تغییر ندهد، به خصوص در ناحیه گذر فیلتر. به عبارت دیگر، رابطه فاز بین اجزاء سیگنال در باند عبور فیلتر حفظ شود. در غیر اینصورت، اعوجاج فاز خواهیم داشت.

اعوجاج فاز در بسیاری از کاربردهای پردازش سیگنال یک مساله مهم است. برای مثال، در مدولاسیونهای فاز همچون GMSK، تمام فرآیند دمدولاسیون بر پایه رابطه فاز بین اجزاء همفاز (In-Phase) و تربیعی (Quadrature) سیگنال دریافتی است. اگر یک فیلتر با اعوجاج فاز در زنجیره فرآیند دمدولاسیون داشته باشیم، کل فرآیند تشخیص سمبلها در گیرنده دچار مشکل خواهد شد. بنابراین، لازم است که به خصوصیات فاز چنین فیلترهایی توجه شود. برای نداشتن اعوجاج فاز در حین پردازش سیگنال از طریق فیلتر، هر جزء فرکانسی سیگنال درون باند گذر فیلتر باید با مقدار ثابت تاخیر زمانی (در واحد نمونه‌های سیگنال) دچار تاخیر شود. به عبارت دیگر، پاسخ فاز \phi(\omega) در باند گذر باید یک تابع خطی (خط مستقیم) از فرکانس باشد (به غیر از شیفت فاز در لبه‌های باند). فیلتری که چنین ویژگی را دارد یک فیلتر فاز خطی نامیده میشود. فیلترهای FIR خصوصیت فاز خطی کامل در ناحیه گذر را فراهم میکنند (شکل 5) و بنابراین از اعوجاج فاز اجتناب میکنند. تمام فیلترهای IIR خصوصیت فاز غیرخطی دارند. اگر در یک کاربرد زمان-واقعی مشخص به اعوجاج فاز صفر نیاز داریم، فیلترهای FIR انتخاب اولیه و سریع برای طراحی هستند.

به طور حسی قابل درک است که پاسخ فاز یک فیلتر با فاز خطی عام از رابطه \phi(\omega)=-m\omega+c پیروی کند که در آن m شیب خط است و c محل تقاطع با محور افقی است. تاخیر فاز و تاخیر گروهی، خصوصیات مهم فیلتر برای تصدیق اعوجاج فاز هستند و به مقدار c و m پاسخ فاز در باند عبور بستگی دارند. فیلترهای فاز خطی با تاخیر گروهی ثابت شناخته میشوند. هر گونه انحراف در تاخیر گروهی از مقدار ثابت در باند عبور، نشان دهنده درجه مشخصی از غیرخطی بودن فاز است و بنابراین موجب اعوجاج فاز میشود.

 

شکل 5- فیلتر FIR با خصوصیات فاز خطی در باند عبور

 

تاخیر فاز یک تاخیر زمانی است که توسط هر جزء فرکانسی سیگنال ورودی تجربه میشود. برای یک فیلتر با پاسخ فرکانسی H(\omega)، پاسخ تاخیر فاز \tau_p بر حسب پاسخ فاز \phi(\omega)=\angle H(\omega) به شکل زیر است:

 

\tau_p(\omega)=-\frac{\phi(\omega)}{\omega}

 

تاخیر گروهی میزان تاخیر تجربه شده توسط یک گروه از اجزاء فرکانسی درون یک بازه فرکانسی باریک حول \omega است. پاسخ تاخیر گروهی \tau_g(\omega) به صوت مشتق پاسخ فاز نسبت به \omega با علامت منفی تعریف میشود:

 

\tau_g(\omega)=-\frac{d}{d\omega}\phi(\omega)

 

برای فیلتر با فاز خطی عام، تاخیر گروهی و فاز به شکل زیر تعریف میشوند:

 

\\ \tau_g(\omega)=-\frac{d}{d\omega}\phi(\omega)=m \\ \\\\\tau_p(\omega)=-\frac{\phi(\omega)}{\omega}=m-\frac{c}{\omega}

 

 

خلاصه نکات انتخاب روش طراحی فیلتر

 

  • فیلترهای IIR بهینه هستند، اندازه پاسخ فرکانسی مشابه را با تعداد ضرایب کمتر فراهم میکنند و لوبهای فرکانسی کوتاهتری برای تعداد ضرایب یکسان فیلتر در پاسخ فرکانسی از خود نشان میدهند.
  • فیلترهای FIR ذاتا پایدار هستند. فیلترهای IIR در معرض اثرات دقت محدود محاسباتی در نتیجه استفاده از روش ممیز ثابت هستند و در نتیجه طراحی باید همراه با تست پایداری فیلتر باشد.
  • فیلترهای IIR تاخیر متوسط کمتری در مقایسه با فیلتر FIR معادل ایجاد میکنند. اگر فیلتر باید در مسیر فیدبک یک سیستم مورد استفاده قرار گیرد، میزان تاخیر فیلتر باید به دقت انتخاب شود زیرا بر روی پایداری کل سیستم به شدت تاثیرگذار است.
  • برای مشخصات فیلتر داده شده، یک طراحی فیلتر IIR به سادگی بر پایه روابط بسته ریاضی قابل استنباط است. هر چند که، برای رفع نیازهای طراحی با استفاده از یک فیلتر FIR، نیاز به فرآیندهای تکراری محاسباتی است.

 

 

 

 

منبع: www.dsprelated.com