Кто такой наставник и какими гибкими навыками он должен обладать. Читать исследование Хабр Карьеры
Обо мне

В настоящее время активно развиваюсь по профилю, связанному с аналитикой, обработкой данных и машинным обучением (ML, DS, CV, NLP, TimeSeries, Regression, etc.), в частности на Python.

О себе:

Работа:

Ведущий инженер-разработчик, программист, математик с опытом работы 7+ лет в отрасли разработки устройств цифровой обработки сигналов на базе FPGA и микроконтроллеров. 

Вклад в сообщества:

Автор многих статей по цифровой обработке сигналов на FPGA, включая статьи на habrahabr, лектор на топовых конференциях по профилю цифровой обработки сигналов и разработки электроники в России (см. в описании последнего опыта работы). 

Активно развиваю open-source проекты, в частности стек личных проектов по цифровой обработке сигналов на FPGA (Фильтрация, FFT, корреляция, свёртка, кодирование, шифрование и т.д.). Некоторые open-source проекты по FPGA не имеют аналогов во всем мире и показывают наилучшие результаты по всем параметрам (быстродействие, объём занимаемых ресурсов), обладая при этом гибкостью конфигурации и простотой настройки.

Используемый стек языков и технологий:

  • Python - numpy, scipy, pandas, matplotlib/seaborn, keras, scikit-learn, nltk, tf-idf, lightGBM, XGboost, Jupyter Notebook etc.
  • Math: Matlab, GNU Octave
  • FPGA: VHDL, Verilog, HLS (High-level synthesis)
  • TCL: Tcl/Tk, bash (в задачах автоматизации разработки)
  • C++
  • SQL
  • Docker, git / SVN, Slack, Redmine etc.
  • HTML, CSS, Latex / Markdown, Javascript


Подробнее: Отлично знаю HDL-языки, много лет работал в Matlab для задач математического моделирования и обработки данных. Хорошо знаю python, эпизодически писал на С++. Писал скрипты для оптимизации рутинной работы на TCL и bash. Периодически верстал сайтики по шаблонам (но заниматься этим не хочу), пытался полюбить js (но не смог). Джойны, подзапросы и агрегация в SQL не вызывают трудностей. Рабочая ОС - убунта. Умею в гит, докер и т.п. 

