Administrator
Beiträge: 10.129
Themen: 165
Registriert: Jun 2005
...das läuft auf irgenso ein adaptives Kurven-fitting raus....
nicht ganz easy....weil ja im voraus keine fixen Orientieungspunkte da sind...
der "maximum" fit ist (ich denke gerade , wie ich das machen würde...) am einfachsten mit ner Kreuzkorrelation zu finden
das bedeutet aber auch, mega-FFTs durchzurechnen...eieiei...
...aaahh...sehe...du dachtest an das gleiche
Don't worry about getting older. You're still gonna do dump stuff...only slower
Udn damit wäre dann das Thema eigentlich auch schon erledigt, denn nach der Synchronisation, Invertierung und Normierung können wir die ganze Datei durchrechnen.
Dazu werde ich die Fehlerabweichung mit einem konstanten Faktor (zum Beispiel 0,5) gewichten und die gewichteten Fehlersamples zur Orginaldatei - Sample für Sample - addieren. Also erstmal rein 1-dimensional.
Administrator
Beiträge: 10.129
Themen: 165
Registriert: Jun 2005
..hmm..
1. wieso 0.5 gewichten ? -- dachte diff. voll abziehen
2. für ne wirklich genaue Subtraktion muss der Zeit-versatz auch extrem genau ermittelt werden (speziell für hohe Frequenzen)...im sub-sample-bereich , d.h man müsste interpolieren und den ganzen traraa...
Don't worry about getting older. You're still gonna do dump stuff...only slower
Bei der Phasensynchronisation hol ich mir ein neues Wort von der Platte und schiebe es in einen "FIFO". Bei einem FIFO fällt ein Wort raus und es kommt ein neues Wort dazu.
Um nun aber nicht alle Worte um jeweils eine Position verschieben zu müssen (ein FIFO ist eigentlich ein Schieberegister), verwendet man einen Index, der jeweils auf die Speicherposition des ältesten Wortes zeigt und dieses mit dem neuen Wert überschreibt. So hat man die Funktion eines FIFOs mit einem einzigen Schreibzugriff erledigt!
Nachteilig ist bei dieser Konstruktion jedoch, dass alle Indizes auf die Obergrenze des Buffers achten müssen. Falls sie diese überschritten haben, so müssen sie wieder an den Anfang des Buffers gestellt werden. Derartige Indizes laufen also erst hoch, kriegen dann einen Schreck und beginnen daraufhin wieder am Anfang. Sie laufen sozusagen im Kreis - in einem Ring. Der Konstrukt heißt daher Ringbuffer.
So hat man einen blitzschnelle Beschreibung des Buffers erreicht (man liest ja nur ein weiteres Wort von der Platte) und einen - durch die permanente Grenzenkontrolle - etwa verlangsamte Auslesung. Da ich bei der Synchronisierung jedoch nicht jede Bufferposition lese, sondern viele zwischendurch überspringe, überwiegt der Vorteil der schnellen Speicherung.
Nein, nein... das geht hier schon weiter. Aber nur langsam.
Ich wäre wesentlich mehr motiviert, wenn ich mit dem Verfahren die Werbetrommel rühren könnte. Fürs Forum. Aber wir wissen noch nicht genug, dass ich mich so weit aus dem Fenster lehnen würde.
Also Geduld.... alles wird gut.