Посмотрел доклады на ютубе, очень хочется надеяться что действительно гиперболическое поле есть и работает как предполагается. Трудно в это поверить, и хотелось бы убедится лично) В математике и физике я не очень силен, но с точки зрения программиста у меня есть некоторые идеи, которыми я хочу поделиться.
Для измерения скорости течения времени вы используете пару высокостабильных кварцевых генераторов. Из темы про малую пирамиду и видео докладов нашел такие параметры генератора:
- частота - ~10МГц
- стабильность - 10^-11
Насколько я понимаю, делаете вы это либо логическим анализатором, либо запоминающим осциллографом. Объем памяти, частота дискретизации и разрешение накладывают ограничения на записываемый диапазон времени.
Для задачи измерения градиента скорости течения времени на мой взгляд подошла бы следующая система:
Датчики:
- несколько кварцевых генераторов (не меньше одного);
- датчик пуска болванки;
- датчик удара;
- датчики вибрации (опционально).
Датчик пуска болванки может быть выполнен в виде светодиода и фотодиода между которыми пролетает болванка скажем в метре-двух от “наковальни”. На выходе бинарный сигнал по фронту его начинаем запись данных в память.
Датчик удара в простейшем варианте разомкнутый подпружиненный контакт, который болванка своим весом замкнет) Либо можно использовать что-то умнее.
В качестве датчика вибрации (если они вообще нужны) можно использовать акселерометры, есть дешевые и удобные цифровые, но я не уверен в достаточной скорости реакции… возможно что-то типа геркона, который сможет от ударной волны замкнуться и дать дребезг подойдет лучше (такие датчики можно ставить рядом с генераторами для фиксации момента прихода ударной волны). Сигнал также бинарный.
Попытаюсь изобразить схему эксперимента:
В итоге мы имеем несколько датчиков у которых одинаковый выход - бинарный. Нам нужно его записать как можно более детально на интервале времени существования градиента скорости течения времени вызванного гиперболическим полем.
Коробка “Логгер” это некоторое устройство, которое способно записывать данные со всех поступающих датчиков и генераторов после срабатывания датчика бросания болванки.
Отмечу два подхода записи данных:
- запись данных по событию (фронту/спаду любого из сигналов)
- запись состояния всех сигналов N раз в секунду
При первом подходе если ограничится использованием не более двух генераторов, то данных с частотой более чем 10Мгц*2(кол-во генераторов)*1.5(ограничим максимальное изменение частоты)*2(фронт/спад сигнала) = 60 Мгц не придет, а это вполне по силам относительно бюджетному современному железу. Но в таком случае будет сохранена информация о времени прихода фронта и спада сигнала, что дает достаточно много качественной информации для анализа.
Хотелось бы в качестве железа для записи данных использовать что-то дешевое и простое в разработке. Но нужно прикинуть поток данных, который мы должны сохранять.
Важно определится с минимальной частотой дискретизации, необходимой для определения изменения частоты генераторов. Я не знаю параметры при которых был произведен эксперимент, соответственно не знаю изменение скорости течения времени от нормальной величины, поэтому могу предположить следующее:
- если отклонение существенное > ~20% хотя бы на несколько периодов работы генераторов, то это можно зафиксировать записью N раз в секунду. При N > 10* частота генераторов.
- если отклонение значительно меньше или вообще доли процента, то придется использовать запись по событию (и фронту, и спаду сигналов). Возможно придется пойти на какие-то жертвы (пропуск периодов сигналов) т.к. может не хватить скорости записи в память. Также в этом случаем можно на лету пытаться анализировать период сигнала с генератора и только в случае его сильного отклонения записывать данные.
Схема простого логгера “N раз в секунду” приблизительно выглядит так:
Немного о счетчике “абсолютного времени”. Мы не можем писать в память на огромной частоте. Пропускная способность интерфейса памяти или PCI-e зависит от размера пачки записываемых данных, да и частота его фиксирована. Поэтому для более точной фиксации времени на которое было снято состояния сигналов можно использовать счетчик, который работает на большей частоте. Можно использовать максимально возможную частоту на которой способна работать ПЛИС. Во время дампа состояния сигналов также сохранять и значение счетчика “абсолютного” времени. Это и будет наши эталонные часы относительно которых мы измеряем скорость течения времени других часов в разных точках пространства вокруг болванки.
Мы имеем два высокостабильных прецизионных термостатированных кварцевых генератора с частотой 10МГц.
Предположим нам достаточно частоты дискретизации в 100МГц.
100’000’000 раз в секунду * 2 (генератора) / (8*1024*1024) = поток ~24 мегабайта в секунду
если писать и “абсолютное” время, то объем вырастет:
Пусть разрядность счетчика времени 30 , что при 400Мгц даст 2^30 / 400’000’000 = период 2.68435456 секунды
100’000’000 раз в секунду * 30(время) / (8*1024*1024) = поток ~358 мегабайта в секунду.
Конечно, разрядность счетчика можно сократить и очень сэкономить, а ловить периоды и восстанавливать метки вермени программно позже. Так, например, можно писать каждый раз только дельту от последней полной записи метки времени.
Если разрядность дельты 10 бит, то поток в сумме с полными записями меток будет уже около ~145 мегабайта в секунду.
Сигнал с датчика удара впринципе не нужно логгировать, достаточно записать время его первого фронта.
О железках и ценах…
В идеале хотелось бы обойтись дешевым железом за 30-100$ чтобы эксперименты могли проводить все желающие без сильных вложений. Но не факт что это возможно на данный момент.
Генераторы.
Мне кажется можно провести эксперимент с обычными 0.14 ppm - 2.5 ppm дешевыми (1-40$) генераторами и если никаких отклонений нет (собственный шум дрейфа частоты забил изменение частоты гиперболическим полем), то смотреть в сторону чего-то стабильнее. Первое что попалось 1-50 ppb за 150-200 евро http://ru.farnell.com/oscillators-oven-controlled-ocxo
Также попались новости о IQRB-1 (Frequency 10.0MHz, Frequency Tolerance ±0.05ppb), но где и почем я не знаю...
Железо для логгера.
За 30$ есть что-то вроде такого: marsohod
Думаю талантливый и настойчивый инженер смог бы добиться каких-то результатов и с таким железом, но занятие это еще то)
Из более мощных и интересных решений попалось Lattice ECP5 PCI Express Development Kit - за 156$ имеем PCI Express x4, гигабитный Ethernet и 8GB LPDDR3 на борту
Никогда не кодил под Lattice, не знаю что у них за инструменты и какая лицензия, но за свои деньги железка очень даже интересная.
Со студенческих времен у меня лежит плата с Xilinx, возможно на ней достаточно памяти и достаточно быстрый чип.
Дмитрий Геннадиевич, пожалуйста уточните параметры генераторов (а лучше напишите модель или ссылку на даташит), и режимы в которых вы проводили измерения. Возможно математически вы можете оценить какое в теории изменение частоты нужно отловить, это позволило бы уточнить требования к генераторам и железу.
Не знаю получится ли у меня что-нибудь дельного, если появятся какие-либо стоящие наработки, то я о них отпишусь.
Возможно кто-то видит ошибки в моих рассуждениях или может предложить другую реализацию, напишите пожалуйста!