1. Додав перевірку на виклик i2s_set_clk — все гаразд.
2. Переписав цикл відносно значення bytesRead, дякую за зауваження
3. Я гадки не маю як отримати реально встановлену частоту дискретизації. Ви б не могли підсказати як її отримати?
Це відноситься до перетворення Фур’є. Мене скоріше цікавить чого фільтр працює з параметрами 0.06 — 0.14.
Так, авжеж
1. Ні, цифровий
2. Якщо передати portMAX_DELAY останнім аргументом, то жодного timeout не буде. Відповідно bytesRead = DMA_BUFFER_LEN.
Прекрасно, красно дякую!
У документації цього не находив.
Дякую за пораду! А часом не підскажете, яка технологія окрім C++ і MatLab є доцільна в якості інструменту для обробки сигналу і його візуалізації у режимі реального часу? (С++ знаю дуже поверхнево)
Дані з ESP передаються по UART протоколу і MatLab відображає графік у режимі реального часу. Також планую паралельно обробляти сигнал. Гадаю розмір даних буде суттєво впливати на швидкість обробки.
Саме так, крім того у мене апаратний ФВЧ 2 порядку і ФНЧ 3 порядку. Мені потрібно мінімізувати шум 50 Гц методом цифрової обробки.
Так, я власне це мав на увазі. Дякую. Мета цього — підвищити швидкодію обрахунків у MatLab.
Тепер все зрозуміло. Реальна частота була в 16 разів менша.40-80 Гц, що не спотворило криву ЕКГ і при цьому дозволило усунути шум 50-60 Гц.
При такому значенні MATLAB фільтрував частоти
Красно дякую вам!