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

Сигналы и системы

Shazam определяет песню за 5 секунд среди 100 миллионов треков. Механизм - спектрограмма через DSP. CD-качество = 44100 Гц, потому что Найквист в 1928 доказал: чтобы передать звук до 22 кГц, нужна вдвое большая частота дискретизации. Без этой теоремы нет цифровой эры. 5G использует OFDM - 3300 поднесущих, каждая независимый DSP-канал. Всё это - сигналы и системы. И всё начинается с одной идеи: сигнал - это последовательность чисел, система - правило её преобразования.

  • **Shazam fingerprinting:** за 5 секунд строится спектрограмма через STFT - сигнал превращается в набор (время, частота, амплитуда), потом ищется отпечаток в базе. Это прямое применение LTI и свёртки
  • **5G OFDM:** 3300 поднесущих частот, каждая - отдельный LTI-канал. Мультиплексирование через обратное FFT - O(N log N) вместо O(N²). Без DSP нет 5G
  • **Whisper / speech recognition:** сначала сигнал превращается в log-mel спектрограмму (свёртка + FFT), потом подаётся в трансформер. DSP - первый слой любой речевой системы
  • **MRI и радар:** импульсная характеристика среды восстанавливается через деконволюцию. Медицинский снимок - это решение обратной задачи свёртки
  • **MP3/AAC сжатие:** психоакустическая модель работает в частотной области (FFT + MDCT). Удаляются частоты, которые ухо не слышит - информация в спектре, не во времени

Дискретные сигналы

**Дискретный сигнал** x[n] - это последовательность чисел, где n - целое. Каждый отсчёт x[n] - значение сигнала в момент n. Цифровой звук в наушниках, пиксели изображения, биржевые котировки - всё это дискретные сигналы. И Shazam, анализируя звук микрофона, первым делом видит именно это: x[0], x[1], x[2], ... - числа, числа, числа.

Три фундаментальных строительных блока. **Единичный импульс** delta[n] - 1 при n=0, ноль везде. Кажется банальным - но это атом, из которых строится любой сигнал. **Единичный скачок** u[n] - включается в нуле и больше не выключается. **Экспонента** a^n·u[n] - модель любой затухающей реакции: звонок колокола, заряд конденсатора, шум в канале.

СигналОпределениеЭнергия/Мощность
δ[n]1 при n=0, 0 иначеЭнергия = 1
u[n]1 при n≥0, 0 при n<0Мощность = 1
a^n · u[n], |a|<1Затухающая экспонентаЭнергия = 1/(1-a²)
cos(ω₀n)КосинусоидаМощность = 1/2
A·δ[n-k]Импульс амплитуды A в момент kЭнергия = A²

**Сигналы с конечной энергией** (sum|x[n]|² < inf) - звук, изображение. **Сигналы с конечной мощностью** (lim(1/N)sum|x[n]|² < inf) - периодические сигналы, шум. Импульс - энергетический, синусоида - мощностной.

Любой дискретный сигнал раскладывается в сумму сдвинутых импульсов: x[n] = Σ x[k]·delta[n-k]. Это не теорема - это определение. И это ключ к свёртке: если система линейная и инвариантная во времени, достаточно знать её реакцию на один импульс - и реакция на любой сигнал вычисляется автоматически.

Сигнал x[n] = 3·delta[n] - 2·delta[n-1] + delta[n-3]. Чему равно x[1]?

Непрерывные сигналы

**Непрерывный (аналоговый) сигнал** x(t) определён для всех вещественных t. Звуковая волна в воздухе, напряжение на выходе микрофона, температура тела - непрерывные сигналы. Смартфон слышит именно это - непрерывное давление воздуха. Чтобы передать его в процессор, нужна дискретизация: x[n] = x(n·T_s), где T_s - шаг выборки.

Непрерывный аналог импульса - дельта-функция Дирака delta(t): бесконечно узкий, бесконечно высокий, с единичным интегралом. Физически - идеальный щелчок. Скачок Хевисайда u(t) - включение питания. Экспонента e^(-at)·u(t) - разряд батарейки. Те же три строительных блока, что и в дискретном мире, только в непрерывном времени.

