• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

BLE SoC PHY6202

nikolz

Well-known member
Я его уже видел. Матом ругаться не хочу.
--------
На всякий пожарный случай - тестовый кривой исходник WebBluetooth (HTML + js) от теста:
Самое смешное в том, что такие алгоритмы во всех браслетах, вне зависимости от цены.
Разводят любителей фитнес клубов и здорового образа жизни офисного планктона.
 

pvvx

Активный участник сообщества
Самое смешное в том, что такие алгоритмы во всех браслетах, вне зависимости от цены.
Разводят любителей фитнес клубов и здорового образа жизни офисного планктона.
Причину 'развода' изучили?
Все они делают как тут:
Вместо математической фильтрации окном (типа преобразования БПФ) на sin/cos от базиса 'пилы', они там что-то фильтруют и дифференцируют :)
 

pvvx

Активный участник сообщества
Задача элементарная - найти несущую в диапазоне от 50 до 200 'пульсов' и вести с известной уходом. Будет измерять и когда человек не понимает что на графике. По видео рожи в ютубе :p
Методика давно проработана на определение по камере чуваков со стрессом.
 

nikolz

Well-known member
Задача элементарная - найти несущую в диапазоне от 50 до 200 'пульсов' и вести с известной уходом. Будет измерять и когда человек не понимает что на графике. По видео рожи в ютубе :p
Методика давно проработана на определение по камере чуваков со стрессом.
Экспериментировал с MAX30105. У него три диода и датчик температуры.
пытаюсь получить стабильные показания параметров пульсовой волны.
применение БПФ не решает проблему фильтрации скачков и медленных дыхательных волн.
Задача более сложная, чем кажется изначально.
 

pvvx

Активный участник сообщества
Экспериментировал с MAX30105. У него три диода и датчик температуры.
пытаюсь получить стабильные показания параметров пульсовой волны.
применение БПФ не решает проблему фильтрации скачков и медленных дыхательных волн.
Задача более сложная, чем кажется изначально.
Полностью халявый замер c дерганием/дерганием и пофиг всё:
upload_2019-12-17_14-15-8.png
upload_2019-12-17_14-16-30.png
Итого: F(1)=0.0223502 * 66.8 smps * 60 sec = 89.579602 пулсиков в минуту.
 

pvvx

Активный участник сообщества
применение БПФ не решает проблему фильтрации скачков и медленных дыхательных волн.
Кто вам сказал что нужно классическое разложение на примитивы sin/cos, да ещё с дурным дискретным шагом (БПФ/ДПФ)?
У вас вычислительные мощности на Гегафлопсы простаивают в мелком MCU? :confused: :)
 

pvvx

Активный участник сообщества
Вырежем более качественный кусок и измерим:
upload_2019-12-17_14-49-40.png
Всё совпадает до граммов, хотя замер сделан в сантиметре - двух от датчика c накалом диода до пары мА :)
А далее, учитывая Вейвлет, сделайте правильный базис разложения... Точность вырастет на порядок.
 

pvvx

Активный участник сообщества
Прикидычно функция на пару страниц asm для типового DSP. На Cortex ещё как-то перенесется, но возможно будет тормозить если нужна особая точность (старт показаний после 3-х секунд замера и удержание фазы с вычислением частоты на каждый smps). На ESP лучше и не думать реализовывать...
 

nikolz

Well-known member
Прикидычно функция на пару страниц asm для типового DSP. На Cortex ещё как-то перенесется, но возможно будет тормозить если нужна особая точность (старт показаний после 3-х секунд замера и удержание фазы с вычислением частоты на каждый smps). На ESP лучше и не думать реализовывать...
Все это знаю не только по книжкам, и не только преподавал это, но и делал реальные системы обработки испытаний того что летает.
А то что период первой гармоники будет совпадать с периодом пульсовой волны - это вообще-то азы спектрального анализа.
Но в целом, красивые у вас картинки.
-----------------------------
Относительно применения вейвлет, тут я с вами не соглашусь.
Вообще-то для таких задач используют
метод Карунена-Лоэва, который нашел применение в диагностике заболеваний и прогнозирования послеоперационных осложнений еще в прошлом веке.
--------------------------
Потом его стали использовать в социал. исследованиях поведения и классификации толпы ну и т д
А указанный вами метод можно рассматривать как его упрощение, но с таким же успехом упрощением является и ДПФ.
---------------
Но вопрос в том, что Вы дальше будете делать с полученными коэффициентами.
-----------------------------
Любой математический метод - подобен мясорубки
на входе мясо - на выходе фарш
на входе г-но - на выходе оно же.
 

pvvx

Активный участник сообщества
Вообще-то для таких задач используютметод Карунена-Лоэва

Да-да фамилии с миллионников городского кладбища. А отличаются в реализации парой бит.
Видимо практики переноса на CPU никакой...
Но вопрос в том, что Вы дальше будете делать с полученными коэффициентами.
Непрерывно показывать частоту пульса с точностью кварца :)
Вроде микросхема датчика так и зовется - пульсометр, если её использовать по назначению...
 

