Я делаю проект, в котором я получаю данные акселерометра из специально разработанной измерительной системы.Измерительная система представляет собой акселерометр, подключенный к Raspberry pi 3, на котором выполняется скрипт Python, который производит выборку данных и время от времени записывает их в файл csv.Затем CSV-файлы импортируются на компьютер и запускают FFT-анализ в Matlab.
Я хотел бы рассчитать среднее значение результата FFT из нескольких наборов данных.Это должно быть в состоянии определить, существует ли какая-либо связь по частоте и амплитуде между различными наборами данных.
Когда я запускаю измерительную систему на скрипте Python и Raspberry Pi 3, нельзя сказать, что стабильность частотылучшее.В скрипте Python я установил частоту дискретизации 615 Гц, которую Pi может частично поддерживать до тех пор, пока ему не придется записывать данные в файл CSV.В настоящее время сценарий настроен на запись в файл, когда длина буфера составляет 615 сэмплов, т.е. 615 * 4. Из-за этой процедуры время между двумя сэмплами «сдвигается» с 1,6 мс до приблизительно 20 мс, когда я запускаю запись в формате CSV.Средняя частота выборки, определяемая с помощью matlab, составляет приблизительно 600 Гц, для большинства наборов данных, которые я анализировал до сих пор.Из-за несогласованности частоты дискретизации в скрипте Python и того факта, что я запускаю выборки различной длины, у меня есть частотные бины разных размеров, когда я сравниваю разные наборы данных.
Я пытался выяснить,«Дрейф частоты дискретизации» может дать искаженные результаты БПФ без каких-либо существенных результатов.Результаты FFT, кажется, частично в порядке, но у меня нет никаких ссылок, чтобы сравнить их с.Кто-нибудь сталкивался с какими-либо подобными случаями с БПФ с «неконтинуальной» частотой выборки?
Есть ли какие-либо предложения относительно того, как я могу рассчитать среднее значение для нескольких БПФ, когда наборы данных немного отличаются в «обнаруженной частоте выборки»а длина образца?