PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Höhe eines Tons messen



sulu
22.08.2006, 10:57
Hi
lässt sich irgendwie die höhe eines tons mit einem Mega8 Controller messen?
Muss jetzt nicht aufs MHZ genau sein, aber so bis zu 20 Stufen wäre schon was.
Denkt ihr, das geht?
Vielen Dank

Crazy Harry
22.08.2006, 11:28
wieso nicht ? eine frequenzmessung machen .... frage ist nur: wie lange steht der ton zur verfügung ? ändert sich der schnell ?

sulu
22.08.2006, 11:39
Hi
der Ton steht bis zu 0,5Sekunden zu Verfügung. Ändern tut er sich max. alle 2Sekunden

sulu
22.08.2006, 14:41
Wie macht man denn en eFrequenzmessung?

ranke
22.08.2006, 14:59
Wie macht man denn en eFrequenzmessung?


Da gibt es verschiedene Methoden. Eine relativ einfache Methode wäre, die Anzahl der Nulldurchgänge der Tonfrequenz in einem bestimmten Zeitfenster zu zählen.

sulu
22.08.2006, 15:08
Ja
gute Idee. Aber wie macht man das praktisch?

ranke
22.08.2006, 15:18
Aber wie macht man das praktisch?


Zum Beispiel:
Tonfrequenz verstärken und mittels Schmitt-trigger in ein Rechtecksignal verwandeln. Dieses Signal auf einen Digitaleingang legen.
Das Rechtecksignal kann dann an einem Digitaleingang ein Interrupt auslösen, was das Inkrementieren eines internen Zählregisters bewirkt.
Durch einen Timer sorgt man dafür, daß der Interrupt nur in einem definiertem Zeitfenster möglich ist.
Sicherlich sind auch andere Methoden möglich.

E-Fan
23.08.2006, 17:21
...Da gibt es verschiedene Methoden. Eine relativ einfache Methode wäre, die Anzahl der Nulldurchgänge der Tonfrequenz in einem bestimmten Zeitfenster zu zählen...

Das setzt allerdings vorraus das sich keine weiteren Frequenzen im Signal befinden. (als kleiner Hinweis ;) )
Eine andere Möglichkeit wäre eine FT (Fourier Transformation) oder FFT (Fast Fourier Transformation) Damit kannst Du das Signal je nach Auflösung sehr fein in Frequenzbereiche und den dazugehörigen Amplituden aufsplitten.
Das dürfte aber sehr knifflig werden. Ich hab nach nem halben Jahr Recherche und rumtesten aufgegeben.