pvvx

Активный участник сообщества
И графики для анализа методов получены элементарно. Нажатием кнопочки в Html "Save data.csv" и чтением в программу Power Spectrum Estimate Laboratory (PSE Lab) .
Другое ПО или платное, или не едят text-овые данные. А дописывать в HTML вывод *.wav лень :)
 

pvvx

Активный участник сообщества
И уточнение по:
Но вопрос в том, что Вы дальше будете делать с полученными коэффициентами.
Коэф. никому не нужны. Вообще данные датчики получили распространение по другой причине. Одна из них - исследования пульсаций сердца и связанных с этим явлений в западной системе (США) началось только с 1990 года. Им нужна инфа и проще её собрать с толпы папуасов напяливаюх модные украшения...
 

pvvx

Активный участник сообщества
метод Карунена-Лоэва
Единственное что имеет совпадение из сказанного в методе Карунева-Лоэва-...-...-...-...-...-...-...-...-...-...-...-...-...-...-...-... ...
т.е. всего пару слов:
Одним из наиболее перспективных методов решения этой, очень непростой проблемы является поиск двумерного ортогонального базиса для интегрального преобразования растрового изображения, адекватного задаче распознавания сцены, и такого (что важно), который обеспечивает сосредоточение искомой информации в минимальном числе коэффициентов разложения. Эти - "старшие гармоники" спектра разложения несут, как правило, искомую информацию об интегральных перепадах яркости, в то время как высокочастотные составляющие спектра отражают лишь избыточную информацию, - например, в задаче поиска контуров областей изображения.
Всё остальное - не годится. Частный случай и совершенно другая практическая тема.
 

nikolz

Well-known member
Единственное что имеет совпадение из сказанного в методе Карунева-Лоэва-...-...-...-...-...-...-...-...-...-...-...-...-...-...-...-... ...
т.е. всего пару слов:
Одним из наиболее перспективных методов решения этой, очень непростой проблемы является поиск двумерного ортогонального базиса для интегрального преобразования растрового изображения, адекватного задаче распознавания сцены, и такого (что важно), который обеспечивает сосредоточение искомой информации в минимальном числе коэффициентов разложения. Эти - "старшие гармоники" спектра разложения несут, как правило, искомую информацию об интегральных перепадах яркости, в то время как высокочастотные составляющие спектра отражают лишь избыточную информацию, - например, в задаче поиска контуров областей изображения.
Всё остальное - не годится. Частный случай и совершенно другая практическая тема.
Изображение вообще здесь не причем.
Математически все перечисленные методы предназначены для представления произвольной функции в виде суммы взвешенных базисных ортогональных функций.
Наиболее универсальным является метод Карунена-Лоэва
Этот метод позволяет найти оптимальный базис.
Два других т е фурье и вейфлет - это разложения, которые дают оптимальный базис для функций со специальными свойствами т е не универсальные.
Вейфлет предназначен для функции, у которой в разложении фурье значимы низкочастотные компоненты и высокочастотные и есть нули в середине ряда.
Фурье - для разложение стационарных и периодических функций
----------------------------
Но как я понимаю Вы знаете эти методы лишь в применении к сжатию сигнала или изображения.
Поэтому знаете Вейфлет , поверхностно знаете фурье и совсем не знаете Карунена-Лоэва.
 

pvvx

Активный участник сообщества
Математически все перечисленные методы предназначены для представления произвольной функции в виде суммы взвешенных базисных ортогональных функций.
Забыли от пары циклических буферов с хитрой выборкой и жирными много-битными сумматорами?
Нормальный DSP выполняет команду сложения перемножаемого числа из входного буфера с переходом к следующему адресу выборки на коэф. из буфера с хитрой выборкой, задаются и +- шаг выборок. Буфера ещё и циклические... И всё за одну команду в один или пару тактов...
И чем ваша реализация отличается? :confused: Битами? :)
Но как я понимаю Вы знаете эти методы лишь в применении к сжатию сигнала или изображения.
Поэтому знаете Вейфлет , поверхностно знаете фурье и совсем не знаете Карунена-Лоэва.
Почти не занимался этим. Опять не угадали.
Какие могут быть измерения с сжатием? :eek:
Чем больше raw инфы - тем лучше. Дома или год спустя разгребете на новые составляющие. А во время съемок и/или замеров, например в проф.геофизике ничего выкидывать или сжимать нельзя - испортите данные.
В пром.реализации входные данные преобразуются находу и там вообще нечего сжимать...
 

pvvx

Активный участник сообщества
Изображение вообще здесь не причем.
Там трехмерное преобразование в базисном операторе команды и таких микрух для бытовухи пока нет.
А у нас двумерка. Входная функция по точкам перемножается на зацикленную эталонную - это и есть базовая команда для двумерного DSP.
И не пугайте детей хитрыми 'словесами'...
 

pvvx

Активный участник сообщества
Сверху Снизу