Hallo zusammen, ich habe nun den Görtzel Algo am laufen und funzt wunderbar, nur ist mir das noch etwas zu langsam. Vielmehr die Relation von Zeitintervall zu Frequenzgenauigkeit ist ja beim Görtzel das Problem. Gibt es da noch eine Möglichkeit die Tonerkennung schneller zu machen? Ohne das die Frequenztolerenz größer wird? Z.B. Ich habe eine Sampling Frequenz von 1KHz und erkenne einen Ton mit 123 Hz in ca. 163 ms. Dann ist meine Frequenztoleranz auf +/- 6.1Hz genau. Es liegen somit 20 Perioden der Frequenz in einem Zeitintervall. Ich habe schon an die Idee gedacht, den Görtzel Algo zwei mal zeitversetzt laufen zu lassen, dann sind es nur noch 81.5 ms bis zum Update. Oder Vorfiltern? Idee? Gruß Sascha
Periodendauermessung (geht nur ordentlich, wenn es nur die eine Frequenz gibt). Theoretisch reicht bei symmetrischem Signal eine halbe Periode.
Hallo, ja klar, ist aber leider mit viel anderen Störsignalen verbunden. Sonst müsste man mit einem IIR Filter die Frequenz erst herausfiltern. Das geht mit einem Filter 7. Ordnung dann so gut, dass man einen sehr schnellen (Kurzen) Goertzel verwenden kann. Die Kreuzkorrelation will ich nicht anwenden, da kann es auch zu Problemen kommen. Ebenso der Teager-Kaiser Energy Operator verhält sich auch etwas schwierig bei Stösignalen. Muss mal nach dem Sliding Gortzel Algo suchen.... Gruß Sascha
Bei DER ungünstigen Relation von Taktfrequenz und Zielfrequenz brauchst Du ein unsymmetrisches Filter mit händisch optimierten Koeffizienten und einer nichtgranularen Fensterung über die gewünschte Persiode, also Window in Window. Was soll das eigentlich für ein lustiger Ton sein, mit 123 Hz und auch noch 100 Cent Toleranz? Sollten das gfs 123,5 sein?
:
Bearbeitet durch User
Sascha schrieb: > Gibt es da noch eine Möglichkeit die Tonerkennung schneller zu machen? > Ohne das die Frequenztolerenz größer wird? Nein, es gibt mathematische Grenzen an die man stößt. Je schmalbandiger ein Filter desto kleiner die maximale Modulationsfrequenz, mal ganz salopp ausgedrückt. Wenn Du also die Seitenbänder bei plusminus 6Hz abschneidest dann kannst Du nur noch Amplitudenänderungen (ein/aus) von 6Hz und weniger erkennen. Das kann man auch schön beobachten (hören) wenn man z.B. CW mit einem Kurzwellenempfänger hört bei dem man die Bandbreite extrem schmal einstellen kann, je schmaler desto verwaschener die Übergänge zwischen Ton da / Ton nicht da, bis hin zu dem Punkt an dem man bei einem schnellen Geber es nicht mehr sinnvoll mitschreiben kann.
:
Bearbeitet durch User
Hallo, @Bernd: ja wenn der Filter z.B. auf Basis eines IIR Filters realisiert wird, hat er eine sehr große Ein- und Ausschwingzeit. Dann wird die Sache recht verschwommen. @Jürgen: Nein es soll ein CTCSS Subtone Encoder und Decoder geben für eine Relaisstation auf 2m AFU. Ich habe mir da schon existierende Module angesehen bin aber nicht davon begeistert. Die Chipsätze die schnell sind machen es mit einer schnellen und somit ungenauen Vorhersage. Sind natürlich dann auch etwas Noise empfindlicher. Gruß Sascha PS. ich realisiere das in Floating Point gerade alles auf einem ATxmega8E5 in Assembler natürlich Handoptimiert. Schnell genug ist das Ding ja und hat dazu noch einen 12 Bit ADC und 12 Bit DAC.
Der Goertzel ist nicht zu "langsam", sondern die Latenz ist zu hoch. Ich denke Goertzel mehrfach zeitversetzt ist eine gute Lösung, doch davor noch eine Fensterfunktion damit die "DFT für eine Frequenzspalte" nicht durch die (volatile) Diskontinuität im Zeitbereich des abgeschnittenen Signals vom S/N her unnötig verschlechtert wird, also um spektrales Aliasing (fehltriggern im Zeitbereich) zu reduzieren. Die Fensterfunktion erhöht natürlich die Frequenztoleranz, je nach Art, um das 2-3 fache. Der aktuelle S/N bestimmt dann "wie früh" man das Signal erkennen kann.
Hallo, also wenn die Frequenztoleranz größer wird, kann ich den Algo ja auch mit weniger Samples durchlaufen lassen. Habe aber mein Problem schon gelöst, benutze einen digitalen Resonator mit cyclischer dämpfung. In etwa so wie man das analog in den 70Jahren mit der OP-Schaltung gemacht hat. Geht superschnell und hat bei 123 Hz eine Frequenztoleranz von +/- 2 Hz mit einer delay Zeit von ca. 42ms. Göertzel ist zwar gut und recht, aber eher ein schlechter Kompromiss. Gruß Sascha
Sascha schrieb: > digitalen Resonator > mit cyclischer dämpfung wie muss man sich das vorstellen? das erinnert mich eher an ein pendelaudion? kurz unter der anschwingschwelle aber programmtechnisch kann ich mirr das nicht vorastellen. Du baust also einen syntesizer(digitaler oszilator) mischt dessen rückführung mit dem signal und klaust dem regelmäßig amplitude, die zeit bis zum erreichen der Schaltschwelle ist das Kriterium für die Anwesenheit des Tones? ???? Namaste
Sascha schrieb: > Geht superschnell und hat bei 123 Hz > eine Frequenztoleranz von +/- 2 Hz mit einer delay Zeit von ca. 42ms Nur 4 Perioden um 123Hz von 125Hz zu unterscheiden? Das kannst Du Deiner Großmutter erzählen. Wie bereits gesagt: Entweder breitbandig und schnell oder schmalbandig und langsam. Beides zusammen ist eine mathematische Unmöglichkeit.
Hallo, ha das glaubt ihr mir nicht, aber das geht, vorsicht man kann die Ansprechschwelle adaptiv zum Power des Eingangssignal legen, d.h. bei 2Hz Differenz reichen die -6dB völlig aus. BW bewertet auf -6dB +/-2Hz. Dann würden mir sogar im extremfall sogar nur 2 Perioden mit dieser Methode ausreichen, dann würde die Frequenztoleranz deutlich gößer. Die Samplefrequenz bestimmt hier mehr die Frequenzgenauigkeit. Nur Phasendrehung verkraftet meine Methode nicht. Ich könnte diese Methode auch benutzen um sehr schnelles PSK zu detektieren. Weil bei jeder Phasendrehung der Resonator auf null zusammenfällt. Wenn mit einem Vor-Filter (Bandpass) gearbeitet wird darf er kein Ein- und Ausswingproblem haben, das verfälscht die Sache. D.h. kein IIR-Filter nur FIR-Filter verwenden. Gruß Sascha
Sascha bitte sei so lieb und lass uns an deinen Erkenntnissen teilhaben. Ich suche eine Möglichkeit Echos sehr kurzer (kodierter?) Ultraschallimpulspakete auf möglichst kurze Distanz auszuwerten. Dafür wäre eine exakte Vermessung des Dopplereffekts und der laufzeit bei sehr kurzen Bursts mit weniger als 6 vollperioden hilfreich. am libesen würde ich die Halbwellen der echos einzeln vermessen und zuordnen Zum beispiel ein Ping mit nur einer halben Periode erzeugen (sendekapsel aktiv gedämpft) Die einlaufende Reflektion detektieren und vermessen und die freien Nachschwingungen der Empfangskapsel aktiv dämpfen/ hererausrechnen. So ließen sich dann auch amplituden oder frequenmodulierte Bursts erzeugen welche auch nach längere Laufzeit einer bestimmten Aussendezeit zuzuordnen währen. ..... Dafür könnte Dein Verfahren hilfreich sein. Nur kann ich mir noch nicht vorstellen wie man das anstellt. Namaste
:
Bearbeitet durch User
Hallo Winfried J., willst du sowas nicht als entwicklerarbeit vergeben ? Geht es hier um bewegte Gegenstände weil Dopplereffekt angegeben ? Statisch geht das sehr gut, wenn die Datenpackete mit antizyclischen Phasendrehungen ausgesendet werden. Eine halbe periode geht nicht, da der Transducer sowieso nur die Hälfte der Energie abgeben kann. Die Pausezeiten sind adaptiv nach den Echos anzupassen. Ich würde hier mit einem IQ Mischer arbeiten, dann erhälst du noch die Phasenwinkel um besser die Position zu bestimmen. Aber eigenlich geht das doch eher in Radartechnik ein. Du solltest eher zwei Empfänger haben für die räumliche Auflösung. Gut ich kenne deine Anwendung ja gar nicht..... Habe füher auch mal mit Ultraschall einen räumlichen Sensor gebaut der Bewegungen von Objekten zweidimensional (X.Y) feststellen konnte. Das war führ eine Alarmanlage. War sehr aufwendig, weil ein zeitgesteuerter (Rampe) logarithmischer Amplifier schon gebraucht wurde. Gut die AD-Wabdler hatten noch nicht den Dynamikbereich. Aber man muss auch das Eigenrauschen des Wandler betrachten. Gruß Sascha
Hallo Sascha, nein vergeben will ich das nicht. Es soll ein Hobbyprojekt bleiben. Ich war vor vor 33 Jahren Funkmessgast auf einer Ujagdfregatte anschließend habe ich noch ein Seeoffiziersstudium zu 3/4 absolviert. Also Wellentheroetisch ist die Sache klar auch die analogen Möglichkeiten, Bedingungen und Grenzen sind klar. Die Idee Stero zu hören gefällt mir. Auch die "Akustische Kamera" ist bekannt. Interessant wäre halt mehrere laufende Bursts und Echos überlappend zu bearbeiten und dazu muss man sie schnell unterscheiden und zuordnen können. Dazu ist es erforderlich den einzelnen Burst code aufzuprägen und diesen im echo zu detektieren. Auf große Distanzen und staatisch ist es kein Problem. Die Verstärkerungsrampe soll die entfernungsbedingten Leistungsverluste des Echos ausgleichen. Das ist klar, funktioniert aber nur mit Einzelbursts. Aber der Nahbereich wird durch die minimale Burstlänge und die SE Umschaltdauer bestimmt. Bei dem von mir angedachten Verfahren muss ein goßer Dynamikumfang berücksichtigt werden ebenso wie die Überlagerung diverser Wellen. Ich muß also auch die Wellenform auswerten um Interferenzen und Schwebungen und Dopplerverschiebungen zuordnen und darstellen zu können. Dafür bedarf es schnellerer Auswertungsmethoden als es mit analogen oder gar passiven Filtern möglich ist (Einschwingdauer, Nachschwingen) Damit scheiden alle Resonazfilter aus. Nachdem Fledermäuse das perfekt beherrschen ist bewiesen, dass es möglich ist. Sie vermögen ihren Flügelschlag so anzupassen, dass sie zwischen gespannten Fäden kleiner ihrer halben Flügelspanne hindurch Slalom zu fliegen. Was auch bedeutet das sie Entfernung und Winkel Abstand so wie die Annährungsgeschwindigkeit hinreichend schnell auswerten können. um nicht hängen zu bleiben. Davon gibt es Infrarothochgeschwindigkeitsaufnahmen. Jetz interressiert mich deine schnelle Frequenzauswertung mittels Digitalfilter. Das Verfahren kann ich mir noch nicht recht vorstellen. Namaste
:
Bearbeitet durch User
Winfried J. schrieb: > Nachdem Fledermäuse das perfekt beherrschen ist bewiesen, dass es > möglich ist Da stecken aber auch einige Hundertausend mehrdimensional verschaltete und eintrainierte Neuronen dahinter, während man in FPGAs mit einigen TAPs auskommen muss :-) > Interessant wäre halt mehrere laufende Bursts und Echos überlappend > zu bearbeiten und dazu muss man sie schnell unterscheiden und zuordnen Das geht üblicherweise mit mehreren Kanälen unterschiedlicher Frequenzen und Sequenzen die auf den anderen Kanälen zeitrichtig abgezogen werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.