TGViewer
Channel Public Channel
Engee на старт!

Engee на старт!

@engee_com

Engee - российская среда динамического моделирования и технических расчётов. Лучшая замена MATLAB/Simulink/Amesim.
Группа общения и поддержки пользователей: https://t.me/engee_julia_chat
Subscribers
4.58K
Photos
538
Videos
84
Links
333

Showing posts older than #678 · Back to latest

Older Posts 19 shown
Post #677 2.2K
🚀 С Днём космонавтики!

12 апреля 1961 года Юрий Гагарин на корабле «Восток-1» впервые в истории человечества совершил орбитальный облет Земли. Ровно 65 лет назад его «Поехали!» стало символом безграничной дерзости мысли и научно‑технического прорыва.


Сегодня мы празднуем не только полет Гагарина, но и человеческое стремление познать Вселенную: от околоземной орбиты до самых загадочных объектов космоса.

🌌 Что движет космосом? Гравитация.

Но как она работает там, где заканчивается классическая физика, у пределов чёрной дыры? Ньютон дал нам закон всемирного тяготения и понятие скорости убегания. Эйнштейн перевернул всё: гравитация — это искривление пространства‑времени. И только общая теория относительности (ОТО) способна описать горизонт событий, замедление времени и спагеттификацию.

В Engee мы разместили новый пример про чёрные дыры, в нём вы сможете:
⭐️Увидеть, как гравитация искривляет время и пространство
⭐️Понять разницу между классической и релятивистской физикой
⭐️Визуализировать падение в чёрную дыру и эффекты у горизонта событий
⭐️Сравнить реальные объекты: от звёздных чёрных дыр до M87 и TON 618

🛰 Engee — это платформа, где сложные темы становятся понятными, а обучение превращается в увлекательное исследование. Присоединяйтесь к сообществу, запускайте код, экспериментируйте и делитесь результатами!


📎 Скачать и изучить проект

С праздником, с Днём космонавтики! Пусть ваше любопытство не знает гравитационных барьеров 🧑‍🚀

📹 Вебинар "Создание пользовательских приложений" 15.04
🎓 Тренинг по РЛС 23.04-24.04
  • ❤ 10
  • 🤩 5
Post #676 2.35K
👁️ Цифровая обработка изображений в Engee: от пикселей до компьютерного зрения

Обработка изображений — это не только компьютерное зрение и нейросети. Большинство инженерных задач начинается гораздо раньше: с правильной работы с пикселями, бинаризации и выделения признаков.


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

➡️ Работа с матрицами пикселей

Любое изображение в Engee — это прежде всего матрица. Понимание структуры пиксельных данных позволяет строить собственные алгоритмы анализа вместо использования «чёрных ящиков».

➡️ Адаптивная бинаризация — когда освещение мешает алгоритму

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

Адаптивные методы позволяют корректно выделять объекты даже при сложном фоне и градиентах освещения — ключевой этап для распознавания документов и промышленного зрения.

➡️ Поиск и сопоставление ключевых точек (ORB)

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

Такие алгоритмы лежат в основе: визуальной навигации, SLAM, робототехники, анализа изображений с БПЛА.

📹 Вебинар "Создание пользовательских приложений" 15.04
🎓 Тренинг по РЛС 23.04-24.04
  • 🔥 9
  • 👍 5
  • ❤ 2
  • 🆒 2
Post #675 2.38K
🎭 Обратные вызовы в масках: создаём интерактивные блоки

Для того чтобы работа инженера была эффективной, модель должна быть точной, наглядной и удобной.

Сегодня мы хотим рассказать вам об очень полезной возможности среды моделирования Engee - маскировании блоков.

Маска - это настраиваемый пользовательский интерфейс, упрощающий использование блока.

С помощью маски можно:

✔️Создать окно настроек для быстрого изменения параметров подсистемы или блока;
✔️Скрыть содержимое подсистемы и защитить её от случайных изменений;
✔️Изменить внешний вид блока, настроив его иконку.

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


⭐️Как использовать методы программного управления при формировании обратных вызовов маски;
⭐️Как валидировать значения параметров, чтобы защитить блок от ввода некорректных данных;
⭐️Как скрывать элементы управления в настройках блока, чтобы интерфейс стал по-настоящему отзывчивым;
⭐️Как настроить иконку блока и вывести на неё полезную информацию.

🔗 Ознакомиться с проектом вы можете в Сообществе Engee.

