Awesome
Digital signal processing
Перед вами лекции по цифровой обработке сигналов (ЦОС) в виде тетрадок Jupyter Notebook на языке Python. Можно воспринимать их как полноценный курс по цифровой обработке или использовать как заметки по теоретическим аспектам и практическому применению в решении различных задач.
Материалы представлены с использованием библиотек на языке Python (numpy , scipy, librosa, matplotlib, seaborn etc). Основная информация взята из моих лекций, которые я читал студентам Московского Энергетического Института ("НИУ МЭИ") и которая была использована на обучающих семинарах в Центре Современной Электроники. Лекции содержат перевод различных статей, компиляцию материалов из достоверных источников и литературы по тематике цифровой обработки сигналов, а также официальную документацию по прикладным библиотекам языка Python. Некоторые лекции написаны с помощью моих хороших знакомых и коллег, за что им отдельная благодарность!
Список лекций (на русском)
- Сигналы: аналоговые, дискретные, цифровые. Z-преобразование,
- Преобразование Фурье: амплитудный и фазовый спектр сигнала, ДПФ и БПФ,
- Свертка и корреляция. Линейная и циклическая свертка. Быстрая свёртка
- Случайные процессы. Белый шум. Функция плотности вероятностей
- Детерминированные сигналы. Модуляция: АМ, ЧМ, ФМ, ЛЧМ. Манипуляция
- Фильтрация сигналов: БИХ, КИХ фильтры
- Оконная фильтрация. Детектирование слабых сигналов с помощью наложения окна,
- Ресемплинг: децимация и интерполяция. CIC-фильтры, фильтры скользящего среднего
- Непараметрические методы спектрального анализа
- Полифазные схемы преобразования Фурье - усреднение по частоте и по времени
- Банки фильтров в задачах аудиокодирования
- Фильтры Фарроу
- Мел-спектрограммы
- Кепстр и MFCC
- Вейвлет-преобразование
- Алгоритм Герцеля
Установка
- Установите miniconda
- Создайте и активируйте виртуальную среду
- Установите необходимые библиотеки из
requirements.txt
- Запустите jupyter notebooks через Jupyter server или JetBrains DataSpell
# Создайте среду и установите необходимые библиотеки
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
Первый релиз
- 2019/07/10
Авторы
- Alexander Kapitanov, @hukenovs
- Vladimir Fadeev, @kirlf
- Karina Kvanchiani, @karinakvanchiani
- Elizaveta Petrova, @kleinsbotle
- Andrei Makhliarchuk, @anotherhelloworld
Лицензия
- GNU GPL 3.0.