ACCELEROMETER & LOGGER + göra & användning (6 / 9 steg)
Steg 6: Vilken samplingsfrekvens?
Data läsa frekvensen eller samplingsfrekvens, kan ställas in på skissen (se ett tidigare steg), men vilken samplingsfrekvens är bäst?
Svaret är enkelt: så låg som du verkligen behöver, eller bara lite mer för att vara säker. Om du läst alltför ofta, kommer du sannolikt få buller och ton av datan som du inte kanske vet hur man använder.
OK då: Vad är den lägsta samping data som du behöver?
Tja, beror det på dina krav! Ledsen för vaga, men det kan vara lätt att förstå med ett exempel. Om du kör på 100 km/h och vill upptäcka en stötfångare eller en Jättegryta som är 0,5 m lång, är en samplingsfrekvens på mindre än 56 Hz sannolikt inte att upptäcka den, medan en provtagning på 150 Hz får 3 avläsningar på hindret.
Nu: dessa 3 avläsningar blir nog att vara klart åtskilda från bakgrundsljud? Här jag också inte kan ge andra svar som: "Testa det!".
(Teorin säger att om provtagningen görs vid en hastighet på minst två gånger den maximala frekvensen ingår i signalen, så är det möjligt att återställa den ursprungliga signalen. Fortfarande ett hinder, men: det är inte självklart vilket är frekvensen av signalera i exemplet med Jättegryta, så tester verkar vara nödvändiga i alla fall. En numerisk vägledning till Jättegryta fallet: om det finns en huvudsakliga frekvens händelse när bilens hjul är, säg, 5 cm utanför Jättegryta kanten, då en samplingsfrekvens på 1.1 kHz skulle krävas).
Dock lite information som jag har samlat på faktiska samplingshastigheter:
- Normala personliga aktiviteter: 2-10 Hz (för mätningar på kroppen stammen).
- Buss accelerationer för körning kvalitetsmätningar: 20-50 Hz (i vissa fall 1 kHz nämns...)
Slutligen: kom ihåg att maximal samplingsfrekvens i min skiss begränsas av den tid som krävs för att läsa och skriva, som i mitt fall är ca 20-25 ms per cykel. Därför är maximal Samplingsfrekvens för min accelerologger ca. 40-50 Hz.
Som referens: samplingsfrekvensen för MPU6050 är 1 kHz för accelerometern och 8 kHz för gyroskopet. Gränssnitt: med en frekvens på 400 kHz för I2C, den högsta nominella överföringshastigheten data är 2.6 kHz (17 byten (accelerometer + temperatur + gyroskop) på 9 (8 + 1) klocka tics per byte). I andra änden, är överföringshastigheten på SD (?).
Även om jag har inte grävt i ämnet, antar jag att den relativt låga samplingsfrekvensen för denna accelerologer är relaterad till två av dess funktioner:
- (Tror jag) Jag använder inte asynkront dataöverföring som gör att MPU6050. Tillgång till en FIFO-bufferten på MPU kan hanteras via Jeff Rowberg kod.
- Datalagringen görs öppna och stänga den lagringsfilen varje gång data tas emot från MPU, som sannolikt är en mycket långsam process. Detta bör vara en ganska lätt uppgift om en större samplingsfrekvens behövs.