قراءة
وضع القصص

FIR مقابل IIR — المقايضات

~١٣ دقيقة قراءة الدرس 4 من الوحدة 8

عائلتان لهدف واحد

كل تصميم لمرشح رقمي يقود في نهاية المطاف إلى اختيار بين FIR (استجابة نبضية منتهية) وIIR (استجابة نبضية لا نهائية). كلا النوعين يستطيعان تنفيذ استجابات تمرير منخفضة وعالية وحزمية وحجب حزمة. كلاهما موزعان على نطاق واسع في العتاد والبرمجيات. غير أنهما يختلفان جذريًا في البنية وكفاءة الحساب وسلوك الطور وضمانات الاستقرار.

فهم هذه المقايضات ليس أكاديميًا فحسب — بل يحدد هل سيعمل مرشحك في الوقت الحقيقي على متحكم دقيق، وهل سيشوّه الانتقالات في معالجة الصوت، وهل يمكن نشره بأمان في حلقة تحكم بالتغذية الراجعة. هذا الدرس يرسم خريطة شاملة لكل أبعاد المقارنة حتى تتمكن من اتخاذ القرار الصحيح لأي تطبيق.

البنية ومعادلات الفروق

تختلف البنيتان على مستوى معادلات الفروق الخاصة بهما. يحسب مرشح FIR مخرجه كمجموع موزون للمدخلات الحالية والماضية فقط:

معادلة الفروق لـ FIR
y[n] = \sum_{k=0}^{M} b_k \, x[n-k]
b_k هي معاملات المرشح (الأنقار). لا تظهر مخرجات ماضية y[n−k] — تغذية أمامية بحتة. الرتبة M تساوي عدد الأنقار ناقص واحد.

يُغذّي مرشح IIR أيضًا المخرجات الماضية مرةً أخرى، مما يخلق حلقة تكرارية:

معادلة الفروق لـ IIR
y[n] = \sum_{k=0}^{M} b_k \, x[n-k] - \sum_{k=1}^{N} a_k \, y[n-k]
حدود التغذية الراجعة a_k · y[n−k] هي ما تمنح مرشح IIR أقطابه. حتى عدد صغير من معاملات b و a يستطيع إنشاء استجابة ترددية حادة جدًا تحتاج مئات أنقار FIR لمضاهاتها.

مقارنة جانبية

مرشح FIR
  • مستقر دائمًا — لا تغذية راجعة
  • يحقق طور خطيًا مثاليًا
  • الاستجابة النبضية ذات طول منتهٍ M+1
  • يحتاج أنقارًا كثيرة لانحدار حاد
  • تكلفة حسابية مرتفعة (رتبة عالية)
  • لا عدم استقرار بسبب تكميم المعاملات
  • تصميم سهل بـ windowed-sinc أو Parks-McClellan
مرشح IIR
  • قد يكون غير مستقر — الأقطاب يجب أن تبقى داخل الدائرة الوحدوية
  • طور غير خطي (تأخير المجموعة يتغير مع التردد)
  • الاستجابة النبضية تتناقص لكنها لا تنتهي
  • انتقالات حادة بمعاملات قليلة جدًا
  • كفاءة حسابية عالية (رتبة منخفضة)
  • التكميم قد ينقل الأقطاب خارج الدائرة الوحدوية
  • يُصمَّم عبر نموذج تناظري + تحويل ثنائي خطي

رتبة المرشح — فجوة الكفاءة

أكثر الفروق العملية بروزًا هو عدد المعاملات المطلوبة لتلبية نفس مواصفات الاستجابة الترددية. لمرشح تمرير منخفض ذي:

نوع المرشح الرتبة التقريبية عدد الضربات/عينة ملاحظات
FIR (نافذة Kaiser) ≈ 60–80 نقر 60–80 طور خطي مضمون
FIR (Parks-McClellan) ≈ 40–60 نقر 40–60 تموّج متساوٍ مثالي
IIR Butterworth ≈ الرتبة 10 20–21 سعة مسطحة تمامًا
IIR Chebyshev I ≈ الرتبة 7 14–15 تموّج متساوٍ في نطاق التمرير
IIR Elliptic ≈ الرتبة 5 10–11 أدنى رتبة للمواصفات

