NanoVNA 2 Phasenmessung

OP #7603660
Lesenswert?

Ich frage mich gerade wie es beim NanoVNA 2 möglich ist mit nur einem ADC eine Phase für S11 aufzulösen. Das funktioniert meines Wissens nach ja nur wenn man hinlaufendes Signal und reflektiertes signal gleichzeitig misst und aufeinander bezieht. Der NanoVNA 2 hat nur einen ADC also wie ist das möglich. Ich habe mal im Code geschaut und die scheinen das sequentiell zu machen aber das passiert ja im code und alles andere als echtzeit. Wie bekommt man da reproduzierbare Phase?

Gast #7603971
Lesenswert?

Wenn die Software das sequentiell durch Umschaltung des ADC-Eingangs macht, genügt es ja, dass die Sampling Clock bei der Messung in den beiden Kanälen einen festen Phasenbezug hat, und dass immer gleich viele Perioden der Sampling Clock in die Zeit der Umschaltung fallen, um auf die relative Phasenlage schließen zu können.

Man kann dann für jede Messung die Daten digital per IQ-Mischung die I- und Q-Komponenten ermitteln, die (auf die Sampling Clock bezogene) Phasenlage ausrechnen, und deren Differenz für die beiden Kanälen bilden.

Siehe auch hier: Beitrag "Re: Signalverarbeitung VNA S11".

OP #7603974
Lesenswert?

Mario H. schrieb:

Wenn die Software das sequentiell durch Umschaltung des ADC-Eingangs macht, genügt es ja, dass die Sampling Clock bei der Messung in den beiden Kanälen einen festen Phasenbezug hat, und dass immer gleich viele Perioden der Sampling Clock in die Zeit der Umschaltung fallen, um auf die relative Phasenlage schließen zu können.

Prinzipiell ja aber die Kanäle Incident/Reflect werden nicht zeitgleich gemessen, sondern durch umlegen eines RF Schalters sequentiell. Das Timing muss dann sehr genau sein und die CPU muss vollkommen deterministisches Timing beim umschalten von erster zu zweiter Messung haben also alle Interrupts müssen deaktiviert sein vermute ich.

Gast #7603976
Lesenswert?

Gustav G. schrieb:

Das Timing muss dann sehr genau sein

Es reicht doch, wenn man den ADC per Timer-Interrupt triggert, und z.B. während des Umschaltens immer die gleiche Anzahl Werte wegwirft (sofern das überhaupt nötig ist). Dann hat man eine phasenstarre Messung der beiden Kanäle.

OP #7603979
Lesenswert?

Mario H. schrieb:

Es reicht doch, wenn man den ADC per Timer-Interrupt triggert, und z.B. während des Umschaltens immer die gleiche Anzahl Werte wegwirft (sofern das überhaupt nötig ist). Dann hat man eine phasenstarre Messung der beiden Kanäle.

Guter Hinweis das wäre dann phasenstarr, sofern CPU die gleiche Referenzfrequenz wie die Synthesizer haben, was so sein muss. Bleibt noch die Frage wie sehr sich dann Jitter auswirkt. Ich würde beim entwurf keiner CPU sowas zeitkritisches anvertrauen.

Gast #7603995
Lesenswert?

Gustav G. schrieb:

sofern CPU die gleiche Referenzfrequenz wie die Synthesizer haben, was so sein muss

Wieso muss das so sein? Ein Phasenversatz zwischen Sampling Clock und Synthesizer wirkt sich doch auf beide Messkanäle in gleicher Weise aus, und fällt bei der Differenzbildung heraus.

Bleibt noch die Frage wie sehr sich dann Jitter auswirkt.

Eine ganze Reihe von MCUs kann den ADC direkt per Perihpheral Clock triggern. Da gibt es dann keinen softwarebedingten Jitter.

#7606455
Lesenswert?

Gustav G. schrieb:

. Ich würde beim entwurf keiner CPU sowas zeitkritisches anvertrauen.

Darum hast du den NanoVNA nicht entwickelt... Nichts für Ungut aber der Clou am NanoVNA ist eben genau, dass er so billig ist und trotzdem gut genug für viele Anwendungen ist, wenn man an so einem Konzept eben zu konservativ vorgeht, wirds eben wieder viel aufwendiger und teurer. Man muss auch manchmal einfach mal etwas probieren und bewerten ob das Ergebnis zufriedenstellend ist.

Mario H. schrieb:

sofern CPU die gleiche Referenzfrequenz wie die Synthesizer haben, was so sein muss

Nein, ein Fehler würde sich gleich auf die zwei Messungen auswirken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren