вторник, 29 декабря 2015 г.

Задачи для самостоятельного решения по курсу "Основы теории информации" 2015 можно скачать здесь. Список литературы доступен по следующей ссылке. Материалы лекции по алгоритму JPEG можно скачать здесь. Вопросы к экзамену можно скачать здесь.

Темы лабораторных работ
  1. Информация, энтропия и избыточность (ссылка).
  2. Кодирование для дискретных источников без памяти (ссылка).
  3. Реализация и исследование алгоритма локализации мобильного робота на основе гистограммного фильтр. Замечание. Настоящая лабораторная работа является опциональной и может быть выполнена по усмотрению студента. При выполнении лабораторной работы требуется ознакомиться с теоретическими материалами и программными кодами, которые можно найти здесь.
  4. Алгоритм сжатия цифровых изображений JPEG (ссылка).
  5. Дискретные каналы без памяти и передача информации (ссылка).
  6. Помехоустойчивое кодирование и декодирование сообщений (ссылка).
Дополнительные материалы
  1. Hsu H.P. Schaum’s Ouline of Theory and Problems of Probability, Random Variables, and Random Processes. McGraw-Hill, 1997 (ссылка).
С уважением, Владимир Волохов.

четверг, 17 декабря 2015 г.

Итоговая аттестация по курсу "Цифровая обработка изображений" представлена в следующем файле (ссылка). По всем интересующим вопросам пишите на электронную почту. С уважением, Владимир Волохов.

понедельник, 19 октября 2015 г.

Лекции по курсу "Введение в программирование с использованием MATLAB (Octave)" 2015 (факультатив) проходят каждую пятницу в ауд. 218 (2-ой учебный корпус ФГБОУ ВПО ЯрГУ им. П.Г. Демидова). Начало в 16.00. Программа настоящего курса базируется на материалах курса M. Fitzpatrick "Introduction to Programming with MATLAB" (ссылка). В настоящем разделе будет размещаться информация, затрагивающая литературу, ссылки, лекционный материал по тематике курса и примеры реализаций алгоритмов. По всем вопросам обращайтесь либо на электронную почту (volokhov@piclab.ru), либо оставляйте комментарии в рамках настоящего поста. Удачи!

Темы лекционных занятий
  1. Введение в систему компьютерного моделирования MATLAB. В настоящей лекции были рассмотрены следующие моменты: историческое введение; окружение MATLAB; MATLAB, как калькулятор; синтаксис и семантика; помощь; построение графиков; примеры программ, написанных с использованием MATLAB.
  2. Матрицы и операторы. В настоящей лекции были рассмотрены следующие моменты: введение в матрицы и операторы; оператор двоеточие; доступ к элементам матрицы; комбинирование и преобразование матриц; арифметика (поэлементные и матричные операции); порядок использования операторов (правило приоритета и ассоциативности).
  3. Функции. В настоящей лекции были рассмотрены следующие моменты: введение в функции; входы и выходы функций; формальное определение функций; подфункции; область видимости; локальные и глобальные переменные; преимущества функций; скрипты.
  4. Тулбоксы пакета MATLAB. В настоящей лекции были рассмотрены следующие моменты: полиморфизм функций; построение матриц; функции input и fprintf; визуализация; отладка программных кодов. Полезные функции MATLAB (ссылка).
  5. Инструкция управления if. В настоящей лекции были рассмотрены следующие моменты: инструкции управления; инструкция if; логические операторы и операторы сравнения; вложенная инструкция if; функции nargin и nargout; робастные функции; статические переменные.
  6. Циклы for и while.  В настоящей лекции были рассмотрены следующие моменты: циклы for и while; инструкции break, continue, return; логическое индексирование; предварительное выделение памяти. 
  7. Словарик. Термины, которые совершенно необходимо помнить и знать при использовании пакета MATLAB: интерпретатор, компилятор, константа, переменная (локальная, глобальная, перманентная), массив (скаляр, вектор, матрица и т.п.), оператор, операнды, функция, скрипт, ранг (приоритет) оператора, входные и выходные параметры, аргументы, область видимости (локальная и глобальная), поэлементные и матричные операции, синтаксис и семантика, выражение, функциональная декомпозиция, полиморфизм, статические переменные, инструкции управления (if, for, while и т.п.).
Практические задания
  1. Домашнее задание №1 (архив .rar). Срок сдачи задания - 06.11.2015.
  2. Домашнее задание №2 (архив .rar). Срок сдачи задания - 27.11.2015.
Тестовые задания
  1. Тест №1 (архив .rar). Срок сдачи задания - 06.11.2015.
Дополнительные материалы
  1. Ledeczi A., Fitzpatrick M., Tairas R. Introduction to Programming with MATLAB, 2015. Vanderbilt University (ссылка).
  2. Advanced MATLAB for Scientific Computing (CME 292), 2014. Stanford University (ссылка).
  3. Начало работы с MATLAB (ссылка).
  4. Бесплатные альтернативы пакета MATLABOctaveFreeMat или SciLab.
  5. Пакет MATLAB и плата Arduino. Объединяем усилия (ссылка)!
  6. Мелёшин И. Введение в MATLAB (вебинар), 2015. MathWorks (ссылка).
Руководитель курса: доц. каф. ДЭС Волохов В.А.

воскресенье, 27 сентября 2015 г.

Первая лекция по курсу "Методы машинного обучения" 2015 (факультатив) состоится 03.10.2015 в ауд. 306 (1-ый учебный корпус ФГБОУ ВПО ЯрГУ им. П.Г. Демидова). Начало в 14.00. С программой курса можно ознакомиться здесь. В настоящем разделе будет размещаться информация, затрагивающая литературу, ссылки, лекционный материал по тематике курса и примеры реализаций алгоритмов. По всем вопросам обращайтесь либо на электронную почту (volokhov@piclab.ru), либо оставляйте комментарии в рамках настоящего поста. Отвечу, даже не сомневайтесь :) Удачи!

