يعني إيه linear phase؟
أي filter مش بيغيّر الـ amplitude بتاع الـ signals بس، بيغيّر الـ phase بتاعها كمان. والـ phase distortion بيحصل لما كل frequency تتأخر بمقدار مختلف وهي معدّية على الـ filter — فالخرج بيبقى نسخة مشوّهة ومتلخبطة من الدخل حتى لو كل الـ amplitudes اتحفظت بدقة. والـ linear phase (الطور الخطي) معناه إن الـ phase response بتاع الـ filter دالة خطية في الـ frequency: φ(ω) = −αω لثابت α ما. والخاصية دي لوحدها بتضمن إن كل مكوّن frequency بيتأخر نفس الوقت بالظبط.
والنتيجة العملية عميقة: الـ filter اللي الـ phase بتاعه linear بيحافظ على شكل موجة الـ signal. الـ transients بتوصل سليمة. وحواف النبضات بتفضل حادة. ودي الميزة اللي بتميّز الـ FIR filters على تصميمات الـ IIR في التطبيقات اللي دقة شكل الموجة فيها مهمة — معالجة الصوت، والاتصالات الرقمية، والتقاط الـ signals الطبية الحيوية.
الـ group delay — المقياس الأساسي
الـ group delay (تأخير المجموعة) بتاع الـ filter بيقيس كل مكوّن frequency بيتأخر قد إيه في الزمن. ومتعرّف على إنه سالب تفاضل الـ phase response بالنسبة للـ frequency:
أما الـ IIR filter فالـ phase response بتاعه مش خطي — الـ group delay بتاعه بيتغيّر مع الـ frequency. شوية frequencies بتتأخر أكتر من غيرها، فالـ filter بـ"يلطّخ" شكل الموجة على الزمن. وفي الصوت، ده بيبان كتغبيش خفيف. وفي الـ signals النبضية (الاتصالات الرقمية، الرادار)، ممكن يشوّه شكل النبضة كفاية إنه يعمل أخطاء في الكشف.
التناظر — مفتاح الـ linear phase
الـ linear phase في الـ FIR filter مضمون بشرط بسيط على معاملاته: الـ impulse response لازم يبقى يا متماثل يا anti-symmetric حوالين نقطة النص. والشرطين دول، مع اختيارين لطول الـ filter (فردي أو زوجي)، بيطلّعوا أربع أنواع مختلفة من الـ FIR filters linear phase.
الأربع أنواع للـ FIR filters linear phase
الأربع أنواع جايين من اختيارين ثنائيين: التماثل (زوجي قصاد فردي) وطول الـ filter (N فردي قصاد N زوجي). وكل تركيبة ليها خصائص frequency response مختلفة بتخلّيها مناسبة لتطبيقات مختلفة.
| النوع | التماثل | الطول | الـ zeros الإجبارية | أنسب لـ |
|---|---|---|---|---|
| I | h[n] = h[N−1−n] | فردي | مفيش | LP/HP/BP/BS عام |
| II | h[n] = h[N−1−n] | زوجي | ω = π | LP, BP |
| III | h[n] = −h[N−1−n] | فردي | ω = 0 وπ | BP، Hilbert |
| IV | h[n] = −h[N−1−n] | زوجي | ω = 0 | HP، differentiator |
ليه الـ zeros الإجبارية مهمة
الـ zeros الإجبارية عند الـ DC أو نايكويست مش اختيارات تصميم — دي نتايج رياضية مفيش منها مهرب للتماثل والطول. filter النوع II ميقدرش يعدّي الـ frequency π مهما اخترت معاملاته إزاي، لأن التماثل بيجبر H(e^jπ) = 0 بالتطابق. ومحاولة تصميم high-pass filter بالنوع II هتطلّع دايمًا response بايظ قريب من نايكويست.
وعشان كده اختيار نوع الـ filter قرار بدري مهم في التصميم. لـ FIR high-pass filter، استخدم دايمًا النوع I أو IV. ولـ Hilbert transformer (phase shift 90° على نطاق واسع)، محتاج النوع III أو IV. وطريقة الـ windowed-sinc بتطلّع النوع I لوحدها افتراضيًا (N فردي، معاملات متماثلة)، وده سبب إن النوع I منتشر في التطبيقات العملية.
filters النوع II والنوع IV الـ group delay بتاعهم = (N−1)/2 sample وN زوجي — فالتأخير مش عدد صحيح ("نص sample"). وده صح رياضيًا بس معناه إن الخرج متأخر بعدد كسري من الـ samples بالنسبة للدخل. وفي أغلب تطبيقات الـ signal processing ده مقبول، بس في الأنظمة اللي محتاجة خرج مظبوط على الـ samples بالظبط، النوع I أو III (group delay صحيح) هو المفضّل.
تأخير صحيح: النوعين I وIII. تأخير بنص sample: النوعين II وIV.إمتى الـ linear phase بيفرق
الـ linear phase ضروري كل ما شكل الموجة الطالعة لازم يبقى نسخة أمينة من الداخلة. والتطبيقات الأساسية:
إمتى الـ linear phase مبيفرقش
الـ linear phase مش ضروري دايمًا. في التطبيقات اللي اللي بيفرق فيها بس هو الـ power spectrum بتاع الـ signal — مش شكل موجتها — الـ IIR filters غالبًا بتبقى اختيار أحسن. والـ anti-aliasing filters (مكافحة التحوّل) في الـ audio ADCs (sigma-delta converters) IIR بطبعها وبتشتغل كويس لأن الودن أقل حساسية للـ phase distortion على النطاق العريض. وتقدير الـ power spectral density واكتشاف الـ envelope وقياسات الطاقة كلها مبتحسّش بالـ phase. وإنك تختار FIR filter عشان الـ linear phase بس والتطبيق مش محتاجه بيضيّع قدرة حسابية: Butterworth IIR filter من الدرجة الخامسة يقدر يوصل لانتقائية FIR filter فيه 50 tap بعُشر التكلفة.
الـ FIR filters بتضمن الـ linear phase عن طريق تماثل المعاملات. والـ IIR filters متقدرش توصل لـ linear phase بالظبط (الـ equalization بـ all-pass filter ممكن يعوّض بس بيضيف تأخير وتعقيد). والاختيار غالبًا بيتوقف على قد إيه تستحمل التأخير: المعالجة الـ offline بتستحمل FIR filters كبيرة؛ والأنظمة المدمجة في الـ real time غالبًا بتفضّل كفاءة الـ IIR رغم الـ phase distortion بتاعه.
محتاج أمانة شكل الموجة ← FIR linear phase. محتاج الكفاءة ← IIR (اقبل الـ phase اللي مش linear).- الـ linear phase معناه φ(ω) = −αω — كل الـ frequencies بتتأخر نفس القدر α، فشكل الموجة بيتحفظ.
- الـ group delay τ(ω) = −dφ/dω = (N−1)/2 ثابت لـ FIR filter linear phase طوله N.
- تماثل المعاملات (h[n] = h[N−1−n]) أو الـ anti-symmetry (h[n] = −h[N−1−n]) هو الشرط الضروري والكافي للـ linear phase في الـ FIR.
- أربع أنواع من تماثل × طول: النوع I هو الأكتر تنوّع وانتشار.
- النوع II عنده zero إجباري عند ω = π — ميقدرش ينفّذ high-pass أو band-stop filters.
- النوعين III وIV عندهم zero إجباري عند ω = 0 — ميقدروش ينفّذوا low-pass filters.
- الـ linear phase مهم جدًا للصوت، والاتصالات، والطب الحيوي، ومعالجة الصور اللي شكل الموجة فيها بيفرق.
- لما مفيش حاجة بتفرق غير الـ power spectrum، الـ IIR filters أكفأ وممكن تتنازل عن الـ linear phase.