GitPedia

Dsp theory

Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.

From hukenovs·Updated June 18, 2026·View on GitHub·

Перед вами лекции по **цифровой обработке сигналов** (ЦОС) в виде тетрадок Jupyter Notebook на языке Python. Можно воспринимать их как полноценный курс по цифровой обработке или использовать как заметки по теоретическим аспектам и практическому применению в решении различных задач. The project is written primarily in Jupyter Notebook, distributed under the GNU General Public License v3.0 license, first published in 2019. It has gained significant community traction with 1,218 stars and 207 forks on GitHub. Key topics include: convolution, digital-signal-processing, dsp, fast-fourier-transform, fft.

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. Алгоритм Герцеля

Установка

  • Установите miniconda
  • Создайте и активируйте виртуальную среду
  • Установите необходимые библиотеки из requirements.txt
  • Запустите jupyter notebooks через Jupyter server или JetBrains DataSpell
bash
# Создайте среду и установите необходимые библиотеки 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

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

HTML / PDF

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

commandline
nbmerge nbformat nbconvert

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

Пост на Habr

Первый релиз

  • 2019/07/10

Авторы

Лицензия

  • GNU GPL 3.0.

Contributors

Showing top 10 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from hukenovs/dsp-theory via the GitHub API.Last fetched: 6/21/2026