Темы лекционных занятий
  1. Занятие № 1. Введение и обзор материала курса. Линейная регрессия с одной переменной (презентация .pptx). Про автономный вертолет читаем здесь. С оригинальным Стэнфордским курсом по машинному обучению Andrew Ng можно ознакомиться здесь. Неплохо написанную книжку по машинному обучению Stephen Marsland "Machine Learning: An Algorithmic Perspective" можно скачать здесь. Эта книга хорошо подходит для понимания базовых концепций в данной области. В ней есть примеры реализации алгоритмов машинного обучения на языке Python. Рекомендуется ознакомиться с книжкой написанной Александром Борисовичем Мерковым (к.т.н., сотрудник Института системного анализа РАН) "Введение в методы статистического обучения" (ссылка). Книга написана просто, доступно и дает хороший обзор современных методов распознавания. Также рекомендуется ознакомиться с отечественным профессиональным информационно-аналитическим ресурсом, который посвящен машинному обучению, распознаванию образов и интеллектуальному анализу данных (ссылка).
  2. Занятие № 2. Введение в систему компьютерного моделирования MATLAB (архив .rar). Законченная реализация алгоритма линейной регрессии с одной и несколькими переменными из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
  3. Занятие № 3. Линейная регрессия со множеством переменных. Классификация. Логистическая регрессия (презентация .pptx).
  4. Занятие № 4. Законченная реализация алгоритма логистической регрессии с регуляризацией и без нее из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
  5. Занятие № 5. Искусственные нейронные сети (представление) (презентация .pptx).
  6. Занятие № 6. Законченная реализация алгоритма логистической регрессии с регуляризацией и нейронной сети прямого распространения для решения задачи многоклассовой классификации на базе данных рукописных цифр MNIST из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка). Обращаю внимание на то, что в предложенной реализации по умолчанию используется только 5000 тренировочных примеров (вместо изначальных 60000) из базы данных MNIST, а также на то, что тестирование рассматриваемых алгоритмов осуществляется на примерах, которые использовались на этапе обучения. Дополнительно разрешение используемых фрагментов символов уменьшено до 20x20 пикселей по сравнению с оригинальным (28x28 пикселей). Поэтому сравнить полученные результаты с уже имеющимися на аналогичной базе данных (ссылка) нельзя! Несколько баз данных для обучение, в том числе MNIST (в удобном, родном для MATLAB формате mat) можно найти здесь. Интересно почитать следующую статью про сверточную нейронную сеть LeNet 5 (ссылка).
  7. Занятие № 7. Искусственные нейронные сети (обучение) (презентация .pptx). Автономное вождение / проект ALVINN (видео позаимствовано из курса Andrew Ng "Machine Learning" на www.coursera.org). "Соревнования века" Darpa Grand Challenge 2005 (ссылка 1ссылка 2) и Darpa Urban Challenge 2007 (ссылка). О проекте "Stanley" можно почитать, например, здесь.
  8. Занятие № 8. Законченная реализация алгоритма обучения нейронной сети прямого распространения для решения задачи многоклассовой классификации на базе данных рукописных цифр MNIST из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
Практические задания

Для всех желающих здесь будут выкладываться исходные практические задания из курса Andrew Ng "Machine Learning" на www.coursera.org, которые можно решать самостоятельно. Разбор решений будет производиться на лекциях, решенные задания будут последовательно выкладываться в разделе "Темы лекционных занятий".
  1. Линейная регрессия (ссылка).
  2. Логистическая регрессия (ссылка).
  3. Многоклассовая классификация и нейронные сети (ссылка).
  4. Обучение нейронных сетей (ссылка).
Тестовые задания
  1. Тест № 1. Введение и обзор материала курса. Линейная регрессия с одной переменной (ссылка). Сроки решения произвольные.
  2. Тест № 2. Линейная регрессия со множеством переменных. Классификация. Логистическая регрессия. Искусственные нейронные сети (представление) (ссылка). Сроки решения произвольные.
Дополнительные материалы
  1. Ng A. Machine Learning (CS 229), 2009. Stanford University (ссылка).
  2. Ng A. Unsupervised Feature Learning and Deep Learning. Stanford University (ссылка 1ссылка 2).
  3. Сайт посвященный новой области машинного обучения - глубокому обучению (Deep Learning). Глубокое обучение введено с целью смещения машинного обучения к одной из его первоначальных целей - искусственному интеллекту (Artificial Intelligence) (ссылка 1ссылка 2).
  4. Воронцов К.В. Машинное обучение, 2012/2013. ШАД Яндекс (ссылка).
  5. Профессиональный информационно-аналитический ресурс, который затрагивает машинное обучение, а также распознавание образов и интеллектуальный анализ данных (ссылка).
  6. Szelicki R. Computer Vision: Algorithms and Applications. Springer, 2010 (ссылка).
  7. Сетевой журнал "Компьютерная графика и мультимедиа" (ссылка).
  8. Конушин A. Семантическая классификация изображений (видеолекции), 2010. Сomputer Science клуб при ПОМИ РАН (ссылка).
  9. Ерухимов В. Компьютерное зрение и библиотека OpenCV (видеолекции), 2011. Сomputer Science клуб при ПОМИ РАН (ссылка).
  10. Конушин А. Курсы "Введение в компьютерное зрение" и "Доп. главы компьютерного зрения" (видеолекции), 2011. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  11. Efros A. Learning-Based Methods in Vision (16-721), 2009. Carnegie Mellon University (ссылка).
  12. Kemelmacher I., Rao R., Seitz S., Shapiro L. Computer Vision (CSE 455), 2003 - 2010. University of Washington (ссылка).
  13. Lazebnik S. Computer Vision (COMP 776), 2008 - 2011. The University of North Carolina at Chapel Hill (ссылка).
  14. Thrun S. Computer Vision / Introduction to Computer Vision (CS 223b), 2004 - 2009. Stanford University (ссылка).
Online курсы

Информация по наиболее интересным online курсам приведена в первой презентации. Напоминаю, что с 2011 года ряд западных университетов начал практику создания online курсов (www.coursera.orgwww.udacity.org) по различным дисциплинам. Например, "Искусственный интеллект", "Машинное обучение", "Компьютерное зрение" и т.д. Для ознакомления с материалами курсов (видеолекциями, практическими заданиями и т.д.) нужна регистрация!