Создавайте наглядные и надёжные блоки, и превращайте наработки в удобные инструменты, которыми будет легко поделиться с коллегами!

Желаем хороших выходных и ждём вас на ближайших мероприятиях:

🗓 Конференция по системному моделированию 08.04
📹 Вебинар "Создание пользовательских приложений" 15.04
🎓 Тренинг по РЛС 23.04-24.04
  • 🔥 15
  • 👍 5
Post #674 1.92K

Forwarded from Экспонента для инженеров

🙌 7 дней до главного события в мире системного моделирования!

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

Что вас ждёт:
✔️Практические кейсы от Росатом, ОАК, ОДК и других лидеров отрасли
✔️Доклады экспертов по интеграции CAD, PLM, CAE, EDA и IDE
✔️Обмен опытом и нетворкинг с инженерами, руководителями и профильными ведомствами
✔️Разбор инструментов для повышения эффективности разработки и стандартов отрасли

📍 8 апреля, Москва, Holiday Inn Москва Сокольники

❗️Регистрация обязательна
  • ❤ 5
Post #673 2.07K
Друзья,

Знаете, как через Engee управлять другими моделями на других платформах в режиме косимуляции?

В приложенном видео (ссылка на ВК ниже) мы показываем, как Engee позволяет создать алгоритмическую часть гибридной модели, при этом другая ее часть будет выполняться в российском программном комплексе Euler, предназначенном для расчета механических систем.

↗️ Входные данные этого блока отправляются на ваш локальный компьютер и становятся выходными воздействиями для модели Euler

⬇️ Выходные данные блока Euler Cosimulation в Engee — это выходные показания датчиков на платформе Euler, которые фиксируют какие-либо измерения на каждом шаге интегрирования модели

📹 Видео в ВК

Подробнее об этой конфигурации вы можете узнать в Сообществе Engee или на странице Engee.Интеграции 💼

Желаем удачи и ждем на наших мероприятиях:
🚨 Конференция по системному моделированию 8.04
🎓 Вебинар Создание пользовательских приложений 15.04
🎓 Тренинг по РЛС 23-24.04

👻 Подписаться в MAX
  • 🔥 9
  • 🥰 5
  • 🕊 3
Post #672 2.09K
Релиз 26.3 – новое в марте 🤖🌷💻

Март для Engee прошёл чрезвычайно активно: Школа системного моделирования, подготовка к Конференции, первые по-весеннему солнечные дни, а еще новый релиз, который мы рады сегодня представить!

В нём мы сосредоточились на том, что напрямую влияет на ежедневную инженерную работу: скорость, точность, понятность инструментов и удобство моделирования.

Самое важное:
⭐️Julia обновлена до версии 1.12;
⭐️Новое приложение: Модальный анализ;
⭐️Повышение качества диагностики физических моделей;
⭐️Улучшение синтаксиса языка физического моделирования;
⭐️Запись сигналов для моделей-ссылок;

А еще:
✅Новые блоки и функции в библиотеках Механика, Навигация, Гидравлика, Электричество, Оборудование, ЦОС и РЧ;
✅Решатели для реального времени в Solver Configuration;
✅Валидация имени для пользовательских шин;
✅Перенесли «Выделение не-скаляров» в правильный раздел;
✅Поддержка внешнего Initial Condition у блока Discrete-Time Integrator;
✅Новые статьи в Документации и новые Примеры;
✅Убрали сетку холста;

Подробности, как и всегда, вы найдете в разделе Что нового 26.3.

А ещё напоминаем о предстоящих событиях:

🔶23-24 апреля пройдет ежегодный тренинг по РЛС — место встречи профессионалов в области радиолокации. Успейте записаться по ссылке!
🔶А 15 апреля мы вас ждем на вебинаре: «Создание инженерных приложений в Engee». Разберём, как превратить ваши расчеты и модели в удобные графические инструменты для команды. Регистрация ТУТ.

Хороших вам выходных! 💼
  • 👍 12
  • 🔥 4
  • 🥰 1
Post #670 2.36K
📡 Радиолокация в Engee: пеленгация сигналов с помощью Beamscan и MVDR для прямоугольной ФАР!

Друзья, представляем вашему вниманию проект из области радиолокации, в котором авторы не просто сравнивают два классических алгоритма определения угловых координат (DOA) — Beamscan и MVDR, но и демонстрируют, как быстро и наглядно строить динамические модели радиотехнических комплексов в Engee.


Ключевые узлы модели:

