من الـ filter المثالي اللي زي الحيطة لتصميم FIR عملي — قطع الـ sinc اللانهائي بـ window function (دالة تبويب)، واختيار الـ attenuation قصاد عرض الانتقال، والتحكّم المتغيّر بتاع الـ Kaiser window.
الـ ideal low-pass filter ليه frequency response مستطيل — gain 1 تحت ω_c، وgain 0 فوقها. والـ impulse response بتاعه sinc: متناظر، ولانهائي، وnon-causal. مستحيل يتنفّذ على طول.
اضرب الـ sinc المثالي في window function طولها محدود w[n] بتنزل بنعومة للصفر عند حوافها. والنتيجة FIR filter عملي: h[n] = h_ideal[n] · w[n]. والنزول الناعم بيقايض شوية من الـ stopband attenuation قصاد إنه يتجنّب ripple الـ Gibbs اللي بيطلع من القطع المفاجئ.
- الخطوة 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
درجة الـ filter M بتتناسب عكسيًا مع عرض الـ transition band Δf. تقسيم عرض الانتقال على اتنين بيضاعف عدد المعاملات وتكلفة الحسابات. transition band أضيق = filter أطول.
الـ 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₀(·)
- الاختيار المفضّل لما المواصفات تبقى صارمة أو دقيقة
- 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 على طول
- الـ 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