Ljud som data: samplingsfrekvens och amplitud
Förstå hur ljud digitaliseras och vad samplingsfrekvensen styr.
Intuition
Digitalt ljud är en talföljd. En mikrofon mäter lufttrycket många gånger per sekund. Antalet mätningar per sekund kallas samplingsfrekvens (Hz). En CD använder 44 100 Hz. En vanlig telefonanrop använder 8 000 Hz.
Varje mätning är amplituden vid den tidpunkten. Värdet ligger mellan −1 och 1 (eller −32768 till 32767 vid 16-bitars upplösning). Högre amplitud betyder högre volym.
Varför räcker 44 100 Hz? Människan hör upp till cirka 20 000 Hz. Enligt Nyquists teorem krävs minst dubbla samplingsfrekvensen jämfört med den högsta frekvensen som ska återges. Vid 8 000 Hz (telefon) försvinner höga frekvenser som 's'-ljud, vilket ger ett mörkare ljud.
Kod
import math
fs = 8000 # sampel per sekund
f = 440 # ton A (Hz)
sekunder = 0.5
n = int(fs * sekunder) # 4000 sampel
vag = [math.sin(2 * math.pi * f * i / fs) for i in range(n)]
print(len(vag), round(max(vag), 2)) # 4000 1.0
En högre ton (t.ex. 880 Hz) ger dubbelt så många svängningar per sekund. Om du halverar amplituden (0.5 * sin(...)) blir ljudet svagare. Adderar du två vågor elementvis får du ett ackord.
Behärskning innebär
- Förklarar skillnaden mellan samplingsfrekvens och amplitud
- Beräknar antal sampel för en given tidslängd
Förkunskaper
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- Wikipedia — Sampling (signalbehandling) (CC BY-SA 4.0) — CC BY-SA 4.0
- Wikipedia — Nyquist–Shannons samplingsteorem (CC BY-SA 4.0) — CC BY-SA 4.0