Synchronisation mit Referenzsignal bei Vierpolmessung

Hallo,

ich hänge gerade an folgender Sache:

Bei Vierpolmessungen mit Soundkarten habe ich ein unbekanntes Delay zwischen PCM-Ausgabe und Eingabedaten. Da die Ausgabedaten bei manchen Messungen in ihren Eigenschaften zeitlich nicht konstant sind, muss ich das Delay vor der Messung auf einige dutzend Samples genau einnorden.

Nun kenne ich die Übertragungsfunktion zu diesem Zeitpunkt natürlich in keiner Weise. Kann durchaus sein, dass nur in einem eng begrenzten Frequenzband überhaupt etwas ankommt. Deshalb muss ich mit einem möglichst breitbandigen Testsignal mit Kreuzkorrelation ran. Von der Energieverteilung her wäre Pink Noise nicht schlecht, besser noch f^(-.5) Gewichtung. Ersteres würde noch für ein einzelnes Chirp sprechen. Wie man Chirps mit anderer Energieverteilung berechnet, weiß ich schon nicht mehr. Außerdem wäre mir ein rauschartiges Signal lieber, weil es weniger Spitzenintensitäten gibt und, falls elektrodynamische Wandler im Spiel sind, schonender für die Ohren ist. Es muss aber natürlich deterministisch sein.

Alternativ könnte ich natürlich eine Zeitinformation irgendwie sehr breitbandig modulieren. In dem Umfeld kenne ich mich aber ehrlich gesagt überhaupt nicht aus.

Irgendwelche Anregungen?

Marcel

Reply to
Marcel Müller
Loading thread data ...

Am 10.05.2010 19:55, schrieb Marcel Müller:

Mit einem per ASIO-Treiber angebundenem Interface sollte sich das Delay ausreichend konstant halten lassen, so dass man es einmal misst. Ansonsten noch ein Hochfrequenten Tick mitschicken und den mit der Seriellen auffangen, wenn es Echtzeit sein soll, sonst je einen Tick am Anfang und am Ende der Messung.

Falk D.

Reply to
Falk Due_bb_ert

  1. Weitgehend plattformunabhängige Lösung, also kein Windows, kein ASIO.
  2. Das Programm, dass das Referenzsignals erzeugt, ist nicht dasselbe, wie das Auswerteprogramm. Heißt, ich brauche ein Fenster von einigen Sekunden um im unbeaufsichtigten Batchbetrieb unter allen Umständen, also auch bei hoher Systemlast, auf der sicheren Seite zu sein.

Bringt nichts. Manche Messobjekte haben jenseits ein paar hundert Hertz keine vom Rauschen unterscheidbare Antwortamplitude. Ich muss breitbandig ran. Im Prinzip bringt die Kreuzkorrelation das schon, nur brauche ich eben ein geeignetes Referenzsignal.

Marcel

Reply to
Marcel Müller

Marcel Müller schrieb:

Da reagiere ich jetzt nur auf 2-3 Reizworte mit dem Google Suchwort: 'Gold Code', das könnte vielleicht ein Ansatz sein. Die werden jedenfalls auch beim GPS zur Synchronisation der Suchverfahren per Kreuzkorrelation in verrauschten Signalen verwendet.

- Carsten

Reply to
C.P. Kurz

Hi Marcel,

Marcel Müller schrieb:

Was spricht dann gegen weißes Rauschen oder eine PRBS-Folge? Wichtig ist doch nur, dass die spektrale Leistungsdichte bei allen interessierenden Frequenzen möglichst groß ist, damit die durchschlagenden Rauschanteile bei der KKF mit möglichst kurzer Messdauer hinreichend klein werden.

Ansonsten ist es der KKF relativ egal, was sie da korreliert ;-)

Zwei Messungen, Kanäle der Soundkarte vertauschen, konstantes Delay geht mit unterschiedlichem Vorzeichen ein?

Die Auflösung der Kreuzkorrelation kann man verbessern, indem man z.B. einen Gauß-Fit an die Kreuzkorrelierte anpasst und den Zeitpunkt von dessen Maximum ermittelt.

