Обновить
16K+

Matlab *

Математическое моделирование и одноимённый ЯП

18,23
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Защита от блэкаута: тестируем системы РЗА в REPEAT VISION

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

Релейная защита и автоматика (РЗА) является главным элементом безопасности любой энергосистемы. Сбои в работе питания, возникновение коротких замыканий, неселективная работа защит могут остановить не только работу предприятия, но и целых городов и даже стран, как было в истории с блэкаутом в Испании в 2025 году [1]. Поэтому, чтобы избежать таких случаев, от РЗА требуются максимального быстродействия, точности и надежности.

Модели REPEAT VISION позволяют подробно изучить структурные схемы и принципы действия защит, а также проводить эксперименты, моделирование аварийных случаев и подключение к терминалам защит. Ранее мы писали о моделировании электроприводов в REPEAT VISION [2]. Давайте разберем, как моделирование систем РЗА применяют для тестирования и предупреждения аварийных ситуаций на примере высокочастотной дифференциально-фазной защиты (ДФЗ) линий электропередач.

Читать далее

Новости

Нейронная сеть для поиска места утечки из трубопровода

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.6K

В данной статье будет рассматриваться задача многомерной интерполяции с помощью нейронной сети. Нейронная сеть построена с помощью среды математического моделирования Engee. Данная задача имеет серьезное практическое применение так как нарушение целостности трубопровода связано с большими экономическими последствиями или даже может привести к техногенной катастрофе (в случае если трубопровод промышленный). Основная проблема обнаружения места утечки что нельзя напрямую зафиксировать факт утечки и определить её можно только алгоритмически измеряя косвенные параметры (давление, скорость потока жидкости или газа в трубопроводе, температура). Для повышения точности измерений данные параметры измеряются на всём протяжении трубопровода. Наиболее простой и распространенный способ. Но у данного способа есть существенный недостаток, он позволяет определить только участок трубопровода и для более точного определения места утечки нужен другой (более точный) алгоритм поиска.

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

Читать далее

Я перенёс на Python библиотеку, которой физики пользуются двадцать лет. Перевод оказался самой лёгкой частью

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели12K

Есть код, который физики передают друг другу с 2002 года. Кристиан Мэтцлер из Бернского университета написал набор MATLAB‑функций для расчёта рассеяния Ми, физики, из‑за которой небо голубое, а молоко белое. В 2009-м Стивен Жак обернул его для тканевой оптики, и с тех пор эти полторы сотни строк разошлись по тысячам работ, от атмосферных исследований до лазерной медицины.

Читать далее

Всё о моделировании электроприводов в REPEAT VISION

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

В современном мире электропривод является крупнейшим потребителем электрической энергии, обеспечивая более 60% мирового энергопотребления. Причём это касается не только промышленности. Мы сталкиваемся с ним постоянно: от обычных приводов вентиляторов до сложных систем управления электромобилями. Поэтому при разработке и исследованиях электропривода моделирование является одной из важнейших составляющих в области электротехнических комплексов и систем.

REPEAT VISION – это среда для проектирования, математического моделирования и создания цифровых двойников. В прошлый раз мы уже писали о следующих моделях:

·        Трёхмассовая тепловая модель асинхронного тягового двигателя [1];

·        Система управления батареей [2];

·        Статический тиристорный компенсатор (СТК) [3];

·        Статический синхронный компенсатор (СТАТКОМ) на базе преобразователя напряжения [4].

В данной статье мы рассмотрим библиотеки для проектирования электрического привода, инструменты для анализа результатов моделирования и разберём конкретные примеры на REPEAT VISION.

Читать далее

Модель электропривода с питанием от инвертора

Время на прочтение3 мин
Охват и читатели7.1K

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

Читать далее

Автоматизация циклических испытаний с Engee

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели6.4K

Циклические испытания материалов – это задача, где важны не только механика установки, но и качество программного контура: нужно управлять нагружением, синхронно снимать данные с датчиков, сохранять результаты и видеть процесс в реальном времени.

В совместном проекте внедрения с Институтом физики твердого тела (ИФТТ) РАН мы проверяли, можно ли использовать Engee как основу для автоматизации установки циклических испытаний композитных материалов. Перед нами стояла прикладная задача: реализовать сбор данных с тензодатчика и датчика перемещения и управление сервоприводом.

