- О курсе
- Формат
- Информационные ресурсы
- Требования
- Программа курса
- Результаты обучения
- В результате освоения курса слушатель будет способен:
- Формируемые компетенции
- Направления подготовки
- Знания
- Умения
- Навыки
- Поделиться
- Коберниченко Виктор Григорьевич
- Иванов Олег Юрьевич
- Сосновский Андрей Васильевич
- Список лекций
- Где найти?
- Сигналы. Z-преобразование
- Преобразование Фурье. Свойства. ДПФ и БПФ
- Сравнение эффективности ДПФ и БПФ
- Свертка и корреляция
- Случайные сигналы и шум
- Сигналы, модуляция и манипуляция
- Цифровые фильтры — БИХ и КИХ
- Оконные функции в задачах фильтрации
- Ресемплинг. Децимация и интерполяция
- Заключение
- Содержание
- Основные задачи [ править | править код ]
- Основные преобразования [ править | править код ]
- 16 недель
около 9 часов в неделю
понадобится для освоения
4 зачётных единицы
для зачета в своем вузе
Предметом изучения в курсе являются математические модели сигналов и процессов, происходящих при их преобразовании в цифровых устройствах, а также алгоритмы этих преобразований.
О курсе
Цель изучения курса – получение базовой теоретической подготовки, необходимой для изучения принципов функционирования и методов проектирования цифровых устройств, используемых в инфотелекоммуникационных системах и системах управления. Глубокое понимание основ цифровой обработки сигналов необходимо также для тех, чья работа связана с обработкой сигналов в различных прикладных областях.
Основными задачами дисциплины является обучение слушателей теоретическим основам цифровой обработки сигналов: методам описания дискретных и цифровых сигналов и систем, способам реализации и методам расчета цифровых фильтров, а также принципам построения и применения алгоритмов быстрого преобразования Фурье для спектрального анализа и обработки сигналов.
Изучение фундаментальных основ цифровой обработки сигналов необходимо также для грамотного математического моделирования процессов формирования и обработки сигналов в широко распространенных профессиональных программных комплексах, таких как MATLAB с пакетами расширений, LabVIEW и других.
Полученные в курсе знания, умения и навыки позволят приступить к освоению таких дисциплин как:
- Цифровые устройства и микропроцессоры.
- Аппаратные средства телекоммуникационных систем.
- Измерения в телекоммуникационных системах.
- Информационно-измерительные системы.
- Инфокоммуниационные системы и сети.
- Прием и обработка радиосигналов.
- Цифровая обработка изображений.
- Основы беспроводной радиосвязи.
- Техническая защита информации.
Формат
Еженедельные занятия включают просмотр тематических видеолекций, изучение текстовых материалов, решение типовых задач, выполнение расчетных учебных заданий с автоматизированной проверкой, а также промежуточное контрольное тестирование и итоговые контрольные задания. В рамках курса предусмотрено выполнение виртуальных лабораторных работ с методическими рекомендациями по их выполнению и видеозаписью вводного занятия – мастер-класса.
Информационные ресурсы
1. Сергиенко А. Б. Цифровая обработка сигналов: учеб. пособие. – 3-е изд. / А. Б. Сергиенко. – СПб.Изд-во: БХВ-Петербург, 2011. – 768 с. (Учебник для вузов).
2. Солонина А.И., Улахович Д.А., Арбузов С.М., Соловьева Е.Б. Основы цифровой обработки сигналов: Курс лекций. Изд. 2-е испр. и перераб.– СПб.: БХВ-Петербург, 2013. 768 с.
3. Лайонс Р. Цифровая обработка сигналов: Второе издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2006. -656 с.
4. Гадзиковский В. И. Цифровая обработка сигналов/ В. И. Гадзиковский. – М.: Солон-Пресс, 2013. – 766 с.
5. Коберниченко В.Г. Расчет и проектирование цифровых фильтров: учебно-методическое пособие/В.Г. Коберниченко. – Екатеринбург: Изд-во Урал. Ун-та, 2013. – 64 с.
6. Васильев В.П. Основы теории и расчета цифровых фильтров: учеб. Пособие для высш. Учеб. Заведений / В.П. Васильев, Э.Л. Муро, С.М. Смольский; под ред. С.М. Смольсого. – М.: издательский центр «Академия», 2007. – 272 с.
7. Оппенгейм Р., Шафер Р. Цифровая обработка сигналов: Пер. с англ. М.: Техносфера, 2009. – 416 с.
Требования
Для успешного освоения курса слушатели должны обладать математической подготовкой курса высшей математики для технических направлений и специальностей (алгебра комплексных чисел, векторная алгебра, основы дифференциального и интегрального исчисления, теория функций комплексной переменной, дифференциальные уравнения). Кроме этого необходимы знания основных методов анализа электрических цепей и представления об основных видах сигналов и их преобразованиях.
Программа курса
РАЗДЕЛ 1. Модели и преобразования дискретных и цифровых сигналов
Тема 1.1. Введение. Аналоговые, дискретные и цифровые сигналы и системы
Тема 1.2. Математическое описание дискретных сигналов. Теорема Уиттекера – Котельникова – Шеннона
Тема 1.3. Дискретное преобразование Фурье. Корреляция и свертка дискретных последовательностей
Тема 1.4. Алгоритмы быстрого преобразования Фурье
Тема 1.5. Алгоритм БПФ с произвольным основанием
Тема 1.6. Основы теории Z – преобразования. Взаимосвязь между непрерывными и дискретными преобразованиями
РАЗДЕЛ 2. Дискретные и цифровые фильтры
Тема 2.1. Линейные дискретные и цифровые фильтры и их характеристики
Тема 2.2. Формы реализации линейных дискретных фильтров
Тема 2.3. Реализация линейных цифровых фильтров в частотной области с помощью алгоритмов БПФ. Цифровой спектральный анализ
Тема 2.4. Проектирование фильтров с КИХ
Тема 2.5. Синтез рекурсивных цифровых фильтров по аналоговому прототипу
Тема 2.6. Метод билинейного Z-преобразования
РАЗДЕЛ 3. Эффекты квантования и округления в цифровых фильтрах
Тема 3.1. Эффекты квантования сигнала
Тема 3.2. Эффекты округления результатов арифметических операций. Квантование коэффициентов в цифровых фильтрах
РАЗДЕЛ 4. Применение цифровых методов и устройств
Тема 4.1. Изменение частоты дискретизации в линейных цифровых фильтрах
Тема 4.2. Цифровые модуляторы и демодуляторы
Результаты обучения
В результате освоения курса слушатель будет способен:
- Понимать понятийный аппарат теории цифровой обработки сигналов
- Характеризовать преобразование спектров аналоговых сигналов при дискретизации
- Демонстрировать навыки спектрального представления дискретных сигналов и их анализа при преобразовании в линейных дискретных фильтрах
- Определять и анализировать системные функции линейных цифровых фильтров
- Применять методы синтеза рекурсивных и нерекурсивных цифровых фильтров
- Применять алгоритмы БПФ для спектрального анализа сигналов и реализации цифровых фильтров
- Применять способы учета эффектов квантования и округления в цифровых фильтрах
- Характеризовать сущность базовых алгоритмов цифровой обработки сигналов
- Программировать базовые алгоритмы цифровой обработки сигналов
Формируемые компетенции
В соответствии с ФГОС ВО дисциплина «Основы цифровой обработки сигналов участвует в формировании следующих компетенций:
• Способность выявлять естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности, привлекать для их решения соответствующий физико-математический аппарат.
• Способность применять методы решения задач анализа и расчета характеристик радиотехнических цепей и устройств.
• Способность выполнять математическое моделирование объектов и процессов по типовым методикам, в том числе с использованием стандартных пакетов прикладных программ.
• Способность применять существующие методы и алгоритмы решения задач цифровой обработки сигналов.
• Способность применять положения теории электрических цепей, радиотехнических сигналов, распространения радиоволн, цифровой обработки сигналов, информации и кодирования, электрической связи для решения профессиональных задач.
Направления подготовки
Знания
В результате освоения курса студент должен знать основы теории дискретных и цифровых сигналов и систем, методы синтеза рекурсивных и нерекурсивных цифровых фильтров, способы учета эффектов квантования и округления в цифровых фильтрах, сущность базовых алгоритмов цифровой обработки сигналов
Умения
- выявлять естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности, привлекать для их решения соответствующий физико-математический аппарат;
- применять методы решения задач анализа и расчета характеристик радиотехнических цепей и устройств;
- выполнять математическое моделирование объектов и процессов по типовым методикам, в том числе с использованием стандартных пакетов прикладных программ;
- применять существующие методы и алгоритмы решения задач цифровой обработки сигналов;
- разрабатывать цифровые радиотехнические устройства на базе микропроцессоров и микропроцессорных систем и программируемых логических интегральных схем с использованием современных пакетов прикладных программ;
- применять положения теории электрических цепей, радиотехнических сигналов, распространения радиоволн, цифровой обработки сигналов, информации и кодирования, электрической связи для решения профессиональных задач.
Навыки
В результате освоения курса студент должен владеть навыками спектрального представления дискретных сигналов и их анализа при преобразовании в линейных дискретных фильтрах; навыками программирования базовых алгоритмов цифровой обработки сигналов в стандартных пакетах прикладных программ
Поделиться
- 16 недель
около 9 часов в неделю
понадобится для освоения
4 зачётных единицы
для зачета в своем вузе
Коберниченко Виктор Григорьевич
Кандидат технических наук
Должность: профессор департамента радиоэлектроники и связи, ИРИТ-РТФ
Иванов Олег Юрьевич
Кандидат технических наук
Должность: доцент департамента радиоэлектроники и связи, заместитель директора ИРИТ-РТФ
Сосновский Андрей Васильевич
Должность: старший преподаватель департамента радиоэлектроники и связи ИРИТ-РТФ
Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе познания этой области. В связи с этим я решил написать краткий интерактивный курс по цифровой обработке сигналов и выложить его в открытый доступ.
Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.
Список лекций
Этот курс содержит материалы в виде законченных лекций по разным тематикам из области цифровой обработки сигналов. Материалы представлены с использованием библиотек на языке Python (пакеты numpy, scipy, matplotlib, и т.д.). Основная информация для этого курса взята из моих лекций, которые я, будучи аспирантом, читал студентам Московского Энергетического Института (НИУ МЭИ). Частично информация из этих лекций была использована на обучающих семинарах в Центре Современной Электроники, где я выступал в качестве лектора. Кроме того, в этот материал входит перевод различных научных статей, компиляция информации из достоверных источников и литературы по тематике цифровой обработки сигналов, а также официальная документация по прикладным пакетам и встроенным функциям библиотек scipy и numpy языка Python.
Для пользователей MATLAB (GNU Octave) освоение материала с точки зрения программного кода не составит труда, поскольку основные функции и их атрибуты во многом идентичны и схожи с методами из Python-библиотек.
Все материалы сгруппированы по основным тематикам цифровой обработки сигналов:
- Сигналы: аналоговые, дискретные, цифровые. Z-преобразование,
- Преобразование Фурье: амплитудный и фазовый сигнала, ДПФ и БПФ,
- Свертка и корреляция. Линейная и циклическая свертка. Быстрая свёртка
- Случайные процессы. Белый шум. Функция плотности вероятностей
- Детерминированные сигналы. Модуляция: АМ, ЧМ, ФМ, ЛЧМ. Манипуляция
- Фильтрация сигналов: БИХ, КИХ фильтры
- Оконные функции в задачах фильтрации. Детектирование слабых сигналов.
- Ресемплинг: децимация и интерполяция. CIC-фильтры, фильтры скользящего среднего
Список лекций — достаточный но, разумеется, неполный для вводного знакомства с областью ЦОС. При наличии свободного времени я планирую поддерживать и развивать этот проект.
Где найти?
Все материалы — абсолютно бесплатны и доступны в виде открытого репозитория на моем гитхабе как opensource проект. Материалы представлены в двух форматах — в виде тетрадок Jupyter Notebook для интерактивной работы, изучения и редактирования, и в виде скомпилированных из этих тетрадок HTML-файлов (после скачивания с гитхаба имеют вполне пригодный формат для чтения и для печати).
Ниже приводится очень краткое описание разделов курса с небольшими пояснениями, терминами и определениями. Основная информация доступна в исходных лекциях, здесь представлен лишь краткий обзор!
Сигналы. Z-преобразование
Вводный раздел, в котором содержится основная информация по типам сигналов. Вводится понятие дискретной последовательности, дельта-функции и функции Хевисайда (единичный скачок).
Все сигналы по способу представления на множестве можно разделить на четыре группы:
- аналоговые — описываются непрерывными во времени функциями,
- дискретные — прерываются во времени с шагом заданным дискретизации,
- квантованные — имеют набор конечных уровней (как правило, по амплитуде),
- цифровые — комбинация свойств дискретных и квантованных сигналов.
Для правильного восстановления аналогового сигнала из цифрового без искажений и потерь используется теорема отсчетов, известная как Теорема Котельникова (Найквиста-Шеннона).
Любой непрерывный сигнал с ограниченным спектром может быть восстановлен однозначно и без потерь по своим дискретным отсчетам, взятым с частотой строго больше удвоенной верхней частоты спектра непрерывного сигнала.
Если шаг квантования и дискретизации выбраны неправильно, преобразование сигнала из аналоговой формы в дискретную будет происходить с искажениями.
Также в этом разделе описывается Z-преобразование и его свойства, показывается представление дискретных последовательностей в Z-форме.
Пример конечной дискретной последовательности:
.
Пример этой же последовательности в Z-форме:
X(z) = 2 + z -1 — 2z -2 + 2z -4 + 3z -5 + 1z -6
Преобразование Фурье. Свойства. ДПФ и БПФ
В этом разделе описывается понятие временной и частотной области сигнала. Вводится определение дискретного преобразования Фурье (ДПФ). Рассмотрены прямое и обратное ДПФ, их основные свойства. Показан переход от ДПФ к алгоритму быстрого преобразования Фурье (БПФ) по основанию 2 (алгоритмы децимации по частоте и по времени). Отражена эффективность БПФ в сравнении с ДПФ.
В частности, в этом разделе описывается Python пакет scipy.ffpack для вычисления различных преобразований Фурье (синусное, косинусное, прямое, обратное, многомерное, вещественное).
Преобразование Фурье позволяет представить любую функцию в виде набора гармонических сигналов! Преобразование Фурье лежит в основе методов свертки и проектировании цифровых корреляторов, активно применяется при спектральном анализе, используется при работе с длинными числами.
Особенности спектров дискретных сигналов:
1. Спектральная плотность дискретного сигнала – периодическая функция с периодом, равным частоте дискретизации.
2. Если дискретная последовательность вещественная, то модуль спектральной плотности такой последовательности есть четная функция, а аргумент – нечетная функция частоты.
Спектр гармонического сигнала:
Сравнение эффективности ДПФ и БПФ
Эффективность алгоритма БПФ и количество выполняемых операций линейно зависит от длины последовательности N:
N | ДПФ | БПФ | Отношение числа комплексных сложений | Отношение числа комплексных умножений | ||
---|---|---|---|---|---|---|
Число операций умножения | Число операций сложения | Число операций умножения | Число операций сложения | |||
2 | 4 | 2 | 1 | 2 | 4 | 1 |
4 | 16 | 12 | 4 | 8 | 4 | 1.5 |
8 | 64 | 56 | 12 | 24 | 5.3 | 2.3 |
16 | 256 | 240 | 32 | 64 | 8 | 3.75 |
32 | 1024 | 992 | 80 | 160 | 12.8 | 6.2 |
64 | 4096 | 4032 | 192 | 384 | 21.3 | 10.5 |
128 | 16384 | 16256 | 448 | 896 | 36.6 | 18.1 |
. | . | . | . | . | . | . |
4096 | 16777216 | 16773120 | 24576 | 49152 | 683 | 341 |
8192 | 67108864 | 67100672 | 53248 | 106496 | 1260 | 630 |
Как видно, чем больше длина преобразования, тем больше экономия вычислительных ресурсов (по скорости обработки или количеству аппаратных блоков)!
Любой сигнал произвольной формы можно представить в виде набора гармонических сигналов разных частот. Иными словами, сигнал сложной формы во временной области имеет набор комплексных отсчетов в частотной области, которые называются *гармоники*. Эти отсчеты выражают амплитуду и фазу гармонического воздействия на определенной частоте. Чем больше набор гармоник в частотной области, тем точнее представляется сигнал сложной формы.
Свертка и корреляция
В этом разделе вводится понятие корреляции и свертки для дискретных случайных и детерминированных последовательностей. Показана связь автокорреляционной и взаимнокорреляционной функций со сверткой. Описываются свойства свертки, в частности, рассмотрены методы линейной и циклической свертки дискретного сигнала с подробным разбором на примере дискретной последовательности. Кроме того, показан метод вычисления «быстрой» свертки с помощью алгоритмов БПФ.
В реальных задачах часто ставится вопрос о степени похожести одного процесса на другой или же о независимости одного процесса от другого. Иными словами, требуется определить взаимосвязь между сигналами, то есть найти корреляцию. Методы корреляции используются в широком диапазоне задач: поиск сигналов, компьютерное зрение и обработка изображений, в задачах радиолокации для определения характеристик целей и определения расстояния до объекта. Кроме того, с помощью корреляции производится поиск слабых сигналов в шумах.
Свертка описывает взаимодействие сигналов между собой. Если один из сигналов — импульсная характеристика фильтра, то свертка входной последовательности с импульсной характеристикой есть ни что иное, как реакция цепи на входное воздействие. Иными словами, результирующий сигнал отражает прохождение сигнала через фильтр.
Автокорреляционная функция (АКФ) находит применение в кодировании информации. Выбор кодирующей последовательности по параметрам длины, частоты и формы во многом обусловлен корреляционными свойствами этой последовательности. Наилучшая кодовая последовательность обладает наименьшим значением вероятности ложного обнаружения или срабатывания (для детектирования сигналов, для пороговых устройств) или ложной синхронизации (для передачи и приема кодовых последовательностей).
В этом разделе представлена таблица сравнения эффективности быстрой свертки и свертки, вычисляемой по прямой формуле (по числу вещественных умножений).
Как видно, для длин БПФ до 64, быстрая свёртка проигрывает у прямого метода. Однако, при увеличении длины БПФ результаты меняются в обратную сторону — быстрая свертка начинает выигрывать у прямого метода. Очевидно, чем больше длина БПФ, тем лучше выигрыш частотного метода.
N | Свертка | Быстрая свертка | Отношение |
---|---|---|---|
8 | 64 | 448 | 0.14 |
16 | 256 | 1088 | 0.24 |
32 | 1024 | 2560 | 0.4 |
64 | 4096 | 5888 | 0.7 |
128 | 16K | 13312 | 1.23 |
. | . | .. | . |
2048 | 4M | 311296 | 13.5 |
Случайные сигналы и шум
В этом разделе вводится понятие случайных сигналов, плотности распределения вероятностей, закона распределения случайной величины. Рассматриваются математические моменты — среднее (математическое ожидание) и дисперсия (среднеквадратическое отклонение). Также в этом разделе рассматривается нормальное распределение и связанное с ним понятие белого шума, как основного источника шумов (помех) при обработке сигналов.
Случайным сигналом называют функцию времени, значения которой заранее неизвестны и могут быть предсказаны лишь с некоторой вероятностью. К основным характеристикам случайных сигналов относятся:
- закон распределения (относительное время пребывания значения сигнала в определенном интервале),
- спектральное распределение мощности сигнала.
В задачах ЦОС случайные сигналы делятся на два класса:
- шумы — беспорядочные колебания, состоящие из набора разных частот и амплитуд,
- сигналы, несущие информацию, для обработки которых требуется прибегать к вероятностным методам.
С помощью случайных величин можно моделировать воздействие реальной среды на прохождение сигнала от источника к приёмнику данных. При прохождении сигнала через какое-то шумящее звено, к сигналу добавляется так называемый белый шум. Как правило, спектральная плотность такого шума равномерно (одинаково) распределена на всех частотах, а значения шума во временной области распределены нормально (Гауссовский закон распределения). Поскольку белый шум физически добавляется к амплитудам сигнала в выбранные отсчеты времени, он называется аддитивный белый гауссовский шум (AWGN — Additive white Gaussian noise).
Сигналы, модуляция и манипуляция
В этом разделе показаны основные способы изменения одного или нескольких параметров гармонического сигнала. Вводятся понятия амплитудной, частотной и фазовой модуляции. В частности, выделяется линейная частотная модуляция, применяемая в задачах радиолокации. Показаны основные характеристики сигналов, спектры модулированных сигналов в зависимости от параметров модуляции.
Для удобства на языке Python создан набор функций, осуществляющих перечисленные виды модуляции. Пример реализации ЛЧМ-сигнала:
Также в этом разделе из теории передачи дискретных сообщений описаны виды цифровой модуляции — манипуляции. Как и в случае с аналоговыми сигналами, цифровые гармонические последовательности могут быть манипулированы по амплитуде, фазе и частоте (либо по нескольким параметрам сразу).
Цифровые фильтры — БИХ и КИХ
Достаточно большой раздел, посвященный вопросам цифровой фильтрации дискретных последовательностей. В задачах цифровой обработки сигналов данные проходят через цепи, которые называются фильтрами. Цифровые фильтры, как и аналоговые, обладают различными характеристиками — частотные: АЧХ, ФЧХ, временная: импульсная характеристика, а также передаточная характеристика фильтра. Цифровые фильтры используются в основном для улучшения качества сигнала — для выделения сигнала из последовательности данных, либо для ухудшения нежелательных сигналов — для подавления определенных сигналов в приходящих последовательностях отсчетов.
В разделе перечислены основные преимущества и недостатки цифровых фильтров (в сравнении с аналоговыми). Вводится понятие импульсной и передаточной характеристик фильтра. Рассматривается два класса фильтров — с бесконечной импульсной характеристикой (БИХ) и конечной импульсной характеристикой (КИХ). Показан способ проектирования фильтров по канонической и прямой форме. Для КИХ фильтров рассматривается вопрос о способе перехода к рекурсивной форме.
Для КИХ фильтров показан процесс проектирования фильтра от стадии разработки технического задания (с указанием основных параметров), до программной и аппаратной реализации — поиска коэффициентов фильтра (с учетом формы представления числа, разрядности данных и т.д.). Вводятся определения симметричных КИХ фильтров, линейной ФЧХ и её связи с понятием групповой задержки.
Оконные функции в задачах фильтрации
В задачах цифровой обработки сигналов используются оконные функции различной формы, которые при наложении на сигнал во временной области, позволяют качественно улучшить его спектральные характеристики. Большое количество всевозможных окон обусловлено в первую очередь одной из главных особенностей любого оконного наложения. Эта особенность выражается во взаимосвязи уровня боковых лепестков и ширины центрального лепестка. Правило:
Чем сильнее подавление боковых лепестков спектра, тем шире главный лепесток спектра и наоборот.
Одно из применений оконных функций: обнаружение слабых сигналов на фоне более сильных путём подавления уровня боковых лепестков. Основные оконные функции в задачах ЦОС — **треугольное, синусоидальное, окно Ланцоша, Ханна, Хэмминга, Блэкмана, Харриса, Блэкмана-Харриса, окно с плоской вершиной, окно Наталла, Гаусса, Кайзера** и множество других. Большая часть из них выражена через конечный ряд путём суммирования гармонических сигналов с определенными весовыми коэффициентами. Такие сигналы отлично реализуются на практике на любых аппаратных устройствах (программируемые логические схемы или сигнальные процессоры).
Ресемплинг. Децимация и интерполяция
В этом разделе рассматриваются вопросы многоскоростной обработки сигналов — изменения частоты дискретизации. Многоскоростная обработка сигналов (multirate processing) предполагает, что в процессе линейного преобразования цифровых сигналов возможно изменение частоты дискретизации в сторону уменьшения или увеличения, либо в дробное число раз. Это приводит к более эффективной обработке сигналов, так как открывается возможность использования минимально допустимых частот дискретизации и, как следствие, значительного уменьшения требуемой вычислительной производительности проектируемой цифровой системы.
Децимация (прореживание) – понижение частоты дискретизации. Интерполяция – повышение частоты дискретизации.
Также в разделе рассматривается класс однородных КИХ фильтров, которые называются интегрально-гребенчатыми фильтрами (CIC, Cascaded integrator–comb). Показана реализация, основные свойства и особенности CIC фильтров. В силу линейности математических операций, происходящих в CIC фильтре возможно каскадное соединение нескольких фильтров подряд, что дает пропорциональное уменьшение уровня боковых лепестков, но также увеличивает «завал» главного лепестка амплитудно-частотной характеристики.
График АЧХ фильтра в зависимости от коэффициента децимации:
Также в этом разделе обсуждается вопрос увеличения разрядности данных на выходе CIC фильтра в зависимости от его параметров. Это особенно важно в задачах программной реализации, в частности на ПЛИС.
Для практической реализации CIC фильтров на Python разработан отдельный класс CicFilter, реализующий методы децимации и интерполяции. Также показаны примеры изменения частоты дискретизации с помощью встроенных методов из scipy пакета Python.
Наконец, в этом разделе приведен особый класс фильтров — скользящего среднего. Показано три способа реализации: через свертку сигналов, с помощью КИХ-фильтра и БИХ-фильтра.
Заключение
Надеюсь, этот курс лекций в совокупности с моими предыдущими статьями по цифровой обработке сигналов на ПЛИС принесет практическую пользу и поможет читателю лучше понять основы цифровой обработки сигналов. Этот проект будет улучшаться и дополняться новым полезным и не менее интересным материалом. Следите за развитием!
Дополнительно к этому материалу я поддерживаю и развиваю свой проект по основным модулям ЦОС (на языке Python). Он содержит пакет генерации различных сигналов, класс CIC фильтров для задач децимации и интерполяции, алгоритм расчета коэффициентов корректирующего КИХ-фильтра, фильтр скользящего среднего, алгоритм вычисления сверх-длинного БПФ через методы двумерного преобразования (последнее очень пригодилось в работе при аппаратной реализации на ПЛИС).
Цифрова́я обрабо́тка сигна́лов (ЦОС, DSP — англ. digital signal processing ) — способы обработки сигналов на основе численных методов с использованием цифровой вычислительной техники. [1] [2]
Любой непрерывный (аналоговый) сигнал s ( t ) <displaystyle s(t)> может быть подвергнут дискретизации по времени и квантованию по уровню (оцифровке), то есть представлен в цифровой форме. Если частота дискретизации сигнала F d <displaystyle F_
не меньше, чем удвоенная наивысшая частота в спектре сигнала F m a x <displaystyle F_
(то есть F d ≥ 2 ⋅ F m a x <displaystyle F_
, см. теорему Найквиста — Шеннона — Котельникова), то полученный дискретный сигнал s ( k ) <displaystyle s(k)>
эквивалентен сигналу s ( t ) <displaystyle s(t)>
в том смысле, что s ( t ) <displaystyle s(t)>
может быть в точности восстановлен из s ( k ) <displaystyle s(k)>
.
При помощи математических алгоритмов s ( k ) <displaystyle s(k)> преобразуется в некоторый другой сигнал s 1 ( k ) <displaystyle s_<1>(k)>
, имеющий требуемые свойства. Процесс преобразования сигналов называется фильтрацией, а устройство, выполняющее фильтрацию, называется фильтром. Поскольку отсчёты сигналов поступают с постоянной скоростью F d <displaystyle F_
, фильтр должен успевать обрабатывать текущий отсчёт до поступления следующего, то есть обрабатывать сигнал в реальном времени. Для обработки сигналов (фильтрации) в реальном времени применяют специальные вычислительные устройства — цифровые сигнальные процессоры.
Всё это полностью применимо не только к непрерывным сигналам, но и к прерывистым, а также к сигналам, записанным на запоминающие устройства. В последнем случае скорость обработки непринципиальна, так как при медленной обработке данные не будут потеряны.
Различают методы обработки сигналов во временной (англ. time domain ) и в частотной (англ. frequency domain ) области. Эквивалентность частотно-временных преобразований однозначно определяется через преобразование Фурье.
Обработка сигналов во временной области широко используется в современной электронной осциллографии и в цифровых осциллографах. Для представления сигналов в частотной области используются цифровые анализаторы спектра. Для изучения математических аспектов обработки сигналов используются пакеты-расширения (чаще всего под именем Signal Processing) систем компьютерной математики MATLAB, Octave, Mathcad, Mathematica, Maple и др.
В последние годы при обработке сигналов и изображений широко используется новый математический базис представления сигналов с помощью «коротких волночек» — вейвлетов. С его помощью могут обрабатываться нестационарные сигналы, сигналы с разрывами и иными особенностями, сигналы в виде пачек.
Содержание
Основные задачи [ править | править код ]
- Линейная фильтрация — селекция (выбор) сигнала в частотной области; синтез (создание) фильтров, согласованных с сигналами; частотное разделение каналов; цифровые преобразователи Гильберта (Lⁿ(a, b)) и дифференциаторы; корректоры характеристик каналов.
- Спектральный анализ — обработка речевых, звуковых, сейсмических, гидроакустических сигналов; распознавание образов.
- Частотно-временной анализ — компрессия (сжатие) изображений, гидро- и радиолокация, разнообразные задачи обнаружения сигнала.
- Адаптивная фильтрация — распознавание речи, изображений, распознавание образов, подавление шумов, адаптивные антенные решётки.
- Нелинейная обработка — вычисление корреляций, медианная фильтрация; синтез амплитудных, фазовых, частотных детекторов, обработка речи, векторное кодирование.
- Многоскоростная обработка — интерполяция (увеличение) и децимация (уменьшение) частоты дискретизации в многоскоростных системах телекоммуникации, аудиосистемах.
- Свёртка традиционных типов.
- Секционная свёртка.
- Обнаружение сигнала — задача обнаружения сигнала на фоне шумов и помех. [3]
- Различение сигнала — задача распознавания сигнала на фоне других сигналов, с подобными характеристиками. [3]
- Оценивание сигнала — задача определения характеристик сигнала (амплитуда, частота, фаза). [3]
Основные преобразования [ править | править код ]
Цифровая обработка сигнала в передатчике [4]
Распространение сигналов по каналу связи
Цифровая обработка сигнала в приёмнике [4]