www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gesangserkennung


Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Lösung zu folgendem Problem gesucht:
In der Schaltung im Anhang soll ein PIC den Gesang von Heuschrecken im
freien Feld detektieren und den Zeitpunkt des Gesangstartes sowie die
Gesangsdauer und die momentane Temperatur festhalten.
Ich habe dazu einen Bandpass mit 9KHz(es handelt sich um relativ
verzerrungsarme Sinusschwingungen) Mittenfrequenz nach dem
Mikrofonverstärker vorgesehen. Ein knackender Ast eines vorbeilaufenden
Tieres allerdings ist so nicht rauszufiltern, das schlägt noch durch
(bei der geforderten Empfindlichkeit). Im Moment arbeite ich an der
Erfassung und Beurteilung der  Signalamplitude vor und nach dem Filter.
Ich gehe davon aus, das ein Signal außerhalb der Bandpassmitte stark
gedämpft wird und ich daher eine signifikante Amplitudendifferenz
bekomme welche ich auswerten kann.
Ich weiß, FFT währe die Lösung, aber hier wohl nicht zu machen oder?

MfG  Manfred Glahe

Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe leider eine falsche Schaltung angehängt.
Nun die Richtige.

Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Heut ist bei mir der Wurm drin, ich wollte die Schaltung anhängen und
nicht die Platine. Also nochmal hoffentlich jetzt.

Autor: Armin Kniesel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es wäre mal interessant zu wissen, wie genau daß die Grillen die
Temperatur anzeigen. Ich denke, Du meinst nicht den Gesang, das sind
nämlich die Reibungen von den Flügeln. Man kann ja an der Anzahl der
Flügelschläge die Temperatur bestimmen.

Armin.

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, daß meine ich schon. Mit Temperatur ist die Umgebungstemperatur
gemeint. Ich bin Elektroniker, diese Schaltung habe ich nach den
Anforderungen eines Zoologen entwickelt.
Ich gehe mal davon aus, daß die Aktivität über den Tag verteilt
gemessen werden sollen und dies noch in Abhängigkeit der
Umgebungstemperatur.
Mein Problem ist nun die Unterscheidung von Gesang und
Umgebungsgeräuschen mit einfachen Mitteln bzw. geringen Kosten da das
Ganze mindesten 5-10 mal gefertigt werden muß.

MfG  Manfred Glahe

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manfred,

schau dir mal
http://www.east.isi.edu/~rriley/PowerAware/Integer... an. Die
8-Bit-FFT mit 64 Punkten dauert auf einem ATmega ca. 33000 Zyklen.

Gruß
Andreas

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur, 23000.

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manfred,
ist deine Aussage: mit 9KHz(es handelt sich um relativ verzerrungsarme
Sinusschwingungen) wirklich von dir ? oder von dem Biologen ?
Und, wenn wirklich 9 KHz dann bitte wieviel Tolleranz ?

