Перейти к содержанию
    

_pv

Свой
  • Постов

    4 363
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Весь контент _pv


  1. как отличить неравномерность проезда от неравномерности самой линейки? эталона нет, есть два измерения с известным смещением. можно взять за начальные значения для предполагаемой амплитуды линейки измерения с "синусного" датчика, и считать что едем абсолютно равномерно и линейно, то есть что точки просэмплированы ровно в x_i = dx*i, а не где попало. потом проинтерполировать синусный канал и взять значение в "координате" где должен быть "косинусный" датчик, сравнить с показаниями собственно реального "косинусного" датчика, и потом подвинуть немного и амплитуду и координату x_i так чтобы они совпали, если так много-много раз проитись по всем точкам куда-то оно должно сойтись.
  2. корявость не периодическая, а например какой-то отдельный полупериод из сотни может съехать (по амплитуде - не особо страшно, частоте/фазе прихватив все последующие). то есть нужна коррекция по всей длине (абсолютному углу от 0 до 200Pi), а не средняя по периоду
  3. Есть измеряемая функция f(x), которая похожа на синус конечной длительности, пусть будет ~100 периодов, но достаточно корявая чтобы её нельзя было просто использовать в качестве квадратурного энкодера с заданной точностью. То есть если просэмплировать в двух точках x0 и x0-L/4 и взять арктангенс, получится не достаточно аккуратно, из-за неравномерности и корявости этого "синуса", (период и амплитуда слегка меняются от периода к периоду и есть немного гармоник). Сама f(x) стабильна и не меняется от времени и вдоль этой функции f(x) можно ездить туда-сюда и измерять её, но проблема в том, что нет возможности откалибровать реальное положение x при измерении. То есть проехав по x и измерив f(x) на самом деле измеряем f(g(x)), где g(x) почти линейна (можно каким-нибудь полиномом небольшой степени представить с не очень большими коэффициентами у степеней >1), но, опять же, достаточно корявая и не очень стабильная от измерения к измерению, чтобы просто положиться на точность этой "координаты" и просто померить f(x) для дальнейшей коррекции. проблема курицы и яйца. Но есть возможность прицепить два датчика на определённом, но фиксированном расстоянии d (примерно четверть периода), и получить два измерения A(x) = f(g(x)) B(x) = f(g(x)-d) Теперь надо каким-нибудь образом из двух этих измерений вытащить отдельно f(x) или g(x). По разности B(x) и A(x-d): f(g(x)-d) - f(g(x-d)) как-то должно быть видно что едем не совсем равномерно, от есть отличия g(x) от g(x)==x. И если представить g(x) в виде полинома, то можно начать численно подгонять коэффициенты чтобы эту самую разницу занулить, точнее минимизировать во всех точках, но наверное должен быть какой-то более прямой способ в общем случае превратить N измеренных точек A и B в N значений f и реальной координаты g.
  4. MSPBSL_CRCEngine.h лежит в этой же папке, в нём ничего кроме объявления функций нету контрольная сумма там вычисляется в тех 3 строчках на которые ссылка, они вполне понятные даже С компилятору без каких-либо плюсов. https://godbolt.org/z/5TP48cM5h если он контрольную сумму вычисляет как надо может и подойдёт, а если нет, то даже и не знаю.
  5. #include <intrinsics.h> { PORT_LED |= PIN_LED; __no_operation(); __no_operation(); __no_operation(); PORT_LED &= ~PIN_LED; }
  6. https://github.com/MSP-EricLoeffler/MSPBSL_Library/blob/7b322eaa31564424746581b90af2f2b5ff193b10/Utility_Classes/MSPBSL_CRCEngine.cpp#L118
  7. crc верный, у BSL команд CRC не считается от заголовка и длины, только самой комадны и данных, и начальное значение должно быть 0xFFFF, то есть если на вышеуказанном сайте выбрать CRC-CCITT-FALSE и посчитать CRC от 0x52 0x06 контрольная сумма совпадает, получится как раз 0х1514. то есть 0х14 0х15, если ногами вперёд. и для прошивки CRC проверяется отдельно, там вроде есть отдельная команда для этого.
  8. CRC-CCITT-FALSE (с начальным значением 0xFFFF), и без первых трёх байт, начиная с CMD.
  9. если пищалка такая же хилая, (в китайском модуле её вообще от max232 вроде питают) то на несколько мА можно просто с этой же ноги которая транзистором управляет поставить пару диодов/конденсаторов и сделать charge pump умножитель до нужного напряжения. а так у пищалки там свой механический резонанс уже есть, с какой-то добробностью, и это не совсем ёмкость. попадались схемы с заведением "обратной связи" с самой пищалки чтобы она на собственной частоте сама звенела, но для этого надо дополнительно к кристаллу пищалки подпаяться http://www.circuitsdiy.com/wp-content/uploads/2016/11/simple_piezo_buzzer_circuit_diagram.png
  10. так я наоборот и удивляюсь каким образом ТС умудрился задержку в 10 кадров получить на преобразовании интерфейсов которое на лету происходит без буферизации.
  11. но как? там на один кадр даже буфера нет (а это 6МБайт так-то для 1080), а 10-то кадров где храниться будут и главное зачем? ничего же не ресэмплится, фрейм рейт тот же, просто преобразование интерфейсов, служебные данные/аудио может чуть по другому расположены. https://toshiba.semicon-storage.com/info/TC358743XBG_datasheet_en_20171026.pdf?did=35655&prodName=TC358743XBG https://www.symmetryelectronics.com/getmedia/a3fbf1e8-23e0-4798-997f-e3157b9817d1/GS12170-SDI-HDMI_Bridge_Product_Brief_Rev2.pdf
  12. для 30 штук всё-таки из готовых плат насобрать сильно дешевле будет, хоть и не очень компактно SDI->HDMI (25$) + HDMI->CSI (25$) + raspi (50$?) + HDMI->SDI (25$) данные с дальномера последовательный порт? то есть по цене подходит?
  13. ценник какой-то негуманный совсем, конвертеры SDI<>HDMI туда и обратно и какой-нибудь одноплатник с HDMI входом и выходом раза так в 4 дешевле пожалуй найти можно.
  14. многие гигабиты с HD или 270Мбит разница довольно существенная. можно попробовать совсем из говна и палок, не полностью принять/пережевать видео поток и выдать картинку с наложенным текстом, а попробовать выцепить синхронизацию, там конечно скрамблер и nrzi, но всё равно есть вероятность что если долго вглядываться в бездну... внимательно посмотреть на цифровой поток, издалека, на среднее количество 0 и 1, то, возможно, понаблюдав достаточно долго, начало видео данных по повторяющимся служебным полям можно найти. а потом зацепившись за начало кадра, не особо осознанно испоганить пиксельные данные в нужных местах. как раньше с композитным видео всякими пиками/аврам делали https://nootropicdesign.com/video-experimenter/ качество/надежность решения вполне может оказаться так себе, но если получится цена будет копеечной.
  15. синезуб из браузера насколько знаю по-человечески не работает, то есть здравствуй зоопарк отдельных приложений под всё на свете иос/андроид/виндовс/линукс/бсд... да и мобильный интернет через сотовую связь остаётся пока по wifi к устройству подключились. но раз esp32 может в Station/AP-coexistence mode, из устройства можно ещё и "мост" соорудить, который не только к точке доступа подцепляется, но ещё и инет раздаёт подключившимся пользователям. тогда достаточно подключиться только к устройству и не надо отдельно подключаться к устройству для того чтобы узнать какой ему роутер выдал ip, запоминать его и потом переподключаться обратно в домашнюю сеть. это можно было бы как-то спрятать от пользователя в своём приложении разрешив ему рулить wifi подключениями, но не через браузер.
  16. для случая когда между точками не dt и dt, а dt1 и dt2 тоже наверяка решение есть, но гораздо более корявое. вот синус с неизвестными фазой амплитудой и частотой просэмплирован с добавлением ~1% шума, а затем наименьшие квадраты "угадали мелодию" по первым 7 нотам точкам (желтые на графике), с точностью лучше 1e-3, 0.5893 вместо 0.5897
  17. Там сочетаний по 3 из 5 вроде как 10 штук, можно гораздо больше наусреднять. Но вообще наименьшими квадратами можно подгонять амплитуду фазу и частоту для произвольного количества точек больше 3.
  18. Одна-то кнопка всё же есть - рубильник питания, так что можно сделать костыли в виде работы в качестве точки доступа первые, например, 30сек после включения питания, чтобы, если очень надо, можно было дёрнуть питание и подключиться чтобы поменять настройки, а после 30 сек, если никто не зашёл - пытаться подключаться в ранее заданную сеть. Но в случае подключения к другой сети вместе с телефоном/ПК, а не к точке доступа на устройстве, пользователю ещё надо будет как-то узнать что за адрес устройству выдали и что именно надо в адресную строку браузера писать чтобы к устройству подключиться.
  19. сделать esp точкой доступа и подключаться к ней (так даже есть возможность сразу пользователя автоматически направить на нужную страницу просто при подключении к сети), как минимум для первоначальных настроек, если так уж обязательно надо этот девайс к общей со смартфоном wifi сети подключать.
  20. среднеквадратичное отклонение сигнала и среднеквадратичное отклонение производной от сигнала Y(i) = X(i) - X(i-1), для синуса отличаются ровно в 2*Pi*f раз вы бы пример сигнала приложили, большинство уточняющих вопросов отпало бы
  21. у олимекса нет отладчика на плате,только уарт через ft232r наружу, и насколько помню были какие-то танцы с бубном чтобы флэш прошить через uart bootloader. с привлечением какого-то стороннего софта от spectrum digital вроде. посмотрите на платы лаунчпадов от ti, для тех же с28, они стоят столько же если не дешевле, с более новыми камнями и XDS на плате. и у инфинеона c xmc тоже есть мелкие платы, типа discovery у stm32, там jlink на плате.
  22. эту "помпу" можно к этому преобразователю и приделать для получения -12В а не к отдельному генератору на инверторе пример не совсем подходящий, но смысл думаю понятен
  23. стандартное отклонение производной сигнала поделить на стандартное отклонение сигнала
  24. у tms320c28 АЦП ещё достаточно быстрый, несколько МГц и каналов до 24. Где-то у меня валяется старая плата https://www.olimex.com/Products/DSP/Development/TMX320-P28027/ бралась как-то давно тоже для проверки гипотезы и оцифровки нескольких аналоговых линейных sin/cos энкодеров 20мкм до 1м/c те же 50кГц. smultaneous sampling нету (только два АЦП + мультиплексоры), но интерполятор сделать который момент сэмплирования подтянет у всех каналов к одному времени вроде не особо затратно. А если именно совсем честный simultaneous sampling хочется, то для проверки гипотезы возможно дешевле будет готовую оценочную плату https://www.ti.com/tool/ADS1278EVM-PDK , схема есть, usb bootloader, прошивку свою можно подсунуть. Родная прошивка от ti не то чтобы совсем открыта, но есть какие-то примеры и можно своим софтом данные из АЦП вытащить, с некоторыми ограничениями. Как минимум 8 каналов на 24 бита на 144кГц непрерывно напрямую без обработки в full speed usb не пролезут, но на плате то ли 16 то ли 32МБайта памяти есть. но можно и ft232h вместо "материнской платы" подцепить и все данные на полной скорости в ПК забрать. Ну и с некими танцами с бубном несколько плат пожалуй можно заставить синхронно работать для 16,24, ... каналов.
×
×
  • Создать...