СвойствоДискретный x[n]Непрерывный x(t)
АргументЦелые nВещественные t
Импульсδ[n] (Кронекер)δ(t) (Дирак)
ЭнергияΣ|x[n]|²∫|x(t)|²dt
Периодичностьx[n] = x[n+N]x(t) = x(t+T)
ОбработкаЦифровая (DSP)Аналоговая (схемы)
СпектрПериодический (DTFT)Непериодический (FT)

**Найквист - Котельников, 1928:** если дискретизировать с частотой f_s, то без потерь восстанавливаются все частоты до f_s/2. CD-формат: f_s = 44100 Гц, потолок слышимости = 22050 Гц - чуть выше предела слуха 20 кГц. Если частота дискретизации слишком мала - возникает алиасинг: высокие частоты маскируются под низкие, и сигнал искажается необратимо.

DSP работает с дискретными сигналами - компьютеры оперируют числами, не функциями. Но понимание непрерывного мира критично: именно на стыке аналог/цифра живут алиасинг, джиттер и квантовый шум - три источника ошибок, которые преследуют всякую реальную систему.

Энергия сигнала x(t) = 2·e^(-3t)·u(t). Чему равна?

LTI-системы

**LTI (Linear Time-Invariant)** - линейная инвариантная во времени система. Два условия. **Линейность:** если x1 → y1 и x2 → y2, то a·x1 + b·x2 → a·y1 + b·y2. **Инвариантность:** если x[n] → y[n], то x[n-k] → y[n-k] для любого k. Большинство фильтров, усилителей, акустических помещений - LTI. Именно поэтому реверберация в зале - это свёртка сигнала с импульсной характеристикой помещения.

Убийственная идея LTI: вся система полностью описывается одной функцией - **импульсной характеристикой** h[n], реакцией на единичный импульс delta[n]. Записать h[n] = выстрелить стартовым пистолетом в зале и записать эхо. Теперь знаешь всё. Любой звук через этот зал = свёртка с h[n].

СистемаLTI?Почему
y[n] = 3x[n] + 2x[n-1]ДаЛинейная комбинация сдвигов
y[n] = x[n]²НетНелинейная: (2x)² ≠ 2·x²
y[n] = x[-n]НетНе инвариантна: отражение + сдвиг ≠ сдвиг + отражение
y[n] = n·x[n]НетНе инвариантна: коэффициент зависит от n
y(t) = ∫x(τ)dτДаИнтегратор - LTI

**BIBO-устойчивость** (bounded input → bounded output): LTI-система устойчива тогда и только тогда, когда sum(|h[n]|) < infinity. Импульсная характеристика должна быть абсолютно суммируема.

Каузальность: h[n] = 0 для n < 0 - система не смотрит в будущее. Все реально работающие системы каузальны. Некаузальные фильтры существуют только в оффлайн-обработке: когда Audacity применяет линейно-фазовый эквалайзер к записанному файлу, он может использовать будущие отсчёты - запись уже известна целиком.

Система y[n] = x[n] + x[n]². Является ли она LTI?

Свёртка

**Свёртка** - центральная операция DSP. Выход LTI-системы: y[n] = x[n] * h[n] = Σ x[k]·h[n-k] для всех k. Каждый входной отсчёт x[k] порождает масштабированную копию импульсной характеристики, сдвинутую на k. Все копии накладываются - это и есть выход.

Алгоритм вручную: 1) Перевернуть h[k] → h[-k], 2) Сдвинуть на n: h[n-k], 3) Умножить поэлементно на x[k], 4) Просуммировать. Переворот h - ключевое отличие свёртки от корреляции. Именно он обеспечивает каузальность: прошлые входы влияют на текущий выход, а не наоборот.

