DSP 101
M7 · L2
الوحدة 7 — تصميم الـ FIR filters
طريقة الـ windowed-sinc

من الـ filter المثالي اللي زي الحيطة لتصميم FIR عملي — قطع الـ sinc اللانهائي بـ window function (دالة تبويب)، واختيار الـ attenuation قصاد عرض الانتقال، والتحكّم المتغيّر بتاع الـ Kaiser window.

1 / 9
DSP 101
M7 · L2
مشكلة الـ filter المثالي
الـ sinc لانهائي

الـ ideal low-pass filter ليه frequency response مستطيل — gain 1 تحت ω_c، وgain 0 فوقها. والـ impulse response بتاعه sinc: متناظر، ولانهائي، وnon-causal. مستحيل يتنفّذ على طول.

الـ impulse response المثالي
h_{\text{ideal}}[n] = \frac{\sin(\omega_c n)}{\pi n}
2 / 9
DSP 101
M7 · L2
الحل
الضرب في الـ window function

اضرب الـ sinc المثالي في window function طولها محدود w[n] بتنزل بنعومة للصفر عند حوافها. والنتيجة FIR filter عملي: h[n] = h_ideal[n] · w[n]. والنزول الناعم بيقايض شوية من الـ stopband attenuation قصاد إنه يتجنّب ripple الـ Gibbs اللي بيطلع من القطع المفاجئ.

21 dB
rectangular
53 dB
Hamming
74 dB
Blackman
3 / 9
DSP 101
M7 · L2
أربع خطوات للتصميم
حدّد ← طبّق window ← احسب
  • الخطوة 1: حدّد ω_c ودرجة الـ filter M والـ stopband attenuation المستهدف A (ديسيبل)
  • الخطوة 2: اختار الـ window حسب A — Hamming لـ ≥53 ديسيبل، Blackman لـ ≥74 ديسيبل
  • الخطوة 3: احسب قيم الـ sinc: h_ideal[n] = sin(ω_c n) / (πn) لـ n = −M/2…M/2
  • الخطوة 4: اضرب في w[n] وزحزح عشان الـ filter يبقى causal
النتيجة
FIR filter متناظر linear phase فيه M+1 معامل، جاهز للتنفيذ.
4 / 9
DSP 101
M7 · L2
اختيار درجة الـ filter
المقايضة بين الدرجة والـ bandwidth

درجة الـ filter M بتتناسب عكسيًا مع عرض الـ transition band Δf. تقسيم عرض الانتقال على اتنين بيضاعف عدد المعاملات وتكلفة الحسابات. transition band أضيق = filter أطول.

صيغة درجة الـ Kaiser
M \approx \frac{A - 8}{2.285\,\Delta\omega}
5 / 9
DSP 101
M7 · L2
الـ window المتغيّرة
Kaiser — ظبّط كل حاجة

الـ Kaiser window ليها parameter واحد β بيظبط باستمرار مقايضة الـ attenuation والـ bandwidth. ولو معاك stopband attenuation مستهدف A، تقدر تحسب β وM تحليليًا — من غير تجربة وغلط.

  • β → 0: rectangular window (transition band ضيق، attenuation قليل)
  • β = 5.6: ≈ Hamming (53 ديسيبل)
  • β = 8.6: ≈ 80 ديسيبل stopband attenuation
  • بتتنفّذ بالـ modified Bessel function I₀(·)
  • الاختيار المفضّل لما المواصفات تبقى صارمة أو دقيقة
6 / 9
DSP 101
M7 · L2
بتتستخدم فين
الـ windowed-sinc في الواقع
  • equalizer الصوت والـ mastering — filters low-pass وband-pass linear phase
  • محوّلات الـ sample rate — الـ anti-aliasing والـ anti-imaging في الـ decimation/interpolation
  • الـ SDR وbaseband الـ 5G — filters رفض القنوات اللي جنب بعض
  • معالجة EEG/ECG — عزل نطاقات موجات المخ والقلب
  • طريقة الـ frequency sampling: بديل بيحدّد الـ frequency response على طول
7 / 9
DSP 101
اختبار سريع

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

أربع أسئلة من الدرس ده. جاوب عشان تشوف السبب — الشرح بيظهر سواء جاوبت صح أو غلط. ونتيجتك مش بتتحفظ.

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

8 / 9
DSP 101
M7 · L2
أهم النقط
اتعلّمت إيه
  • الـ ideal low-pass filter = response sinc — لانهائي وnon-causal، مينفعش يتنفّذ
  • الـ windowing بيقطع الـ sinc بنعومة: h[n] = h_ideal[n] · w[n]
  • rectangular ← 21 ديسيبل؛ Hamming ← 53 ديسيبل؛ Blackman ← 74 ديسيبل؛ Kaiser ← بيتظبط
  • درجة الـ filter M ∝ 1/Δf — transition band أضيق = معاملات أكتر
  • الـ Kaiser window بتحسب β وM تحليليًا من مواصفة الـ stopband
  • الـ frequency sampling بديل بيحدّد H على طول عند N frequency
اقرا المقالة كاملة ←
9 / 9
1 / 8 صامت