Home

Awesome

Digital signal processing

Digital signal processing

Перед вами лекции по цифровой обработке сигналов (ЦОС) в виде тетрадок Jupyter Notebook на языке Python. Можно воспринимать их как полноценный курс по цифровой обработке или использовать как заметки по теоретическим аспектам и практическому применению в решении различных задач.

Материалы представлены с использованием библиотек на языке Python (numpy , scipy, librosa, matplotlib, seaborn etc). Основная информация взята из моих лекций, которые я читал студентам Московского Энергетического Института ("НИУ МЭИ") и которая была использована на обучающих семинарах в Центре Современной Электроники. Лекции содержат перевод различных статей, компиляцию материалов из достоверных источников и литературы по тематике цифровой обработки сигналов, а также официальную документацию по прикладным библиотекам языка Python. Некоторые лекции написаны с помощью моих хороших знакомых и коллег, за что им отдельная благодарность!

Список лекций (на русском)

  1. Сигналы: аналоговые, дискретные, цифровые. Z-преобразование,
  2. Преобразование Фурье: амплитудный и фазовый спектр сигнала, ДПФ и БПФ,
  3. Свертка и корреляция. Линейная и циклическая свертка. Быстрая свёртка
  4. Случайные процессы. Белый шум. Функция плотности вероятностей
  5. Детерминированные сигналы. Модуляция: АМ, ЧМ, ФМ, ЛЧМ. Манипуляция
  6. Фильтрация сигналов: БИХ, КИХ фильтры
  7. Оконная фильтрация. Детектирование слабых сигналов с помощью наложения окна,
  8. Ресемплинг: децимация и интерполяция. CIC-фильтры, фильтры скользящего среднего
  9. Непараметрические методы спектрального анализа
  10. Полифазные схемы преобразования Фурье - усреднение по частоте и по времени
  11. Банки фильтров в задачах аудиокодирования
  12. Фильтры Фарроу
  13. Мел-спектрограммы
  14. Кепстр и MFCC
  15. Вейвлет-преобразование
  16. Алгоритм Герцеля

Установка

# Создайте среду и установите необходимые библиотеки
conda create -n "dsp_venv" python=3.9 -y
conda activate dsp_venv
pip install -r requirements.txt
# Запустите jupyter notebook server и перейдите по ссылке из консоли 
jupyter notebook

Для лекции 15 необходимо отдельно установить библиотку scaleogram

# Склонируйте репозиторий
git clone http://github.com/alsauve/scaleogram
cd scaleogram
# Установите библиотеку
python ./setup.py install --user

HTML / PDF

Для конвертации ноутбуков в html формат можно выполнить скрипт convert.sh. Могут потребоваться следующие библиотеки:

nbmerge
nbformat
nbconvert

Для конвертации в pdf может потребоваться pandoc

Пост на Habr

Первый релиз

Авторы

Лицензия