Основы цифровой обработки сигналов
Введение в цифровую обработку сигналов
Сигнал
Сигнал – это физический процесс, несущий в себе информацию.
Например, сигналом может быть зависимость температуры от времени в какой-либо точке, запись электрокардиограммы, речь человека, изображение (изменение цвета и освещенности в пространстве) и т.д.
Сигнал можно описать либо в виде набора значений (вектор, матрица) либо в виде формулы. Например, гармоническое колебание задается формулой:
Обработка сигналов – выполнение действий над сигналом для изменения его характеристик или получения информации.
Цифровое представление сигнала впервые начало применяться в системах связи для повышения устойчивости к шумам и помехам. Развитие цифровой связи привело к развитию цифровой вычислительной техники.
Цифровая обработка сигналов (ЦОС) – это способ обработки сигналов на основе численных методов с использованием цифровой вычислительной техники.
Применение цифровой обработки сигналов
- Смартфоны
- Современные медицинские устройства
- Умные транспортные средства
- Радарные станции, контролирующие взлет и посадку самолетов на аэродромах
- Телекоммуникации
- Системы глобального позиционирования
- и многое другое.
Сигналы, шумы и помехи
Аналоговый сигнал – это непрерывный сигнал. Мы можем узнать его значение в любой момент времени. Для того чтобы представить его в цифровом виде, надо осуществить две операции – дискретизации и квантования. При дискретизации берутся отсчеты сигнала в определенные моменты времени. Значения дискретного сигнала известны только в выбранных точках. Дискретный сигнал записывается как , где – номер отсчета. Шаг по оси времени, на котором расположены отсчеты, называется периодом дискретизации . Величина, обратная периоду дискретизации, называется частотой дискретизации :
Квантование – это представление значений сигнала конечным числом уровней.
Цифровой сигнал является квантованным по уровню и дискретным по времени.
При квантовании теряется точность. Каждый отсчет цифрового сигнала отличается от соответствующего отсчета дискретного сигнала на величину, равную разности между реальным значением сигнала и ближайшим уровнем квантования. Эту разность называют шумом квантования.
Наиболее распространенные виды шумов при ЦОС
- Тепловой шум
- Шум распространения и преобразования сигнала
- Шум квантования
Шумы по своей природе, как правило, являются случайными процессами, и их источниками являются физические процессы. Шумы можно отфильтровать от сигнала.
Помехи, как правило, не являются случайными процессами, и зачастую имеют "человеческое" происхождение. Источниками помех могут быть, к примеру, линии электропередачи, станции сотовой связи. Также помехи могут создаваться специально в рамках радиоэлектронной борьбы.
Искажения – это нежелательные изменения сигнала, вызванные неидеальностью среды передачи или системы обработки.
Выделение сигнала на фоне шумов и помех – это одна из задач ЦОС.
Основные задачи ЦОС
- Эквализация сигнала – задача поиска входного сигнала при известных параметрах системы и выходного сигнала.
- Фильтрация сигнала – задача поиска выходного сигнала при известных параметрах системы и входного сигнала. Фактически это отделение полезного сигнала от смеси сигнала с шумом или помехой.
- Идентификация системы – задача построения модели среды распространения сигнала по известным входному и выходному сигналам.
- Анализ и оценка параметров сигнала – широкий класс задач, связанных с получением информации из сигнала. Например, анализ огибающей модулированного сигнала, анализ спектра сигнала, анализ частоты отраженного сигнала, принимаемого радаром.
- Сжатие сигнала применяется в тех случаях, когда нужно уменьшить количество передаваемой или хранимой информации. Например, сжатие применяется в аудио- и видеофайлах.
Создание аккорда в Engee
Создадим в Engee сумму трех синусоидальных колебаний, которые составляют аккорд ля мажор. Аккорд состоит из нот ля первой октавы (частота 440 Гц), до-диез второй октавы (частота 554,37 Гц) и ми второй октавы (частота 659,26 Гц). Для простоты округлим частоты до 440, 550 и 660 Гц соответственно.
Создадим вектор-столбец центральных частот:
using Plots;
fc = [440 550 660]';
Укажем частоту дискретизации Гц. Период дискретизации – величина, обратная частоте дискретизации: . Создадим вектор отсчетов времени от 0 до 1 с с шагом :
fs = 8000;
dt = 1/fs;
t = [0:dt:0.1;];
Зададим вектор, являющийся суммой трех синусоид с заданными частотами, и пронормируем его, чтобы его значения лежали в интервале от -1 до 1.
y = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t);
y = y/3;
Построим график этого сигнала с помощью функции plot.
plot(t, y, xlabel="t", ylabel="sound", legend=false)
✏️Задание 1
Модифицируйте приведенный выше код так, чтобы сформировать сигнал, являющийся суммой синусоид с частотами 220, 350, 470 и 510 Гц.
Подсказка
Сформируйте вектор fc, содержащий 4 центральные частоты: 220, 350, 479 и 510 Гц.
Решение
using Plots;
fc = [220 350 470 510]';
fs = 8000;
dt = 1/fs;
t = [0:dt:0.1;];
y = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t) + cos.(2*pi*fc[4]*t);
y = y/4;
plot(t, y, xlabel="t", ylabel="y", legend=false)
Дискретные периодические сигналы
Сигнал называется периодическим, если его форма повторяется во времени.
Периодом сигнала называется интервал повторения.
Фундаментальный (основной) период – это наименьший интервал повторения.
Фундаментальная (основная) частота или первая грамоника – это количество основных периодов сигнала, приходящихся на единицу времени:
Синусоидальный сигнал как базис
Синусоидальный сигнал является фундаментальным для описания и обработки сигналов, так как:
- Синусоидальные сигналы часто встречаются в природе (электромагнитные волны, колебания маятников, пружин и т.д.).
- У синусоидального сигнала есть удобное понятие частоты.
- Любой сигнал можно представить суммой синусоид.
Любой сложный сигнал можно представить как сумму простых (синусоидальных) сигналов единичной амплитуды, умноженных на определенные весовые коэффициенты. Сумма взвешенных сигналов формирует сложный сигнал:
Простые сигналы единичной амплитуды называются базисом. Сигнал можно представить как в виде набора его временных отсчетов , так и в виде набора весовых коэффиицентов в выбранном базисе .
Рассмотрим на примере, как из базовых сигналов с различными весовыми коэффициентами можно сформировать сложный сигнал. Сформируем в Engee прямоугольный сигнал из суммы синусоид. Сначала посторим первую гармонику:
using Plots;
t = [0:0.1:10;];
y1 = sin.(t);
plot(t, y1, xlabel="t", ylabel="y", title="Первая гармоника", legend=false)
Добавим третью гармонику – синусоидальный сигнал с частотой в 3 раза выше, но с амплитудой в 3 раза меньше, чем у первой гармоники. На графике видно, что две гармоники подавляют друг друга и усиливают друг друга в определенных местах.
y3 = sin.(3*t)/3;
plot(t, y1, xlabel="t", ylabel="y", title="Первая и третья гармоники", label="Первая гармоника")
plot!(t, y3, label="Третья гармоника")
plot!(t, y1+y3, width=3, label="Сумма гармоник")
Если затем добавить пятую, седьмую и девятую гармоники, то их сумма уже начинает напоминать прямоугольный сигнал.
y5 = sin.(5*t)/5;
y7 = sin.(7*t)/7;
y9 = sin.(9*t)/9;
plot(t, y5, xlabel="t", ylabel="y", title="Пять гармоник", label="Первая гармоника")
plot!(t, y3, label="Третья гармоника")
plot!(t, y5, label="Пятая гармоника")
plot!(t, y7, label="Седьмая гармоника")
plot!(t, y9, label="Девятая гармоника")
plot!(t, y1+y3+y5+y7+y9, width=3, label="Сумма гармоник")
Добавляя еще больше гармоник, мы можем добиться формы сигнала, очень близкой к прямоугольной.
y = sin.(t) + sin.(3*t)/3 + sin.(5*t)/5 + sin.(7*t)/7 + sin.(9*t)/9 + sin.(11*t)/11 + sin.(13*t)/13 + sin.(15*t)/15 + sin.(17*t)/17;
plot(t, y, xlabel="t", ylabel="y", title="Сумма девяти гармоник", legend=false)
Подобным образом, изменяя весовые коэффициенты, мы можем сформировать любой сложный сигнал. На представлении сложных сигналов в виде наборов весовых коэффициентов основан спектральный анализ.
Теорема Котельникова
Если частота одной дискретной синусоиды отличается от частоты другой дискретной синусоиды на величну , т.е.
то мы не сможем различить эти две синусоиды.
Пусть одна синусоида изменяется медленно, а другая – быстро:
Мы берем дискретные отсчеты этих синусоид в моменты времени 1, 2, 3, 4 и т.д. и видим, что форма двух дискретных сигналов абсолютно одинакова.
Эффект неразличимости сигналов при их дискретизации называется алиасингом.
Теорема Котельникова
Непрерывный сигнал с ограниченным спектром можно точно восстановить по его дискретным отсчетам, если они взяты с частотой дискретизации, превышающей максимальную частоту сигнала минимум в два раза.
✏️Задание 2
Постройте в Engee синусоиду с частотой 1000 Гц на интервале времени от 0 до 0,02 с. Выберите частоту дискретизации и Гц. Проанализируйте график сигнала для каждого значения . Почему при определенных значениях синусоида искажается? При каких значениях частоты дискретизации выполняется условие теоремы Котельникова?
Подсказка
В соответствии с теоремой Котельникова, частота дискретизации должна удовлетворять условию
т.к.
Следовательно, для того чтобы выполнялось условие теоремы Котельникова, из указанных значений необходимо выбрать 6000 Гц либо 8000 Гц.
Тогда решение может выглядеть так:
Решение
using Plots;
fc = 1000;
fs = 8000;
dt = 1/fs;
t = [0:dt:0.02;];
y = cos.(2*pi*fc*t);
plot(t,y, xlabel="t", ylabel="y", legend=false)
Общая схема цифровой обработки сигналов и структура курса
В самом общем виде последовательность операций при цифровой обработке сигнала может быть представлена в виде следующей блок-схемы:

