Aua.
Nochmal zum Mitschreiben ;-)
Wir reden über komplexe I/Q Samples, nix Amplitude und Phase. Die kann man zwar nachher (z.B. per CORDIC) daraus ableiten, aber erstmal liegen nur I und Q vor:
a) Die Korrektur der Frequenzverschiebung ist eine komplexe Multiplikation mit einer Konstanten, also etwas lineares. Das gilt auch dann, wenn diese Konstante exp(i phi) mit steigendem phi ist. Das gilt selbst dann, wenn diese Multiplikation im Rahmen einer schnellen Fouriertransformation erfolgt.
b) Die Korrelation mit einem bekannten Muster (wir reden hier nicht von einer Autokorrelation) per komponentenweiser Multiplikation mit diesem und Auf-Addition (Skalarprodukt, eben Metrik, drum funktioniert die Korrelation) ist ebenfalls eine lineare Operation.
Es ist im Rahmen der digitalen Signalverarbeitung gemäß dem Kommutativ- bzw. Distributivgesetz völlig belanglos, ob erst a) reinmultipliziert wird und dann b) oder umgekehrt.
Der Trick an der Sache ist, dass die Multiplikation per FFT eine billige o(n log n) Operation ist, aber die FFT zwangsweise ein Summe bildet, welche keine nachfolgende Korrelation mehr erlaubt, hingegen eine brute-force Frequenz- korrektur vor der Korrelation eine teure O(n^2) Operation bedeutet.
Durch das Vorziehen der Korrelations-Multiplikationen und Nutzen der inherenten Addition der FFT zur Korrelations-Addition wird bei exakt gleichem mathematischen Ergebnis eine O(n^2) Operation durch eine O(n log n) Operation ersetzt und voila:
Aus dem Brute Force Ansatz wird ein intelligenter Algorithmus.
Abhängig von der erwarteten Frequenzverschiebung und Länge des Korrelationsmusters (zu beiden fehlen hier konkrete Angaben) kann man dann ggf. vor der FFT Partialsummen bilden, im Sinne eines Polyphasensystems. Man kann auch umgekehrt mit Nullern auffüllen, falls die FFT eine zu heftige Verschiebung impliziert. Meist ist eine FFT trotzdem der _viel_ schnellere Weg.
Du demonstrierst gerade, warum es uns als kleinem Unternehmen problemlos möglich ist, mit neuen Übertragungsverfahren gegenüber großen Firmen durchzumaschieren, auch wenn da dann einige Leute nachher in die Tischkante beißen ;-)
Und genau _dafür_ ist das Patentwesen da, damit dann nicht einfach nach 10 x "kann nicht gehen", wenn dann tausende "kann nicht gehen" an zufriedene Kunden geliefert werden, der Einfaltslose hernach sagt: "Lass es uns brute-force nachbauen. Wir lieben dumme brute-force Ansätze" :-(
Ciao Oliver
P.s.: Nachtrag zum Nachtrag, ich hab' zu Prony nochmal nachgeschaut, wenn dann modifiziertes Prony, die Standardversion mag kein überlagertes Geräusch.