🔸Прямоугольная узкополосная ФАР из 10×5 элементов с малошумящим усилителем.
🔸Имитация двух движущихся целей: одна меняет азимут в пределах от 30° до 50°, угол места от 10° до –5°, вторая движется навстречу первой с мощностью на 3 дБ ниже.
🔸Непосредственно, оцениваемые алгоритмы в виде блоков MVDR Spectrum и Beamscan Spectrum.

🔥 А также параметризация через отдельный конфигурационный файл Param2DBeamscanMVDRDOA.jl — можно менять геометрию решётки, диапазон сканирования, траектории целей без редактирования схемы. Изменили сценарий, перезапустили модель, и новые данные автоматически попадают в алгоритмы и визуализацию.

Почему в Engee удобно создавать такие модели?

✅Визуальное проектирование + код: схема собирается из готовых блоков, а для сложной логики (инициализация, постобработка, анимация) и быстрой настройки сценариев используется язык Julia.
✅Интерактивная визуализация и анимация: в проекте используются функции визуализации статичных карт и анимация для динамики двумерного спектра во времени.
✅Модульность и повторное использование: блоки пеленгации, приёмного тракта, формирования сигнала можно переиспользовать в других проектах — например, расширить модель, добавив доплеровскую обработку или адаптивную компенсацию помех.

Результаты сравнения алгоритмов

MVDR Spectrum
✅Высокое разрешение, видно две близко расположенных цели при установленной разнице в мощности.
⚠️Сильно ослабляет сигнал при малейшем отклонении от целевого направления — появляются «мерцания» на карте.

Beamscan Spectrum
✅Стабильнее в шумовой обстановке, проще в реализации.
⚠️Уступает в разрешении — при сближении целей их направления прихода сливаются.

Вывод
Выбор алгоритма зависит от задачи: MVDR, если важна разрешающая способность. Beamscan, если требуется надёжное обнаружение.

👉 Попробуйте сами по ссылке

🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Вебинар Создание пользовательских приложений
👤 Расписание бесплатных тренингов
  • 🔥 14
Post #669 2.33K
Как подружить облачную среду моделирования с облачным промышленным ПЛК?

Мы решили проверить это не теоретически, а на практике — интегрировали Engee с открытым программным контроллером OpenSoftPLC, разработанным «Северсталь-инфоком».

Контекст задачи
Открытая АСУ ТП — это инициатива по созданию модульной и вендорно-независимой экосистемы промышленной автоматизации. В её основе лежит стандарт IEC 61499, ориентированный на распределённые и событийно-управляемые системы.


В рамках проекта возник вполне прикладной вопрос:
Можно ли управлять логикой программного ПЛК напрямую из модели Engee, если сама среда работает в браузере и не имеет прямого доступа к сетевым интерфейсам компьютера пользователя?

Как устроили интеграцию
Для решения использовали подсистему Engee.Интеграции.
Она работает как связующее звено: на локальной машине запускается агент, который соединяет по RPC облачную модель с сетевым стеком и внешним оборудованием.

Далее сценарий выглядит так:

1️⃣Настройка ПЛК
В среде 4diac FORTE (IEC 61499) на удаленной виртуальной машине запущен алгоритм инкрементного счетчика со сбросом по внешнему сигналу. Контроллер настроен как Modbus Slave (порт 1502).

2️⃣Подготовка среды Engee
Установлен пакет Engee.Интеграции и запущен локальный агент для работы с внешними устройствами.

3️⃣Архитектура модели
В динамической модели использованы три интерфейсных блока:
• Modbus TCP Setup — установка соединения с ПЛК,
• Modbus Write Coil — передача бита сигнала сброса,
• Modbus Read Holding Register — чтение текущего значения счётчика из регистра.

4️⃣Сценарий моделирования
Генератор импульсов с периодом 5 секунд отправляет сигнал сброса.
В этом режиме Engee выступает как Modbus Master, управляя ПЛК и одновременно считывая данные для анализа.

➡️ Результаты

Моделирование показало стабильную работу связки:
🔹обмен данными происходит без потерь,
🔹графики в Engee полностью повторяют логику работы счётчика,
🔹команды управления исполняются с заданной периодичностью.
Интересная деталь: физически программный ПЛК находится в Череповце, а сервер модели — в Москве.

💎 Практическая польза

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

По сути, модель перестает быть просто расчетным инструментом и становится активным участником системы управления.

🔗Полное описание и файлы модели доступны по ссылке

🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Вебинар Создание пользовательских приложений
👤 Расписание бесплатных тренингов
  • 🔥 10
  • 🤩 4
  • ❤ 3
Post #668 2.3K
📡 5G New Radio в Engee

Алгоритмы 5G — это всегда баланс между строгими требованиями 3GPP и необходимостью быстро проверять идеи в моделях.


В Engee для этого существует специализированная библиотека блоков 5G NR, позволяющая собирать и исследовать реальные трактовые схемы без реализации стандарта с нуля.

Сегодня показываем её возможности на примерах проектов из Сообщества:

1️⃣Канальное кодирование 5G NR

Модель демонстрирует архитектуру кодирования согласно 3GPP:
🔸LDPC для пользовательских данных
🔸Polar-коды для управляющих каналов

Реализованы все ключевые этапы: сегментация транспортного блока, CRC, кодирование, перемежение и скремблирование с поддержкой различных кодовых скоростей и размеров TB.

2️⃣Канал управления PUCCH

Пример генерации Physical Uplink Contr
ol Channel (форматы 1–4):
🔸маппинг UCI (HARQ-ACK, CSI, SR)
🔸формирование последовательностей
🔸OFDM-модуляция

Позволяет исследовать поведение uplink-сигналов и проверять алгоритмы обработки управления.

3️⃣Передающий тракт PDSCH

Полный pipeline передачи данных:
🔸скремблирование и модуляция
🔸слоевое маппирование и предкодирование
🔸формирование ресурсной сетки (DM-RS, PT-RS)
🔸генерация OFDM-символов

Поддерживаются различные numerology (15/30/60/120 кГц) и конфигурации BWP.

👉 Что это даёт в Engee:

✅моделирование PHY-уровня 5G из готовых блоков
✅параметры строго по спецификациям 3GPP
✅исследование отдельных алгоритмов без сборки всего стека
✅расчёт BER, PSD, EVM
✅подключение собственных алгоритмов через Engee Function
✅верификация приёмников на эталонных сигналах

Библиотека 5G NR в Engee позволяет сосредоточиться не на реализации стандарта, а на инженерной задаче — исследовании, прототипировании и проверке алгоритмов связи.


📎 Откройте проекты в Сообществе и посмотрите, как устроены реальные модели 5G внутри.

🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Вебинар Создание пользовательских приложений
👤 Расписание бесплатных тренингов
  • 👍 15
  • 🎉 5
  • ❤ 3
  • 🥰 2
Post #667 2.58K
🔬 Цифровой микроскоп бесконечности — приложение, созданное прямо в Engee

Когда-то рендер одного фрактала занимал часы вычислений. Сегодня интерактивное исследование бесконечных структур работает прямо в браузере — как обычное веб-приложение.


Этот проект показывает не столько математику множества Мандельброта, сколько то, как в Engee можно быстро превращать вычислительные модели в полноценные интерактивные приложения.

Мы собрали цифровой «математический микроскоп», где пользователь управляет параметрами модели и мгновенно видит результат расчёта. Модель фрактала рассчитывается на Julia, а интерфейс собран на фреймворке Genie. В результате получается интерактивный инструмент, где можно:

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

Что видно при моделировании

✅классическая «кардиоида» при общем масштабе
✅«морские коньки» у границы множества
✅бесконечно повторяющиеся структуры при увеличении
✅тонкие детали и фрактальная «пыльца» при росте числа итераций

Изменяете параметры — и график пересчитывается сразу, создавая ощущение работы с настоящим оптическим прибором!

📎 Приложение доступно в Сообществе Engee, можно открыть и поэкспериментировать с параметрами.

📹 Видео в ВК

❗️❗️❗️ Хотите научиться создавать такие приложения в Engee?
15 апреля проведём вебинар, где покажем, как превращать модели и расчёты в интерактивные инженерные приложения.

➡️ Регистрация ⬅️
  • ❤ 8
  • 🥰 4
  • 👌 3
  • 🎉 2
Post #666 2.61K
🐍 Змейка на нейросетях 🐍

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


В демонстрационном проекте «Змейка» показано применение алгоритма Deep Q-Network (DQN) для задачи управления в дискретной среде. DQN относится к методам глубокого обучения с подкреплением и использует нейронную сеть для аппроксимации Q-функции — оценки ожидаемой суммарной награды при выборе действия в заданном состоянии.

🔧 Ключевые компоненты алгоритма:

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

