الدورية (Periodogram) — مراجعة
في الدرس السابق، تعرّفنا على الدورية بوصفها أبسط مُقدِّر لكثافة الطيف الطاقي (PSD). إذ تحسب مربع سعة تحويل فورييه المتقطع (DFT) لـ N عيّنة x[0], x[1], …, x[N−1]، مقسومًا على N:
الدورية جذّابة في بساطتها، لكنها تعاني من مشكلة إحصائية جوهرية: تباينها لا يتناقص مع زيادة طول البيانات N. في الواقع، تباين كل تقدير طيفي يساوي تقريبًا مربع قيمة PSD الحقيقية — أي خطأ نسبي يبلغ ~١٠٠٪ عند كل تردد. مهما جمعت من بيانات، تبقى الدورية مُقدِّرًا مضطربًا.
لفهم السبب: جمع المزيد من البيانات في DFT واحد يمنحك دقة ترددية أفضل (Δf = f_s/N أصغر)، لكن كل خانة ترددية تبقى مُمثَّلة بعيّنة مركّبة واحدة. "حجم العيّنة" لكل خانة لا يتزايد أبدًا — دائمًا تحسب قياسًا واحدًا مضطربًا لكل تردد.
التحيّز والتباين في الدورية
يُوصف كل مُقدِّر إحصائي بخاصيتين: التحيّز (الخطأ المنهجي) والتباين (التذبذب العشوائي). بالنسبة للدورية:
| الخاصية | السلوك | الأثر |
|---|---|---|
| التحيّز | يتناقص عندما N → ∞ | غير متحيّز مقاربًا — يقترب من PSD الحقيقي |
| التباين | ≈ [S(ω)]² — ثابت! | لا يتناقص مع زيادة البيانات |
| الاتساق | غير متسق | لا يتقارب إلى القيمة الحقيقية أبدًا |
الدورية إذًا مُقدِّر غير متسق — أي مُقدِّر لا يتقارب إلى القيمة الحقيقية عند زيادة حجم العيّنة. هذا قيد جوهري. للحصول على تقديرات PSD موثوقة، نحتاج إلى طرق تُقلّل التباين بتوسيط تقديرات طيفية مستقلة متعددة.
كل خانة DFT هي X[k] تستلزم مساهمات من جميع N عيّنة — لذا فهي ليست "عيّنة واحدة" بالمعنى الحدسي. لكن رياضيًا، كل |X[k]|² يتبع توزيع كاي-مربع مُقيَّسًا بدرجتَي حرية، بصرف النظر عن N. توسيط متغيرات كاي-مربع يُقلّل التباين — وهذا بالضبط ما تفعله طريقتا بارتليت وويلش.
Var[الدورية] ≈ S²(ω) — مستقل عن Nطريقة بارتليت — توسيط المقاطع غير المتداخلة
المفتاح لتقليل تباين الدورية هو التوسيط. لو أمكنك حساب الدورية بصورة مستقلة على K سجلات بيانات مختلفة وتوسيط النتائج، لتناقص التباين بعامل K. تحقق طريقة بارتليت (١٩٤٨) هذا الغرض من سجل بيانات واحد طويل بتقسيمه إلى مقاطع غير متداخلة.
إذا أُعطيت N عيّنة إجمالية وطول مقطع M، تنشئ طريقة بارتليت K = ⌊N/M⌋ مقطعًا غير متداخل. تُحسَب الدورية لكل مقطع، ثم تُوسَّط الـ K دوريات:
تكشف طريقة بارتليت عن المقايضة الجوهرية بين التباين والدقة في تقدير PSD. مقاطع أقصر ← عدد أكبر من المقاطع ← تباين أقل، لكن دقة ترددية أضعف. مقاطع أطول ← عدد أقل من المقاطع ← دقة أفضل، لكن تباين أعلى. لا يمكنك الحصول على الاثنين معًا بكمية بيانات ثابتة.
طريقة ويلش — مقاطع متداخلة مع دوال تنعيم
طوّر بيتر ويلش (١٩٦٧) طريقة بارتليت بإضافتين جوهريتين: المقاطع المتداخلة ودوال النافذة (التنعيم). يسمح التداخل بحساب دوريات أكثر من نفس البيانات، مما يزيد K ويُقلّل التباين دون إهدار البيانات عند حواف المقاطع.
دالة النافذة المطبَّقة على كل مقطع تُقلّل التسرّب الطيفي — تسرّب الطاقة من مركّبة ترددية قوية إلى الخانات المجاورة. بدون تنعيم (أي نافذة مستطيلة)، تُولّد الحواف الحادة عند طرفي المقطع فصوصًا جانبية ضخمة في نطاق التردد. تطبيق نافذة ناعمة (Hann، Hamming، Blackman) يُلطّف الحواف ويُقلّص التسرّب بشكل جذري.
بارتليت مقابل ويلش — الفروق الجوهرية
- مقاطع متداخلة (عادةً ٥٠٪)
- تطبيق دالة نافذة ناعمة
- مقاطع أكثر لنفس طول البيانات
- تقليص أكبر للتباين
- تقليل التسرّب الطيفي
- المعيار الصناعي (pwelch، scipy)
اختيار معاملات ويلش في التطبيق العملي
ثلاثة معاملات تتحكم في سلوك مُقدِّر ويلش. اختيارها صحيحًا هو حكم هندسي يعتمد على التطبيق:
| المعامل | أثره على الدقة | أثره على التباين | القيمة الشائعة |
|---|---|---|---|
| طول المقطع M | ↑M → Δf = f_s/M أدق | ↑M → مقاطع أقل → تباين أعلى | ٢٥٦–٢٠٤٨ عيّنة |
| نسبة التداخل | لا أثر على الدقة | ↑تداخل → مقاطع أكثر → تباين أقل | ٥٠٪ (Hann) أو ٧٥٪ |
| نوع النافذة | فص رئيسي أعرض = دقة أضعف | فصوص جانبية أدنى = تسرّب أقل | Hann (للأغراض العامة) |
مع نافذة Hann وتداخل ٥٠٪، تتشارك المقاطع المتتالية نصف بياناتها. هذه النسبة مثالية لأن نافذة Hann تبلغ صفرًا عند الحواف — العيّنات قرب طرفي المقطع تُخفَّض وزنها، والتداخل يسمح لها بالمساهمة بالكامل في المقطع المجاور. زيادة التداخل فوق ٥٠–٧٥٪ يعطي مكاسب متناقصة إذ تصبح المقاطع المتتالية مترابطة بشدة.
نافذة Hann + تداخل ٥٠٪ = التهيئة الأكثر شيوعًا لطريقة ويلشالتنفيذ — pwelch و scipy
طريقة ويلش هي الأداة الافتراضية لتقدير PSD في MATLAB (pwelch) وPython (scipy.signal.welch). تنفّذ كلتا الدالتين الخوارزمية ذاتها لكن بعض الإعدادات الافتراضية تختلف:
| المعامل | MATLAB pwelch | scipy.signal.welch |
|---|---|---|
| النافذة الافتراضية | Hamming | Hann |
| طول المقطع الافتراضي | ⌊N/8⌋ | 256 |
| التداخل الافتراضي | 50% | 50% |
| اصطلاح الإخراج | أحادي الجانب افتراضيًا | أحادي الجانب افتراضيًا |
| التطبيع | طاقة لكل هرتز (كثافة) | طاقة لكل هرتز (كثافة) |
تفصيل مهم: كلتا الدالتين تُخرجان PSD أحادية الجانب افتراضيًا بوحدات طاقة/هرتز (تسمى أيضًا كثافة الطيف). لحساب الطاقة الكلية في نطاق ترددي محدد، كامل PSD على ذلك النطاق: P_band = ∫ S(f) df ≈ Σ S[k] · Δf.
عند مقارنة مخططات PSD من مصادر مختلفة، تحقّق دائمًا من: (١) أحادي أم ثنائي الجانب، (٢) مقياس خطي أم ديسيبل، (٣) طاقة/هرتز أم طاقة/عيّنة (مُطبَّعة). فارق ٣ dB غالبًا ما يعود إلى الخلط بين الاصطلاحين؛ واختلاف محور التردد يُشير إلى الخلط بين التردد المُطبَّع والفيزيائي.
تحقّق دائمًا: أحادي أم ثنائي الجانب؟ طاقة/هرتز أم طاقة/عيّنة؟- الدورية (|DFT|²/N) غير متحيّزة مقاربًا لكن تباينها ثابت ≈ S²(ω) — وهي مُقدِّر غير متسق.
- طريقة بارتليت تُقسّم البيانات إلى K مقطع غير متداخل وتُوسِّط دورياتها، مُقلِّلةً التباين بعامل K مقابل تراجع الدقة الترددية.
- طريقة ويلش تُضيف تحسينين: مقاطع متداخلة (مقاطع أكثر ← تباين أقل) ودوال نافذة (تُقلّل التسرّب الطيفي).
- المعاملات الثلاثة لويلش — طول المقطع M، ونسبة التداخل، ونوع النافذة — تُوازن بين الدقة الترددية وتقليص التباين.
- نافذة Hann مع تداخل ٥٠٪ هي التهيئة الأكثر شيوعًا؛ وهي الافتراضية في pwelch و scipy.signal.welch.
- مخرجات ويلش أحادية الجانب افتراضيًا؛ كامل على نطاق لحساب طاقة النطاق.
- لا توجد وجبة مجانية: بيانات ثابتة تُحدّد جداء الدقة × التباين.