DSP 101
M6 · L4
الوحدة 6 — الـ Fast Fourier Transform
الـ spectral analysis في الـ real time

الـ short-time Fourier transform، وتحديد حجم الـ frame والـ hop، والـ Hann window، وعروض الـ waterfall، وإزاي تبني spectrum analyzer حي — إنك تخلّي الـ FFT يشتغل في الزمن المستمر.

1 / 9
DSP 101
M6 · L4
الفكرة الأساسية
الـ short-time Fourier transform

بنزحلق window طولها N على الـ signal (الإشارة). ونحسب FFT لكل frame بعد الـ windowing. ورصّ النتايج على الزمن بيدّينا خريطة زمن-frequency ثنائية الأبعاد بتوري المحتوى الطيفي بيتطوّر إزاي.

STFT
X[m,k] = \sum_{n=0}^{N-1} x[n+mR]\,w[n]\,e^{-j2\pi kn/N}
2 / 9
DSP 101
M6 · L4
اختيارات التصميم
تلات parameters بيتحكّموا في كل حاجة
N
حجم الـ frame ← الـ frequency resolution
R
الـ hop size ← الـ time resolution
w[n]
الـ window ← الـ leakage
مبدأ عدم اليقين
frame قصير ← time resolution كويسة، frequency خشنة. frame طويل ← frequency resolution عالية، time resolution ضعيفة. متقدرش تاخد الاتنين.
3 / 9
DSP 101
M6 · L4
الاختيار المعياري
الـ Hann window وoverlap 50%

الـ Hann window (raised cosine) بتنزل بنعومة للصفر — أعلى side lobe عند −31.5 ديسيبل، يعني أوطى بحوالي 18 ديسيبل من الـ −13 ديسيبل بتوع الـ rectangular. ومع overlap 50%، windows الـ Hann اللي ورا بعض بتتجمع لثابت (شرط COLA) ← إعادة بناء بالظبط.

الـ Hann window
w[n] = 0.5\!\left(1 - \cos\frac{2\pi n}{N-1}\right)
4 / 9
DSP 101
M6 · L4
الـ pipeline
بناء spectrum analyzer حي
  • الالتقاط: اقرا الـ samples في ring buffer حجمه N
  • الـ windowing: كل R sample جديدة، طلّع N sample × Hann
  • FFT: real FFT حجمه N ← N/2+1 bin، مربّع القيمة المطلقة
  • الديسيبل: 10 log₁₀ |X[k]|² عشان الـ dynamic range بتاع العرض
  • العرض: bar graph أو خطي؛ وزحلق الـ waterfall صف واحد
  • التكرار بمعدّل الـ hop: f_s / R frame في الثانية
5 / 9
DSP 101
M6 · L4
تقنيات العرض
الـ averaging والـ peak hold

خرج الـ FFT الخام متلخبط من frame للتاني. تقنيتين للمعالجة بعد كده:

الـ exponential smoothing
S[k] = α·|X[k]|² + (1−α)·S_prev[k] α ≈ 0.1–0.3 مقايضة بين الـ noise والاستجابة
الـ peak hold
P[k] = max(|X[k]|², P_prev[k])؛ ثبّت وبعدين نزّل بـ δ ديسيبل/frame — بيكشف القمم العابرة اللي الـ smoothing بيخبّيها
6 / 9
DSP 101
M6 · L4
سجل الـ spectrum الثنائي الأبعاد
عروض الـ waterfall
  • كل frame STFT بيضيف صف واحد للصورة المتحركة
  • اللون بيشفّر القدرة (ديسيبل) — سخن = قوي، بارد = ضعيف
  • الـ chirps بتظهر كخطوط مايلة؛ والـ harmonics كشرايط أفقية
  • SDR: مراقبة ميجاهرتز من الـ RF للـ signals والتداخل والإشغال
  • الصوت: الـ room modes، وذيول الـ reverb، والبنية الـ harmonic
  • الاهتزاز: تتبّع الـ resonance لما الحمل أو السرعة تتغيّر
7 / 9
DSP 101
اختبار سريع

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

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

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

8 / 9
DSP 101
M6 · L4
الأفكار الأساسية
اتعلّمت إيه
  • الـ STFT = FFT بعد windowing متكرّر على frames متداخلة
  • N بيتحكّم في الـ frequency resolution؛ وR بيتحكّم في الـ time resolution — والمقايضة مفيش منها مهرب
  • Hann window + overlap 50% = leakage قليل + إعادة بناء COLA
  • الـ analyzer الـ live: ring buffer ← window ← rfft ← ديسيبل ← عرض
  • smoothing بالـ exponential averaging؛ وحفظ القمم بالـ peak hold
  • الـ waterfall بيكشف البنية اللي بتتغيّر مع الزمن ومش باينة في عروض الـ frame الواحد
اقرا المقالة كاملة ←
9 / 9
1 / 8 كتم