Experience Replay.
Буфер воспроизведения опыта хранит переходы вида (состояние, действие, награда, новое состояние, флаг завершения). Обучение на случайных мини-батчах снижает корреляции между шагами и повышает устойчивость обучения.

Target Network.
Отдельная целевая сеть с задержкой обновления весов используется для расчёта целевых Q-значений, уменьшая нестабильность процесса обучения.

✍️ Описание среды и архитектуры:

• состояние среды представлено вектором из 8 признаков (опасности столкновения, положение еды, длина змейки и др.);
• действия дискретны: движение вперёд, поворот налево и направо;
• функция награды: +10 за еду, −1 за столкновение и дополнительные сигналы за движение к цели;
• архитектура сети: вход (8) → скрытый слой (128, ReLU) → выход (3);
• инициализация Xavier, обучение градиентным спуском с обратным распространением ошибки.

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


🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Школа моделирования еще идет, присоединяйтесь!
👤 Расписание бесплатных тренингов
  • ❤ 5
  • 🔥 5
  • 👏 2
  • 🤩 1
Post #665 3.06K
Встречаем весеннюю погоду вместе с Engee! 💐

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

🌷И конечно, в этом материале мы спешим поздравить всю прекрасную половину человечества с замечательным праздником!


Откройте проект, чтобы убедиться в этом (интересно, как быстро вы найдете отсылку?)

Почему стоит изучить этот пример? Будь то моделирование транспортных средств, радиолокация или связь, трубопроводная сеть или космические явления, в Engee вы можете рассчитывать самые масштабные задачи, объединяя динамическое моделирование и программирование.

Что еще интересного есть в этом проекте?
1️⃣Мы показываем, как работать с API погодного сервиса OpenMeteo. Пусть этот источник данных работает сравнительно медленно, зато позволяет загрузить данные для анализа, с которыми очень интересно работать.

2️⃣Контур России сохранен в распространенном промышленном формате GeoJSON, с которым тоже нужно уметь обращаться, если вы собираетесь рассчитывать масштабные проекты с географической привязкой. Возьмите себе файл и используйте в любых проектах.

3️⃣Мы сравниваем методы обработки тонких деталей – береговой линии, островов, чтобы сохранить как можно больше информации для наглядной визуализации.

4️⃣И, наконец, просто выводим всю карту при помощи текстовых пиктограмм, что позволяет вам получить прогноз погоды в любопытном виде.


С праздником 8 марта! Пусть весеннее тепло согревает ваши сердца и до встречи на просторах Engee 💼

Также не пропустите этой весной:

📢Конференция по системному моделированию, регистрация еще открыта
🎓 Школа моделирования еще идет, присоединяйтесь!
🧑‍💻Расписание бесплатных тренингов
  • 🔥 13
  • 🤩 5
  • ⚡ 4
Post #664 2.76K
Релиз 26.02 – новое в феврале 🌱⚙️🔅

Февраль в этом году пролетел особенно быстро — всего 28 дней, и весна уже на пороге! Зато список изменений в Engee за этот месяц получился совсем не коротким. Делимся с вами тем, что успели сделать в продукте за февраль.

Самое важное:
⭐️Переработанные модели-ссылки;
⭐️Обратное наследование характеристик сигналов;
⭐️Блок конвертации единиц измерения;
⭐️Поддержка USB-CAN модуля от Марафон;
⭐️Пакет поддержки Target x86;
⭐️Новый объект fixed_ts_sinestream в библиотеке ТАУ;

А еще:
✅Новые блоки и функции в библиотеках Базовая, РЧ, Радары, Системы управления, Механика, Гидравлика, ЦОС, Аэрокосмические системы и Оборудование;
✅Новая функциональность в приложении Анализ файлов цифровой подстанции;
✅Расширение количества портов у С Function и Engee Function;
✅Изменения и обновления в генераторе кода;
✅Расширение поддержки CAN для Engee и КПМ РИТМ;
✅Пакет поддержки Analog Discovery;
✅Новые статьи в Документации и новые Примеры;

Подробности — в разделе Что нового 26.02.

А еще напомним: открыта регистрация на
конференцию по системному моделированию, пока еще места есть!

👤 Также доступны места на практические тренинги — хороший шанс разобрать сложные вещи руками и задать вопросы разработчикам и практикам. Расписание ТУТ.

🎓 Школа моделирования уже стартовала!
  • 🔥 16
  • 👍 6
  • 🥰 1