Руководитель курса: доц. каф. ДЭС Волохов В.А.

суббота, 12 сентября 2015 г.

Начинает свою работу страница курса "Цифровая обработка изображений" специальности "Радиотехника".

В настоящем разделе размещена единая информация, затрагивающая лекционный материал и задания к практическим работам.

Место проведения: Физический факультет (2-ой учебный корпус), к. 203а.

Время: Лекции и практические занятия каждую неделю с 14.15 до 15.50 по пятницам.

Темы лекционных занятий
  1. Введение и обзор материала курса (презентация .pptx). Чудеса фотографии "Восстановление фотографического наследия С.М. Прокудина-Горского" (ссылка1, ссылка2).
  2. Формирование изображений. Камера и ее основные характеристики  (презентация .pptx). Awareness Test - "тест на внимательность" (ссылка).
  3. Цифровая обработка изображений в среде Matlab (презентация .pptx). Seam Carving Algorithm - "контурное вырезание по шву" (описание, презентация .pptxпример реализации .rar).
  4. Фильтрация и улучшение изображений. Часть 1 (презентация .pptx). Hybrid Images - "гибридные изображения" (описание). Дополнительную информацию про Bilateral Filter (билатеральный фильтр) и Non-Local Means Algorithm (алгоритм вычисления нелокальных средних) можно найти здесь и здесь соответственно.
  5. Фильтрация и улучшение изображений. Часть 2 (презентация .pptx).
  6. Оценка качества цифровых изображений (презентация .pptxm-файлы .rar). Описание и Matlab-реализацию Structural SIMilarity (SSIM) index - коэффициент структурного подобия (КСП) можно найти здесь. Рекомендации ITU-R BT.500-11 Methodology for the Subjective Assessment of the Quality of Television Pictures - методология для субъективной оценки качества телевизионных изображений (ссылка). Про субъективную оценку качества можно также почитать здесь.
  7. Цвет и обработка цветных изображений (презентация .pptx). Awareness Test - "тест на внимательность" (ссылка). Tiny images - "крошки картинки" (ссылка). Смотрим визуальные иллюзии на Planet Perplex (ссылка). Про трекинг глаз читаем здесь. Так же интересно почитать следующую книгу Yarbus Alfred L. Eye Movements and Vision. Plenum Press, 1967 (ссылка). Пример законченного кода для самостоятельного исследования по методу K-средних, а также анализу главных компонент из курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
  8. Сжатие изображений. Стандарт JPEG (презентация .pptx). Хорошо написанная статья и ссылки для самостоятельного изучения по стандарту JPEG могут быть найдены здесь. Стандарт JPEG (ссылка). Также рекомендуется проанализировать источники [7, 8] в дополнительных материалах.
  9. Куда двигаться дальше (презентация .pptx)?
  10. Вопросы к зачету (вопросы .pdf).
Практические задания
  1. Фильтрация изображений (описание .pdfизображения .rar). Срок сдачи задания - 06.11.2015.
  2. Цифровая хроматография изображений Российской Империи, полученных С.М. Прокудиным-Горским (описание .pdfизображения .rar). Срок сдачи задания - 04.12.2015.
  3. Смешивание изображений (описание .rarизображения .rar). Сроки сдачи задания произвольные.
