Powrót do strony głównej

Fourier w MP3 JPEG Wi-Fi: rozkład sygnałów

Przekształcenie Fouriera rozkłada sygnały na sinusoidy, umożliwiając kompresję MP3/JPEG, OFDM w Wi-Fi/5G i rekonstrukcję MRI. FFT przyspiesza obliczenia. Skala: kwadryliony operacji/s globalnie.

Fourier: serce technologii MP3, JPEG i Wi-Fi
Advertisement 728x90

Transformata Fouriera: podstawa kompresji MP3, JPEG, Wi-Fi i MRI

Każdy sygnał – od ścieżki dźwiękowej po fale radiowe – można rozłożyć na sumę sinusoid o różnych częstotliwościach, amplitudach i fazach. To idea Jeana-Baptiste'a Fouriera z 1807 roku, odrzucona przez Lagrange'a jako niemożliwa. Proces jest odwracalny i bez utraty informacji.

Każdy sygnał = sin(f₁) × a₁ + sin(f₂) × a₂ + sin(f₃) × a₃ + ...
gdzie f — częstotliwość, a — amplituda

Takie rozkłady stosuje się w przetwarzaniu dźwięku, obrazów, komunikacji bezprzewodowej. FFT (Szybka Transformata Fouriera) przyspiesza obliczenia z O(n²) do O(n log n), umożliwiając praktyczne zastosowania.

Kompresja MP3 poprzez psychoakustykę i FFT

MP3 redukuje przepływność z 1,4 Mb/s (CD) do 128 Kb/s. Algorytm wykorzystuje FFT do przejścia w dziedzinę częstotliwości.

Google AdInline article slot
# Pseudokod kompresji MP3
frequencies = fft(audio_signal)

for f in frequencies:
    if f.frequency > 20000:     # ucho nie słyszy powyżej 20 kHz
        f.amplitude = 0
    if f.is_masked_by(louder_neighbor):  # model psychoakustyczny
        f.amplitude = 0          # cichy dźwięk obok głośnego — niesłyszalny
    if f.amplitude < threshold:  # zbyt cicho
        f.amplitude = 0

compressed = encode(remaining_frequencies)

Częstotliwości powyżej 20 kHz i komponenty maskowane są odrzucane. Dekodowanie to odwrotne FFT. Różnica jest niezauważalna dla ludzkiego ucha.

JPEG i DCT dla obrazów

JPEG stosuje DCT (dyskretną transformatę kosinusową) – wariant Fouriera – do bloków 8×8 pikseli. Niskie częstotliwości zachowują kształty, wysokie (szczegóły, szum) są kwantyzowane.

Blok 8×8 pikseli
    ↓
DCT: rozkład na "częstotliwości wizualne"
    ↓
Niskie częstotliwości = płynne gradienty, ogólne kształty
Wysokie częstotliwości = ostre krawędzie, drobne detale, szum
    ↓
Odrzucić wysokie częstotliwości (oko nie zauważy na zdjęciu zachodu słońca)
    ↓
Obraz skompresowany, 10–20 razy mniejszy od oryginału

Artefakty w postaci kwadratów to skutek nadmiernego odcięcia wysokich częstotliwości. Odwrotna transformacja przywraca obraz.

Google AdInline article slot

OFDM w Wi-Fi i komunikacji mobilnej

OFDM (ortogonalne zwielokrotnianie z podziałem częstotliwości) moduluje dane na setki podnośnych w kanale szerokości 80 MHz. Podnośne są ortogonalne dzięki właściwościom sinusoid.

Jeden kanał Wi-Fi szerokości 80 MHz:

[podn.1][podn.2][podn.3]...[podn.234]
  ↓       ↓       ↓            ↓
 dane    dane    dane    ...  dane

Wszystkie częstotliwości przesyłane JEDNOCZEŚNIE.
Odbiornik rozdziela je z powrotem przez FFT.

Wi-Fi 6 używa 4096-QAM na 980 podnośnych. Odbiornik stosuje IFFT do demodulacji. Podobnie w 4G/5G, DSL, DVB-T.

  • Zalety OFDM: odporność na propagację wielodrogową, wysoka efektywność widmowa.
  • Obliczenia: FFT/IFFT w czasie rzeczywistym na układach scalonych.
  • Skala: miliardy urządzeń wykonują biliony FFT/s.

Rozpoznawanie w Shazam i MRI

Shazam: FFT audio → spektrogram → szczyty częstotliwości jako odciski palców → wyszukiwanie w bazie.

Google AdInline article slot
1. Nagrać 3 sekundy audio
2. FFT → spektrogram
3. Znaleźć szczyty → fingerprints
4. Porównać z bazą

Szczyty są odporne na szum. MRI: magnes rezonuje protony, zapisuje przestrzeń k (dziedzinę częstotliwości). Odwrotne FFT daje obraz.

Protony rezonują → fale radiowe → przestrzeń k
     ↓
Odwrotne FFT
     ↓
Obraz

Implementacja FFT w Pythonie

Rekurencyjna FFT dla zrozumienia algorytmu Cooleya-Tukeya.

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)]

Przyspieszenie umożliwia przetwarzanie sygnałów w czasie rzeczywistym.

Co jest ważne

  • Rozkład Fouriera jest uniwersalny dla procesów falowych: dźwięk, światło, fale radiowe.
  • FFT redukuje złożoność z O(n²) do O(n log n), umożliwiając kwadryliony operacji/s.
  • Zastosowania: kompresja (MP3/JPEG), komunikacja (OFDM), medycyna (MRI), rozpoznawanie (Shazam).
  • Ortogonalność sinusoid zapewnia rozdzielenie sygnałów bez interferencji.
  • Fizyka świata to suma podstawowych oscylacji; Fourier dekoduje ten język.

— Editorial Team

Advertisement 728x90

Czytaj dalej