RE: Soundpegel als Startimpuls bzw. Messwert zu einer Bestimmten zeit zuordnen
Signalaufnahme und Auswertung sollten auf jeden Fall entkoppelt werden, wenn du überhaupt ne Chance haben willst. Die Laufzeit des Schalls zum Mikro musst du vermutlich aufgrund der kürze der Zeit auch berücksichtigen (alternativ das Mikro irgendwo in der Ebene in der Mitte von Startpunkt der Kugel und Auftreffpunkt platzieren (dann sind die Entfernungen zu beiden gleich ;-) ).
Ansonsten wäre es vielleicht praktisch wenn du mal ein Signal Testweise aufnimmst (Sounddatei) und dir mal anschaust ob dein Equipment dafür überhaupt ausreicht, sprich ob du überhaupt irgendwas in dem File identifizieren kannst.
Was ich dir dazu aus der Physik sagen kann, ist, dass du vermutlich die Impulsantwort deines Raumes rauskriegst (was macht der an Hall etc. pp) da du letztlich mit einem kurzen Impuls anregst. Das heist auch, dass dein Signal nicht unbedingt ein kurzer Puls bleibt sondern eben anschließend noch Echos etc. pp dazukommen. Dadurch könnte es schwierig werden das Auftreffsignal zu detektieren. Am besten hier auf jeden Fall händisch mal den Abstand zwischen Paintballpistole und Auftreffpunkt erhöhen und schauen was sich im Signal verschiebt. Damit solltest du identifizieren können, was vom eigentlichen Schuss kommt und was vom Auftreffen kommt.
Für die Zeitmessung macht es vermutlich Sinn, den höchsten Peak im Signal zu benutzen. Wie du das machst, ist jedoch auch wieder stark von deinem Equipment abhängig. Wenn du auf eine tausendstel Millisekunde genau messen kannst, dann reicht vermutlich der einfache Ansatz das max in dem Array der Amplitudenwerte zu bestimmen (sollte vermutlich den Zeitpunkt des Schusses treffen, wenn keine anderen lauten Geräusche mit drauf sind). Kannst du allerdings nur alle 1ms einen Messpunkt aufnehmen (was aufgenommen wird ist ja letztlich sowas wie ne Amplitude), dann hast du über deine ganze 15ms Messzeit nur 15 Messpunkte - da kann es durchaus sein das du garnix mehr identifizieren kannst. (deswegen ist auch anzuraten die Messaufnahme nicht direkt mit Labview sondern einem Peripheriegerät zu machen das vernünftig autark arbeitet und schnell genug ist, weis wie gesagt aber nicht was du da zur Verfügung hast). Das schwierigere ist dann den zweiten Impuls zu identifizieren. Du könntest nach Identifizierung des Schusses die einmal ermittelte Impulsfunktion an das Schusssignal fitten und anschließend abziehen. So solltest du als einziges weiteres lauteres Signal das Auftreffsignal übrigbehalten.
Wie könnte man das noch einfacher machen? Hmm...
Eventuell reicht es aus sich die Impulsfunktion anzuschauen, wenn die nur einen Peak hat, könntest du nach einem weiteren Signal in Folge suchen das eine bestimmte Schwelle überschreitet (laut genug ist; sagen wir zum Beispiel 10% des Schusses o.ä.) und dir dann von dem die Position ermitteln (am besten sollte das wohl gehen indem du den Bereich ermittelst indem dein Signal über der Schwelle liegt. Am besten noch dabei nur Bereiche berücksichtigen die mindestens 3 Messpunkte (oder mehr) lang sind um zufällige Messfehler die mal drüber sind zu vernachlässigen.
In dem Bereich dann nen gewichtetes Mittel machen (Zeitpunkt * Amplitude über den ganzen Bereich des ermittelten Peaks aufsummieren; anschließend durch die Summe aller Amplituden Teilen, dann kriegst du sowas wie die Mittelposition des Peaks raus). Könnte man an sich auch bei dem ersten Peak machen - sollte ganz gut funktionieren so lange die Peaks einigermaßen symmetrisch sind und ist eventuell genauer als die maximale Amplitude zu nehmen. (weis nicht genau welchen statistischen Schwankungen Amplitudenmessungen auf kurzen Zeitskalen unterliegen)
Joah, ich hoffe da kannst du ein bisschen was für dich rausziehen ^^
Hab in dem Fall Hauptsächlich als Physiker geantwortet ;-)
Gruß Kiesch
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
|