Rezonans & Vellaine
Rezonans Rezonans
Привет, ты когда-нибудь представляла себе подиум, где свет, музыка и даже ткани реагируют на один и тот же алгоритм? Я мог бы настроить частоты, чтобы они совпадали с резонансом материала. Как тебе такая идея?
Vellaine Vellaine
Конечно. Представь себе подиум как живой организм, где каждый световой импульс и нота — это клетка, реагирующая на микро-вибрации ткани. Если тебе удастся возвращать резонанс материала в живой алгоритм, ты создашь синхронизированную сенсорную волну, которая разрушит привычную иерархию показа и превратит его в моментальное, основанное на данных повествование. Это смелое решение, безусловно, но главный вопрос в том, достаточно ли у тебя оперативной системы датчиков, чтобы не допустить сбоев. Если получится – ты перепишешь само понятие шоу.
Rezonans Rezonans
Звучит неплохо, но главный вопрос – задержка сигнала от датчика. Если АЦП будет считывать микровибрации ткани с частотой 48 кГц и я смогу обрабатывать это менее чем за 10 миллисекунд, мы останемся в фазе. Думаю, нужен небольшой процессор обработки сигналов с пользовательским FIR-фильтром, настроенным на резонансную частоту ткани, а затем этот сигнал подавать на контроллер DMX и аудиовыход с минимальной задержкой. Я сделаю прототип всей системы на Teensy и проведу тест в реальном времени. Подскажи, какие характеристики датчика ты рассматриваешь, и мы посчитаем все параметры.
Vellaine Vellaine
Да, Teensy – неплохая отправная точка, но тебе понадобится датчик, способный работать с частотой не менее 48 кГц и с джиттером менее миллисекунды. Капацитивный резонансный датчик с полосой пропускания 10 кГц, уровнем шума 5 мкВ и встроенным фильтром нижних частот поможет сохранить сигнал чистым. Добавь к этому 80-мегагерцовый ARM Cortex-M7, двухступенчатый FIR, настроенный на пик частоты 3,5 кГц у ткани, и получишь задержку «конец-в-конец» около 5 мс. Не забудь про DMX-соединение без смещения тактовой частоты – иначе свет будет отставать от музыки. Дай знать, когда будешь готов посчитать все цифры – места для традиционных задержек нет совсем.
Rezonans Rezonans
Ладно, параметры жёсткие, но вполне посильные. Вход – 48 килогерц, шум – 5 микровольт, полоса пропускания – 10 килогерц – это даёт нам чистый сигнал. M7 на 80 мегагерцах позволит запускать двухступенчатый FIR в реальном времени; 5 миллисекунд задержки будет достаточно, если DMX не будет сдвигать тактовый сигнал. Я настрою Teensy в качестве испытательного стенда, подам синтетический тканевый паттерн и измерю время прохождения сигнала туда и обратно. Если всё сходится, мы готовы к живой демонстрации. Давайте посчитаем коэффициенты FIR и синхронизируем тактовый сигнал, и увидим, справится ли система без сбоев.
Vellaine Vellaine
Замечательно, зафиксируй 32-таповый sinc-фильтр с окном Хэмминга, центрированный на 3.5 кГц, 16-битные коэффициенты – и ты попадешь в целевые 5 миллисекунд. Используй кварц на 12 МГц и PLL от Teensy, чтобы снизить джиттер ниже 100 пикосекунд – DMX этого не выдержит. Как только интегрируешь синтетический слой, просто следи за огибающей и убедись, что выходной сигнал FIR остаётся в пределах 0.5 микровольт; это будет твоим тестом на работоспособность. Если параметры будут верны, демо покажется таким же плавным, как сама ткань.
Rezonans Rezonans
Понял, зафиксирую 32-х тапочное окно Хэмминга с sinc-функцией на 3.5 килогерца, 16-битные коэффициенты. Кристалл на 12 мегагерц и PLL на Teensy должны удержать джиттер ниже 100 пикосекунд. Протяну синтетическую нить через датчик, буду следить за огибающей и убежусь, что FIR остается в пределах 0.5 микровольт. Если все сложится, демо покажет себя просто безупречно. Пойдем к прототипу.
Vellaine Vellaine
Замечательно, вот и оптимальная точка. Просто сделай короткий ISR, чтобы захватить поток АЦП, запусти FIR в режиме DMA, чтобы не перегружать процессор, и выведи результат в 48-битный пакет DMX. Когда запустишь первый живой прогон, следи за огибающей в реальном времени – если даже миллисекунда задержки, увидишь, как мерцают огни. Если всё будет чётко синхронизировано, у тебя будет прототип, способный превратить взлётную полосу в представление, управляемое данными. Давай, нажми кнопку сброса, и посмотрим, как конструкция затанцует под свой алгоритм.