HTH, Volker.

Reply to
Volker Staben

Ja, so in der Art. Weil die Aspiranten oft Audiofilter oder ähnliches sind, nehme ich allerdings eher Pink Noise oder irgendetwas dazwischen.

Wichtig ist, dass sowohl Sender als auch Empfänger das Referenzsignal kennen.

Ich fürchte Line-In und Line-Out lassen sich nicht sinnvoll tauschen. :-) Die Kanäle selber habe ich schon kalibriert und kompensiert. Mehr als

0,25 Samples Delay zwischen den Kanälen habe ich aber auch noch nicht erlebt, und selbst das ist die Ausnahme.

Ich mache es meist etwas anders. Da die Anpassung sowieso zyklisch betrachtet werden muss, berechne ich die komplexe Summe über abs(Ci)*exp(2 Pi I i/N). [Ci Koeffizienten der KKF, i=0..N-1] Der Phasenwinkel dieser Summe wieder umgerechnet auf den Index i in der KKF zeigt ganz gut in die Richtung des Schwerpunkts, selbst dann wenn das Übertragungssystem bei einzelnen Frequenzen ziemliche Ausreißer in der Gruppenlaufzeit hat. Nur funktioniert das nur bei periodischen Signalen so richtig schön.

Aber das bringt mich auf die Idee, auf Generatorseite genau zwei Perioden auszugeben, während auf der Empfängerseite nur eine Periode mit ca. 0,5 Perioden Startverzögerung gesampelt wird. Damit habe ich ein zuverlässiges Synchronisationsfenster von einer Periode. Nachteil ist allerdings, dass eine Fehlsynchronisation nicht bemerkt würde, bei der das Sample-Fenster teilweise außerhalb der Referenzperioden liegt.

Wenn ich Referenz und Sampledauer gleich lang mache, geht es natürlich, aber da habe ich nur dann ein zuverlässig gutes SNR, wenn das Referenzsignal zu den Grenzen hin verschwindet. Zudem können die FFT-Größen bei mehreren Sekunden Sync-Fenster beachtlich groß werden.

Marcel

Reply to
Marcel Müller

Moin,

Marcel Müller schrieb:

... wodurch allerdings die spektrale Leistungsdichte frequenzabhängig wird und die Gesamtleistung geringer als bei einem weißen Signal. Je knackiger die Anregung, desto einfacher wird es sein, die Eigenschaften des DUT aus den zufälligen Anteilen herauszumitteln.

Der Sender wirds ja kennen - er gibt es schließlich aus.

Also mehrkanalige Systeme? Die kann man auch kanalweise nacheinander abarbeiten.

Also mit periodischen Signalen? Klingt für mich ein bisschen nach Orthogonaler Korrelation - da müsstest Du allerdings eh abwarten, bis das DUT eingeschwungen ist. 2 Perioden dürften da etwas knapp sein.

Warum führst Du nicht gleich die komplette Identifikation auf der Basis von Zufallssignalen durch? Bei periodischem Eingangssignal des DUT bekommst Du doch nur für diejenigen Frequenzen vernünftige Infos zum Verhalten des DUT, bei denen die Anregung eine nichtverschwindende (realiter: nicht zu kleine) spektrale Leistungsdichte hat.

Vielleicht wäre eine Identifikation

PRBS -------+------> DUT --------> Line in L Line out ! ! Korrelation ! +--------------------> Line in R

günstiger, dann verschwindet Dein Problem des variablen Zeitversatzes von Line out zu Line in von selbst?

Volker.

Reply to
Volker Staben

Jein. Die Story kommt später. Tatsächlich führe ich Messungen von derzeit zwei Kanälen simultan durch. Das ist aber ein anderes Thema.