Последние реализованные проекты:

    ________________________________

    Завершил специализацию Машинное обучение и анализ данных от Яндекс и МФТИ. Сертификаты, подтверждающие успешное прохождение курсов специализации доступны в моём репозитории на гитхабе (или https://github.com/capitanov/coursera_ml_da_specialization)

    ________________________________

    Участник научно-технических конференций (в качестве лектора):

    • Центр современной электроники, Семинар «Цифровая обработка сигналов: самое важное из новых технологий», 7 апреля 2016,
    • Центр современной электроники, Семинар "Обработка и передача цифровых данных в устройствах на ПЛИС", 19 октября 2016,
    • Центр современной электроники, Семинар "Разработка высокоскоростных устройств сбора, обработки и формирования радиосигналов", 21 декабря 2016 год,
    • Matlab, Трехдневная конференция "Технологии разработки и отладки сложных технических систем", 25 апреля 2017,
    • Matlab, Двухдневная конференция "Технологии разработки и отладки сложных технических систем", 27 марта 2018.

    Вредных привычек нет :)

    Участие в профессиональных сообществах
    Опыт работы
    Инструментальные системы
    Москва
    Lead FPGA Engineer
    Январь 2013 — По настоящее время (7 лет и 2 месяца)

    Используемый стек:

    • - Verilog, VHDL, HLS (High-Level synthesis)
    • - Python (numpy, scipy, pandas, matplotlib, etc.),
    • - TCL (скрипты для FPGA),
    • - C++, SQL
    • - Bash shell
    • - Git / SVN / Slack / Redmine / etc.

    Основные обязанности:

    • - Разработка прошивок для ПЛИС фирм Xilinx / Altera;
    • - Уверенное знание VHDL / Verilog. Опыт работы с HLS на С++.
    • - Разработка сложных проектов ПЛИС на частотах обработки до 400МГц и заполнении кристалла ПЛИС до 98%.
    • - Разработка проектов ЦОС для приёма сигналов на частотах до 6ГГц от высокоскоростных многоканальных АЦП, выдача сигналов на многоканальные ЦАП.
    • - Оптимизация проектов ПЛИС по быстродействию и занимаемым ресурсам (Performance / Area), временной анализ Advanced XDC & STA.
    • - Создание автоматизированных TCL-скриптов для ускорения этапов проектирования.
    • - Знание и применение интерфейсов и стандартов обмена: JESD204B, MIL-STD1553, I2C, RS232, SPI, DDR3/DDR4, Aurora 8b/10b, 64b/66b, CAN, UDP.
    • - Проектирование в Matlab + Simulink / GNU Octave.
    • - Разработка и моделирование узлов ПЛИС на языках высокого уровня в Vivado HLS, частичная реконфигурация (Partial Reconfiguration).
    • - Разработка на передовых семействах кристаллов ПЛИС Xilinx: 7-series, Ultrascale, Ultrascale+,
    • - Разработка схемотехники цифровых устройств в Altium Designer;
    • - Отладка и написание прикладных программ для законченных изделий на базе ПЛИС на С++ с использованием Qt.
    • - Документирование проектов и участие в разработке корпоративного стиля написания кода в компании.

    ЛИЧНЫЕ ДОСТИЖЕНИЯ:

    За годы работы реализованы проекты цифровой обработки на ПЛИС, включая open-source (полностью моё авторство):

    • БПФ, ОБПФ, с фиксированной и плавающей точкой, Scaled / Unscaled, с децимацией по времени и по частоте, Radix-2, Radix-4 (в планах Radix-8), натуральный и bit/digit-reverse порядок, изменение размера БПФ во время работы устройства,
    • Двумерные БПФ (2D-FFT), сверх-длинные БПФ (Ultra-long FFT: от 1М отсчетов и выше) на базе DDR3/DDR4,
    • Динамическая оконная обработка данных (Оптимальные по ресурсам окна Хэмминга, Ханна, Блэкмана-Харриса и т.д.), ресурсы ПЛИС не зависят от длины окна (от 16 до 64М отсчетов),
    • Фильтрация (дециматоры, интерполяторы, дробные ресамплеры, фильтры-корректоры, преобразование Гилберта, корректоры-АЧХ, FIR, IIR, CIC, IFIR и др.),
    • Параллельная обработка сигналов (полифазные схемы обработки с фактором параллелизма 2, 4, 8, 16),
    • Арифметика в плавающей точке (FP24 - оптимизированная под ресурсы ПЛИС Xilinx, FP32 - по стандарту IEEE-754, FP16 - для прикладных задач CNN),
    • Узлы быстрой свертки сигналов (линейная, циклическая) и корреляции сигналов, поиск АКФ и ВКФ,
    • Демодуляторы и модуляторы BPSK, QPSK, QAM на ПЛИС,
    • Кодеры и декодеры обнаружения и коррекции ошибок (Хемминга, БЧХ, Рида-Соломона),
    • Генераторы сигналов (NCO, DDS, CORDIC, М-последовательности, ЛЧМ, генераторы синуса через ряды Тейлора),
    • Генераторы хаотических сигналов (модель Лоренца, Ресслера, Рикитаке, Нозе-Гувера и т.д.),
    • Модель OFDM модема с различными видами модуляции поднесущих в среде Matlab (в рамках диссертационной работы).

    Многие ядра доступны в открытых исходных кодах по ссылке на github: https://github.com/capitanov/

    Автор многочисленных статей и лекций,  участник выставок и конференций по цифровой обработке сигналов. Автор интересных статей на хабре: https://habr.com/users/capitanov/

    АО "Инструментальные системы"
    Москва
    Инженер, программист-стажер
    Август 2012 — Октябрь 2012 (3 месяца)

    Разработка прошивок для ПЛИС фирм Xilinx / Altera (на VHDL / Verilog);

    Оптимизация проектов ПЛИС по быстродействию и занимаемым ресурсам (Performance / Area);

    Тестирование отдельных узлов кода в железе и симуляторе.

    Написание технической документации.

    Высшее образование
    Национальный исследовательский университет «МЭИ»
    Москва
    Факультет: ИРЭ - Радиотехнический
    Июль 2013—Июль 2017 (4 года)

    Аспирант. Основной профиль: радиосвязь, радиолокация. Цифровая обработка шумоподобных и хаотических сигналов на базе ПЛИС и цифровых сигнальных процессорах.

    Факультет: Институт радиотехники и электроники
    Сентябрь 2007—Июль 2013 (5 лет и 10 месяцев)

    Красный диплом магистра по специальности "Радиотехника".

    Дополнительное образование
    Стопроцентное онлайн-обучение от лучших университетов и компаний мира
    Показать еще 4 курса
    Xilinx
     
    Показать еще 2 курса