Цифровая обработка сигналов

Вейвлет-преобразование

В 1989 году Yves Meyer и Stephane Mallat формализовали multiresolution-анализ - и через 5 лет ФБР США использовало wavelet-сжатие чтобы оцифровать 200 миллионов отпечатков пальцев в архивах. JPEG не справлялся: на тонких линиях бороздков отпечатков появлялись блочные артефакты, делавшие идентификацию невозможной. Wavelet видел бороздки как 'детали' и сохранял их точно. Так wavelets вышли из чисто математической ниши в реальный инструмент DSP - и сегодня живут везде: от JPEG2000 в DICOM-медицинских снимках до анализа гравитационных волн в LIGO.

  • **JPEG2000** (использует DWT с биортогональным wavelet 9/7): стандарт в медицинской визуализации (DICOM), цифровом кино (DCI 4K), спутниковых снимках NASA Mars Reconnaissance Orbiter
  • **LIGO Gravitational Wave Detection**: один из методов поиска gravitational-wave events - wavelet-based анализ (algorithm cWB) для chirp-сигналов от слияния чёрных дыр
  • **ECG denoising в современных Apple Watch**: DWT с Symlet wavelet и soft-thresholding для удаления muscle-noise и powerline-interference перед детекцией QRS-комплексов

Wavelet: что это и зачем

Фурье-преобразование разлагает сигнал на синусы бесконечной длительности - идеально для стационарных сигналов, катастрофа для переходных процессов. Удар, всплеск ЭКГ, glitch в речи - всё это локализованные события, размазанные Фурье по всем частотам. **Вейвлет** (wavelet, 'маленькая волна') - короткая волновая функция с быстрым затуханием, локализованная и во времени, и в частоте. Wavelet-преобразование разлагает сигнал на сдвиги и масштабы одной материнской функции (Morlet, Daubechies, Haar) - получаем 'где и какая частота' одновременно.

Принцип неопределённости Гейзенберга работает и для сигналов: нельзя одновременно идеально локализовать сигнал во времени и в частоте. Wavelet даёт компромисс - адаптивное разрешение: на низких частотах хорошее частотное разрешение (плохое временное), на высоких - наоборот (точная локализация во времени, грубая по частоте). Это естественно для физических процессов: медленные тренды видны на длинных интервалах, быстрые транзиенты - локально.

Кардиолог анализирует ЭКГ длиной 5 минут и ищет аритмический эпизод длительностью 200 мс. Почему wavelet здесь лучше Фурье?

Multiresolution-анализ

**Multiresolution Analysis (MRA)**, формализованный Mallat в 1989 году - идея смотреть на сигнал в разных 'масштабах', как на карту через линзы с разным увеличением. Уровень 0 - оригинал с максимальным разрешением. Уровень 1 - сглаженная версия (approximation) плюс отдельно сохранённые 'детали'. Уровень 2 - approximation от approximation плюс новые детали. И так далее. Сумма approximation последнего уровня + все детали = оригинальный сигнал. Каждый уровень даёт срез сигнала на определённом частотном диапазоне.

Принцип MRA лежит в основе **JPEG2000** (замена JPEG, основанная на wavelets вместо DCT): изображение раскладывается на approximation и details разных уровней, затем коэффициенты квантуются и сжимаются. Низкие уровни (грубое приближение) хранятся точно, высокие (мелкие детали и шум) сжимаются агрессивнее. Результат - лучшее качество при том же размере, чем у JPEG, особенно на градиентах. Используется в медицинской визуализации, цифровом кино (DCI 4K) и спутниковых снимках.

При 4-уровневой MRA-декомпозиции сигнала длиной 1024 какой массив будет содержать самые низкочастотные компоненты?

Continuous Wavelet Transform (CWT)

**CWT** - непрерывное вейвлет-преобразование - даёт максимально подробную частотно-временную карту: вычисляет коэффициенты для всех возможных сдвигов и всех масштабов. Результат - 2D-матрица (scalogram), где ось X - время, ось Y - масштаб (приблизительно обратно пропорционален частоте), значение - корреляция wavelet с участком сигнала. CWT избыточен (один сигнал даёт огромную матрицу), но идеален для визуального анализа: scalogram показывает 'где и в какой частотной полосе сигнал имел энергию'.

Где CWT работает хорошо: анализ ЭЭГ/ЭКГ (поиск спайков и эпилептических разрядов), сейсмология (детекция P-волн в землетрясениях), вибродиагностика подшипников (поиск зарождающихся дефектов), gravitational waves (LIGO использует wavelet-методы как один из инструментов поиска). Где плохо: если нужно сжатие или ортогональное разложение - CWT избыточен, лучше DWT.

Команда анализирует звуки летучих мышей (длительность сигнала 50 мс, частоты 20-100 кГц с быстрой модуляцией). Какой инструмент даст наиболее информативную визуализацию?

Discrete Wavelet Transform (DWT) и применения

**DWT** - дискретное вейвлет-преобразование - использует только степени двойки в качестве масштабов и сдвигов. Это даёт ортогональное разложение (как Фурье), нет избыточности: сигнал N точек = N коэффициентов. DWT реализуется через фильтр-банк: low-pass фильтр + decimation by 2 → approximation; high-pass фильтр + decimation by 2 → detail. Повторить на approximation - получить следующий уровень. Это алгоритм Mallat'a, O(N) - быстрее даже FFT (которое O(N log N)).

**Mexican hat wavelet** (вторая производная Гауссиана) - bot-стандарт для детекции пиков: применить CWT с этим wavelet, найти локальные максимумы на нужном scale - получим координаты пиков. Используется в hi-throughput биоинформатике (ChIP-seq peak calling), масс-спектрометрии (поиск пиков молекулярных масс), астрономии (детекция точечных источников на снимках).

Wavelet-преобразование - это просто 'продвинутый Фурье', и его можно применять везде вместо FFT.

Wavelet - инструмент для нестационарных или локализованных сигналов. На стационарных синусоидах Фурье даёт более простое и точное разложение. Wavelet выбирают, когда важна локализация во времени или multiresolution-анализ.

Для синусоиды постоянной частоты Фурье даёт ровно одну линию в спектре - максимально компактное представление. Wavelet же 'размажет' энергию по нескольким масштабам. Каждый инструмент имеет свою область применения: Фурье - спектральный анализ стационарных сигналов, wavelet - частотно-временной анализ переходных процессов.

Размер сжатого файла JPEG2000 на 30% меньше JPEG при том же визуальном качестве. Что в wavelet-подходе обеспечивает это преимущество?

Ключевые идеи

  • **Wavelet** - локализованная во времени и частоте 'маленькая волна'; в отличие от синусоид Фурье даёт частотно-временное разложение для нестационарных сигналов
  • **Multiresolution** - сигнал = approximation + сумма details разных уровней; адаптивное разрешение (низкая частота - грубое временное, высокая - точное)
  • **CWT** - непрерывный, избыточный, идеален для visualization (scalograms); все возможные scales и shifts
  • **DWT** - дискретный (степени двойки), ортогональный, O(N), реализуется через фильтр-банк Mallat - основа JPEG2000, ECG denoising, FBI fingerprint
  • Выбор Фурье vs Wavelet: стационарные синусоиды → Фурье, переходные процессы и multiresolution → Wavelet

Связанные темы

Wavelets - часть большой картины спектрального и время-частотного анализа:

  • Преобразование Фурье — Wavelet расширяет Фурье - вместо бесконечных синусоид использует локализованные волны
  • Image processing: фильтрация — JPEG2000 использует DWT вместо DCT - то же multiresolution применимо к 2D-изображениям
  • Распознавание речи — MFCC и mel-spectrogram - частотно-временные представления, родственные wavelet-scalogram

Вопросы для размышления

  • Какой материнский wavelet выбрать для анализа сейсмического сигнала с резкими P-волнами и медленными S-волнами? Почему?
  • Если в вашей задаче wavelet не даёт выигрыша по сравнению с STFT (short-time Fourier transform) - что это говорит о природе сигнала?
  • Wavelet-denoising зануляет 'мелкие' коэффициенты как шум. Когда это опасно? (Подсказка: что если полезный сигнал слабее шума?)

Связанные уроки

  • dsp-04 — DFT - базовый спектральный анализ перед вейвлетами
  • dsp-12 — Image processing - первое применение вейвлетов
  • dsp-14 — JPEG2000 и аудио компрессия используют DWT
  • calc-06-derivative-intro — Масштаб вейвлета - производная по разрешению
  • ca-13
Вейвлет-преобразование

0

1

Войти