Lesson 11 — Spectrogram & STFT

Ba module tương tác: (1) Spectrogram tín hiệu thay đổi theo thời gian; (2) Trade-off độ rộng khung (thời gian ↔ tần số); (3) So sánh cửa sổ Hann / Hamming / Rectangular và rò rỉ phổ. Tất cả tín hiệu được tổng hợp sẵn — không cần micro.

1. Spectrogram — nhìn tần số thay đổi theo thời gian

FFT một phát chỉ cho biết tần số nào; spectrogram cho biết tần số nào ở giây nào. Chọn một tín hiệu mẫu rồi đọc heatmap: trục ngang = thời gian, trục dọc = tần số, màu = năng lượng.

Năng lượng thấp cao
↑ Tần số (0 → fs/2)  ·  → Thời gian (0 → 1 s)

2. Trade-off thời gian ↔ tần số (Heisenberg)

Cùng một tín hiệu "2 nốt nối tiếp + một tiếng gõ ngắn", thay đổi độ rộng khung N và xem heatmap đổi: khung ngắn → thời gian sắc, tần số nhòe (vạch dày); khung dài → tần số sắc (vạch mảnh), thời gian nhòe (sự kiện ngắn bị trải rộng).

(kéo: 64 → 2048, lũy thừa của 2)
↑ Tần số  ·  → Thời gian. Tín hiệu: 300 Hz (nửa đầu) → 1200 Hz (nửa sau) + tiếng gõ ở giữa.

3. Cửa sổ & rò rỉ phổ — Hann / Hamming / Rectangular

Một sin không khít số nguyên chu kỳ trong khung. Cửa sổ nhân vào hai biên khung rồi FFT. Cột nào "chân" càng sạch (ít vạch lan ra) thì rò rỉ càng ít. Rectangular = không làm gì → rò rỉ nhiều nhất.

7.5
Số nguyên chu kỳ (vd 8.0) → cả ba gần như sạch. Lẻ (vd 7.5) → rectangular rò rỉ rõ.