يحقق مرشح IIR الإهليلجي نفس الاستجابة بنحو عُشر عدد الضربات الحسابية لتطبيق FIR مكافئ. على المعالجات المضمّنة التي تفتقر إلى وحدات ضرب-تراكم متخصصة، قد يُحدد هذا الفارق ما إذا كانت المعالجة في الوقت الحقيقي ممكنة أصلًا.

الاستجابة الطورية وتأخير المجموعة

الطور الخطي من أكثر الخصائص قيمةً في معالجة الإشارات: حين تُؤخَّر كل مكونات التردد بالمقدار ذاته، تمر شكل الإشارة عبر المرشح دون تشويه. ينتقل وقت الوصول فقط — لا شكل الموجة.

مرشحات FIR ذات المعاملات المتماثلة (b_k = b_{M−k}) تمتلك طورًا خطيًا تامًا عبر كل الترددات، لأي رتبة. يُساوي تأخير المجموعة M/2 عينة. هذا يجعل FIR الاختيار الافتراضي لـ:

مرشحات IIR تكرارية ولا تستطيع تحقيق طور خطي تمامًا. يتفاوت تأخير مجموعتها عبر نطاق التمرير — أحدها قرب حواف النطاق. لتطبيقات الصوت حيث يكون تشويه الطور مسموعًا، أو لمعالجة البيانات حيث تكون الترابطية الطورية مهمة، تحتاج مرشحات IIR مرحلة ترشيح بطور صفري إضافية (الترشيح الأمامي-الخلفي) تُضاعف التكلفة الحسابية وتُضيف تأخيرًا يتعارض مع الاستخدام الفوري.

الترشيح بطور صفري لـ IIR

تُشغّل الدالة filtfilt() في MATLAB وSciPy مرشح IIR أماميًا ثم يعكس النتيجة خلفيًا. هذا يُضاعف الرتبة الفعّالة (تربيع استجابة السعة) ويُعدم الطور تمامًا — لكنه لا يمكن تطبيقه في الوقت الحقيقي إذ يجب توفر الإشارة كاملةً قبل المعالجة.

طور خطي في الوقت الحقيقي ← FIR فقط. طور صفري دون اتصال ← filtfilt()

الاستقرار وتكميم المعاملات

مرشحات FIR مستقرة دائمًا بشكل غير مشروط. نظرًا لعدم وجود تغذية راجعة، لا توجد أقطاب — دالة النقل تحتوي صفورًا فقط. يمكن أن تكون الصفور في أي مكان في مستوى z دون أن تسبب عدم استقرار. تكميم معاملات مرشح FIR قد يُغيّر استجابته الترددية قليلًا، لكنه لا يُفقده استقراره.

مرشحات IIR تتطلب اهتمامًا دقيقًا بالاستقرار. تصميم النموذج التناظري يضمن بدء الأقطاب داخل الدائرة الوحدوية، لكن عاملين يمكنهما نقلها خارجها:

العلاج القياسي هو تطبيق مرشحات IIR كـأقسام من الدرجة الثانية المتتالية (biquads) بدلًا من مرشح عالي الرتبة واحد. كل biquad يتحكم في قطبين، ومعاملاته أقل حساسيةً بكثير للتكميم لأن مواضع الأقطاب يتحكم فيها عدد أقل من البتات في وقت واحد.

استخدم دومًا أقسام biquad لمرشحات IIR

مرشح IIR من الرتبة العاشرة المُنفَّذ كبنية واحدة يمتلك 10 معاملات تغذية راجعة، وتكميم أي منها ينقل كل الأقطاب العشرة في وقت واحد. بخمسة biquads متتالية، كل معامل يؤثر فقط على زوج واحد من الأقطاب. تنخفض حساسية التكميم بشكل كبير.

IIR عالي الرتبة: استخدم دومًا أقسام من الدرجة الثانية المتتالية (SOS)

التعقيد الحسابي

كلا النوعين ينفّذان عمليات ضرب-تراكم (MAC)، لكن بمعدلات مختلفة جدًا. لمرشح من الرتبة N يعالج عينة واحدة في كل مرة:

العملية FIR (رتبة N) IIR (رتبة N)
ضربات/عينة N + 1 N + M + 1
جمعيات/عينة N N + M
الذاكرة (خط التأخير) N عينة N + M عينة
الرتبة النموذجية لتمرير منخفض حاد 50–200 نقر الرتبة 4–10
ملاءمة الوقت الحقيقي يعتمد على سرعة المعالج ممتاز على معظم العتاد

