Pull to refresh
  • by relevance
  • by date
  • by rating

4 бесплатных онлайн тренинга по MATLAB: Электропривод, ЦОС, нейросети и моделирование временных рядов

ЦИТМ Экспонента corporate blog Programming *System Analysis and Design *Algorithms *Matlab *
Добрый день,

Предистория. В условиях самоизоляции мы решили попробовать провести онлайн тренинг по анализу данных и машинному обучению в MATLAB, состоящий из 3х последовательных стримов с периодичностью раз в неделю. Более 1200 регистраций и много положительных отзывов. Однако, взаимодействие преподаватель-слушатель стало затруднительным в привычном виде, потому эту часть мы вывели в оффлайн.

Подумав малость, мы решили провести еще 4 таких обучения по другим популярным тематикам:
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 2.2K
Comments 3

Реализация нейросетей на ПЛИС

ЦИТМ Экспонента corporate blog FPGA *Matlab *
Добрый день!

Мы запланировали вебинар, посвящённый реализации глубоких нейросетей на ПЛИС и СнК. Над задачей реализации глубоких сетей на встраиваемых системах бьются многие инженеры: объёмы вычислений велики, а ресурсы вычислителей ограничены. Мы расскажем о рабочем процессе развёртывания алгоритмов глубокого обучения, компьютерного зрения и обработки сигналов на ПЛИС из среды MATLAB, и продемонстрируем результат на платформе Xilinx Zynq UltraScale+.

В рамках вебинара мы также поговорим об общих вопросах создания, импорта и анализа нейросетей в MATLAB, автоматической генерации HDL-кода и аппаратных оптимизациях.

Ждём вас во вторник, 10 ноября 2020 г.

Бесплатная регистрация по ссылке
Total votes 11: ↑9 and ↓2 +7
Views 4.9K
Comments 13

Приглашаем на демонстрацию инструментов ForwardSim

ЦИТМ Экспонента corporate blog System Analysis and Design *Matlab *
Всем привет!

Мы будем проводить вебинар, посвященный организации моделирования крупных систем. В качестве примера большой системы можно привести комплексные системы управления (КСУ), боевые информационно-управляющие системы (БИУС), да и любые другие сложные математические модели, описывающие динамику крупной системы. Очевидно, что симуляции таких моделей занимают существенное вычислительное время. Ввиду специфики системного моделирования (модель является одним большим ОДУ) классические способы распределенных вычислений не являются применимыми. Поэтому была придумана технология распределенных симуляций High Level Architecture (IEEE Std 1516), про которую мы и хотим рассказать.
Узнать больше
Total votes 3: ↑3 and ↓0 +3
Views 327
Comments 0

Курс «Анализ данных и машинное обучение в MATLAB»

ЦИТМ Экспонента corporate blog Data Mining *Data visualization Machine learning *Data Engineering *
Всем привет!

Стартовал короткий бесплатный курс по анализу данных и машинному обучению в MATLAB.

В ходе курса покажем:

  • Импорт данных в MATLAB
  • Процесс подготовки данных для машинного обучения
  • Метод быстрого обучения моделей и выбора лучшего алгоритма
  • Способ создания независимого от MATLAB приложения
Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Views 1.1K
Comments 0

Модельно-ориентированное проектирование, или взятие Cortex M3 штурмом с помощью Matlab/Simulink

Programming microcontrollers *Matlab *


Оправдание


Сразу же оговорюсь, что изучение микроконтроллеров я начал с КР580 в составе УМК с такими устрашающими характеристиками:
Тип применяемого МП — КР580ВМ80А.
Объем ОЗУ — 3 Кбайт.
Объем ПЗУ — 2 КБайт.
Возможность прерывания — 1 вектор.
Программное обеспечение — системная программа «Монитор».
Уровни входных и выходных сигналов совместимы с уровнями ТТЛ.

Масса изделия не более 9,6 кг!
Читать дальше →
Total votes 68: ↑63 and ↓5 +58
Views 36K
Comments 19

Модельно-ориентированное проектирование, или продолжаем приручение Cortex M3 с помощью Matlab/Simulink

Programming microcontrollers *Matlab *

Изображение взято, и слегка отредактировано, из блога Антона Лопатина. Ну очень вдохновляет.

Добрый день, уважаемое сообщество!

В прошлом топике я постарался сделать вводной экскурс в модельно-ориентированное проектирование встраиваемых систем с использованием ARM микропроцессоров Cortex M3 и MATLAB/Simulink. Продолжаем погружение, усложняем задачу. Жаль до концепта на заглавной иллюстрации еще далеко, но процесс разработки одного из важнейших его узлов, а именно системы самонаведения турели, я попытаюсь показать.