Post #663 3.23K
🚀 EngeeDSP: анализируем нестационарные сигналы: от динамического спектра к спектрограмме

Когда спектр сигнала меняется во времени (например, в ЛЧМ-сигналах), классическое БПФ за весь интервал наблюдения даёт лишь усреднённую картину и не позволяет увидеть эволюцию частотного состава. Решение — использовать STFT (Short-Time Fourier Transform).


В новом проекте сообщества подробно разобрана реализация STFT в Engee с помощью блоков библиотеки EngeeDSP и инструментов интерактивной визуализации.

Структура модели и ключевые параметры:

1️⃣Генерация комплексного ЛЧМ-сигнала: подсистема Complex_LFM формирует сигнал с линейно возрастающей частотой.
2️⃣Фильтрация: спроектированный в интерактивном «Редакторе цифровых фильтров» ФНЧ ограничивает полосу сигнала.
3️⃣Подготовка кадров: блок Buffer накапливает отсчёты в векторы длиной 1024 элемента.
4️⃣Оконная обработка: к каждому вектору применяется окно Хэмминга для подавления боковых лепестков.
5️⃣БПФ и постобработка:
• Вычисляется БПФ (блок FFT) длиной 1024,
• Выделяется первая половина спектра (положительные частоты),
• Вычисляется модуль комплексного вектора в dBm и кадр записывается в переменную.

Два подхода к визуализации:

➡️ В динамике во время симуляции:
модель настроена так, что 1 секунда расчёта соответствует 1 секунде реального времени. Это позволяет, открыв окно «Визуализация сигналов», наблюдать в реальном времени:
🔹Осциллограммы комплексного сигнала (I/Q компоненты).
🔹Промежуточные «кадры» спектра на выходе пользовательской цепи обработки (тип отображения «Кадр во временной области»).
🔹Изменение спектра ЛЧМ-сигнала до и после фильтра с помощью встроенного анализатора спектра (отображение «Сигналы в частотной области»).


➡️ Программное построение спектрограммы:
после симуляции все накопленные кадры спектра собираются скриптом в матрицу размером [512 x N], где N — число кадров. Далее строится трёхмерная поверхность (частотно-временная спектрограмма) с помощью функции surface.


Что это даёт?

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

🔗 Описание, скрипт и саму модель для воспроизведения можно найти здесь: EngeeDSP: спектрограмма комплексного сигнала

🎓 Школа моделирования уже стартовала!
🧑‍💻 Расписание бесплатных тренингов
  • 👍 9
  • 🔥 7
  • ❤ 5
  • 😁 2
Post #662 3.2K
🔧 Тестирование кода в Engee без ручной рутины

Тестирование ПО-в-контуре (SIL) – важный элемент рабочего процесса кодогенерации. Ведь нам необходимо проверить, что модель и код считаются одинаково.

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

Что будем использовать
Слышим тестирование - применяем библиотеку Test.jl.
А что тестируем? Надо проверить сразу несколько вещей:
1️⃣Код вообще генерируется?
2️⃣Создается ли проверочная Си-функция?
3️⃣Эквивалентность работы модели и кода
Чтобы не рушить тестовую обвязку модели будем делать ее копию. И это тоже предмет тестирования. Для работы с моделями будем использовать программное управление моделями.

Как это работает?
Используя Test.jl, создадим наборы тестов, которые будут выполнять наше тестирование поэтапно:
@testset verbose = true "SIL" begin
@testset "Code Generation" begin
@test SILAutom
ation.buildCUT(CUT)==true
@test isfile(CUT*"_verification.engee")
end

SILAutomation.buildCUT(CUT)
SILAutom
ation.buildSILHarness(SIL_Harness,CUT, MIL_Harness)

@testset "SIL Equality" begin
(MR,SR) = SILAutom
ation.runSims(MIL_Harness,SIL_Harness)
(sync,equal) = SILAutom
ation.compare_signals(MR["filtered"],SR["C Function.1"])
@test sync==true
@test equal==true
end
end

А все манипуляции с моделями спрячем в отдельный модуль SILAutomation.

⚠️ ВАЖНО - Как правильно сравнить сигналы

Нельзя просто сравнить два сигнала численно и сказать, что они равны. Надо проверить, что они синхронизированы по времени, а значения не различаются больше чем на ошибку. Написали такую функцию:
function compare_signals(sig_one,sig_two)
Ds = collect(sig_one);
Rs = collect(sig_two);
Cmp = isapprox.(Ds, Rs)
issynched = all(Cmp.time)
issimilar = all(Cmp.value)
return (issynched, issimilar)
end


