Forum: Mikrocontroller und Digitale Elektronik Phasendifferenz mit Kreuzkorrelation mittels FFT berechnen mit ARM Cortex M4


von Sawyer M. (sawyer_ma)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte 2 Sinussignale A und B welche eine Frequenz von 2Ghz haben
vergleichen, um die Phasendifferenz zu bestimmen. Signal A ist die
Grundschwingung und B die in der Phase willkürlich variiert. Für jedes
Grad der Phasendifferenz werde ich eine definierte Spannung mittels uC
der einen  DAC ansteuert ausgeben.

Dafür dachte ich mir die Phasendifferenz mit Kreuzkorrelation mittels
FFT zu bestimmen. Dafür benötige ich 2 ADC Wandler damit ich die zwei
Sinussignale in meinen ARM Cortex-M4 bekomme. Auf dem Board TM4C123GH6PM
welches ich gerne Benutzen möchte sind 2 shared analog input channels
mit 2-bit precision ADC.
Ich habe mal den Anfang des Datenblattes als pdf angehangen.

Im uC wird dann die Kreuzkorrelation mittels FFT durchgeführt welche mir
die Phasendifferenz berechnet. Wenn das alles Funktioniert möchte ich
Signal C und D noch mit Signal A vergleichen.

So kann ich das doch machen oder?

Gibt es jemand hier der so etwas schon durchgeführt hat?

von Possetitjel (Gast)


Lesenswert?

Sawyer M. schrieb:

> So kann ich das doch machen oder?

Sicherlich.


> Gibt es jemand hier der so etwas schon durchgeführt hat?

Hmm. Naja.

Beide Signale mit demselben Oszillator von 1.99GHz auf 10MHz
heruntermischen und DANN den Phasenvergleich durchführen ist
ja eine Methode für Warmduscher. Voll Achtziger und so...

von Fabian Z. (fabi_z)


Lesenswert?

Possetitjel schrieb:
> Sawyer M. schrieb:
>
>> So kann ich das doch machen oder?
>
> Sicherlich.
>
>
>> Gibt es jemand hier der so etwas schon durchgeführt hat?
>
> Hmm. Naja.
>
> Beide Signale mit demselben Oszillator von 1.99GHz auf 10MHz
> heruntermischen und DANN den Phasenvergleich durchführen ist
> ja eine Methode für Warmduscher. Voll Achtziger und so...

:D

Jeder fängt mal klein an. Leider wurde ich erst in den Achtzigern 
geboren sonst wäre ich damals ganz im Trend gelegen :D

Welche Methode wäre denn besser?

von Possetitjel (Gast)


Lesenswert?

Fabian Z. schrieb:

> Welche Methode wäre denn besser?

Was heißt schon "besser"...

Wenn man die Hardware selbst entwickeln muss, ist sicher die
Methode "erst mischen, dann messen" einfacher.

Wenn man schon eine Hardware hat, die 2GHz digitalisieren
kann, ist es natürlich einfacher, das per Software zu
erledigen.

Allerdings kann ich nirgendwo erkennen, dass das TIVA-Board
dazu in der Lage ist -- aber das wird wohl an mir liegen.

von Nop (Gast)


Lesenswert?

Sawyer M. schrieb:
> Dafür dachte ich mir die Phasendifferenz mit Kreuzkorrelation mittels
> FFT zu bestimmen. Dafür benötige ich 2 ADC Wandler damit ich die zwei
> Sinussignale in meinen ARM Cortex-M4 bekomme.

Ähm.. Du möchtest Signale vom GHz-Bereich auf die ADCs eines Boards 
geben, dessen Prozessor mit 80MHz läuft? Und wo die AD-Wandlung auch 
noch einige Takte braucht? WHAT COULD POSSIBLY GO WRONG?!

Alleine schon 2GHz elektrisch richtig anzuschließen wird eine 
Herausforderung. Deswegen sind Oszilloskope in dem Bereich nicht gerade 
preiswert.

von Horst (Gast)


Lesenswert?

Nop schrieb:
> WHAT COULD POSSIBLY GO WRONG?!

Haha, das hab ich gerade auch gedacht :D
Bist du Schüler oder was? Wer kommt sonst auf die dumme Idee, dass ein 
Cortex M4 Kreuzkorrelationen mit 2GHz Signalen in Echtzeit durchführen 
kann...

Auch, wenn du das folgende nicht verstehen wirst: Direkt ins Basisband 
runtermischen, also Referenz mit dem variablen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.