Ниже довольно много изображений, но без них скучновато и не наглядно.
Кому интересно - прошу под кат!
Total votes 33: ↑32 and ↓1 +31
Views 28K
Comments 14

Пример использования WxPython для создания нодового интерфейса. Часть 1: Учимся рисовать

Python *Programming *
Tutorial
В небольшом цикле статей будет описано использование WxPython для решения вполне конкретной задачи по разработке пользовательского интерфейса, да еще и то, как сделать это решение универсальным. Туториал этот расчитан на тех, кто уже начал изучать эту библиотеку и хочет увидеть что-то более сложное и целостное, чем простейшие примеры (хотя начнется все с относительно простых вещей).

А начиналось все так: понадобилось мне для одного проекта сделать UI, где надо последовательность обработки сообщений редактировать. Что-то наподобии Simulink'а. Соответственно, полез искать готовые либы/фреймворки. Поначалу подумал, что задачка популярная и кто-нибудь уже сделал это велосипед, поискал, поискал и… не нашел. Точнее нашел много антикварных велосипедов, но кто же будет пользоваться чужим старым велосипедом, если можно сделать свой новый. Но раз уж делать новый велосипед, почему бы не сделать его универсальным, мало ли, где еще пригодится.

Так что попробую в нескольких статья описать процесс разработки с нуля до работающего примера. Ну и чтобы было интересно, а ферймворк был универсален, первая задача для него будет не подобие Simulink'а, а софтина для рисования блок-схем а-ля Visio, но со своим блек-джеком и остальными участниками:)

Часть 1: Учимся рисовать
Часть 2: Обработка событий мыши
Часть 3: Продолжаем добавлять фичи + обработка клавиатуры
Часть 4: Реализуем Drag&Drop
Часть 5: Соединяем ноды

Кому интересно, добро пожаловать под кат…
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 17K
Comments 3

Пример использования WxPython для создания нодового интерфейса. Часть 2: Обработка событий мыши

Python *Programming *
Tutorial
В небольшом цикле статей будет описано использование WxPython для решения вполне конкретной задачи по разработке пользовательского интерфейса, да еще и то, как сделать это решение универсальным. Туториал этот расчитан на тех, кто уже начал изучать эту библиотеку и хочет увидеть что-то более сложное и целостное, чем простейшие примеры (хотя начнется все с относительно простых вещей).

В прошлой части я рассказал о задаче и начал описывать процесс реализации, а точнее рендеринг объектов. Теперь же пришла пора реализовать взаимодействие с пользователем.

Часть 1: Учимся рисовать
Часть 2: Обработка событий мыши
Часть 3: Продолжаем добавлять фичи + обработка клавиатуры
Часть 4: Реализуем Drag&Drop
Часть 5: Соединяем ноды

Кому интересно, добро пожаловать под кат…
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 7K
Comments 0

Настройка многоконтурной системы управления фиксированной структуры

Programming *Mathematics *Matlab *
Этот небольшой ликбез я опубликовал довольно давно в своем ЖЖ, но подумал, что здесь он найдет больше заинтересованных читателей.

Decentralized and Fixed-Structure H-infinity Control in MATLAB — так называется статья двух авторов (Pascal Gahinet и Pierre Apkarian), о которой я хочу рассказать здесь коротко.
Раз я решил писать для относительно широкой аудитории, предположим, что мы не знаем, что такое система управления. Тем, кому интересна сама тема поста — прокрутите, пожалуйста, текст до второй картинки.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 3.3K
Comments 5

Модельно-ориентированное проектирование на коленке, идентификация систем в MATLAB/Simulink

Developing for Arduino *


Привет, Хабр!

Сегодня я хочу показать простой пример идентификации системы, основываясь на наблюдениях и экспериментальных данных. Это первая и крайне важная ступень в разработке системы управления устройством, которое описать аналитически либо невозможно, либо слишком сложно, либо неохота. Для начала рассмотрим метод «черного ящика с котом», «серый» и «белый» методы оставим на следующий раз.
Интересующихся прошу под кат.
Просто о сложном. Внимание, много картинок!
Total votes 31: ↑31 and ↓0 +31
Views 30K
Comments 33

Примеры использования машины реального времени (MATLAB, Simulink, Программно-аппаратный симулятор)

Self Promo
Добрый день, уважаемая Аудитория!
В своей практике я часто сталкиваюсь с ситуацией, когда при упоминании мною в разговоре некой «машины реального времени» в глазах собеседника проскакивает миллион ассоциаций, к сожалению, не имеющих отношения к теме разговора.
В первой статье я хочу немного пролить свет на данную тему со столь необычно звучащим для русскоязычной инженерной аудитории названием.



Всех интересующихся запуском алгоритмов управления и физических моделей в виде моделей Simulink в режиме жесткого реального времени с минимальными трудозатратами — прошу под кат!
Внимание, много изображений!
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 16K
Comments 8

Обработка и oтображение сигналов на частоте преобразования АЦП

Developing for Arduino *
Sandbox
Цель работы: Рассмотрение особенностей ввода и отображения широкополосных сигналов.
Задача работы: Построение канала ввода, обработки и отображения сигналов на максимальной частоте преобразования АЦП контроллера Arduino.
Приборы и принадлежности: Контроллер Arduino UNO, пакет Simulink МатЛАБ (R2012).

ВВЕДЕНИЕ


Разработка программных средств для наблюдения, анализа и обработки сигналов на уровне контроллеров требует значительных временных затрат. Подключение контроллера к специализированной среде высокого уровня (Рис. 1) позволяет значительно сократить время проектирования алгоритма для контроллера с учетом ограничений его ресурсов.

Хорошим примером мощной специализированной среды для работы с сигналами является МатЛАБ. Для анализа сигналов зачастую требуется наблюдать его спектр в максимально широкой полосе частот. Для этого контроллер должен принимать сигналы на максимальной частоте преобразования АЦП.

Построение рабочего канала «Arduino UNO – МатЛАБ» для наблюдения и обработки сигналов в реальном времени на предельной частоте преобразования АЦП подробно излагается в этой работе. Особенностью этого канала является то, что такты реального времени задаются не МатЛАБ, а контроллером Arduino. Такое построение не требует компиляции Simulink модели с библиотекой реального времени (rtwin.tlc), что позволяет использовать в модели практически любые блоки библиотеки Simulink.

image
Рис. 1. Сравнение средств разработки алгоритмов. Для проектирование алгоритмов на уровне специализированной среды необходим канал передачи данных между контроллером и средой проектирования.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views 28K
Comments 28

Цифровая фильтрация на ПЛИС – Часть 2

Open source *FPGA *Programming microcontrollers *
Tutorial


Всем привет!

Это вторая публикация на тему «Цифровая фильтрация на ПЛИС». Вторая часть будет посвящена практической реализации КИХ фильтров на FPGA. В процессе подготовки материала я понял, что она раздуется до небывалых размеров, но делить ее на несколько частей не хочется. Поэтому все тонкости теории и синтеза FIR фильтров будут в одной статье, разбитой на взаимосвязанные разделы. Начну обзор с теоретической части, в частности — расскажу об особенностях и методах расчета коэффициентов фильтров. Подробно рассмотрю создание КИХ фильтров в различных средах — MATLAB, CoreGENERATOR, Vivado HLS. Всех заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 71K
Comments 0

Пример расчета робастного контроллера (H-infinity control)

Mathematics *
Sandbox
Что такое робастный контроллер и зачем нам усложнять себе жизнь? Чем нас не устраивает стандартный, всеми узнаваемый, ПИД-регулятор?

Ответ кроется в самом названии, с англ. «robustness» — The quality of being strong and not easy to break (Свойство быть сильным и сложно сломать). В случае с контролером это означает, что он должен быть «жестким», неподатливым к изменениям объекта управления. Например: в мат. модели DC мотора есть 3 основных параметра: сопротивление и индуктивность обмотки, и постоянные Кт Ке, которые равны между собой. Для расчета классического ПИД регулятора, смотрят в даташит, берут те 3 параметра и рассчитывают коэффициенты ПИД, вроде все просто, что еще нужно. Но мотор — это реальная система, в которой эти 3 коэффициента не постоянные, например в следствии высокочастотной динамики, которую сложно описать или потребуется высокий порядок системы. Например: Rдаташит=1 Ом, а на самом деле R находиться в интервале [0.9,1.1] Ом. Так во показатели качества в случае с ПИД регулятором могут выходить за заданные, а робастный контроллер учитывает неопределенности и способен удержать показатели качества замкнутой системы в нужном интервале.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 8.3K
Comments 12

Конечные автоматы в среде динамического моделирования SimInTech. Часть 3. Переходим к коду Си

Programming *System Analysis and Design *C *Industrial Programming *SCADA *
Tutorial
В первой и второй части была рассмотрен пример создания системы управления на основе логики «конечных автоматов» и создана модель регулятора нагревателя.

В этой части будет показано как из SimInTech сгенерировать код Си, реализующий программу управления на основе логики «конечных автоматов», а потом отдалить в MS Visual Studio 2015 совместно с моделью объекта в SimInTech.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 7.7K
Comments 8

Средства программирования PIC-контроллеров

Compilers *Debugging *Programming microcontrollers *

Введение


PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую компактную систему с низким энергопотреблением, не предъявляющую высоких требований по ее управлению. Эти контроллеры позволяют заменить аппаратную логику гибкими программными средствами, которые взаимодействуют с внешними устройствами через хорошие порты.

