Fourierova transformace: základ komprese MP3, JPEG, Wi-Fi a MRI
Jakýkoli signál – od zvukové stopy po rádiovou vlnu – lze rozložit na součet sinusovek s různými frekvencemi, amplitudami a fázemi. Tuto myšlenku představil Jean-Baptiste Fourier v roce 1807, ale Lagrange ji odmítl jako nemožnou. Proces je vratný a probíhá bez ztráty informace.
Jakýkoli signál = sin(f₁) × a₁ + sin(f₂) × a₂ + sin(f₃) × a₃ + ...
kde f je frekvence, a je amplituda
Takové rozklad se používá při zpracování zvuku, obrazu a bezdrátové komunikace. Rychlá Fourierova transformace (FFT) urychluje výpočty z O(n²) na O(n log n), což umožňuje její praktické využití.
Komprese MP3 pomocí psychoakustiky a FFT
MP3 snižuje datový tok z 1,4 Mbit/s (CD) na 128 Kbit/s. Algoritmus využívá FFT pro přechod do frekvenční oblasti.
# Pseudokód komprese MP3
frekvence = fft(zvukovy_signal)
for f in frekvence:
if f.frekvence > 20000: # ucho neslyší nad 20 kHz
f.amplituda = 0
if f.je_maskovana(hlasitejsim_sousedem): # psychoakustický model
f.amplituda = 0 # tichý zvuk vedle hlasitého – není slyšet
if f.amplituda < prah: # příliš tiché
f.amplituda = 0
komprimovany = zakoduj(zbyvajici_frekvence)
Frekvence nad 20 kHz a maskované složky jsou odstraněny. Dekódování je inverzní FFT. Rozdíl je pro lidské ucho nepostřehnutelný.
JPEG a DCT pro obrazy
JPEG používá DCT (diskrétní kosinovou transformaci) – variantu Fourierovy transformace – na blocích 8×8 pixelů. Nízké frekvence zachovávají tvary, vysoké (detaily, šum) jsou kvantovány.
Blok 8×8 pixelů
↓
DCT: rozklad na "vizuální frekvence"
↓
Nízké frekvence = plynulé přechody, obecné tvary
Vysoké frekvence = ostré hrany, jemné detaily, šum
↓
Odstranit vysoké frekvence (oko si nevšimne na fotografii západu slunce)
↓
Komprimovaný obraz, 10–20krát menší než originál
Artefakty ve tvaru čtverců jsou důsledkem nadměrného odstranění vysokých frekvencí. Inverzní transformace obnoví obraz.
OFDM ve Wi-Fi a mobilní komunikaci
OFDM (ortogonální frekvenční multiplex s dělením) moduluje data na stovky podnosných frekvencí v kanálu šířky 80 MHz. Podnosné jsou ortogonální díky vlastnostem sinusovek.
Jeden Wi-Fi kanál šířky 80 MHz:
[podn.1][podn.2][podn.3]...[podn.234]
↓ ↓ ↓ ↓
data data data ... data
Všechny frekvence se přenášejí SOUČASNĚ.
Přijímač je rozdělí zpět pomocí FFT.
Wi-Fi 6 používá 4096-QAM na 980 podnosných. Přijímač používá IFFT pro demodulaci. Podobně v 4G/5G, DSL, DVB-T.
- Výhody OFDM: odolnost vůči vícecestnému šíření, vysoká spektrální účinnost.
- Výpočty: FFT/IFFT v reálném čase na čipech.
- Měřítko: miliardy zařízení provádějí biliony FFT/s.
Rozpoznávání v Shazam a MRI
Shazam: FFT zvuku → spektrogram → frekvenční vrcholy jako otisky → vyhledávání v databázi.
1. Nahrát 3 sekundy zvuku
2. FFT → spektrogram
3. Najít vrcholy → otisky
4. Porovnat s databází
Vrcholy jsou odolné vůči šumu. MRI: magnet rezonuje s protony, zaznamenává k-prostor (frekvenční doména). Inverzní FFT dává obraz.
Protony rezonují → rádiové vlny → k-prostor
↓
Inverzní FFT
↓
Obraz
Implementace FFT v Pythonu
Rekurzivní FFT pro pochopení algoritmu Cooley-Tukey.
import numpy as np
def fft(x):
n = len(x)
if n == 1:
return x
even = fft(x[0::2])
odd = fft(x[1::2])
T = [np.exp(-2j * np.pi * k / n) * odd[k] for k in range(n // 2)]
return [even[k] + T[k] for k in range(n // 2)] + \
[even[k] - T[k] for k in range(n // 2)]
Zrychlení umožňuje zpracovávat signály v reálném čase.
Co je důležité
- Fourierův rozklad je univerzální pro vlnové procesy: zvuk, světlo, rádiové vlny.
- FFT snižuje složitost z O(n²) na O(n log n), což umožňuje kvadriliony operací/s.
- Aplikace: komprese (MP3/JPEG), komunikace (OFDM), medicína (MRI), rozpoznávání (Shazam).
- Ortogonalita sinusovek zajišťuje oddělení signálů bez interference.
- Fyzika světa je součtem základních kmitů; Fourier dekóduje tento jazyk.
— Editorial Team
Zatím žádné komentáře.