Что такое сигнал
Разбираемся, что инженеры называют сигналом и почему почти всё вокруг — это сигнал.
Сигнал — это физическая величина, которая несёт информацию и меняется в зависимости от другой величины, чаще всего от времени.
Вы слушаете музыку — это сигнал. Снимаете кардиограмму — сигнал. Ловите Wi-Fi, фотографируете кота, измеряете температуру в комнате термодатчиком — везде сигналы. Цифровая обработка сигналов (ЦОС, англ. DSP — Digital Signal Processing) — это инженерная дисциплина о том, как заставить компьютер понимать, чистить и преобразовывать такие величины. Прежде чем разбирать алгоритмы, надо чётко увидеть сам объект обработки.
Сигнал — это функция времени
Математически сигнал удобно записать как функцию: x(t) — значение в момент времени t. Для звука x(t) — это давление воздуха на мембрану микрофона. Для ЭКГ — разность потенциалов на коже. Для термодатчика — температура. Природа величины разная, но идея одна: одно число на каждый момент времени.
Самый знакомый сигнал — синусоида, чистый тон. Сгенерируем несколько её значений во времени, чтобы увидеть, что «сигнал» — это просто последовательность чисел.
import math
# x(t) = sin(2*pi*f*t), частота f = 1 Гц, смотрим 8 моментов времени
f = 1.0
times = [i / 8 for i in range(8)] # моменты времени в секундах
x = [round(math.sin(2 * math.pi * f * t), 3) for t in times]
for t, v in zip(times, x):
print(f"t = {t:.3f} c -> x = {v:+.3f}")
Вывод:
t = 0.000 c -> x = +0.000 t = 0.125 c -> x = +0.707 t = 0.250 c -> x = +1.000 t = 0.375 c -> x = +0.707 t = 0.500 c -> x = +0.000 t = 0.625 c -> x = -0.707 t = 0.750 c -> x = -1.000 t = 0.875 c -> x = -0.707
Восемь чисел — и это уже сигнал, который компьютер может обработать. Вся ЦОС работает с такими списками чисел.
Где встречаются сигналы
| Область | Что за сигнал | Зачем обрабатывают |
| Звук, музыка | давление воздуха x(t) | шумоподавление, эквалайзер, сжатие MP3 |
| Связь, радио | напряжение в антенне | модуляция, выделение канала, демодуляция |
| Медицина (ЭКГ, ЭЭГ) | биопотенциалы | убрать наводку, найти R-зубцы, диагностика |
| Изображения | яркость пикселей (2D-сигнал) | резкость, размытие, выделение краёв |
| Датчики, IoT | температура, ускорение | сгладить, отфильтровать выбросы |
| Сейсмика, радар | отражённая волна | обнаружить эхо, измерить задержку |
Аналоговый и цифровой сигнал
В природе сигналы аналоговые: величина определена в каждый момент времени и принимает любое из бесконечного множества значений. График — непрерывная линия. Компьютер так работать не может: у него конечная память и он считает дискретными шагами.
Поэтому сигнал переводят в цифровой вид двумя шагами: берут значения только в отдельные моменты времени (это дискретизация по времени) и каждое значение округляют до ближайшего уровня из конечного набора (это квантование по амплитуде). Получается таблица целых чисел — её и обрабатывает DSP. Подробно оба шага разберём в следующем разделе.
Аналоговый (непрерывная линия): Цифровой (отдельные отсчёты):
/\ /\ o o
/ \ / \ o o o o
/ \ / \ --> o o o o
/ \ / \ o o o
\/ o
Отсчёт (sample) — одно значение цифрового сигнала, снятое в конкретный момент времени.
Как работает под капотом
Превращением аналогового в цифровое занимается микросхема АЦП (аналого-цифровой преобразователь, англ. ADC). Она тысячи или миллионы раз в секунду измеряет напряжение на входе и выдаёт целое число. Обратно — из чисел в напряжение, например на динамик, — превращает ЦАП (DAC). Звуковая карта — это пара АЦП/ЦАП плюс DSP. Когда вы записываете голос, АЦП делает 44100 измерений в секунду; каждое — отсчёт. Час записи — это 158 миллионов чисел на канал.
Важная мысль: после АЦП исходной «непрерывной линии» уже нет — есть только список отсчётов. Всё, что DSP знает о сигнале, заключено в этих числах. Поэтому правильно их снять (с какой частотой, с какой точностью) — половина дела.
Частые ошибки
- Путать сигнал и шум. Шум — тоже сигнал, просто нежелательный. Задача DSP часто в том, чтобы отделить полезный сигнал от шума, а не «удалить сигнал».
- Думать, что отсчёты — это «приближённая копия». При соблюдении правил дискретизации (см. теорему Котельникова) отсчёты содержат всю информацию о сигнале, и его можно точно восстановить.
- Считать сигнал только звуком. Сигнал — это любая измеримая величина во времени или в пространстве: курс акций, ряд температур, строка пикселей.
Итог
- Сигнал — величина, несущая информацию и меняющаяся во времени; формально
x(t). - Аналоговый сигнал непрерывен; цифровой — это конечный список отсчётов (чисел).
- Переход аналог → цифра делает АЦП через дискретизацию и квантование; обратно — ЦАП.
- Вся ЦОС — это операции над списком чисел: чистка, анализ, преобразование.