Миниатюрные PIC контроллеры хороши для построения преобразователей интерфейсов последовательной передачи данных, для реализации функций «прием – обработка – передача данных» и несложных регуляторов систем автоматического управления.

Компания Microchip распространяет MPLAB — бесплатную интегрированную среду редактирования и отладки программ, которая записывает бинарные файлы в микроконтроллеры PIC через программаторы.

Взаимодействие MPLAB и Matlab/Simulink позволяет разрабатывать программы для PIC-контроллеров в среде Simulink — графического моделирования и анализа динамических систем. В этой работе рассматриваются средства программирования PIC контроллеров: MPLAB, Matlab/Simulink и программатор PIC-KIT3 в следующих разделах.

• Характеристики миниатюрного PIC контроллера PIC12F629
• Интегрированная среда разработки MPLAB IDE
• Подключение Matlab/Simulink к MPLAB
• Подключение программатора PIC-KIT3
Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Views 100K
Comments 6

ATmega16 + DS18B20 + LED + Matlab/Simulink = AR

AR and VR DIY
Задумал я как-то поиграться с датчиками DS18B20. Да не просто получить значения температуры (что умеет каждый), но и как-то ее визуализировать. Возникла простая идея. Ставим вебкамеру. Зажигаем светик на четном кадре, на не четном — тушим. Вычитаем картинку — остается только вспышка. По ней и ищем местоположение датчика, который физически привязан к светодиоду в пространстве. А дальше математическая обработка. Ну и все это в симулинке. Под катом описано как получить красивые картиночки. А для тех кто разбираться не желает — предлагаю посмотреть эксперименты в конце статьи.
Подробности
Total votes 41: ↑40 and ↓1 +39
Views 18K
Comments 29

Создание регулятора на базе нечеткой логики с многоканальной настройкой

System Analysis and Design *Algorithms *Mathematics *Matlab *
«Зато мы делаем ракеты!»

В предыдущей статье я проверил, можно ли автоматически настраивать нечеткий регулятор, «стандартными методами» оптимизации. Оказалось можно и результат автоматической настройки вполне удовлетворительный. По крайней мере для ракеты, модель которой была использована.

Для нестационарных объектов управления где параметры объекта изменяются в широких диапазонах, нечеткий регулятор может не обеспечивать достаточное качество управления во всех диапазонах работы. В этом случае необходимо использовать нечёткий регулятор с «многоканальной настройкой».

Проверим возможно ли настроить такой регулятор стандартными методами оптимизации.
Рассмотрим синтез нечеткого регулятора с многоканальной настройкой для стабилизации баллистической ракеты по углу тангажа. Как подсказали в комментариях ракета будет ФАУ-2. Используем пример из той же книге Гостева В.В. «Нечеткие регуляторы в системах автоматического регулирования».

Все термины использованные в данном тексте взяты из этой книги и могут не соответствовать строгой терминологии теории автоматического управления.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 6K
Comments 35

Объектно ориентированное програмирование в графических языках

System Analysis and Design *Desktop environments *ООP *Industrial Programming *SCADA *

Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный человеческий язык в целом отражает идеологию ООП, начиная с инкапсуляции представления о предмете в виде его имени и заканчивая полиморфизмом использования слова в переносном смысле, что в итоге развивает выражение представления через имя предмета до полноценного понятия – класса.»




Но с точки зрения всех, кто впервые сталкивался эти этим абстракциями, после классических процедурных языков понятнее не становилось, кажется наоборот все еще больше запутывалось.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Views 12K
Comments 30

ООП в графических языках программирования. ч.2 МОП и ООП

System Analysis and Design *Desktop environments *ООP *Mathematics *

В первой части я попытался показать, что черная кошка ООП в темной комнате графических языков существует, даже если это не кошка, а полудохлый кот живодера Шредингера, который то есть, то его нет. Был показан пример реализации методологии объектно-ориентированного программирования, когда программа – это не код на языке С++ или Java, а диаграмма Simulink, SimInTech, SimulationX или SCADE Esterel, — любая графическая нотация описания алгоритма.


В рекламных материалах Мatlab Simulink часто используют термин МОП — Модельно Ориентированное Проектирование (Model-based design). Во многих текстах они подчёркивают, что графическая схема алгоритма это модель, что, конечно, верно. Однако в первоначальном определении МОП, модель – это прежде всего модель объекта, к которому разрабатывают систему управления, включая управляющее программное обеспечение. Подробнее методолгия МОП описана здесь. Таким образом, разрабатывая систему управления по методологии МОП можно и нужно использовать методологию ООП для разработки управляющего ПО. И что бы окончательно закрыть вопрос с моделями, вот вам картинка с отличиями одного от другого. Если все понятно, то можно дальше не читать.



Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views 12K
Comments 8