DSP 101
M8 · L4
الوحدة 8 — تصميم الـ IIR filters
FIR قصاد IIR — المقايضات
عيلتين من الـ filters لهدف واحد — بس ببنى وكفاءات وخصائص مختلفة من الأساس. اتعلّم إمتى تختار كل واحدة.
1 / 9
DSP 101
M8 · L4
الفرق الجوهري
feedforward قصاد feedback
الـ FIR بيجمع الدخلات الموزونة بس — مفيش poles، مفيش feedback. والـ IIR بيضيف الخرجات اللي فاتت الموزونة — recursive وليه poles.
FIR
y[n] = \sum_{k=0}^{M} b_k\, x[n-k]
IIR
y[n] = \sum_{k=0}^{M} b_k\, x[n-k] - \sum_{k=1}^{N} a_k\, y[n-k]
2 / 9
DSP 101
M8 · L4
فجوة الكفاءة
نفس المواصفات، معاملات أقل بـ 4–5×
لـ low-pass filter حاد بـ transition band 0.1π وattenuation 40 dB:
32–46
الـ FIR taps
4
درجة الـ IIR الـ elliptic
4–5×
نسبة الكفاءة
الخلاصة
الـ poles بتدّي الـ IIR عند الدرجة 4 اللي الـ FIR محتاج من 32 لـ 46 tap عشان يوصله
3 / 9
DSP 101
M8 · L4
سلوك الـ phase
الـ linear phase — FIR بس
المعاملات المتماثلة في الـ FIR بتضمن linear phase — كل frequency بتتأخر بالتساوي وشكل الموجة بيتحفظ. أما الـ group delay بتاع الـ IIR فبيتفاوت على الـ passband.
- الـ equalization الصوتي: لازم شكل الـ transients يتحفظ ← FIR
- أشكال موجات رسم القلب: حرجة في التشخيص ← FIR
- وضوح الكلام، وcontrol loops الـ RF: الـ phase distortion مقبول ← IIR
- المعالجة الـ offline: filtfilt() بيدّي zero phase من IIR بضعف التكلفة
4 / 9
DSP 101
M8 · L4
الاستقرار والـ quantization
الـ FIR مستقر دايمًا
مفيش poles ← الـ FIR filters متقدرش تفقد الاستقرار تحت أي quantization. أما poles الـ IIR فممكن تطلع برا دايرة الوحدة لما المعاملات تتقرّب في الـ fixed-point.
- الحل: نفّذ الـ IIR كـ biquad sections متسلسلة (SOS)
- كل biquad بيتحكّم في زوج poles واحد بس — أقل حساسية للتقريب
- الـ limit cycles (تذبذبات عند دخل صفر) ممكن تتدار في صيغة الـ biquad
- الـ IIR بالـ floating-point محمي لحد كبير من عدم استقرار الـ quantization
5 / 9
DSP 101
M8 · L4
التكلفة الحسابية
عمليات MAC لكل sample
النوعين بينفّذوا عمليات multiply-accumulate، بس بمقاييس مختلفة جدًا. للـ response الحاد:
- FIR (32–46 tap): 32–46 MAC/sample
- IIR elliptic (الدرجة 4): ~9 MAC/sample
- FIR طويل بالـ overlap-add: O(N log N) عن طريق blocks الـ FFT
- سلاسل biquad للـ IIR: تكلفة صغيرة ثابتة مهما كانت الحدّة
استنتاج أساسي
الـ IIR بيكسب في تكلفة الـ real time؛ والـ FFT-FIR بيكسب في الـ filters الطويلة جدًا في وضع الـ blocks
6 / 9
DSP 101
M8 · L4
دليل القرار
تختار أنهي واحد إمتى
- FIR: linear phase مطلوب — صوت، رسم قلب، اتصالات coherent
- FIR: fixed-point وأنظمة الاستقرار فيها حرج
- IIR: MCU محدود في الحسابات أو جهاز شغّال ببطارية
- IIR: تقليد دايرة تناظرية (أدوات ضبط النغمة، الـ crossovers)
- IIR: انتقال حاد جدًا بأقل memory وطاقة
- الاتنين: crossovers الصوت — مقايضة الجودة والكفاءة
7 / 9
DSP 101
M8 · L4
أهم الخلاصات
اتعلّمت إيه
- FIR: feedforward، مستقر دايمًا، linear phase تام ممكن
- IIR: recursive (poles)، أكفأ بحوالي 4–5×، بس phase مش linear
- عدم استقرار الـ IIR عند الـ quantization — استخدم biquads متسلسلة (SOS)
- linear phase في الـ real time ← FIR بس؛ zero phase offline ← filtfilt()
- طابق نوع الـ filter مع متطلبات الـ phase والاستقرار والموارد في تطبيقك
9 / 9
1 / 8
صامت