Zpět na domů

Fourier v MP3 JPEG Wi-Fi: rozklad signálů

Fourierova transformace rozkládá signály na sinusoidy, umožňující kompresi MP3/JPEG, OFDM v Wi-Fi/5G a rekonstrukci MRI. FFT zrychluje výpočty. Měřítko: kvadriliony operací/s globálně.

Fourier: srdce technologií MP3, JPEG a Wi-Fi
Advertisement 728x90

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.

Google AdInline article slot
# 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.

Google AdInline article slot

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.

Google AdInline article slot
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

Advertisement 728x90

Číst dál