Potik: блок-діаграмний інженерний симулятор у браузері (GNURadio зустрічає Simulink)
- Інженерія , Симуляція
- 09 Apr, 2026
Інженерна симуляція завжди означала встановлення важкого настільного софту. GNURadio для DSP. Simulink для контурів керування. LTspice для схем. Кожен — багатогігабайтний інсталятор, кожен прив’язаний до однієї машини, кожен — стіна між вами і моментом, коли можна нарешті кинути блок на полотно і побачити, як щось рухається.
Potik переносить це полотно у вкладку браузера. Кидайте блоки, з’єднуйте, тисніть Run. Математика виконується на майже-нативній швидкості прямо у вашому браузері. Скануєте QR-код — і ваш телефон приєднується до тієї ж сесії: дивіться на спектр з іншого кінця кімнати, поки симуляція продовжує крутитися на ноутбуці. Без встановлення, без акаунту, без бекенду. Просто URL: scarecrow.com.ua/potik.
Зараз тут є повна бібліотека блоків для DSP і радару. Системи керування — наступні. А далі — будь-що, що вкладається у блок-діаграмну модель. Усе це з самого початку проєктувалося так, щоб виростати у будь-яку інженерну область, де інженери і так думають про коробочки, з’єднані лініями.
Спробуйте просто тут
Якщо вбудований варіант тісний, відкрийте у новій вкладці.
Бачення
Блок-діаграма — одна з найбільш стійких абстракцій в інженерії. Ланцюг обробки сигналу, контур зворотного зв’язку, аналогова схема, скінченний автомат, нейронна мережа — усе зводиться до коробочок, з’єднаних лініями. Кожен серйозний інженерний інструмент рано чи пізно винаходить свою версію цього представлення, бо саме так інженери думають насправді.
То чому кожен інструмент будує свій власний приватний світ? Чому GNURadio не розмовляє з Simulink? Чому редактор у MATLAB відрізняється від редактора у LTspice і від редактора у Modelica? Відповідь здебільшого історична. Чесна відповідь у 2026: так не повинно бути. Браузери вже досить швидкі. Розрив у математичній продуктивності закрито. Візуалізації плавні. Телефони можуть приєднуватися. Усе це поміщається за одним URL.
Ставка Potik у тому, що одного редактора і одного рантайму достатньо, щоб хостити будь-яку область — і що правильний спосіб це доставити — браузерний застосунок, який будь-хто відкриє за п’ять секунд без встановлення, і який працює на ноутбуці і на телефоні, який ви вже носите в кишені.
Шлях до цього бачення конкретний:
- Фаза 1 — DSP-фундамент. ✅ Редактор, рантайм, джерела, фільтри, мікшери, аналізатор спектра, осцилограф. Зроблено.
- Фаза 1.5 — кросдевайс перегляд і дистанційне керування. ✅ Телефон — повноцінний учасник. Зроблено.
- Фаза 3 — Радар. ✅ Повний конвеєр pulse / target / channel / matched filter / range‑Doppler. Зроблено. (Так, Фазу 3 ми зробили раніше за Фазу 2 — Фаза 3 більш візуально винагороджуюча.)
- Фаза 2 — Серйозніше моделювання сигналів. Децимація, інтерполяція, відтворення з файлу, batch-режим, більше зручностей для серйозної DSP-роботи.
- Фаза 4 — Системи керування. Це місце, де ми переходимо з «GNURadio в браузері» в «Simulink у браузері». PID-контролери, передаточні функції, графіки Боде і Найквіста, перехідні характеристики. Робочий приклад: cart-pole стабілізатор або контур швидкості DC-мотора.
- Фаза 5 — Шеринг і екосистема. URL, що шеряться, імпортер GNURadio
.grc, підграфи, які ви будуєте самі, запис і відтворення, плагінна система для ваших власних блоків.
За межами Фази 5: будь-що, що вкладається у блок-діаграмну модель. Симуляція схем. Дискретно-подієва симуляція. Кінематика робототехніки. Mixed-signal. Скетчі архітектур нейромереж. Фундамент будувався, щоб усе це хостити.
Телефон — повноцінний пристрій
Це частина, якою я пишаюся найбільше, і яку, схоже, ніхто інший не робить.
На ноутбуці ви будуєте симуляцію. На телефоні встановлюєте аналізатор спектра, осцилограф або пульт як застосунок — прямо на головний екран, без магазину застосунків, на iOS чи Android. Скануєте QR-код з ноутбука — і ваш телефон приєднується до сесії. З цього моменту все, що ноутбук рахує — спектр, трасування осцилографа, карти range-Doppler — з’являється на телефоні в реальному часі.
Телефон не просто дивиться. Він також керує: тягніть слайдер на телефоні — параметр на ноутбуці їде слідом. Слайдер відчувається миттєвим навіть на повільному стільниковому з’єднанні — без сіпань, без відскакувань на хибне значення.
Дивіться на свою симуляцію з дивана. Підлаштовуйте фільтр з іншого кінця кімнати. Перетворіть три старі телефони на стіну з дашбордами.
Що зроблено сьогодні
Кожен пункт нижче — це щось, з чим можна повозитися просто зараз у живій збірці.
Редактор
- ✅ Кидайте блоки з палітри, з’єднуйте їх на полотні
- ✅ Зберігайте і завантажуйте графи як файли
- ✅ Автозбереження — закрийте вкладку, поверніться пізніше, ваша робота на місці
- ✅ Налаштовуйте будь-який параметр наживо слайдерами, перемикачами і числовими полями; симуляція оновлюється поки тягнете
- ✅ Плавний, відзивний інтерфейс навіть коли математика працює на повну
- ✅ Вихід одного блока може годувати скільки завгодно інших
Джерела
- ✅ Continuous wave (CW) — задайте частоту, амплітуду, фазу
- ✅ Шум — гаусівський, комплексний або дійсний
- ✅ Чирп — розгортка по діапазону частот
- ✅ Стале значення
Обробка
- ✅ Mixer (множить сигнали між собою)
- ✅ Low-pass, high-pass і band-pass фільтри
- ✅ Підсилювач з опційним насиченням
Візуалізація
- ✅ Аналізатор спектра з плавним GPU-прискореним водоспадом, маркерами піків, мишачим зумом і панорамуванням
- ✅ Осцилограф з тригерами free / auto / rising / falling і маркерами на часовій осі
- ✅ Power meter
- ✅ Запис у файл — завантажте свою сесію для подальшого аналізу
Телефон, попаути і шеринг
- ✅ Відкривайте аналізатор спектра, осцилограф або пульт як встановлюваний застосунок на телефоні (iOS або Android, без магазину застосунків)
- ✅ Три незалежні іконки на головному екрані — встановіть лише ті, що потрібні
- ✅ Скануйте QR-код з ноутбука, щоб приєднатися до сесії
- ✅ Телефон показує все, що ноутбук рахує, у реальному часі
- ✅ Телефон також пульт — тягніть слайдери і перемикачі, ноутбук відповідає
- ✅ Дружній до стільника: смуга оптимізована так, щоб навіть повільні з’єднання залишалися плавними
- ✅ Прямий peer-to-peer лінк між ноутбуком і телефоном, коли можливо (оминає релей задля низької затримки)
- ✅ До однієї сесії може приєднатися кілька телефонів одночасно — один редактор, багато глядачів
Радар
- ✅ Pulse generator — формує радарну хвилю передачі
- ✅ Target — задайте дальність, швидкість (Doppler) і розмір
- ✅ Channel — реалістичний адитивний шум
- ✅ Matched filter — підручниковий блок стиснення імпульсу
- ✅ Range-Doppler процесор — перетворює сирий поверт на 2D-карту
- ✅ Range-Doppler view — heatmap з налаштовуваним діапазоном кольорів
- ✅ End-to-end демо: киньте ціль, тягніть слайдер дальності, дивіться, як пляма рухається
Завжди доступне
- ✅ Працює повністю у вашому браузері — без встановлення, без акаунту, без бекенду
- ✅ Математика виконується на майже-нативній швидкості
- ✅ Безкоштовно, відкрито і живе на scarecrow.com.ua/potik
Що далі
Фундамент міцний. Усе далі — це здебільшого більше блоків, більше поліровки і прихід у нові домени.
Більше радару
- ⬜ Sum-блок — чисто комбінувати кілька цілей в одну сцену
- ⬜ CFAR-детектор — перетворити карту range-Doppler на чистий список знайдених цілей
- ⬜ Antenna pattern блок (gain vs angle)
- ⬜ Робочий приклад: повний FMCW радар з трьома рухомими цілями в одному графі
- ⬜ Карта range-Doppler і на телефоні теж (зараз лише на ноутбуці)
Більше моделювання сигналів
- ⬜ Зміна частоти дискретизації всередині графа (децимація і інтерполяція)
- ⬜ Перетворення Гільберта і правильний single-sideband
- ⬜ Batch-режим — крутити фіксовану кількість семплів з прогрес-баром
- ⬜ File source — відтворити запис, який ви зберегли раніше
- ⬜ Частота дискретизації і центральна частота як метадані вздовж ребер
Системи керування
Це місце, де ми переходимо з «GNURadio в браузері» в «Simulink у браузері».
- ⬜ Дійсні (а не лише комплексні) сигнальні потоки
- ⬜ Блок передаточної функції
- ⬜ PID-контролер, інтегратор, диференціатор, насичення, суматор
- ⬜ Джерела step, impulse і ramp
- ⬜ Графік Боде, графік Найквіста, переглядач перехідної характеристики
- ⬜ Робочий приклад: cart-pole стабілізатор або контур швидкості DC-мотора, end-to-end на одному полотні
Шеринг і екосистема
- ⬜ URL, що шеряться — надішліть посилання, ваш друг відкриє вашу точну симуляцію
- ⬜ Імпорт файлів GNURadio
.grc - ⬜ Підграфи — згорнути граф у власний блок, що перевикористовується
- ⬜ Запис і детерміноване відтворення (зафіксувати сесію, поділитися як відео)
- ⬜ Плагінна система для користувацьких блоків
За межами
- ⬜ Симуляція схем
- ⬜ Дискретно-подієва симуляція
- ⬜ Mixed-signal
- ⬜ Кінематика робототехніки
- ⬜ Скетчі архітектур нейронних мереж
Фундамент будувався, щоб хостити будь-що з цього без переписування редактора.
Спробуйте по-справжньому
Відкрийте scarecrow.com.ua/potik на ноутбуці. Киньте CW-джерело і Spectrum Analyzer, з’єднайте, тисніть Run. Натисніть кнопку 🔗 Share, скануйте QR-код телефоном, встановіть Spectrum App на головний екран. Тягніть слайдер на ноутбуці і дивіться, як пік спектра рухається на телефоні в реальному часі.
Якщо хочете спробувати радарний конвеєр, валідаційний граф такий:
Pulse Generator → Target → Channel → Matched Filter → Range‑Doppler
Налаштуйте генератор імпульсів на 1 мс імпульс із PRI 5 мс і чирп −5 кГц до +5 кГц. Поставте ціль на дальність 1500 м і швидкість 30 м/с. Heatmap Range-Doppler покаже одну яскраву пляму. Тягніть слайдер дальності на цілі — пляма їде горизонтально. Тягніть швидкість — їде вертикально. Це робочий радарний симулятор, що працює повністю у вашому браузері, з візуалізацією на телефоні в іншій кімнаті, якщо хочеться.
Через кілька місяців те саме полотно буде хостити стабілізований cart-pole, контур швидкості DC-мотора, аналогову фільтрову схему. Той самий редактор, той самий рантайм, той самий застосунок на телефоні. Просто інші блоки.
Якщо стаття була корисною, підтримайте мою роботу
Теги:
- Dsp
- радар
- системи керування
- блок діаграма
- симуляція
- інтерактив