Sollten aber die  Grillen wirklich immer in einem sehr eingeschränktem
Frequenzband (z.B. um 9KHz) lärmen, sich aber die unterschiedlichen
'Gesänge' bei 9 Khz nur durch den Rhytmus unterscheiden, würde ich
einen extrem schmalbandigen Bandpass (dafür gibt es ein Reihe guter
IC's), anschließend auf einen Komperator vor einen Zähler setze. Ein
PIC oder AVR kann das dann sehr einfach auswerten.
Warscheinlich ist das aber alles viel komplexer, und mit einer
deratigen Auswertung eines 9kHz Sinus ist es sicher nicht getan.
Es wäre mal interessant welche Informationen aus dem 9kHz Signal in
Wirklichkeit gewonnen werden soll...
Gruß Bernhard

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manfred,

ich würde versuchen die Störgeräusche über ein Zeitfenster
auszublenden. Der Gesang der Grillen ist ja relativ gleichmäsig und von
relativ langer Dauer. Ein Störgeräusch wie das Knacken eines Astes ist
dagegen sehr kurz.

Also wenn der Schallpegel länger als X Sekunden relativ konstant und
über einer bestimmten Schwelle --> Grillen zirpen, wenn nur kurzer
Impuls --> Störung.

MfG
Steffen

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernhardt,
die Aussage ist von einem Biologen aber von mir (aus gutem Grund) mit
einem Scope (ohne FFT) überprüft worden. Die Frequenzen werden (laut
Biologen) ziemlich genau eingehalten da sie ja die jeweilige Art und
sogar den Partner erkennen lassen sollen.
In dieser speziellen Meßanordnung geht es nicht um den Inhalt
(Frequenzspektrum oder Amplitude) des Signales sondern nur um den
Zeitpunkt (Uhrzeit) des Auftretens über den Tag verteilt und die Dauer
eines intermittierenden Gesanges. Im freien Feld sind aber diverse
andere Umgebungsgeräusche vorhanden mit zum Teil erheblichen Amplituden
und diese dürfen die Aufnahmeelektronik möglichst nicht auslösen. Das
Knacken eines Astes, z.B. durch ein vorbeiziehendes Tier, ist in der
vorhandenen Schaltung noch nicht zu unterdrücken (oder nur bei
kleineren Amplituden).

"schmalbandigen Bandpass" Knackende Äste beinhalten auch das
Specktrum welches der Filter durchlassen würde, selbst dann noch, wenn
deren Geräuschpegel um einiges geringer als die Stridulationsgeräusche
währen. Für die Auswertung von Gesangsinhalten werden mit einem
Datalogger und 400KHz Abtastrate alle Informationen aufgezeichnet und
im Labor ausgewertet. Mit dem PC gibt es da kaum eine Hürde.

DSP habe ich bislang auch noch gescheut, der Einstieg ist nicht gerade
trivial! Ich werde mal dem Hinweis von Andreas folgen und es mit der
Kombination von FFT und meiner Methode der Amplitudendifferenz über dem
Filter versuchen.

MfG  Manfred Glahe

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Steffen,
das wird bereits in dem Programm berücksichtigt und gilt natürlich dann
auch für kurzzeitige Amplitudeneinbrüche unter die Triggerschwelle.
Möglicherweise läßt sich nur eine Minimierung von Störeinflüssen
erreichen und keine absolute Verhinderung.

MfG  Manfred Glahe

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man davon ausgeht, daß eine Störung breitbandiger ist, dann kann
man die Amplituden vor und hinter dem Filter vergleichen.

Sind beide annähernd gleich groß, dann dominiert das 9kHz Signal.
Ist aber das Signal vor dem Filter wesentlich größer, hat man ne Menge
Störgeräusche.

Man kann auch erst ein breitbandiges und dahinter das schmalbandige
Filter nehmen und dann die Amplituden vergleichen.


Peter

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alle
Ist folgende Lösung machbar oder würde sie was bringen?:
Nach dem Bandpass einen Resonanzkreis mit 9KHz welcher von dem
Filtersignal angeschoben wird und (hoffentlich) nur dann mit genügender
Amplitude schwingt wenn es sich um ein Sinussignal (über einige ms
Länge) handelt???

MfG  Manfred Glahe

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manfred, ich habe das durchaus ernstgemeint mit dem Zähler. Im
internet gibt es einige Beispiele von recht genauen Gitarrenstimmgeräte
mit einfachen uC's (manche Menschen können Töne bis auf 1 Hz genau
bestimmen / absolutes Gehör). Wenn du die Frequenz misst, sollten
Störgeräusche  kein ernstzunehmendes  Problem darstellen.
Das mit dem Resonanzfilter wird ja z.B. Bei DCF mit einen 77,.. KHz
Quarz gemacht.Ich aber eher  einen IC verwenden.  Bei Linear gibt es
mit Filter CAD ein gutes Programm zur Dimensionierung und Simulation
von Filtern.


Gruß Bernhard

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S. Ich würde den Filter nicht zu steil dimensionieren (deswegen auch
kein Resonazkreis). Das ganze könnte schnell ausversehen zum Schwingen
kommen (4,5 .. 18KHz harmonische Schwingungen  etc.)
Gruß

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernhardt,
leider hat es HP noch nicht geschafft (jedenfalls von meinem garät) den
Bildschirmabzug vom 54645D zum PC zu übertragen, sonst könnte ich Dir
mal die Abbildung mailen.
Wenn das Nutzsignal aus dem Einganssignal extrahiert wurde sehe ich wie
Dein Ansatz funktionieren soll.

"Bandpass (dafür gibt es ein Reihe guter
                  IC's), anschließend auf einen Komperator vor einen
Zähler setze"

Aber das Signal nach dem Filter ist doch noch mit Amplituden behaftet
welche nicht vom 9KHz Nutzsignal stammen und der Komparator würde auch
darauf reagieren und den Zähler weiterschalten.
Oder habe ich das nicht richtig verstanden was Du vorschlägst?

Kannst Du mir da mal eine Schaltung mailen (Resonanzfilter/DCF)?

MfG  Manfred Glahe

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred, der Quarz an sich stellt ein Resonanzkreis dar - Siehe
Ersatzschaltbild in:
http://www.radiobastler.de/Modellbau/learn/quarzoszi.shtml
Hersteller von DCF-IC's verwenden ihn auch so (die Innenbeschaltung
dieser IC'S ist mir aber unbekannt).
Du wirst aber ohnehin keinen Quarz für deine Frequenz finden. Auch ein
Gitarrenseite gibt ein Frequenzgemisch mit Nebengeräuschen ab.
Entscheidend ist das das Nutzgeräusch dominiert (dafür verwendest du ja
schließlich den vorgeschalteten Filter . Du hast ja recht viel Zeit die
Frequenz zu bestimmen. Überlagerte Geräusche erzeugen ja auch nicht
zwangsweise höhere Frequenzen zum Teil gibt es ja auch
Frequenzaufhebungen. Zudem hast du ja wohl auch etwas Tolleranz was das
Frequenzband angeht.
Gruß Bernhard

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Vielen Dank für die Hinweise.
Bin gerade fertig mit der kompletten Schaltung und sogar extrem lautes
Pfeifen oder Händeklatschen stört nun nicht mehr!
Die Erweiterung besteht aus einer BAT45 welche am Ausgang MAX4466
abgreift und einen 1nF läd. Über 330K wird diese, in Abhängigkeit der
Amplitude, gewonnene Spannung dem Komparator auf PIN 4 zugeführt.
Eine extreme Amplitude erhöht nun die Komparatorschwelle und nur 9KHz
können nun diese noch erreichen.

MfG  Manfred Glahe

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Starke Idee ;-)
Gruß Bernhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.