Как рассчитать частоту вибрации (Гц или G или эквивалент) с помощью датчика акселерометра мобильного телефона? - PullRequest
0 голосов
/ 18 января 2019

Я занимаюсь разработкой мобильного приложения для Android. Я хотел бы рассчитать частоту вибрации, используя датчик акселерометра, который обеспечивает m / s ^ 2 трехосный выход (x, y, z). Образцы: х: 9,89403849 y: 5.99348859 z: 10,9458495

Это приложение React Native, и я использую библиотеку https://react -native-sensors.github.io / docs / Usage.html для доступа к выходу датчика.

constructor() {
  super();

  this.state = {
    value: null
  }

  setUpdateIntervalForType(SensorTypes.accelerometer, 1000);
}

componentWillMount() {
 const subscription = accelerometer.subscribe(({ x, y, z, timestamp }) =>
    this.setState({
      value: z
   })
 );
}

Можно ли рассчитать частоту вибрации, используя вышеприведенный вывод датчика мобильного акселерометра, и как?

1 Ответ

0 голосов
/ 18 января 2019

Вам необходимо собрать выборочный временной ряд данных ускорения, а затем применить преобразование Фурье , чтобы разложить данные на составляющие частотные составляющие, предполагая, что сигнал вообще отсутствует. Есть несколько вещей, которые следует учитывать:

  • Данные должны иметь временное разрешение, которое по крайней мере на порядок меньше ожидаемой частоты
  • Выборка должна иметь общую длину, по крайней мере, в несколько раз превышающую период ожидаемой частоты
  • Если нет четкого сигнала (телефон не работает и т. Д.), Результат вычисления все равно будет, но вам необходимо иметь определенную степень достоверности, чтобы отклонить результаты ниже некоторого произвольного порога достоверности.
  • Данные ускорения содержат три пространственные оси, но вам нужен только один номер результата? Затем вам нужно подумать, как определить это число в терминах трех отдельных частот, которые могут возникнуть в результате расчета.
...