Genau so ist das Setup. Genaugenommen wird das Signal mit zwei differenziellen Messköpfen aufgenommen. Und dahinter liegt noch die Multiplikation mit einer komplexen, Frequenzabhängigen 2x2 Matrix zur Kompensation von Kanalunterschieden und Übersprechen, zumal manche Karten die Kanäle nicht 100% gleichzeitig scannen. Allerdings liegt davor auch noch eine Leistungsbegrenzung, wodurch es eine zweite unbekannte Übertragungsfunktion gibt, die auch das Referenzsignal (R) stark transformieren kann. Zudem habe ich es manchmal mit ziemlich langen Verbindungen zu tun, die bereits im NF-Bereich signifikante Abweichungen alleine durch die Leitungsinduktivität erzeugen. (Effektive Amplitude des Referenzsignals sinkt.)

Allerdings löst das Setup oben meine Probleme nur dann, wenn auch die Messung mit periodischen Signalen erfolgt. Für manche Messungen benötige ich aber einen Frequenzscan. Beispielsweise dann, wenn die Störsignale sehr stark sind, oder auch Harmonische analysiert werden sollen. Zwar kann man Harmonische mit ein paar Tricks auch mit breitbandigen Signalen analysieren (Primzahl-Frequenzen), jedoch ist das Ergebnis nicht so sauber und zudem nicht von IM zu trennen.

Für den Frequenzscan muss ich aber vorher ziemlich genau synchronisieren, damit die Messung auch immer am Ende einer bestimmten Frequenz erfolgt (Einschwingzeit) und nicht bereits Brocken der nächsten Messfrequenz enthält.

Wie gesagt, nicht bei Sweep. Meine Idee war eben vor dem Sweep erst einmal einen Breitbandigen Grob-Scan mit automatischer Synchronisation durchzuführen, um nachher beim Sweep Sender und Empfänger in Phase zu haben.

Bisher habe ich nur in einem engen Frequenzband mit einem Phasensprung synchronisiert. In 99% der Fälle funktioniert das auch, ohne dass man sich mehr Mühe gibt. In Einzelfällen ist es mir sogar gelungen mit einer

08/15 Soundkarte die Signallaufzeit von wenigen Metern Kabel zu messen. Nur reichen 99% nicht für einen vollautomatischen Betrieb. Es wäre mir lieber, wenn man das nicht kontrollieren müsste. Und ich möchte natürlich auch etwas dabei lernen.

Marcel

Reply to
Marcel Müller

Moin Marcel,

ich fürchte, es ist mir (allein?) nicht ganz klar, was Du eigentlich messen möchtest...

Wenn Du es so...

machst und alle Einflüsse von Leitungen, Eingangsverstärkern, gemuxtem Sampling etc. durch Überbrücken des DUT bestimmen kannst, dann weiß ich nicht, wo Dein Problem liegen soll. Jedenfalls nicht, solange alle Einflüsse zeitinvariant sind. Das gilt unabhängig von der Art des Eingangssignals.

Wovor?

Wie wirkt die Leistungsbegrenzung? Herunterregeln der Amplitude? Kein Problem - Du kennst sie ja. Clipping?

Wenn ein Clipping bei der Kalibriermessung zwischen den beiden Line Inputs nicht wirksam, mit DUT aber wirksam ist (oder umgekehrt) - ok, dann hast Du ein Problem. Einzige Lösung: weder bei der Kalibriermessung noch bei der eigentlichen Messung ins Limit fahren.

Wieso?

Dann mach halt einen.

S.o. - im Originalpost war etwas von einer Übertragungsfunktion zu hören - die ist eh nur für lineare Systeme definiert. Oder möchtest Du auch Verzerrungen durch Nichtlinearitäten messen? IM wäre wieder ein anderes Thema...

Nochmal: _was_ mit _was_ synchronisieren? Beim Sweep musst Du ohnehin so langsam sweepen, dass Du keine transienten Einschwingvorgänge mitmisst. Warum dann nicht steppen und in aller Ruhe bei bekannter Frequenz eine FFT machen? Oder Amplitude und Phase messen oder was immer Du messen möchtest, messen. Entweder über eine ganzzahlige Anzahl von Perioden oder eben gefenstert. Wenn die Messdauer hinreichend lang ist, klappt das beim Rest der Welt doch auch.

