Ich habe eine spezielle Funktion und frage mich, wie ich sie realisieren
soll. Aus den Reihen der Analogtechniker bekam ich zu hören, dass das
u.U. mit einer Schaltung zu machen sein könnte. Da ich das Ganze in
Software brauche, habe ich nun die Idee, das Prinzip der Schaltung zu
verstehen, um es dann umzusetzen.
Ich beschreibe mal, was ich brauche:
Ich habe digitale Daten von einem AD-Wandler, die in Echtzeit in ein
System fließen, dort bearbeitet werden und direkt rausgehen. Die
Datenrate sind wahrscheinlich 100kHz ... 200kHz mit 16 Bit, Daten in
Signed integer von -30.000 bis +30.000.
Nun sollen die tiefen Anteile des Datenstroms unter der optischen
Reaktionsschwelle von geschätzt 24Hz einstellbar um 0...2ms verschoben
werden, während höhere immer weniger verschoben werden bis maximal 1ms.
Das Ganze soll einigermassen linear und kontinuierlich sein und sich bis
zur Blitzschwelle von etwa 5.. 10kHz erstrecken.
Angeblich geht das mit einem analogen Filter, das eine veriable
Gruppenlaufzeit / Phasenverzögerung hat - bestehen aus einem Hochpass
und einem Tiefpass, die zu einem Allpass summieren mit passenden
Eckfrequenzen.
Für den Anfang hätte ich gesagt, teste ich einfach mit folgender
Konfiguration und addiere dann noch eine kontinuierliche
Phasenverschiebung.
Ich bräuche also zunächst folgenden ungefähren Frequenzgang (in der
Annahme, dass das logarithmisch geht):
10Hz : 1,0 ms
20Hz : 1,0 ms
------------- Eckfrequenz 1
40Hz : 0,9 ms
80Hz : 0,8 ms
160Hz : 0,7 ms
320Hz : 0,6 ms
680Hz : 0,5 ms
1350Hz : 0,4 ms
2700Hz : 0,3 ms
5400Hz : 0,2 ms
10800Hz : 0,1 ms
---------------- Eckfrequenz 2
21000Hz : 0,0 ms
30000Hz : 0,0 ms
Wie liesse sich die Funktion einer solchen Analogschaltung beschreiben?
Moin,
Ja, das wird mit einer Anhaeufung von Allpaessen machbar sein. Aber, um
die Freude zu daempfen: Nicht mit den vorgegebenen Zeiten.
Sondern eher sowas von dem Kaliber:
10Hz :10,0 ms
20Hz :10,0 ms
------------- Eckfrequenz 1
40Hz : 9,9 ms
80Hz : 9,8 ms
160Hz : 9,7 ms
320Hz : 9,6 ms
680Hz : 9,5 ms
1350Hz : 9,4 ms
2700Hz : 9,3 ms
5400Hz : 9,2 ms
10800Hz : 9,1 ms
---------------- Eckfrequenz 2
21000Hz : 9,0 ms
30000Hz : 9,0 ms
Nagelt mich nicht auf die genauen Zahlen fest; aber die
Gesamtverzoegerung ist bei so Laufzeitequalizern gerne deutlich
groesser, als das, was man eigenlich haben will.
Gruss
WK
Mit einem Doppel-T-Filter HIHI-Pass + LOW-Pass müsste sich das Im
Prinzip auch machen lassen. Hochpass mit Phasenverschiebung der Tiefen
und Tiefpass mit Phasenverschiebung der Höhen. Müssen eben die
Phasenverschiebungen berechnet und ein Kompromiss gefunden werden.
Das Verhalten kommt aber garantiert nicht so eckig und linear heraus,
wie der TE das möchte.
> Wie liesse sich die Funktion einer solchen Analogschaltung beschreiben?
Das nennt sich Polyphasenfilter.
Abgesehn von: 0 ms sollte das schon machbar sein.
Ist aber nuex fuer Laien.
Moin,
Hups, hab' grad nochmal das gelesen:
Georg B. schrieb:> einstellbar um 0...2ms verschoben> werden,
Damit ist die analoge Allpassloesung raus, wuerd' ich sagen.
Und auch die digitale wird durch die Forderung nach Einstellbarkeit der
Laufzeit bei konstantem Amplitudengang nochmal knackiger.
Bei konstanter Laufzeitdifferenz waeren das halt 1..N Allpaesse, deren
Kettenschaltung dann das gewuenschte Verhalten je nach Anzahl N, die man
bereit ist zu investieren, mehr oder weniger gut approximiert.
Diese Approximation, die dann fuer die N Allpaesse jeweils Frequenz und
Guete liefert, ist was, wofuer es bei Matlab eine Funktion (iirc in
irgendeiner Signalverarbeitungs-Toolbox) gibt, die es bei GNU-Octave
(noch?) nicht gibt. Da darf man sich dann was selber basteln.
Und wenn das dann auch spaeter noch einstellbar sein soll, dann steigt
a.) der Rechenaufwand und b.) der Aufwand, die einzelnen Allpaesse dann
alle zur Laufzeit passend einzustellen. Da hat man analog ueberhaupt
keine Chance, imho.
Gruss
WK
EDIT: Ach ja, diese Loesung mit getrennten Hoch- und Tiefpaessen halt'
ich auch fuer unmoeglich. Das kriegt man nicht mit vernuenftigem Aufwand
wieder phasenrichtig zusammengeschaltet: Also hat man dann "Hubbel" im
Amplitudenfrequenzgang.