Что мы получили в итоге
В результате сделали утилиту, которая
✅запускает и проверяет генерацию кода
✅Собирает обвязку SIL
✅Запускает симуляции тестов и корректно сравнивает результаты
Теперь можно спокойно запускать тесты и идти пить кофе, а Engee все сделает за вас!

📎 Скачать себе все файлы утилиты можно тут

🎓 Школа моделирования уже стартовала!
🧑‍💻 Расписание бесплатных тренингов
  • 🔥 9
  • 👍 8
  • 🥰 4
  • 👏 2
  • ❤ 1
Post #661 3.51K
🦾 В преддверии 23 февраля, для инженеров с железным характером мы подготовили сегодня по-настоящему «железный» пример.

Как проверить алгоритм управления на реальном микроконтроллере, если сам двигатель существует только в виде математической модели? Ответ — полунатурное моделирование (HIL).


Контекст задачи
Разработана система автоматического регулирования тока для двигателя постоянного тока. Наша цель — перенести ПИ-регулятор на реальный микроконтроллер STM32F446 и, применяя технологию HIL, добиться идентичности результатов при имитационном и полунатурном моделированиях.

Что сделали в Engee
✅Имитационное моделирование: Сначала настроили регулятор на модульный оптимум исключительно в программной среде, получив ожидаемые графики переходного процесса с заданным сигналом амплитудой 0,5 В и периодом 2 с.
✅Генерация кода: Из подсистемы ПИ-регулятора в Engee мы автоматически сгенерировали С-код.
✅Работа с железом: Полученный код собрали и загрузили в микроконтроллер через VS Code с использованием PlatformIO.
✅Сборка цепи: Связали аналоговые входы и выходы терминала КПМ РИТМ (модуль GP-LC-45) с выводами STM32F446. При этом ШИМ-выход микроконтроллера подключили к ЦАП через каскадный RC-фильтр нижних частот с частотой среза 7 кГц.
✅HIL-симуляция: Физическая модель контура тока рассчитывалась в реальном времени на КПМ РИТМ, получая управляющие сигналы напрямую от аппаратного микроконтроллера.

Результаты симуляции
В то время как "чистое" имитационное моделирование показывало идеальную отработку, HIL позволило выявить иную картину. График тока показал увеличенное перерегулирование, а установившееся значение оказалось меньше заданного.

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

♦️С наступающим 23 февраля, друзья!

Пусть инженерный характер остается железным, решения точными, а воля — стальной даже в самых сложных задачах.


🎓 Школа моделирования уже стартовала!
🧑‍💻 Расписание бесплатных тренингов
  • 🔥 12
  • 👍 9
  • ❤ 5
  • 🕊 3
  • 🎉 2
  • 🆒 1
Post #660 3.53K
🟦 Интерактивное приложение-осциллограф:
Фигуры Лиссажу

Как инженеру проверить соотношение частот двух сигналов, если под рукой нет осциллографа? В 1855 году Жюль-Антуан Лиссажу для этого собирал сложные оптические установки с камертонами и зеркалами. Сегодня достаточно открыть браузер.


Мы создали интерактивное приложение на фреймворке Genie, которое превращает ваш браузер в цифровой осциллограф. Два генератора, фазовращатель и параметрический дисплей — всё в одном окне без единого провода.

Что сделано в Engee:

1️⃣Реализована параметрическая модель сигналов:
x = sin(a·t + φ), y = sin(b·t), где a и b — частоты, φ — фазовый сдвиг.
2️⃣Построен реактивный интерфейс на Genie: три слайдера управляют частотами и фазой.
3️⃣Созданы интерактивные оси с автоматическим построением разных типов фигур, например: прямая, окружность, эллипс или сложная кривая.

Результаты моделирования:

✅ При a = b, φ = 0 получается прямая линия под 45° — сигналы синфазны.
✅ При a = b, φ = π/2 получается идеальная окружность — сдвиг ровно четверть периода.
✅ При a = 1, b = 2, φ = 0 фигура превращается в "знак бесконечности" — частота b вдвое выше a.
✅ При a = 2, b = 3, φ = π/2 возникает трёхлепестковая кривая — классический узор Лиссажу.
✅ Обновление графика при движении слайдеров почти мгновенно, что создает эффект работы с реальным органом управления осциллографа.

