DSP 101
M8 · L3
الوحدة 8 — تصميم الـ IIR filters
الـ bilinear transform

الطريقة المعيارية لتحويل الـ analog prototypes لـ IIR filters رقمية — بتربط مستوى s كله بمستوى z من غير أي aliasing.

1 / 9
DSP 101
M8 · L3
الفكرة الأساسية
عوّض s بـ z

الـ bilinear transform (التحويل الثنائي الخطي) بيعوّض المتغيّر التناظري s بدالة rational في z. طبّق التعويض على H_a(s) وهتاخد H(z) على طول.

تعويض الـ bilinear transform
s = \dfrac{2}{T}\cdot\dfrac{z - 1}{z + 1}
2 / 9
DSP 101
M8 · L3
من مستوى s لمستوى z
تحويل one-to-one تمامًا

كل نقطة في مستوى s بتتربط بنقطة واحدة بس في مستوى z، والعكس. والتلات تقابلات الأساسية:

  • النص الشمال (تناظري مستقر) ← جوه دايرة الوحدة (رقمي مستقر)
  • المحور التخيلي jΩ → دايرة الوحدة |z| = 1 (الـ frequency response)
  • النص اليمين (مش مستقر) ← برا دايرة الوحدة
الميزة الأساسية على طريقة الـ impulse invariance
مفيش aliasing — محور الـ frequency كله بيتطوي في [−π, π] من غير تداخل
3 / 9
DSP 101
M8 · L3
المقايضة
الـ frequency warping

ضغط ±∞ في ±π مش ببلاش — محور الـ frequency بيتشوّه بشكل مش خطي. قريب من الـ DC التحويل تقريبًا خطي، بس قريب من نايكويست (ω→π) الـ frequencies التناظرية بتتضغط جامد.

علاقة الـ warping
\Omega = \dfrac{2}{T}\tan\!\left(\dfrac{\omega T}{2}\right)
4 / 9
DSP 101
M8 · L3
الحل
الـ prewarping للـ prototype

صمّم الـ analog prototype عند الـ frequency بعد الـ prewarping Ω_c. وبعد الـ bilinear transform، الـ cutoff الرقمية بتقع بالظبط عند ω_c المستهدفة.

صيغة الـ prewarping
\Omega_c = \dfrac{2}{T}\tan\!\left(\dfrac{\omega_c T}{2}\right)

الـ frequencies الحرجة لحواف النطاق بس هي اللي محتاجة prewarping. وطابع الـ response جوه النطاق (equiripple أو monotonic) بيتحفظ.

5 / 9
DSP 101
M8 · L3
إجراء التصميم
خطوات من أربعة
  • الخطوة 1: حدّد الـ filter الرقمي — ω_p، ω_s، δ_p، δ_s
  • الخطوة 2: اعمل prewarping لحواف النطاق → Ω_p، Ω_s
  • الخطوة 3: صمّم الـ analog prototype (Butterworth / Chebyshev / elliptic) عند الـ frequencies بعد الـ prewarping
  • الخطوة 4: طبّق التعويض الـ bilinear عشان تاخد H(z)
6 / 9
DSP 101
M8 · L3
أبعد من الـ low-pass
كل أنواع الـ filters

ضيف frequency transformation قبل خطوة الـ bilinear transform عشان تصمّم أي نوع من low-pass prototype:

  • LP → HP: عوّض s بـ Ω_c / s
  • LP → BP: عوّض s بـ (s² + Ω_0²)/(B·s) — بيضاعف الدرجة
  • LP → BS: عوّض s بـ B·s/(s² + Ω_0²) — بيضاعف الدرجة برضه
  • كل ده بيتعمل لوحده بدوال butter/cheby1/ellip في MATLAB وSciPy
7 / 9
DSP 101
اختبار سريع

شوف إيه اللي ثبت

أربع أسئلة عن الـ bilinear transform — الـ mapping والـ warping والـ prewarping وتحويلات النوع.

السؤال 1 من 0
النتيجة 0/0

8 / 9
DSP 101
M8 · L3
أهم اللي اتعلّمته
اتعلّمت إيه
  • الـ bilinear transform: s = (2/T)(z−1)/(z+1) — جبري، من غير aliasing
  • النص الشمال ← جوه دايرة الوحدة — الاستقرار مضمون
  • الـ frequency warping: Ω = (2/T)·tan(ωT/2) بيضغط ±∞ في ±π
  • اعمل prewarping للـ frequencies الحرجة عشان الـ cutoff الرقمية تقع بالظبط
  • بيشتغل مع كل أنواع الـ filters بتحويلات LP→HP/BP/BS الزيادة
  • الـ bilinear transform + الـ analog prototype = طريقة تصميم الـ IIR المعيارية
اقرا المقالة كاملة ←
9 / 9
1 / 8 كتم