Входной аналоговый сигнал, обычно представляющий собой смесь полезного сигнала и шума (о шумах речь пойдет в Разделе 3 данного курса), поступает в аналого-цифровой преобразователь (АЦП, Раздел 2). В АЦП входной сигнал подвергается квантованию по уровню и дискретизации по времени. Выбор частоты дискретизации определяется теоремой Котельникова (Раздел 1).
На выходе АЦП мы получаем цифровой сигнал, который поступает в блок обработки. Блок обработки обычно представляет собой линейную систему (Раздел 7), которая тем или иным способом изменяет входной сигнал. Таким преобразованием может быть фильтрация, при которой усиливаются одни спектральные компоненты сигнала и подавляются другие. Фильтрация используется практически во всех системах ЦОС. В Разделе 8 рассказывается о задачах фильтрации и видах фильтров, а в Разделе 9 – о синтезе КИХ и БИХ фильтров. Другие возможные виды преобразования сигнала – цифровая модуляция (Раздел 10) и демодуляция. Также при необходимости может выполняться изменение частоты дискретизации сигнала (Раздел 11).
Затем сигнал поступает в блок анализа сигнала. Анализ может проводиться во временной области (с помощью свертки, Раздел 6) или (чаще всего) в частотной области (спектральный анализ, в основе которого лежит быстрое преобразование Фурье (БПФ), Разделы 4 и 5).
После этого сигнгал поступает в цифро-аналоговый преобразователь (ЦАП, Раздел 2), на выходе которого получается аналоговый сигнал.
Приведенная схема является предельно обобщенной. На практике часто приходится иметь дело с чисто цифровыми сигналами на входе и на выходе, поэтому блоки АЦП и ЦАП в таких случаях не требуются. Модуляция, демодуляция, изменение частоты дискретизации и свертка также используются не во всех системах ЦОС. В силу вводного характера нашего курса в нем остались нерассмотренными многие другие операции над сигналами (например, в цифровой связи используются также мультиплексирование, кодирование, скремблирование, расширение спектра и т.д.).
Тест для получения сертификата
Если вы впервые проходите тестирование на платформе Этюд по ссылке из Engee, то, нажав на ссылку ниже, вы увидите следующее диалоговое окно:
Нажмите на кнопку "Предоставить", чтобы авторизоваться на платформе Этюд с данными вашего профиля Engee ID.
Если вы раньше уже проходили тестирование по ссылке из Engee, то ваша авторизация выполнится автоматически и тестирование начнется сразу же после нажатия на ссылку.