ПОЧЕМУ Я УШЁЛ ОТ THETIS
Долго не было новых статей — пора объяснить. Никакой драмы, никаких обид.
Есть вещи, которые стоит проговорить спокойно и по делу.
Thetis — отличная школа, но не цель
Всё, что мы умеем сегодня про SDR, пришло оттуда: из чтения кода,
разбора багов, понимания, почему работает именно так, а не иначе.
HPSDR-сообщество, авторы Thetis, люди на форумах — это настоящая
школа инженерии в прямом эфире. Уважение к ним неизменно и останется
неизменным.
Но школа — это этап. Целью никогда не было «поддержать ещё один форк»
или «сделать немного лучше». Целью было понять SDR изнутри — до
такта, до структуры данных, до самого тихого шва в коде. Когда ты
понимаешь систему полностью, ты неизбежно начинаешь видеть её
ограничения.
Легаси — это не плохой код. Это парадигма своей эпохи
Важно понимать: проблема не в людях и не в конкретной версии.
Проблема в парадигме.
Код, написанный в 2000-х и развивавшийся с тех пор, несёт на себе
отпечаток эпохи: однопроцессорные машины, CPU-bound DSP, монолит,
в котором обработка сигнала и пользовательский интерфейс срослись
в одно целое. Авторы блестяще решали задачи своего времени — и
решили их. Но именно эти архитектурные решения формируют потолок,
выше которого система уже не поднимется, сколько бы сил в неё
ни вливали.
Возьмём для примера фильтры. В легаси-подходе фильтр — не
самостоятельная сущность, а часть монолитной DSP-цепи: он привязан
к моде, вшит в обработку, и его параметры — это состояние кода, а не
данные. Всё, к чему сегодня привык оператор — живая полоса,
независимые фильтры приёмников, гибкие пресеты — превращается в
акробатику разработчика вместо строки конфигурации.
Это не упрёк. Это признание: такие решения делали систему возможной
в ту эпоху. Но они же делают её тупиковой для следующей. Каждое
новое требование — хирургия ядра, а не новая строка.
Бессонные ночи и потолок
Можно, конечно, копаться в старом ядре годами и честно пытаться его
улучшать. Я, честно говоря, и не особо планировал — так получилось.
Представьте, сколько бессонных ночей ушло на улучшения: где-то снял
микросекунду, где-то вытащил искажение из звукового тракта, где-то
победил баг, который жил ещё с прошлого века.
И в какой-то момент замечаешь простую вещь: ночи прибавляются, а
потолок не двигается. Не потому что ты слаб — потому что потолок
вшит в саму архитектуру. Вот это и есть момент, когда понимаешь:
пора не латать чужое, а строить своё.
Почему даже DSP 2.0 — не образец
Когда в сообществе заговорили о переписанном DSP, многие ожидали
качественный скачок. Мы тоже внимательно смотрели. И увидели то же
самое: код стал новее, но парадигма осталась прежней. Переписанный
монолит в той же архитектуре даёт те же потолки — только на другом
языке.
Если нужны другие потолки, переписывать недостаточно. Нужна другая
парадигма.
Что сейчас
Мы проводим много лабораторных работ. Экспериментируем с
архитектурой. Изучаем то, что легаси-подход в принципе не может
дать: независимость слоёв, живые конфигурации, честную работу с
железом. Работаем над собственным ядром с нуля — не как форк, не как
«ещё одна версия», а как направление, которое выросло из тех же
вопросов, что мы задавали годами.
Результаты опубликуем, когда они станут платформой. Не раньше.
Без дат и обещаний — чтобы не создавать ожидания, которые мы не
хотим нести.
Куда дальше
Мы не уходим из сообщества. HPSDR — это наша экосистема, и мы в ней
остаёмся. Просто наша роль меняется: из поддерживающих — в
исследующих. Будем делиться тем, что можно делить: наблюдениями,
подходами, вопросами. А конкретные инженерные решения — когда они
созреют и станут надёжным инструментом.
До встречи в эфире. 73!
Thank you Yury, you are raising the performance bar for the sdr platform; software as well as hardware. This is definitely “Thinking outside of The Box” and moving forward by removing ceilings which are limitations.
73’s
Joe
WD5Y
Joe: Hi, thanks! Yes, it’s a very difficult path, especially when the goal is clean code. The new DSP is still in its infancy, but it’s getting there gradually; right now, measurements and theory are taking up a lot of time.