СвойствоФормулаПрименение
Коммутативностьx * h = h * xПорядок не важен
Ассоциативность(x * h₁) * h₂ = x * (h₁ * h₂)Каскад фильтров
Дистрибутивностьx * (h₁ + h₂) = x*h₁ + x*h₂Параллельные фильтры
Нейтральный элементx * δ = xδ[n] - 'единица' свёртки
Сдвигx * δ[n-k] = x[n-k]Задержка на k отсчётов

**Свёртка в частотной области - умножение!** Y(omega) = X(omega) · H(omega). Это основа FFT-фильтрации: вместо O(N²) свёртки делаем O(N·logN) FFT + поэлементное умножение + обратное FFT.

Вернёмся к LTI: свёртка - механизм, превращающий знание h[n] в ответ на произвольный вход. Записал импульсный отклик концертного зала Карнеги-холл - можешь наложить его акустику на любую запись. Именно это делают конвольверы в профессиональном аудио: h[n] - это слепок пространства.

Свёртка в истории DSP

Свёртка использовалась в математике с XVIII века (Эйлер, Лаплас), но стала практическим инструментом с появлением цифровых компьютеров. Алгоритм FFT Кули и Тьюки (1965) ускорил свёртку с O(N²) до O(NlogN), сделав реальной обработку звука и изображений в реальном времени.

Свёртка и корреляция - одно и то же

Свёртка переворачивает одну из функций (h[n-k]), а корреляция - нет (h[n+k]). Для симметричных h совпадают, для несимметричных - разные.

Свёртка: y[n] = Σ x[k]·h[n-k] - h переворачивается и сдвигается. Корреляция: R[n] = Σ x[k]·h[n+k] - h только сдвигается. Переворот в свёртке нужен, чтобы каузальная система давала физически корректный отклик: прошлые входы влияют на текущий выход. Корреляция измеряет похожесть, свёртка - отклик.

x[n] = {1, 2, 3}, h[n] = {1, 1}. Чему равен y[0] = (x * h)[0]?

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

  • **x[n]** - дискретный сигнал = последовательность чисел. Любой сигнал раскладывается в сумму сдвинутых импульсов: x[n] = Σ x[k]·δ[n-k]
  • **LTI-система:** линейная + инвариантная во времени. Полностью описывается импульсной характеристикой h[n] - реакцией на единичный импульс
  • **Свёртка** y[n] = Σ x[k]·h[n-k] - выход LTI на произвольный вход. Знаешь реакцию на щелчок - знаешь реакцию на симфонию. O(N²) напрямую, O(N log N) через FFT
  • **Свёртка ≠ корреляция:** свёртка переворачивает h (причинность), корреляция - нет (похожесть). Для симметричных h совпадают
  • **Найквист 1928 → Shazam, 5G, Whisper:** одна теорема о частоте дискретизации лежит в основе всей цифровой обработки сигналов

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

Сигналы и системы - фундамент для всего DSP:

  • Дискретизация и теорема Найквиста — Почему CD = 44100 Гц, а не 22050. Алиасинг - когда нарушаешь теорему
  • Z-преобразование — Свёртка во временной области = умножение в Z-области. Фильтры через полюса и нули

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

  • Система y[n] = median(x[n-1], x[n], x[n+1]) - медианный фильтр. Является ли она LTI? Почему медиана нелинейна, а среднее - нет?
  • Свёртка коммутативна: x * h = h * x. Но физически сигнал проходит через систему, а не наоборот. Как это согласуется с математическим равенством?
  • Shazam записывает 5 секунд звука и строит спектрограмму. Какие операции из этого урока участвуют в этом процессе? Где именно возникает свёртка?

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

  • calc-01-sequences — Математический анализ обязателен для DSP: производные (скорость изменения сигнала), интегралы (энергия), ряды Фурье
  • cg-01 — Свёртка в DSP (фильтрация сигналов) математически идентична свёртке в image processing (blur, sharpen)
  • it-01 — Теория информации и DSP связаны через теорему Найквиста-Шеннона о дискретизации
  • arvr-01 — DSP используется в AR/VR для spatial audio (binaural), обработки IMU и шумоподавления
  • trig-11
Сигналы и системы

0

1

Войти