Читать далее

Интеграция ML и инженерного моделирования: кейс прогнозирования износа газопроводов

Уровень сложностиСредний
Время на прочтение32 мин
Охват и читатели8.6K

Привет Хабр!

Современное нефтегазовое производство требует всё более совершенных инструментов для прогнозирования состояния оборудования и предотвращения аварийных ситуаций. Особенно это касается газопроводов-шлейфов — критически важных элементов инфраструктуры, обеспечивающих транспортировку газа от скважин до установок комплексной подготовки газа.

Проблема износа трубопроводов становится всё более актуальной. Эрозионное воздействие потока газа, содержащего воду с механическими примесями, может привести к серьёзным последствиям, вплоть до аварийных ситуаций. Традиционные методы диагностики и принятия решений уже не справляются с растущей сложностью задач.

В этой статье мы подробно разберём, как машинное обучение помогает решать проблему прогнозирования износа газопроводов.

Читать далее

Анализ САУ гребной дизель-электрической установки

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели10K

В данной статье рассмотрена модель корабельного привода который состоит из дизельной установки, генератора и электродвигателя вращающего винт, модель построена с помощью Engee

Читать далее

Итеративное декодирование LDPC/турбо, полярные коды — разбираем на C++ и сравниваем с MATLAB

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели8.8K

Когда моделируешь помехоустойчивые коды, декодер обычно остаётся чёрным ящиком: пишешь ldpcDecode(llr, cfg, 30), comm.TurboDecoder или dvbs2ldpc(1/2) — и получаешь красивый «водопад» BER, не заглядывая внутрь. А самое интересное в современных кодах именно там: не в том, как закодировать, а в том, как декодер из зашумлённого сигнала достаёт правильные биты.

Первая часть заканчивалась предложением: «если интересно разобрать итеративное декодирование LDPC/турбо в деталях или полярные коды с последовательным отменением — пишите в комментариях». Написали — так что эта статья и есть ответ на запрос из комментариев. Читать первую часть необязательно: там мы прошли эволюцию кодов в сотовой связи от GSM до 5G по BER‑кривым в MATLAB, а всё нужное я напомню по ходу. Здесь — вскрываем сами декодеры.

Эта часть открывает ящик. Разберём три декодера, на которых держится всё современное кодирование:

belief propagation — итеративный обмен сообщениями по графу, ядро LDPC и всего 5G eMBB;

BCJR + итеративный обмен мнениями — то, что сделало турбо‑коды возможными;

successive cancellation — последовательное отменение в полярных кодах.

Чтобы видеть каждую строчку, MATLAB‑тулбокс не годится — он прячет алгоритм. Поэтому весь разбор идёт по коду небольшой библиотеки, которую я написал специально для этого — fec‑cpp: header‑only C++17, без единой внешней зависимости, только STL. Её можно прочитать целиком за вечер, и каждый декодер в ней — полсотни строк, которые делают ровно то, что написано в учебнике. Рядом с каждым разбором будет и MATLAB‑эквивалент — чтобы видеть контраст: одна строка тулбокса против явного алгоритма. А в конце — большое сравнение: прогоним обе реализации по одинаковым кодам и наложим их BER‑кривые на одни графики.

Читать далее

Коды исправления ошибок в сотовой связи: от GSM до 5G — симулируем в MATLAB

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели8.2K

В 1992 году первый GSM-звонок прошёл по цифровому каналу с BER около 10⁻³ — и всё равно был разборчивым. Сейчас 5G держит BER ниже 10⁻⁵ при вдвое меньшей энергии. За 30 лет не изменились ни физика канала, ни формула Шеннона — изменились коды.

Каждое поколение сотовой связи — это смена схемы помехоустойчивого кодирования:

1G (1981): аналог, никакого канального кодирования 2G GSM (1992): свёрточный код R=1/2, K=5 + декодер Витерби 2G IS-95 / CDMA (1995): свёрточный R=1/2, K=9, полиномы [753 561] 3G UMTS (2001): турбо-коды (PCCC, R=1/3) — прыжок BER на 3–4 дБ 4G LTE (2009): турбо + хвостово-скусанные свёрточные для управляющих каналов 5G NR (2019): LDPC для данных (eMBB), полярные коды для управления

Статья идёт по этой цепочке. К каждому коду — числовой пример, рабочий MATLAB-скрипт и BER-кривая, а в финале — всё на одном графике.

Читать далее

Разработка параметризируемого модуля CORDIC-алгоритма на System Verilog

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели14K

В далеком 2011 году автором была опубликована статья «Реализация CORDIC‑алгоритма на ПЛИС» [1]. В той статье приводится сначала математическое описание алгоритма, его суть. Показан пример расчета поворота вектора на плоскости сначала «на бумажке» согласно алгоритму, а затем сравнение результатов с расчетом «по калькулятору». Затем, показано создание структурной схемы проекта с rtl‑описанием CORDIC‑алгоритма и приведены листинги каждого модуля. Помимо этого были приведены основы создания проекта в среде ModelSim.

Автор считает, что эта статья оказалась полезной для новичков в области программирования ПЛИС, так как на протяжении долгого периода времени, после публикации статьи приходили письма с вопросами и уточнениями на данную тему. Даже сейчас я часто встречаю на различных форумах на тему ПЛИС ссылки на данную работу. Но! Если математическая часть алгоритма однозначно является полезной, а также основы создания и структурированного ведения проекта для новичка, то использовать данное rtl‑описание в различных проектах, адаптируя модули проекта по свои нужды крайне неудобно и неуклюже. По крайней мере, автор, когда заглядывает в это свое создание в прошлом, морщится и чувствует себя неловко.

Поэтому появилось желание представить тот модуль CORDICа (для генерации гармонического сигнала в сфере радиолокации и связи), который автор использует в данный момент в различных проектах. Весь алгоритм реализован в одном sv‑модуле, а, значит, его намного легче переносить из проекта в проект. Также он более прост в восприятии.

Читать далее

Бониана: приложение к браслету

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.9K

На сайте Engee в разделе «Библиотека конечных автоматов» в наглядной форме представлены КА [1]. Полюбопытствуйте. Вполне достаточно для первого знакомства. Там есть раздел «Материалы Engee по Конечным автоматам», в который помещены проекты, демонстрирующие качества КА на практике. Сейчас это три проекта — «Регулирование температуры воздуха», «Электростеклоподъемник для автомобиля» и «Управление перекрестком». Подобно проекту браслета из первой части статьи [2] на их примере покажем возможности автоматного программирования (АП) в среде ВКПа в сравнении с автоматами Engee или, что будет точнее, в сравнении с моделью Харелла, реализованной здесь.

Выберем для этого проект с светофорами. На сайте имеется следующее его описание:

«Цель этого примера — разработать модель управления перекрестком, состоящим из двух автомобильных и одного пешеходного потоков, которые управляются двумя трёхсекционными и одним двухсекционным светофорами соответственно. Алгоритм переключения секций будет определяться согласно временной диаграмме. Управляющий алгоритм будет реализован при помощи нескольких блоков Chart, а снятие входных и формирование выходных сигналов — блоками C-Function

На рис. 1 показана структурная схема проекта в Engee. На ней несколько блоков, где основные — блок Commn_Counter, который моделирует временные такты диаграммы, блок Traffic_Lights, реализующий управление, заметим, сразу двумя светофорами и блок Crosswalk для светофора потока пешеходов. Временная диаграмма работы светофоров показана на рис. 2.

Читать далее

IPMSM — синхронный двигатель с инкорпорированными магнитами: физика анизотропии и оптимальное управление

Уровень сложностиСложный
Время на прочтение22 мин
Охват и читатели12K

Среди синхронных двигателей с постоянными магнитами существует конструктивное разделение, которое на первый взгляд кажется деталью производства, а на самом деле определяет всю физику машины и логику её управления. Речь идёт о расположении магнитов в роторе: снаружи или внутри.

Двигатель с постоянными магнитами на поверхности ротора (SPMSM) – прост и предсказуем. Магнитный зазор равномерен, индуктивности по обеим осям одинаковы, момент создаётся единственным способом. Управлять им несложно.

Двигатель с инкорпорированными постоянными магнитами IPMSM (Interior Permanent Magnet Synchronous Motor) – устроен принципиально иначе. Магниты утоплены в тело ротора, что нарушает симметрию магнитной цепи. Возникает анизотропия: магнитное сопротивление ротора различается по двум взаимно перпендикулярным направлениям. Следствие – дополнительный источник момента, реактивный, существующий исключительно за счёт разницы индуктивностей по осям d и q.

