الطيف والنافذة
DFT يقول "هذا التردد موجود في الإشارة كلّها" — لكن الموسيقى تتغيّر لحظةً بلحظة. نحتاج أن نرى متى ظهر كل تردد. الحلّ هو STFT والـspectrogram، ومعه نكتشف مقايضةً عميقة لا مفرّ منها بين دقّة الزمن ودقّة التردد.
تريد تحليل مقطوعة مدّتها ١٠ ثوانٍ. لو طبّقت DFT على الـ١٠ ثوانٍ كاملة، تحصل على "متوسّط الترددات عبر المقطوعة كلّها" — عديم الفائدة (لا تعرف متى عُزفت كل نغمة).
فكرتك: قطّع الإشارة لنوافذ قصيرة وطبّق DFT على كلٍّ. لكن ما طول النافذة؟ نافذة قصيرة جداً (10 عيّنات) تحدّد الزمن بدقّة لكنها قصيرة جداً لتمييز ترددين متقاربين. نافذة طويلة (10000 عيّنة) تميّز الترددات بدقّة لكنها تطمس "متى". هل يمكن أن تحصل على دقّة عالية في الزمن والتردد معاً؟ جرّب أن تتخيّل لماذا لا.
STFT: فورييه على نوافذ منزلقة
الحلّ العملي: Short-Time Fourier Transform — قسّم الإشارة إلى أطر متداخلة قصيرة، طبّق FFT على كل إطار، ورُصّ النتائج جنباً إلى جنب. تحصل على مصفوفة ثنائية: المحور الأفقي زمن (رقم الإطار)، الرأسي تردد، واللون = المقدار. هذه هي الـspectrogram — صورة الصوت.
المقايضة التي لا مفرّ منها — حلّ اللغز
الجواب: لا. هذا قانون رياضي، لا قصور تقني. النافذة الزمنية
القصيرة Δt تعطي دقّة ترددية رديئة Δf، والعكس. حاصل ضربهما
محدود من الأسفل:
Gabor limitΔt · Δf ≥ ثابت # نفس بنية مبدأ هايزنبرغ — خاصّية لفورييه ذاته
سبب جذري: تمييز ترددين متقاربين يتطلّب ملاحظة عدّة دورات منهما؛ وملاحظة عدّة دورات تتطلّب زمناً. لا يمكن "معرفة التردد الآن حالاً" لأن التردد مفهوم يحتاج امتداداً زمنياً ليُعرّف أصلاً.
قصّ إطار فجأةً يخلق قفزات حادّة عند طرفيه → ترددات وهمية في الطيف (spectral leakage). لذا نضرب كل إطار في "نافذة" ناعمة (Hann/Hamming) تخفّ تدريجياً عند الأطراف. هذا نفس منطق "الامتداد المرآتي" في DCT (مسار الصور): تجنّب القفزات الحادّة التي تلوّث الطيف.
- ولّد إشارة chirp:
x[n]=sin(2π·(f0 + r·n)·n/fₛ). قطّعها لأطر بطول 256 وقفزة (hop) 128. - اضرب كل إطار في نافذة Hann
0.5−0.5cos(2πi/M)، طبّق DFT، خزّن|X[k]|. ارسم المصفوفة كصورة (l' أو PPM من مسار الصور!). - اختبر المقايضة: أعِد بطول إطار 32 ثم 2048. لاحظ: القصير يعطي قطراً حادّاً زمنياً وضبابياً ترددياً، والطويل العكس. هذا قانون غابور بعينيك.
- طبّق على إطار بلا نافذة وقارن الـleakage.
STFT يعطينا صورة زمن-تردد (spectrogram)، لكن بمقايضة Δt·Δf ثابتة
(غابور) — قانون لا قصور. النافذة الناعمة تمنع تسرّب الطيف. الآن نملك تمثيلين
للصوت (زمن، زمن-تردد). حان وقت التلاعب به: كيف نبني نظاماً يأخذ صوتاً
ويُخرج صوتاً معدّلاً — يقوّي الجهير، يزيل طنيناً؟ هذا عالم الأنظمة والفلاتر.