Добрый день форумчане, есть не чистый сигнал. В матлабе обработал сигнал с помощью высокочастотного и низкочкстотного фильтров, все ок. Пишу приложуху на NodeJS для записи и отображения сигнала. С записью и отображением все получилось, но вот с чистотой сигнала не особо. Есть ли в Ардуино или в NodeJS какие-либо классы, библиотеки, пакеты имплементирующие возможности инструментов ЦОС(цифровой обработки сигналов)?
Александр Скуснов, дело в том, что я готовлю приложение для простых медработников, которые не умеют работать ни в матлабе и не умеют пользоваться консолью. Устройство на ардуино стоит 1500 руб., существующее устройство стоит 25000 руб. Нет возможности обучить простых медработников всей страны Матлабу. Нужно простое приложение, установил, запустил и используй.
Александр Скуснов, поэтому нужно программное решение извлечения 50Гц на этапе записи с помощью ардуино. Или инструменты ЦОС, которые можно исеользовать в среде NodeJS для того, чтобы эту возможность можно было интегрировать в приложение.
Армянское Радио, проверенный модуль ad8232, немного усовершенствованный. Прогноз диагноза по ЭКГ. В данный момент это всего лишь экспериментальное устройство, над доработкой работаю не один (я просто программист), так же физики-радиотехники из Академии Наук. В дальнейшем подключатся врачи, которые будут исследовать безопасность для организма. Убивать никого не собираемся, а лишь придумываем.
Adik Izat, Насколько я понимаю, там есть возможность написать программу на Матлабе, а запихнуть её в Ардуино (компьютер с Матлабом уже не понадобиться). Просто почитайте статью, изучите все варианты.
Adik Izat, какая частота дискретизации у сигнала, который вы пишете? Какой длины вам нужен семпл для обработки? На базе какого процессора у вас ардуина?
Армянское Радио, проверял, в некоторых случаях приходит 0, очень редко. В полных 15 секундах 3-7 случая. Такие случаи я пофиксил арифметической средней переднего и следующего значения.
Армянское Радио, в бодах наверное. В ардуинке в методе baudRate() указан параметр 64000. А какая еденица измерения хз. А че есть какая то формула для чего-то? Или есть готовый фильтр?
Армянское Радио, а можете теперь объяснить как для чайника?) Я просто до этого разрабатывал только модули под веб-сервисы, с внешними устройствами имею дело впервые.
Adik Izat, Ну, при частоте дискретизации 32000, вы каждую секунду получаете 32000 байт отсчетов. А в USART вы можете записать 8000 байт в секунду. Отсюда неувязка.
Вам нужна скорость под 256 килобит, чтобы успевать заслать в ПК все семплы (потому что бодрейт, на самом деле, надо делить не на 8, а на 10, так как там стартовые и стоповые биты присутствуют).
Что касается фильтрации сигнала, возникает вопрос к вашим математикам, потому что фильтров существует довольно много, и какой из них лучше подойдет - это к ним вопрос.
Ну и главный вопрос - а откуда у вас шум-то взялся? Если устройство у вас собрано абы как, естественно, оно будет ловить помехи. С наводками надо бороться в первую очередь правильной конструкцией устройства, а уже потом пытаться программно убрать косяки.
Армянское Радио, я так понял, что я где-то должен поменять либо частоту дискредитации, либо бодрейт? Потому что устройство отправляет больше бит, чем успевает обработать компьютер. Это у меня скорее будет вопрос к физикам, какие значения поставить. Я использовал дефолтные скрипты от разработчиков модуля, только бодрейт поменял с 9600 на 32000. Насчет фильтров я вас понял, спасибо, нужно найти математика!
А насчет конструкции... Получается существуют решения удаления 50Гц с помощью каких-либо компонентов? Это мне кого найти надо или попросить? Физика?
Инженера. Нужно смотреть, как собрано ваше устройство. Если что, у меня есть диплом математика в тумбочке, и больше 10 лет опыта разработки всякого железа.