Dsp theory
Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.
Перед вами лекции по **цифровой обработке сигналов** (ЦОС) в виде тетрадок 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
Перед вами лекции по цифровой обработке сигналов (ЦОС) в виде тетрадок Jupyter Notebook на языке Python. Можно воспринимать их как полноценный курс по цифровой обработке или использовать как заметки по теоретическим аспектам и практическому применению в решении различных задач.
Материалы представлены с использованием библиотек на языке Python (numpy , scipy, librosa, matplotlib, seaborn etc). Основная информация взята из моих лекций, которые я читал студентам Московского Энергетического Института ("НИУ МЭИ") и которая была использована на обучающих семинарах в Центре Современной Электроники. Лекции содержат перевод различных статей, компиляцию материалов из достоверных источников и литературы по тематике цифровой обработки сигналов, а также официальную документацию по прикладным библиотекам языка Python. Некоторые лекции написаны с помощью моих хороших знакомых и коллег, за что им отдельная благодарность!
Список лекций (на русском)
- Сигналы: аналоговые, дискретные, цифровые. Z-преобразование,
- Преобразование Фурье: амплитудный и фазовый спектр сигнала, ДПФ и БПФ,
- Свертка и корреляция. Линейная и циклическая свертка. Быстрая свёртка
- Случайные процессы. Белый шум. Функция плотности вероятностей
- Детерминированные сигналы. Модуляция: АМ, ЧМ, ФМ, ЛЧМ. Манипуляция
- Фильтрация сигналов: БИХ, КИХ фильтры
- Оконная фильтрация. Детектирование слабых сигналов с помощью наложения окна,
- Ресемплинг: децимация и интерполяция. CIC-фильтры, фильтры скользящего среднего
- Непараметрические методы спектрального анализа
- Полифазные схемы преобразования Фурье - усреднение по частоте и по времени
- Банки фильтров в задачах аудиокодирования
- Фильтры Фарроу
- Мел-спектрограммы
- Кепстр и MFCC
- Вейвлет-преобразование
- Алгоритм Герцеля
Установка
- Установите 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. Могут потребоваться следующие библиотеки:
commandlinenbmerge 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.
Contributors
Showing top 10 contributors by commit count.