لمرشحات FIR الطويلة جدًا (مئات الأنقار)، تحسب أساليب التداخل-والجمع أو التداخل-والحفظ المخرج باستخدام FFT بكتل بعمليات O(N log N) بدلًا من O(N) لكل عينة — مما يجعل مرشحات FIR الطويلة منافسة لـ IIR في معدل الإنتاجية عند معالجة الكتل معًا.

خريطة القرار

في الممارسة العملية، يتلخص الاختيار بين FIR وIIR في مجموعة صغيرة من الأسئلة الحاسمة:

اختر FIR عندما…
  • الطور الخطي مطلوب (صوت، تخطيط القلب، اتصالات متماسكة)
  • النظام لا يتحمل عدم الاستقرار تحت أي ظروف
  • تُستخدم حسابات الفاصلة الثابتة واستقرار التكميم حاسم
  • العتاد المستهدف يمتلك وحدات MAC معجّلة (مثل ARM CMSIS-DSP)
  • المعالجة بالكتل مقبولة (التأخير ليس حرجًا)
  • مواصفات المرشح ذات نطاقات انتقال واسعة جدًا
اختر IIR عندما…
  • الموارد الحسابية شحيحة (MCU مضمّن أو جهاز يعمل بالبطارية)
  • انتقالات حادة جدًا مطلوبة بأقل معاملات
  • تشويه الطور مقبول (مثل وضوح الكلام، لا جودة الموسيقى)
  • المرشح يُحاكي دائرة تناظرية (ضوابط نغمة الصوت، تصفية التقاطع)
  • الذاكرة محدودة ويجب إبقاء رتبة المرشح منخفضة
  • حساب الفاصلة العائمة متاح (يُقلل مخاوف التكميم)

حين لا يتفوق أحدهما بوضوح

تقع بعض التطبيقات في منطقة رمادية. شبكات تصفية التقاطع الصوتية في أنظمة مكبرات الصوت تستخدم تقليديًا مرشحات IIR مشتقة من النماذج التناظرية (Butterworth أو Linkwitz-Riley) لأن علاقات الانحدار والطور بين سائقي الصوت يجب أن تكون دقيقة عند تردد التقاطع — لكن خطية الطور تهم النظام الكلي. تستخدم مضخمات DSP الحديثة عالية الجودة في أغلب الأحيان مرشحات تقاطع FIR ذات طور خطي رغم التكلفة الحسابية.

الخلاصة: كلتا عائلتي المرشحات لا غنى عنهما. معرفة مقايضاتهما بعمق — لا مجرد خصائصهما السطحية — تُمكّنك من مطابقة الأداة مع المهمة بثقة.

الخلاصات الرئيسية
  • مرشحات FIR ذات تغذية أمامية فقط، مستقرة دائمًا، ويمكنها تحقيق طور خطي مثالي بمعاملات متماثلة.
  • مرشحات IIR تستخدم التغذية الراجعة (الأقطاب)، فعّالة تكرارًا، لكن طورها غير خطي بطبيعته.
  • لنفس مواصفات الاستجابة الترددية، تحتاج مرشحات IIR عادةً عُشر أو أقل من معاملات تصميم FIR المكافئ.
  • الطور الخطي يستلزم FIR — طور IIR غير خطي بطبيعته، رغم أن الترشيح الخارجي بطور صفري (filtfilt) خيار لغير الوقت الحقيقي.
  • يجب دومًا تطبيق مرشحات IIR على عتاد الفاصلة الثابتة كأقسام biquad متتالية للتحكم في حساسية التكميم ودورات الحد.
  • اختر FIR للتطبيقات الحرجة طوريًا وأمنيًا وعتاد الفاصلة الثابتة؛ واختر IIR للأنظمة الزمنية الحقيقية المقيّدة حسابيًا ذات تشويه الطور المقبول.
  • أساليب التداخل-والجمع/التداخل-والحفظ تجعل مرشحات FIR الطويلة منافسة لـ IIR في الإنتاجية باستخدام الحمل الحسابي بالكتل المستند إلى FFT.
التالي كثافة الطيف الطاقي نظرة عامة على الوحدة السابق التحويل الثنائي الخطي