Тестовые задания
  1. Тест № 1 (ссылка).
  2. Тест № 2 (ссылка).
  3. Тест № 3 (ссылка).
  4. Тест № 4 (ссылка).
  5. Тест № 5 (ссылка).
  6. Тест № 6 (ссылка).
  7. Тест № 7 (ссылка).
    Дополнительные материалы
    1. Peters R.A. Image Processing (EECE / CS 253) , 2007. Vanderbilt University School of Engineering (ссылка).
    2. Крылов А., Лукин А. Интегральные преобразования в обработке изображений, введение в цифровую обработку мультимедийной информации, 2011. МГУ им. М.В. Ломоносова (ссылка). Примечание: здесь можно послушать аудиозаписи лекторов, посмотреть соответствующие презентация, попробовать выполнить предлагаемые практические задания, ну и понять чему учат в МГУ по аналогичным курсам.
    3. Ватолин Д. Методы обработки и сжатия видео, 2010-2011. МГУ им. М.В. Ломоносова (ссылка).
    4. Волохов В. Курс "Цифровая обработка изображений" 2012. Лаборатория цифровые цепи и сигналы при физическом факультете ЯрГУ (ссылка).
    5. Волохов В. Курс "Цифровая обработка изображений" 2013. Лаборатория цифровые цепи и сигналы при физическом факультете ЯрГУ (ссылка).
    6. Волохов В. Курс Компьютерное зрение, 2012/2013 (факультатив). Лаборатория цифровые цепи и сигналы при физическом факультете ЯрГУ (ссылка).
    7. Приоров А.Л., Апальков И.В., Хрящев В.В. Цифровая обработка изображений: учебное пособие. - Ярославль: ЯрГУ, 2007 (ссылка).
    8. Wallace G.K. The JPEG Still Picture Compression Standard // IEEE Trans. Consumer Electronics. 1992. V. 38, №1. P. xviii - xxxiv (ссылка).
    9. Efros A. Computational Photography (15-463 / 15-862), 2013. Carnegie Mellon University (ссылка).
    Руководитель курса: доц. каф. ДЭС Волохов В.А.

    вторник, 8 сентября 2015 г.

    Начинает свою работу единая страница курса "Основы цифровой обработки сигналов" направлений "Инфокоммуникационные технологии и системы связи" и "Радиотехника" и "Цифровая фильтрация" направления "Радиофизика".

    В настоящем разделе размещена единая информация, затрагивающая лабораторный практикум (состоящий из 6-ти лабораторных работ, выполняемых в пакете Matlab), лекционный материал и практические задания.

    Место проведения: Физический факультет, к. 306, 1-ый учебный корпус (лабораторный практикум), к. 216, 2-ой учебный корпус (ИТС-31БОРТ-31БОили к. 205, 2-ой учебный корпус (РФ-41БО) (лекционные занятия).

    Время
    1. Направление "Инфокоммуникационные технологии и системы связи" (группа ИТС-31БО) лабораторный практикум раз в две недели по четвергам, с 10.15 до 11.50 (числитель/знаменатель разделение на подгруппы), лекции каждую неделю по средам, с 8.30 до 10.05.
    2. Направление "Радиотехника" (группа РТ-31БО) лабораторный практикум раз в две недели по средам, с 16.00 до 17.35 (числитель), лекции каждую неделю по средам, с 8.30 до 10.05.
    3. Направление "Радиофизика" (группа РФ-41БОлабораторный практикум раз в две недели по четвергам с 16.00 до 17.35 (знаменатель), лекции каждую неделю по четвергам, с 14.15 до 15.50.
    Темы лекционных занятий
      1. Введение в курс "Основы цифровой обработки сигналов" ("Цифровая фильтрация"). Работу C.E. Shannon "A Mathematical Theory of Communication", написанную в 1948 г., можно найти здесь или здесь. Книгу P. Prandony, M. Vetterly "Signal Processing for Communications" можно найти здесь (версия в html) или здесь (версия в pdf). При решении задач по курсу рекомендуется использовать источник [15] в дополнительных материалах ниже. Пример проигрывания звукового фрагмента с разной частотой дискретизации (ссылка). Пример генерации звукового колебания на основе алгоритма Карплуса-Стронга (ссылка). Материалы курса P. Prandony, M. Vetterly "Digital Signal Processing" на www.coursera.org  можно найти здесь (для доступа к материалам нужна регистрация). "Машина для генерации значений комплексной экспоненты" (ссылка).
      2. Дискретное преобразование Фурье. Быстрое преобразование Фурье. Теория и задачи по настоящему занятию могут быть найдены в главе 7 источника [15] в дополнительных материалах ниже, а также в главе 6 книги Брюханов Ю.А., Приоров А.Л., Джиган В.И., Хрящев В.В. "Основы цифровой обработки сигналов". Книга доступна в печатном виде в библиотеке ЯрГУ. Пример вычисления дискретного преобразования Фурье (ДПФ) для изображения, демонстрирующий преимущество ДПФ перед каноническим базисом при передаче данных (ссылка). Про работу с платой Arduino можно почитать здесь. Про интеграцию платы Arduino и Matlab можно узнать на следующем сайте. Пример интеграции платы Arduino c Matlab, рассмотренный на лекции, можно найти здесь. Машина для предсказания приливов (ссылка).
      3. Оконное преобразование Фурье. Лекция посвящается Дню космических войск России. 4 октября 1957 г. в СССР был запущен первый искусственный спутник "Спутник-1", который вращался на орбите 3 месяца и издавал "бип-бип" звуковой сигнал не несущий какой-либо информации. Звуковой сигнал первого спутника, записанный с использованием аналогового магнитофона, не отличался особым качеством. Однако, существование этого сигнала было захватывающим (сигнал первого спутника). Факт, что спутник может быть размещен на орбите и способен посылать сигналы на Землю, продемонстрировал возможность использования спутников связи для радио, телевидения, передачи телефонных разговоров через океаны! Это был революционный прорыв в то время. Понадобилось еще одно десятилетие, чтобы то, что казалось когда-то фантастическим, стало реальностью, в то время как передача сигналов со спутников на сегодняшний день является обычным делом. Запуск первого спутника продемонстрировал возможность освоения космоса и способствовал гонке между СССР и США, связанной с запуском первого человека (космонавта / астронавта) в космос. Это произошло в апреле 1961 г. (Гагарин Ю.А.) и в мая 1961 г. (Шеппард А.). В июле 1969 г. экипаж корабля "Апполон-11" высадился на поверхность Луны. В заключении необходимо отметить, что запуск первого спутника привел к возникновению "Спутникового кризиса", который способствовал срочности финансирования правительством США области естественных наук, чтобы не отставать от СССР в математике и инженерных науках, которые имели решающее значение в холодной войне. 
        Гордитесь своей страной и помните о том, что у каждого человека есть свое место в жизни! Пример практического использования оконного преобразования Фурье к обработке сигнала первого спутника и двухтонального многочастотного сигнала в Matlab можно скачать здесь.
      4. Введение в цифровые фильтры. Цифровые фильтры могут использоваться для решения разнообразных задач. Рассмотрим одну из них на примере ЛИС-системы. Представим себе, что в качестве импульсной характеристики такой системы выступает импульсный отклик помещения. Этот отклик можно получить с использованием микрофона, который записывает звук, представляющий рассеивание импульсного источника звука. Примером подобного отклика может выступать импульсный отклик Лозаннского собора, который измерил Докманич И. (Dokmanic I.) и его коллеги, записав звук лопнувшего в соборе воздушного шарика. Скачать эту запись можно здесь. Выполнение операции свертки этой записи (импульсной характеристики собора), например, с записью музыкального фрагмента, полученного с использованием виолончели, позволяет искусственно пересоздать акустику большого пространства собора. Пример Matlab-кода, выполняющего подобную операцию, можно скачать здесь.
      5. КИХ-фильтры с линейной фазочастотной характеристикой (ФЧХ). Иногда, когда читаешь книжки по ЦОС встречаешься с такой фразой: "КИХ-фильтры с линейной ФЧХ не искажают фазовые соотношения между гармониками сигнала". Так же в книжках указано, что линейная ФЧХ у фильтров является хорошим свойством этих фильтров. Почему это так? Почему отсутствие искажений фазовых соотношений между гармониками сигнала настолько значимо? Давайте проведем некоторый эксперимент. Возьмем два изображения. Вычислим от каждого из них двумерное дискретное преобразование Фурье (ДПФ), а также амплитудные и фазовые спектры этих изображений. Поменяем фазовые спектры изображений местами, а амплитудные спектры оставим без изменений. Выполним обратное преобразование Фурье. Получим результат, представленный ниже.
        Два верхних изображения  - это исходные картинки, то есть до обработки. Два нижних изображения - это картинки, полученные после указанной выше процедуры. Видно, что, поменяв фазовые спектры местами, мы получили изменение структуры первой и второй картинок. Они поменялись местами. Отметим, что истинное распределение интенсивностей пикселей на изображениях изменилось, но структура сигнала находится именно в фазе. Фазовый спектр сигнала несет больше информации, чем амплитудный! Поэтому искажение фазовых соотношений между гармониками должно приводить к искажению структуры сигнала. Matlab-код, который позволяет повторить эксперимент, проведенный выше, можно скачать здесь.
      6. Всепропускающие фильтры. Хорошо описанный теоретический материал с примерами и задачами по данной теме можно найти в источнике [15] в дополнительных материалах ниже. Анализировать нужно стр. 193-194, 209-212. Дополнительно рекомендуется обратиться к источнику [16] (стр. 89-91).
      7. Минимально-фазовые системы. Хорошо описанный теоретический материал с примерами и задачами по данной теме можно найти в источнике [15] в дополнительных материалах ниже. Анализировать нужно стр. 194-195, 212-216. Дополнительно рекомендуется обратиться к источнику [16] (стр. 91-93).
      8. Системы с обратной связью. Хорошо описанный теоретический материал с примерами и задачами по данной теме можно найти в источнике [15] в дополнительных материалах ниже. Анализировать нужно стр. 195-196, 216-217. Дополнительно рекомендуется обратиться к источнику [16] (стр. 94-95). Долго думал над тем, какой анонс написать к этой лекции, которая мне очень близка по определенным причинам. Хотел рассказать про "роботов", которые собираю сам (один из примеров показан на рисунке ниже). Но мои достижения здесь невелики. Или рассказать про то, как можно управлять этими роботами. Но это заняло бы вечность, потому что теория управления динамическими системами огромна!
        Я решил поступить проще и привел для вас несколько замечательных примеров, которые вдохновляют меня в моих начинаниях, маленьких шажках, возможно, к чему-то большому! Первое видео, которое я вам рекомендую посмотреть находится здесь, второе - здесь, третье - здесь, а четвертое - здесь. И это еще не все. Удачного просмотра! Замечание. Коды, которые запускались на лекции при исследовании алгоритмов контроля скорости вращения двигателя, а также контроля угла, можно скачать здесь и здесь, соответственно. Детали для сборки мобильного робота, аналогичного представленному на фотографии выше, были приобретены на сайте amperka.ru. Для реализации управления с обратной связью использовались следующие колесные кодеры.
      9. Оживляем цифровую обработку сигналов! Этот материал на лекции выноситься не будет. Да и, наверное, рассказывать "online" про то, что описано ниже, было бы глуповато. Ведь этот курс не является кружком "Умелый руки" :) Некоторое время тому назад я решил задуматься над задачкой, которую, наверное, нужно было бы решать классе в седьмом. Но на тот момент времени у меня не было ни знаний, ни денег, ни подходящей элементной базы и, возможно, желания заняться сборкой простенького мобильного робота. Хотя, я с детства мечтал о машинке на пульте управления с привинченной камерой для наблюдения за окружающим пространством. И вот много лет спустя эта мечта сбылась. В настоящей теме я оставлю несколько ссылок и замечаний о том, с чего может начинаться элементарная робототехника и цифровая обработка сигналов. И так, цель состояла в том, чтобы собрать малогабаритного робота, который бы управлялся с использованием оператора по беспроводному каналу связи при использовании собранной своими руками управляющей платы. Для достижения указанной цели решались следующие задачи :) Знакомая фраза, не правда ли? Во-первых, поиск возможных решений (примеры роботов, принципиальных схем и т.п.). Прототипом для создания платформы послужил робот Pololu 3 pi, а для создания управляющей платы - всем известная плата Arduino.  Огромное количество видеороликов про Pololu 3 pi можно найти здесь . Правда, то, что получилось у меня, едва ли на него похоже :) Принципиальные схемы для сборки простейших управляющих плат оказались до боли однотипными. Использовал это (для сборки управляющей части) и это (для сборки схемы драйвера моторов) решения, как самые простые. Управляющая часть - это "мозг" робота, схема драйвера моторов - это промежуточное звено, которое позволяет связать электродвигатели и управляющую схему. Про сборку и прошивку управляющей части можно посмотреть следующие видеоролики тут и тут. Во-вторых, нужно было "раздобыть" элементную базу. "Шопинг" по радиодеталям не заставил себя долго ждать :) В г. Ярославле все необходимые компоненты можно было купить здесь. Я не буду описывать процесс сборки и необходимую элементную базу. Про это вы можете почитать в ссылках, означенных выше. Кратко скажу, что на одной макетной плате я разместил управляющую часть, построенную на базе микроконтроллера  ATMega 328P-PU, и схему драйвера моторов, построенную на базе микросхемы L298N MULTIWATT15. Дополнительно для работы с итоговой платой я купил USB-UART адаптер, который был приобретен в тех же радиодеталях. Последний позволяет взаимодействовать с платой через обычный ПК ("заливать" программный код и т.п.). В-третьих, собрать все вместе. Процесс пайки был долгим, но забавным :) Подробности я упущу. В-четвертых, нужно было разместить управляющую плату на чем-то. Основанием послужил не очень прочный пластик, который был найден в лаборатории и растрескался после первого заезда робота :) Колеса, электродвигатели, повышающий DC-DC преобразователь (для поднятия уровня входного напряжения) были заказаны на сайте amperka.ru. Четыре AAA аккумулятора я купил в ближайшем магазине цифровой техники, а боксы для них снова в "родных" радиодеталях. В-пятых, нужно было собрать все вместе. Здесь опять монтаж, как при создании кинофильма :) Итоговый результат моей работы представлен на рисунке ниже. 
        Как видно из фотографий, поверх управляющей платы расположено большое количество соединительных проводков, которые позволяют связать несколько частей платы воедино (схему питания, модуль беспроводной связи Bluethooth, заказанный на сайте amperka.ru, ультразвуковой дальномер, купленный в радиодеталях, управляющую часть и драйвер моторов). Рядом с каждой из ключевых частей платы напаяны контактные колодки, которые позволяют выполнить необходимые соединения элементов  по соответствующим принципиальным схемам. Дополнительной идеей, которую я преследовал, являлось создание маленького конструктора для школьников, который бы наглядно показывал основные составляющие управляющей платы и позволял их связать воедино самостоятельно. Напоминаю, что "мозгом" описанного робота является микроконтроллер, то есть микросхема, сочетающая в себе функции процессора, ОЗУ и т.п., которая позволяет выполнять цифровую обработку сигналов, поступающих на робота либо с ПК, либо с периферии, например, ультразвукового дальномера. Дополнительно отмечу, что серьезный подход к робототехнике требует не просто создания мобильного робота по чертежам и схемам. Серьезный подход требует создания алгоритмов, которые позволят "наделить" робота искусственным интеллектом. Про то как это делается, можно узнать, например, здесьздесь или здесь. Простенький код, который можно залить на плату через Arduino IDE, позволяющий выполнить удаленное управление роботом через Bluetooth, можно скачать здесь. Как-то так. Не бойтесь реализовать свою мечту и вы обязательно победите! Спасибо за внимание и удачи!
      10. Обработка сигналов в режиме реального времени на ПК. Материал настоящей лекции был рассмотрен в рамках лекции № 5 online курса Prandony, M. Vetterly "Digital Signal Processing" на www.coursera.org.
      Задания для самостоятельного выполнения
      1. Тест № 1 (ссылка). Выполненное задание должно быть сдано не позднее 16.09.2015.
      2. Тест № 2 (ссылка). Выполненное задание должно быть сдано не позднее 07.10.2015.
      3. Тест № 3 (ссылка). Выполненное задание должно быть сдано не позднее 14.10.2015Замечание. В задаче № 20 Matlab может выдать такую фразу: Error using imread (line 349). File "cameraman.tif" does not exist. Пугаться не нужно. Фраза означает, что изображение cameraman.tif не существует. Видимо, это зависит от версии пакета. Если такая проблема возникает, то скачайте это изображение здесь. Поместите его в текущую папку Matlab и вызовите в файле image_filtering.m такой командой: I = double(imread('Cameraman256.png'))/255; Удачи!
      4. Задачи для самостоятельного решения по теме "Дискретное преобразование Фурье. Быстрое преобразование Фурье" (ссылка). Задачи должны быть сданы на проверку в письменном виде не позднее 28.10.2015. При решении задач рекомендуется использовать источник [15] в дополнительных материалах ниже, а также вторую главу задачника Хрящев В.В., Приоров А.Л., Волохов В.А. "Основы теории цепей. Сборник задач" (ссылка). Последний источник можно найти в печатном виде в библиотеке ЯрГУ.
      5. Тест № 4 (ссылка). Выполненное задание должно быть сдано не позднее 04.11.2015.
      6. Тест № 5 (ссылка). Выполненное задание должно быть сдано не позднее 25.11.2015. При ответе на вопросы теста рекомендуется воспользоваться источниками [2, 15, 16] в дополнительных материалах ниже. Про операцию свертки в частотной и во временной области читаем, например, на стр. 64 источника [15]. Про каскадное и параллельное соединение ЛИС-систем читаем, например, на стр. 294-296 источника [15]. Замечание. При решении разностного уравнения из задачи № 8 во второй части задачи постарайтесь разбить решение на три случая: 1) решение при n < 0. Тут ответ очевиден, y(n) = 0; 2) решение при n = 0. Здесь просто подставляем значение n = 0 в исходное разностное уравнение, учитывая нулевые начальные условия, и считаем y(0); 3) решение при n > 0. Это самый сложный случай! Здесь мы сталкиваемся с неоднородным разностным уравнением вида: y(n) – y(n–1) + 0.25*y(n–2) = (0.5^n)*0.5*u(n–1), где u(n– это единичный скачок, про который можно забыть, помня о том, что n > 0. В правой части стоит неоднородность, которая была получена прямой подстановкой выражения для x(n) в исходное разностное уравнение. Для решения неоднородного уравнения используем источник [2] в дополнительных материалах ниже! Решаем через общее решение однородного и частное решение неоднородного уравнений. При поиске общее решение однородного уравнения учитываем то, что корень характеристического уравнения имеет кратность 2 (см. стр. 4 источника [2], пункт (б), внизу). Полученное решение будет содержать две константы, которые ищутся в самом конце задачи с учетом начальных условий для n > 0. При поиске частного решения неоднородного уравнения используем теорему 1.4 (см. стр. 5 источника [2], внизу). Объединяем общее решение однородного уравнения и частное решение неоднородного уравнения в итоговое решение исходного разностного уравнения путем суммирования. Дальше ищем константы, используя начальные условия. Здесь важное замечание! По условию задачи начальные условия нулевые, то есть y(–1) = y(–2) = 0. Но эти начальные условия использовать нельзя, так как решение разностного уравнения записано для n > 0. Пересчитываем начальные условия через исходного разностное уравнение, которое было задано в самом начале задачи. Получаем пересчитанные начальные условия y(1) = 5/4 и y(2) = 9/8. Для этих начальных условий составляем систему линейных уравнений на константы. Решаем ее любым известным методом, например, прямой подстановкой, Гаусса, Крамера, графически, а для "лентяев" в Matlab (Octave, FreeMat). Пример похожей задачи разбирается на стр. 8-10 источника [2]. Как-то так. Удачи! Решение разностного уравнения в задаче № 8 можно скачать здесь.
      7. Тест № 6 (ссылка). Выполненное задание должно быть сдано не позднее 16.11.2015.
      Темы лабораторных работ
      1. Синтез цифровых КИХ-фильтров методом окон (описание .pdfприложение .pdf, m-файлы .rar).
      2. Синтез цифровых БИХ-фильтров методом билинейного z-преобразования (описание .pdfприложение .pdf, m-файлы .rar). Замечание. При реализации полосового или режекторного фильтра в качестве функции zmapping используйте следующую.
      3. Синтез оптимальных по Чебышёву КИХ-фильтров (описание .pdfприложение .pdf, m-файлы .rarмодель simulink .rar).
      4. Многоскоростная цифровая обработка сигналов (описание .pdf, m-файлы .rar).
      5. Обработка сигналов на основе вейвлет-преобразования (описание .pdf, приложение .pdfm-файлы .rar).
      6. Применение адаптивной фильтрации в обработке цифровых сигналов (описание .pdfm-файлы .rar).
      7. Список опечаток в книге Приоров А.Л., Волохов В.А., Лаврентьев А.М. Основы цифровой обработки сигналов. Лабораторный практикум.  Ярославль: ВУНЦ ВВС «ВВА им. профессора Н.Е. Жуковского и Ю.А. Гагарина» (филиал г. Ярославль), 2012 (список .pdf). Замечание: пожалуйста, в случае нахождения опечаток или неточностей в вышеозначенной книге, сообщите о них мне в комментах здесь или на электронную почту. Заранее спасибо!
      Дополнительные материалы
      1. Список рекомендуемой литературы (список .pdf).
      2. Волохов В.А. Лекция по разностным уравнениям. ЯрГУ, 2010 (описание .djvu).
      3. Хрящев В.В., Приоров А.Л., Волохов В.А. Основы теории цепей. Сборник задач. Глава 4. ЯрГУ, 2008 (описание .pdf).
      4. Волохов В.А. Синтез цифровых КИХ-фильтров методом окон. Сборник задач. ЯрГУ, 2010 (описание .pdf).
      5. Волохов В.А. Синтез цифровых БИХ-фильтров методом билинейного z-преобразования. Сборник задач. ЯрГУ, 2011 (описание .pdf).
      6. Лукин А.С., Крылов А.С. "Интегральные преобразования в обработке изображений, введение в цифровую обработку мультимедийной информации" 2011 (ссылка).
      7. Freeman D. Signal and Systems (6.003), 2010. Massachusetts Institute of Technology (ссылка).
      8. Lustig M. Digital Signal Processing (EE123), 2011. University of California, Berkeley (ссылка).
      9. Lustig M. Digital Signal Processing (EE123), 2012. University of California, Berkeley (ссылка).
      10. Kundur D. Real-Time Digital Signal Processing (ECEN448), 2011. Texas A&M University (ссылка).
      11. Gilbert S. Wavelets, Filter Banks and Application (18.327 / 1.130), 2003. Massachusetts Institute of Technology (ссылка).
      12. Gilbert S. Wavelets, Filter Banks and Application (18.327 / 1.130), 2004. Massachusetts Institute of Technology (ссылка). Примечание: здесь можно найти примеры Matlab-кодов по теме связанной с вейвлетами и вейвлет-преобразованием.
      13. Oppenheim A.V. Signals and Systems (6.007), 2011. Massachusetts Institute of Technology (ссылка).  Примечание: здесь можно найти видеолекции одного из ведущих специалистов в области "Цифровой обработки сигналов" - Алана Оппенгейма.
      14. Грибунин В.Г. Глоссарий по цифровой обработке сигналов (ссылка).
      15. Hayes M.H. Schaum’s Ouline of Theory and Problems of Digital Signal Processing. McGraw-Hill, 1999 (ссылка).
      16. Хрящев В.В., Приоров А.Л., Волохов В.А. "Основы теории цепей. Сборник задач".  Ярославль: ЯрГУ, 2008 (ссылка).
      Замечание: Вопросы, затрагивающие решение задач, описание лабораторного практикума, трудности возникающие при написании программной части лабораторных работ, разбор листинга языка пакета Matlab и т.п., могут быть заданы в комментариях настоящего раздела или присланы по электронной почте.

      Руководитель курса: доц. каф. ДЭС Волохов В.А.

      понедельник, 7 сентября 2015 г.

      Начинает свою работу страница курса "Инженерная и компьютерная графика" направлений "Инфокоммуникационные технологии и системы связи" и "Радиотехника".

      В настоящем разделе размещена единая информация, затрагивающая лабораторный практикум (выполняемый в пакете КОМПАС-3D) и лекционный материал.

      Место проведения: Физический факультет (2-ой учебный корпус), к. 114 (лабораторный практикум), к. 217 (лекционные и практические занятия).

      Время
      1. Направление "Инфокоммуникационные технологии и системы связи" (группа ИТС-11БО) лабораторный практикум раз в две недели по вторникам, с 8.30 до 10.05 (числитель/знаменатель разделение на подгруппы), практические занятия раз в две недели по пятницам с 12.00 до 13.35 (числитель), лекции раз в две недели по пятницам с  10.15 до 11.50  (числитель).
      2. Направление "Радиотехника" (группа РТ-11БО) лабораторный практикум раз в две недели по вторникам, с  10.15 до 11.50  (числитель/знаменатель разделение на подгруппы), практические занятия раз в две недели по пятницам с 12.00 до 13.35 (знаменатель), лекции раз в две недели по пятницам с 10.15 до 11.50  (числитель).
      Темы лекционных занятий
      1. Введение. Стандарты ЕСКД по графическому оформлению конструкторской документации (материалы .rar).
      2. Метод проекций как основа построения чертежа. Примечание: материал рассматривается в рамках источника [6] в дополнительных материалах ниже, стр. 5-11. Для углубленного изучения инструментов начертательной геометрии рекомендуется обратиться к видеолекциям из источника [12].
      3. Ортогональные проекции элементарных геометрических образов. Примечание: материал рассматривается в рамках источника [6] в дополнительных материалах ниже, стр. 11-55. Более краткое изложение данной темы может быть найдено в источнике [11] на стр. 19-31.
      4. Аксонометрические проекции. Примечание: материал рассматривается в рамках источника [6] в дополнительных материалах ниже, стр. 143-154. Окружность в аксонометрии (ссылка). Про пересечение поверхностей в аксонометрии читаем здесь.
      5. Изображения - виды, разрезы, сечения. Примечание: материал рассматривается в рамках источника [6] в дополнительных материалах ниже, стр. 155-170.
      6. Схемы используемые в РЭА.  Примечание: материал рассматривается в рамках источника [5] в дополнительных материалах ниже, стр. 349-355, 359-364. Распечатки к лекции частично были позаимствованы из следующей методички (ссылка).
      7. Виды и комплектность изделий и конструкторских документов. Примечание: материал рассматривается в рамках источника [7] в дополнительных материалах ниже (ГОСТ 2.101-68 - Виды изделий; ГОСТ 2.102-68 - Виды и комплектность конструкторских документов).
      8. Стадии разработки. Примечание: материал рассматривается в рамках источника [7] в дополнительных материалах ниже (ГОСТ 2.103-68 - Стадии разработки).
      9. Основы компьютерной графики (презентация .pptxпрезентация .pdf).
      10. Применение компьютерных технологий для выполнения и оформления графической конструкторской документации. Примечание: материал рассматривается в рамках задач, решаемых в лабораторном практикуме курса "Инженерная и компьютерная графика".
      Задания для самостоятельного выполнения
      1. Тест № 1 (ссылка). Выполненное задание должно быть сдано не позднее 02.10.2015.
      2. Задачи № 1-9 для самостоятельного решения из источника [4] в дополнительных материалах (ссылка). Сроки решения произвольные.
      3. Тест № 2 (ссылка). Выполненное задание должно быть сдано не позднее 16.10.2015.
      4. Задачи № 10-22 для самостоятельного решения из источника [4] в дополнительных материалах (ссылка). Сроки решения произвольные.
      5. Тест № 3. (ссылка). Выполненное задание должно быть сдано не позднее 04.12.2015.
      6. Задачи № 23-33 для самостоятельного решения из источника [4] в дополнительных материалах (ссылка). Сроки решения произвольные.
      7. Задачи № 69-75 для самостоятельного решения из источника [5] в дополнительных материалах (ссылка). Сроки решения произвольные.
      Темы лабораторных работ
      1. Изучение основных приемов работы в среде КОМПАС-3D (описание и доп. материалы .rar). Документацию по среде КОМПАС-3D можно скачать (здесь). Разбор материала первого лабораторного занятия, а также то, как построить чертеж детали Шаблон, можно найти (здесь). Как правильно наносить размеры учимся здесь!
      2. Построение и редактирование геометрических объектов (описание .rar).
      3. Построение третьей проекции фигуры по двум известным (описание и доп. материалы .rar). Видеоролик - создание чертежа ортогональных проекций детали в КОМПАС-3D (ссылка).
      4. Аксонометрические проекции (описание и доп. материалы .rar). Видеоролик - построение аксонометрических проекций в КОМПАС-3D (ссылка).
      5. Создание и редактирование трехмерных моделей деталей (описание и доп. материалы .rar). Видеоролик - создание трехмерной детали в КОМПАС-3D (ссылка).
      6. Создание и редактирование трехмерных моделей деталей. Сечения. Разрезы сложные (описание и доп. материалы .rar). Примечание: материал настоящей лабораторной работы рассматривается в рамках источника [9] в дополнительных материалах ниже, стр. 25-53. Видеоролик - создание трехмерной детали вала в КОМПАС-3D (ссылка 1ссылка 2). Азбука КОМПАС-3D, ЗАО АСКОН, 2010 - Урок № 2. Создание рабочего чертежа, стр. 74-91 (ссылка).
      7. Создание и редактирование сборки (описание и доп. материалы .rar)Видеоролик - создание сборки в КОМПАС-3D (ссылка 1ссылка 2ссылка 3).
      Дополнительные материалы
      1. Список рекомендуемой литературы (список .pdf).
      2. Бесплатный PDF-конвертер - doPDF (dopdf-7 .exe). Официальный сайт (ссылка).
      3. Миронов Б.Г., Панфилова Е.С. Сборник упражнений для чтения чертежей по инженерной графике: учеб. пособие для студ. учреждений сред. проф. образования. - 3-е изд., стер. - М.: Издательский центр "Академия", 2010 (ссылка).
      4. Чекмарев А.А. Задачи и задания по инженерной графике: учеб. пособие для студ. техн. спец. вузов - 2-е изд., стер. - М.: Издательский центр "Академия", 2007, стр. 2-26 (ссылка).
      5. Чекмарев А.А. Задачи и задания по инженерной графике: учеб. пособие для студ. техн. спец. вузов - 3-е изд., стер. - М.: Издательский центр "Академия", 2008. Аксонометрические проекции, стр. 34-36 (ссылка).
      6. Чекмарев А.А. Начертательная геометрия и черчение: учеб. для студ. высш. учеб. заведений. – 2-е изд., перераб. и доп. – М. Гуманит. изд. центр ВЛАДОС, 2002 (ссылка).
      7. ГОСТ «Единая система конструкторской документации». – М.: Издательство стандартов, 2001 (ссылка).
      8. Вольхин К.А. Учебные пособия: начертательная геометрия, конструкторские документы и правила их оформления, инженерная и прикладная компьютерная графика, геометрические основы построения чертежа (ссылка).
      9. Система автоматизированного проектирования bCAD-студент. ЗАО ПроПро Группа, 2004 (ссылка).
      10. Ляшков А.А., Куликов Л.К., Панчук К.Л. Сборник заданий по начертательной геометрии и инженерной графике. – Омск: ОмГТУ, 2005 (ссылка).
      11. Сараева Г.П. Графика: учеб. пос. (часть 1). – Томск: Центр учебно-методической литературы ТГПУ, 2004 (ссылка).
      12. Павлов А.В. Начертательная геометрия (курс видеолекции). Национальный технический университет Украины "Киевский политехнический институт" (ссылка).
      13. Бесплатная версия пакета КОМПАС-3D LT (V12) и КОМПАС-3D (V15) (ссылка).
      Замечание: Вопросы, затрагивающие описание лабораторного практикума, трудности возникающие при рассмотрении теоретических вопросов и решении задач по данному курсу, могут быть заданы в комментариях настоящего раздела или присланы по электронной почте.

      Руководитель курса: доц. каф. ДЭС Волохов В.А.