Именно эта анизотропия делает IPMSM привлекательным для тягового привода. Широкий диапазон ослабления поля, высокая удельная мощность, возможность использовать реактивный момент для снижения токовой нагрузки – всё это следствие одного конструктивного решения: магниты внутри, а не снаружи.

Реализовать потенциал IPMSM позволяет стратегия MTPA – Maximum Torque Per Ampere. Она находит оптимальное распределение вектора тока статора между осями d и q: такое, при котором заданный момент достигается при минимальной амплитуде тока. Меньший ток – меньше потерь в меди, меньше нагрев, меньше нагрузка на инвертор.

В настоящей статье рассматривается физика анизотропии IPMSM, математическая модель машины в системе координат d‑q и стратегия MTPA как задача оптимизации с аналитическим решением. Модель реализована в системе моделирования Engee и верифицирована сравнением режимов FOC и MTPA на параметрах макетного образца IPMSM.

Читать далее

Ближайшие события

Как российское судостроение осваивает Engee

Время на прочтение7 мин
Охват и читатели7.5K

Осенью 2025 года в ЦИТМ «Экспонента» обратились инженеры АО «Концерн «НПО «АВРОРА» - флагмана отечественного судостроения, предприятия с полувековой историей и серьезным портфелем гражданских и специальных проектов. Коллеги поставили перед нами задачу: провести комплексную оценку среды Engee как платформы для модельно-ориентированного проектирования программного обеспечения для программируемых логических интегральных схем (ПЛИС) и микроконтроллеров (МК). Цель проекта – заменить зарубежные решения в реальных промышленных задачах, а далее мы расскажем подробно, как проходила эта работа, какие технические вызовы пришлось преодолевать и к каким выводам пришли инженеры с обеих сторон.

 

Читать далее

Постобработка параметров траектории ЛА для оценки размеров области его вероятного положения

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.7K

Для того чтобы определить вероятные положения летательного аппарата в окрестностях траектории необходимо использовать комплексную обработку данных полученных с различных источников, в рамках данной статьи предполагается что в основу расчета берем усредненные параметры участка траектории ЛА, известные координаты РЛС которые определяют его положение, дисперсии для каждой РЛС (в рамках данного моделирования берем две, но в произвольном случае может быть любое количество)

Подобные расчеты требуются для того чтобы определить как близко могут пролететь самолеты один относительно другого в сложных навигационных условиях (например в условиях заглушенного сигнала GPS), область вероятного положения в каждый момент времени при движении летательного аппарата будет представлять собой серию эллипсоидов, параметры данных эллипсоидов будут вычисляться с помощью скрипта на языке Engee

Читать далее

Браслет для Бони

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели28K

Возможно, на мой предвзятый взгляд, нынче автоматным программированием (АП) называют любое программирование, в которое вводят состояния (а параллельным – где используют потоки). Но не все, что с колесами – машина, а с крыльями – самолет. И далеко не всегда то, что «выглядит» как автомат, «плавает» как автомат и «крякает» как автомат им является. Это ясно, если руководствоваться математическим определением конечного автомата (КА). Только соответствие этому позволяет  считать программирование автоматным. Подробнее же об АП рассказано в [1].

Среди существующих программных подходов некоторые на взгляд программистов относятся к категории АП. Это, например, варианты диаграмм Харела (Statecharts) и языков на них основанных. Например, UML (Unified Modeling Language). Именно этой теме посвящена статья на Хабре, которая описывает проектирование на базе КА  в среде Engee[2].  В последней есть библиотека «Конечные автоматы» – «лучший инструмент для визуального проектирования сложной управляющей логики» [3].

Разберем данную статью, создав аналог рассмотренного в ней решения, но только на языке С++ и в среде ВКПа – классическом варианте технологии автоматного программирования. Это позволит объективно сравнить подходы, а вам, «хабравчане», останется только составить уже свое мнение о разных вариантах АП.

Читать далее

Идентификация объектов управления в Engee: пример идентификации модели поезда в АО “МТЗ ТРАНСМАШ им. А.А. Егоренкова”

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.7K

При моделировании систем управления иногда возникает ситуация, когда точная математическая модель объекта неизвестна. Законы его поведения либо слишком сложны, либо вовсе не определены. Но сам объект управления доступен, например в виде стенда. Тогда можно снять с объекта управления экспериментальные данные: измеренные входные и выходные сигналы системы. В таких случаях используется идентификация систем – построение математической модели динамического объекта на основе экспериментальных данных.

Читать далее

Использование оптимального фильтра Калмана для оценки параметров ЛА

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.3K

В данной статье будем реализовывать оптимальный фильтр Калмана с помощью среды моделирования Engee.

Структура навигационной системы будет представлять собой комбинацию бесплатформенной навигационной системы + спутниковой навигационной системы (СНС).

Читать далее

Моделирование футбольной зональной опеки: кинематика точки на службе у защитника

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.9K

Представьте: 80-я минута, счёт 1:1. Нападающий соперника получает мяч на фланге и уходит в рывок вдоль бровки. Защитник бежит рядом, чуть левее — между нападающим и центром поля. Где-то в центре полузащитник соперника уже прицеливается для прострела.

И в этот момент защитник должен принять решение — молниеносно, без калькулятора, без времени на раздумья: я контролирую ситуацию или мне нужна помощь партнёра?

Опытный защитник решает это интуитивно. Но что именно стоит за этой интуицией? Оказывается — вполне конкретная математика. Причём такая, которую проходят в школе.

У защитника есть зона контроля — сектор пространства, в котором он способен среагировать на действия нападающего. Её размер определяется тремя физическими факторами: временем реакциискоростью бега и углом периферийного зрения. Пока нападающий находится внутри этого сектора — защитник держит ситуацию под контролем. Как только нападающий выходит за его границу — контроль потерян, нужна подстраховка.

Задача, которую мы разберём в этой статье, даёт конкретный ответ на конкретный вопрос: окажется ли нападающий в зоне контроля защитника в момент приёма паса — и когда защитнику нужно звать партнёра?

Для решения не понадобится ничего сверхъестественного: уравнения прямыхрасстояние между точкамитри геометрических условия. Весь необходимый аппарат вы уже проходили — просто, возможно, не думали, что он помогает принимать решения на футбольном поле.

В конце статьи мы реализуем модель в среде Engee на языке Julia — с визуализацией зоны контроля в начальный момент и через время t1​.

Читать далее

АСУ ТП для нефтепровода 20 лет спустя. Старые программы в новые контролеры

Уровень сложностиПростой
Время на прочтение30 мин
Охват и читатели9.6K

Перекличка эпох. Буквально недавно я опубликовал очередную cool-story о лихих математиках из лихих 90-х, как получил живое свидетельство алгоритмов управления прямиком из тех легендарных времен.

Заливаем алгоритмы, созданные 20 лет назад для АСУ ТП нефтепровода, в современные контроллеры .

По работе сейчас нужно сделать стенд-демонстратор. Задача – показать, как, используя среду математического моделирования, можно заливать одни и те же технологические алгоритмы АСУ ТП в контроллеры от разных производителей и на разных аппаратных платформах. Идея в том, чтобы спроектировать алгоритм в SimInTech один раз, а потом, при смене контроллера (привет санкциям и старушке Шапокляк фон дер Ляйен), уже ничего не нужно проектировать заново: ни этот же самый алгоритм, ни создавать его заново в другой среде разработки. Открываем SimInTech с готовым проектом – и пожалуйста:

«…нажми на кнопку – получишь результат,

И твоя мечта осуществится.

Что ж ты не рад?

Тебе больше не к чему стремиться!»

А вот если алгоритм в среде разработки Siemens, то тут уже фигушки, нужно его опять пересобирать в среде разработки от другого производителя. А нам её ещё нужно найти, что нетривиальная задача. Если все разработчики автоматики, за редким исключением, собирали свои алгоритмы в различных импортных Codesys, запрещённых нашими немецкими партнёрами из ЕС.

«…а ещё вчера все вокруг говорили: Siemens – друг, Siemens наш немецкий друг…»

На этом месте возник у меня вопрос: а что, собственно, взять в качестве примера для стенда-демонстратора? Первая мысль, конечно, обратиться к текущим проектам в которых нас привлекают как консультантов:

Читать далее
1
23 ...