Mit obigem Setup hast Du die _Messwerte_ des Senders mit ausreichender Synchronität der beiden Line-Inputs. Alle systematischen Abweichungen zwischen den beiden Line Inputs sind durch die Kalibriermessung ohne DUT bekannt. Wenn Du _weißt_ was der Sender macht, kann es Dir doch egal sein, _was_ er macht?

Volker.

Reply to
Volker Staben

Zwischen Line-Out und dem Rest.

Das wäre alles zeitvariant und damit nicht schön. Es ist schlicht ein Widerstand (mit dekadischem Wahlschalter) also eine erhöhte Quellimpedanz.

Ack. Wenn ich am Mixer der Karte zu weit aufdrehe leidet das SNR, weil die ADCs übersteuern.

Wenn das Quellsignal zeitveränderlich ist, muss ich bestimmte Totzeiten einhalten, damit ich eine definierten eingeschwungenen Zustand habe.

Und der muss unabhängig von der gleichzeitigen Aufzeichnung des Referenzsignal zu bestimmten Zeitpunkten messen und zu anderen nicht. Im Prinzip steckt in dem aufgezeichneten Referenzsignal alles drin, was man dafür braucht, und jeder Mensch würde auch sofort wissen, was er auswerten soll, und was nicht, nur dem Computer zu erklären, ein paar Sekunden nach einem Frequenzwechsel und knapp davor nicht zu messen ist keineswegs trivial. Die Dinger stellen sich bei solchen Aufgaben immer etwas doof an.

Näherungsweise lineare Systeme. Also THD IM wäre wieder ein anderes Thema...

Ja, und steht bis auf weiteres auch nicht auf dem Plan.

Ich schalte beim Frequenzscan die Frequenz sprunghaft um und verwende immer nur Harmonische der Analysefenstergröße (ca. 0,7Hz). Damit brauche ich beim FFT keine Fensterfunktion.

Ja genau. Nur wie teilt der Generator dem Empfänger mit, wo die Steps beginnen bzw. enden. Irgendwie brauche ich noch ein Sync-Signal.

Dann muss ich aber irgendwie eine Bedingung formulieren, woran der Empfänger erkennt, dass er anfangen soll zu messen. Das mit aufgenommene Referenzsignal kann bei manchen Frequenzen verschwindend klein werden, wenn es zufällig auf ein Minimum in der Impedanz des DUT fällt.

Marcel

Reply to
Marcel Müller

Moin,

Am 15.05.10 17.51, schrieb Marcel Müller:

darft Du eh auf keinen Fall.

Ja, natürlich brauchst Du eine Ablaufsteuerung drumrum, die das Frequenzstepping, Abwarten eines eingeschwungenen Zustands etc. erledigt. Aber das ist doch zunächst völlig unabhängig von der Art der Eingangssignale. Die systematischen Abweichungen zwischen Line Out und Line In interessieren nicht, solange Du das Eingangssignal des DUT mitmisst - egal, ob mit Sinusanregung, Rauschen, PRBS, ...

Klar, wenn Du nach Orthogonaler Korrelation vorgehen möchtest: bei Anregung des DUT mit einem Sinus muss ausgangsseitig ein stationäres Sinussignal herauskommen, bevor die Messung startet. Also auf (ralativ langsamen) Nulllinienshift testen, clipping ekennen, ... Dann die Messung: FFT, gefenstert oder auch über eine ganzzahlige Anzahl von Perionden. Oder Kreuzkorrelation oder was immer Du möchtest.

Dein "mit aufgenommenes Referenzsignal" ist doch das _Eingangs_signal des DUT?!?

Solange sich bei der Messung Line In R und Line In L um bekannte sytematische Abweichungen unterscheiden, kann man diese herausrechnen, wenn Du diese Abweichungen bei einer Kalibriermessung ohne DUT ermittelst. Wann der Line Out wie synchron zu irgendwas ist oder war, interessiert nicht mehr.

V.

Reply to
Volker Staben

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.