Практическая польза:

🔹 Замена дорогостоящему лабораторному оборудованию. Изучайте работу осциллографа удалённо и бесплатно.
🔹 Наглядное пособие для курсов по радиофизике, электротехнике и теории волн.
🔹 Инструмент для проверки гипотез: как изменится фигура, если частоты относятся как 3:4? Достаточно подвинуть слайдеры.
🔹 Основа для более сложных симуляций. Можно добавить амплитуды, шумы или нелинейности, дополнив скрипт на Julia.

Вы можете запустить приложение и поэкспериментировать с параметрами. Попробуйте подобрать соотношение a:b = 5:4 — получится фигура, похожая на бант. Или выставьте φ = π и наблюдайте, как окружность превращается в линию с обратным наклоном.

📎 Исследуйте приложение в Сообществе Engee

🎓 Школа моделирования с 18.02
🧑‍💻 Расписание бесплатных тренингов
  • 👍 12
  • ❤ 5
  • 🔥 5
Post #659 3.83K
🌌 Моделирование гравитации и космической динамики в Engee

Гравитация — это не просто цифра в учебнике, а сила, которая определяет движение всего во Вселенной. Как поведёт себя один и тот же объект на разных планетах? Что произойдет с Солнечной системой, если изменить массу Солнца? Engee позволяет наглядно исследовать эти вопросы.


Мы создали два демо-проекта, которые показывают гравитацию в действии:

1️⃣В первом одинаковые частицы движутся под действием разного ускорения свободного падения: от 1.62 м/с² на Луне до 24.79 м/с² на Юпитере.

2️⃣Во втором проекте планеты взаимодействуют по закону Ньютона, а изменение массы Солнца влияет не только на орбиты, но и на температуру планет.

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

👉 Что сделано в Engee

1️⃣Реализовали численное интегрирование движения частиц с разными гравитационными постоянными.
2️⃣Построили систему взаимодействующих тел с расчётом взаимных гравитационных сил.
3️⃣Добавили термодинамический модуль, связывающий массу Солнца, его светимость и температуру планет.
4️⃣Создали анимации, наглядно показывающие разницу в динамике движения тел и изменение условий в системе.

🔗 Полные проекты с кодом и анимациями доступны в Сообществе:
🔹Моделирование движения частиц
🔹Моделирование Солнечной системы

Результаты моделирования:
✔️Частицы на Юпитере стремительно падают и энергично отскакивают, а на Луне — медленно парят.
✔️Увеличение массы Солнца всего в 10 раз приводит к разогреву Земли до +1600°C.
✔️Орбиты планет меняются при изменении параметров системы.
✔️Визуализация делает сложные физические законы интуитивно понятными.

Практическая польза:
🟡Наглядное изучение законов гравитации и небесной механики.
🟡Проверка гипотез о влиянии параметров звёзд на планетарные системы.
🟡Использование подобных скриптов в образовательных курсах по физике и астрономии.
🟡Эти проекты могут стать основой для более сложных астрофизических симуляций.

Вы можете загрузить проекты и изменить параметры — например, попробовать добавить новую планету или изменить гравитационную постоянную.

🎓 Школа моделирования с 18.02
🧑‍💻 Расписание бесплатных тренингов
  • 🔥 14
  • 👍 10
  • ❤ 2
Post #658 4.32K
Engee + Git = единый процесс разработки

🔥 Друзья, до старта Школы системного моделирования остаётся совсем немного времени — уже на следующей неделе начинаем занятия.

Сейчас мы активно готовим материалы для школы, и в процессе записали отдельное видео про работу с Git в Engee. Поняли, что тема важная и полезная не только для участников ШСМ, поэтому решили поделиться ею со всем сообществом.

В видео разбираем основы использования Git прямо в Engee:
✔️ как вести разработку моделей и расчётов аккуратно и прозрачно;
✔️ как фиксировать изменения и понимать, что и зачем было сделано;
✔️ как спокойно экспериментировать, не боясь «сломать» рабочую версию;
✔️ как уйти от папок вида model_final_v3_really_final.

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


Смотрите приложенное видео, разбирайтесь, пробуйте у себя в проектах.
🔗 Запасная ссылка

И да, если вы планировали присоединиться к Школе системного моделирования — самое время. Обучение стартует совсем скоро, регистрация ещё открыта.

Будет интересно
!
  • 🔥 17
  • 👍 10
  • 🤩 4
  • 🤗 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →