Forum: FPGA, VHDL & Co. Mischer für SDR


von R. F. (rfr)


Lesenswert?

Guten Morgen,

ich beschäftige mich seit einiger Zeit mit SDR Konzepten und verstehe 
eines nicht: wie mische ich ein per ADC eingelesenes Signal mit dem 
Ausgang eines NCO, um das Ergebnis einem Filter zuzuführen? Und wie geht 
das mit einem Signal in IQ Darstellung?

Mir fehlt derzeit das Verständnis des Konzeotes 'digitaler Mischer' in 
VHDL.

Für Erhellung dankbar

Robert

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Mir fehlt derzeit das Verständnis des Konzeotes 'digitaler Mischer' in
> VHDL.

Dir fehlt die Signaltheorie und nicht VHDL.


Ein Mischer ist ein Multiplizierer. Und du kommt auf das 
Additionstheorem.

sin(a)*sin(b)= 0.5cos(a-b)-0.5cos(a+b))

Bei einem Empfänger bist du an dem Signal cos(a-b) interessiert und 
musst es von cos(a+b) mit einem Filter trennen.

von Klaus (Gast)


Lesenswert?

René D. schrieb:
> Bei einem Empfänger bist du an dem Signal cos(a-b) interessiert und
> musst es von cos(a+b) mit einem Filter trennen.
oder umgekehrt

von Heinz (Gast)


Lesenswert?

Den unten stehenden Text durcharbeiten und vieles wird klarer.

http://www.dspguru.com/sites/dspguru/files/QuadSignals.pdf

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Heinz schrieb:
> Den unten stehenden Text durcharbeiten und vieles wird klarer.
>
> http://www.dspguru.com/sites/dspguru/files/QuadSignals.pdf

Schönes Dokument nur alles zusammengemischt. Geht ja um Mischer.

von W.S. (Gast)


Lesenswert?

René D. schrieb:
> Dir fehlt die Signaltheorie und nicht VHDL.

Na das hilft dem armen Robert aber gewaltig weiter.

Es nützt auch nix, wenn du die altbekannte Formel wiederholst:
  "sin(a)*sin(b)= 0.5cos(a-b)-0.5cos(a+b))"

Ich bin in diesen Gefilden auch ein Suchender, aber ich versuche hier 
mal, die Sache aus meiner Sicht darzustellen:

1. Die aktuell gewählte Frequenz des NCO wird wohl selten bis nie mit 
der Sample-Frequenz und damit mit der Taktfrequenz des FPGA's 
übereinstimmen. Also braucht man für den altuellen Taktzeitpunkt die 
Koordinate des NCO's nicht als Länge+Winkel, sondern kartesisch, also 
X+Y. (wer will X+iY) - wie auch immer man das hinbekommt..

2. Nun braucht man 2 Multiplizierer, der eine bildet ADC*X und der 
andere ADC*Y

3. Zwischenspeicherung beider Werte und dann jeweils ein Filter. 
Vielleicht reicht schon ein laufender Mittelwert aus den letzten 8..16 
Werten (Er will ja sicherlich downmischen, also ZF << 
Samplingfrequenz/2)

So. Nun bin ich mal gespannt auf die klugen Antworten hierauf.

W.S.

von Georg A. (georga)


Lesenswert?

> wie auch immer man das hinbekommt..

Lookuptabelle mit Phasenakkumulator. Wurde hier (oder "drüben" bei der 
Programmierung) auch schon häufiger gesucht und gefunden. Die Tabelle 
hat dann halt X und Y als Eintrag und enthält sin und cos.

> Vielleicht reicht schon ein laufender Mittelwert aus den letzten
> 8..16 Werten

Theoretisch ist das ein Filter. Allerdings hat der so schlechte 
Eigenschaften, dass man sowas nur dann nehmen sollte, wenn ohnehin 
nichts auszufiltern ist. Dann kann man es gleich sein lassen ;) Ein 
echter Filter kostet schon etwas, aber am meisten nur Rechenleistung... 
Bei 0815-Filter ist die Designmagie für die Koeffizienten nicht mehr 
nötig, es gibt genügend Webtools bzw. Matlab oder octave. Da muss man 
von Nullstellen und Polen nichts verstehen und es filtert trotzdem 
richtig...

von W.S. (Gast)


Lesenswert?

Georg A. schrieb:
> Lookuptabelle mit Phasenakkumulator

.. und Interpolation oder nur krudes Bitabschneiden?
Immerhin, die aktuelle Frequenz hängt von seinem Abstimmknopf ab und 
kann zur Entwurfszeit nicht vorhergesehen werden.

Was für ein zusätzliches Phasenrauschen ergibt sich eigentlich ohne 
Interpolation? Ich will ja nicht annehmen, daß jemand für die Tabelle 
megabyteweise Platz hat, sondern sie auf 256 Werte oder weniger 
beschränkt. Oder?

W.S.

von Georg A. (georga)


Lesenswert?

> .. und Interpolation oder nur krudes Bitabschneiden?

Kommt wohl darauf an, mit welcher typischen Schrittweite man durch die 
Tabelle geht, da kommt ja auch ein recht variabler Phasenjitter raus... 
Wenn man ein paar schnelle MULs übrig hat, ist eine sinc-Interpolation 
basierend auf Tabellenwert aber gar nicht so kompliziert und bringt 
schon recht viel.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

W.S. schrieb:
> René D. schrieb:
>> Dir fehlt die Signaltheorie und nicht VHDL.
>
> Na das hilft dem armen Robert aber gewaltig weiter.
>
> Es nützt auch nix, wenn du die altbekannte Formel wiederholst:
>   "sin(a)*sin(b)= 0.5cos(a-b)-0.5cos(a+b))"
>
> Ich bin in diesen Gefilden auch ein Suchender, aber ich versuche hier
> mal, die Sache aus meiner Sicht darzustellen:
>
> 1. Die aktuell gewählte Frequenz des NCO wird wohl selten bis nie mit
> der Sample-Frequenz und damit mit der Taktfrequenz des FPGA's
> übereinstimmen. Also braucht man für den altuellen Taktzeitpunkt die
> Koordinate des NCO's nicht als Länge+Winkel, sondern kartesisch, also
> X+Y. (wer will X+iY) - wie auch immer man das hinbekommt..
>
> 2. Nun braucht man 2 Multiplizierer, der eine bildet ADC*X und der
> andere ADC*Y
>
> 3. Zwischenspeicherung beider Werte und dann jeweils ein Filter.
> Vielleicht reicht schon ein laufender Mittelwert aus den letzten 8..16
> Werten (Er will ja sicherlich downmischen, also ZF <<
> Samplingfrequenz/2)
>
> So. Nun bin ich mal gespannt auf die klugen Antworten hierauf.

Danke für die Rückfrage.

Ich versuche es etwas zu sortieren. Da sehr viel miteinander vermischt 
wird.

zu 1. Die Sample Frequenz ist auch die Taktfrequenz des FPGAs. Mit jedem 
Takt kommt ein neuer ADC Wert und auch die Daten werden in dem digitalen 
Filter weiter geschoben. Das ganze System nutzt diesen Takt. Das 
Weiterreichen der Werte entspricht um z^-1. Deshalb wird hier auch die 
Z-Transformation für das Filterdesing genutzt. Das ist eine neue 
Baustelle.
Die Sample Frequenz muss höher als die Trägerfrequenz der Daten sein.


zu 2. Mann braucht nicht zwei Mischer zum Empfangen eines Senders. 
Dieser IQ Aufbau ist bestens geeignet für die QAM Modulation. Für 
einfachen Radioempfang ungeeignet. Für die Übertragung von digitalen 
Daten bestens zur Erhöhung der Datenbandbreite geeignet, weil man 
zusätzlich zur Amplitude noch einen Phasenwinkel detektiert. Es gibt 
zwei Teilgebiete, das sind die Übertagungen von

a) analogen
b) digitalen
Signalen.


QAM gehört in die digitalen Modulationswelt. Mann kann es auch für 
analoge Übertragungen missbrauchen. Sofern gibt es keine scharfe Grenze. 
Man muss aber die Randbedingungen einhalten.


Wenn man ein amplitudenmoduliertes Signal empfangen will, benötigt man 
nur einen Mischer.  Für ein FM moduliertes Signal einen Phasendetektor ( 
das ist im einfachsten Fall ein Flip Flop).


Wichtig ist zu wissen von dem Signal was man Empfangen will, wie ist das 
Signal auf die Trägerfrequenz moduliert ist.
AM...Amplituden Modulation
FM...Frequenz Modulation
PM...Phasenmodulation

Mittelwelle ist in AM und UKW ist in FM.

Versucht ersteinmal AM zuverstehen.
und das ist das Addtionstheorem.

http://www.diru-beze.de/modulationen/skripte/SuS_W0506/Amplituden_Modulation_WS0506.pdf
Seite 20 ist es gut erklärt.

Die Eingangswerte aus dem ADC werden mit einem sythetisch erzeugten 
Sinuswert stetig multipliziert.

von W.S. (Gast)


Lesenswert?

René D. schrieb:
> Ich versuche es etwas zu sortieren.

Du hast ne seltsame Art, Dinge zu sortieren, mit der ich nicht 
einverstanden bin.

Also erst mal eines: Der Robert hat ausdrücklich "Und wie geht das mit 
einem Signal in IQ Darstellung?" nachgefragt. Gelle?

Deinen Punkt 1 hatte ich ja schon klargestellt: Die ADC-Frequenz sei 
gleich der Taktfrequenz des FPGA's. Sowas kann auch anders sein, daß 
z.B. der ADC nur 1/2 oder 1/4 der Taktfrequenz des FPGA's oder noch 
weniger erhält. Beispiel: Logik läuft mit 150 MHz, ADC läuft nur mit 75 
MHz.

Worauf du nicht eingegangen bist, ist der Umstand, daß die Frequenz des 
NCO in aller Regel zur Entwicklungszeit nicht feststeht, sondern vom 
"Drehen am Abstimmknopf" während der Benutzung des Gerätes abhängt.

Und deine Behauptung, daß man für ein amplitudenmoduliertes Signal 
keinen I/Q- sondern nur einen einfachen Mischer benötigt, glaube ich 
auch nicht. Stell dir mal vor, du hast den Empfänger exakt auf die 
Sendefrequenz abgestimmt und der Phasenunterschied ist konstant 90 Grad. 
Da hörst du garnix. Zum AM demodulieren müßte man nach meiner 
bescheidenen Meinung nämlich den Vektorbetrag bilden, also A:= sqrt(i^2 
+ q^2) rechnen.

Auf den FM-Demodulator bin ich allerdings gespannt. Eigentlich müßte man 
die Änderungsgeschwindigkeit des Phasenwinkels des heruntergemischten 
Signals ausgeben, also A:= dPhi/dt, egal wie groß der Betrag des Vektors 
ist.

Für beide Demodulatoren braucht man I und Q.

W.S.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

W.S. schrieb:
> René D. schrieb:
>> Ich versuche es etwas zu sortieren.
>
> Du hast ne seltsame Art, Dinge zu sortieren, mit der ich nicht
> einverstanden bin.
>
> Also erst mal eines: Der Robert hat ausdrücklich "Und wie geht das mit
> einem Signal in IQ Darstellung?" nachgefragt. Gelle?
>
> Deinen Punkt 1 hatte ich ja schon klargestellt: Die ADC-Frequenz sei
> gleich der Taktfrequenz des FPGA's. Sowas kann auch anders sein, daß
> z.B. der ADC nur 1/2 oder 1/4 der Taktfrequenz des FPGA's oder noch
> weniger erhält. Beispiel: Logik läuft mit 150 MHz, ADC läuft nur mit 75
> MHz.

Das ganze digitale System hat den gleichen Takt.
Wenn der FPGA doppelt so schnell ist, was für Daten werden dann in der 
"Datenlücke" genommen?
Jeder ADC Wert zweimal hintereinander?

ADC(t0),ADC(t0),ADC(t1),ADC(t1),ADC(t2),ADC(t2),ADC(t3),ADC(t3)...

Das bringt keine zusätzliche Information. Entspricht auch nicht dem 
üblichen Filterentwurf.


> Worauf du nicht eingegangen bist, ist der Umstand, daß die Frequenz des
> NCO in aller Regel zur Entwicklungszeit nicht feststeht, sondern vom
> "Drehen am Abstimmknopf" während der Benutzung des Gerätes abhängt.

Der NCO sollte veränderbar in seiner Frequenz sein, um verschiedene 
Sender zu empfangen. Korrekt.


> Und deine Behauptung, daß man für ein amplitudenmoduliertes Signal
> keinen I/Q- sondern nur einen einfachen Mischer benötigt, glaube ich
> auch nicht. Stell dir mal vor, du hast den Empfänger exakt auf die
> Sendefrequenz abgestimmt und der Phasenunterschied ist konstant 90 Grad.
> Da hörst du garnix.
Sehr guter Einwand. Mathematisch auch richtig. Es stimmt die 
Trägerfrequenz des empfangen Signals und der Mischfrequenz im NCO nicht 
in einer starren Phasenlage überein. Die beiden Frequenzen sind nicht 
synchronisiert. Deshalb hört man auch was.  Alle Transistorradios 
funktionieren so.



 Zum AM demodulieren müßte man nach meiner
> bescheidenen Meinung nämlich den Vektorbetrag bilden, also A:= sqrt(i^2
> + q^2) rechnen.
Auch richtig bei starren synchronen Sendern und Empfängersystemen.


> Auf den FM-Demodulator bin ich allerdings gespannt. Eigentlich müßte man
> die Änderungsgeschwindigkeit des Phasenwinkels des heruntergemischten
> Signals ausgeben, also A:= dPhi/dt, egal wie groß der Betrag des Vektors
> ist.

Hier ist die optimale Schaltung eine PLL.
Es wird aber das Integral des Phasenwinkels genommen.

Die PLL besteht aus einem verstimmbaren Oszilator einen Phasendetektor 
und einen Tiefpass,

Der Phasendetektor wird mit dem Empfangssignal und dem Signal aus dem 
verstimmbaren Oszilator gefüttert. Das Signal aus dem Pahsendetektor 
geht in einen Tiefpass und verstimmt den lokalen Oszilator.
Wenn der Sender keine Information sendert sind beide Frequenzen gleich. 
Die Phasenlage kann sich jedoch unterscheiden. Wenn der Sender die 
Frequenz erhöht. erkennt der Phasendetektor,die Signallage ist nicht 
mehr korrekt und gibt das Signal an den Tiefpass und schiebt auch die 
Frequenz des lokalen Oszilators nach.



Sehr interessante Diskussion. W.S.
Deine Fragen waren berechtigt.

von W.S. (Gast)


Lesenswert?

René D. schrieb:
> Es wird aber das Integral des Phasenwinkels genommen.

Nanana, denk lieber nach, bevor du in die Tasten haust.

Also: wenn man den Phasenwinkel integriert (bzw. bei endlich kleinem dt 
addiert), dann erhält man die Schwingung. Jedes DDS arbeitet so.

Für das Demodulieren von FM stell dir bitte mal folgendes Szenario vor:
Du hast die Sendefrequenz auf NULL heruntergemischt. Bei Stille im 
Sender schwingt der Sender also exakt auf Mittenfrequenz, was bei deinem 
Signal einen bei irgendeiner Phase stillstehenden Zeiger bewirkt. Bei 
leichter Fehlabstimmung des Radios dreht sich der Zeiger mit konstanter 
Winkelgeschwindigkeit.

Wenn jemand in's Mikro beim Sender quasselt, dann wird die Frequenz des 
Senders verändert. Dein Zeiger wird also rotieren, und zwar je nach 
Polarität des momentanen NF-Wertes clockwise oder entgegengesetzt und 
mit einer Drehgeschwindigkeit, die von der hineingequasselten 
NF-Amplitude abhängt. Wenn jemand beim Sender anstelle der NF eine 
konstante Gleichspannung anlegt, rotiert der Zeiger mit konstanter 
Frequenz. Das ergibt dann einen konstanten Betrag, wenn man die 
Differenz der Phasenwinkel von zwei aufeinanderfolgenden Abtastungen 
mißt.

Also ist es schon so, wie ich es oben geschrieben habe: Die erste 
Ableitung des Phasenwinkels sollte die demodulierte NF ergeben. 
Mathematisch kein Problem, aber wie macht man das FPGA-mäßig?

W.S.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

W.S. schrieb:
> René D. schrieb:
>> Es wird aber das Integral des Phasenwinkels genommen.
>
> Nanana, denk lieber nach, bevor du in die Tasten haust.

Es ist schwierig dir zu antworten. Manchmal habe ich das Gefühl du 
willst mir auf den Zahn fühlen. Oder du hat dich intensiv gerade 
beschäfftigt und stehst voll im Stoff.


Das Delta des Phasenwinkels in Nulllage wird ermittelt. Das ist eine 
Kennlinie ohne differenzieren oder integrieren.



> NF-Amplitude abhängt. Wenn jemand beim Sender anstelle der NF eine
> konstante Gleichspannung anlegt, rotiert der Zeiger mit konstanter
> Frequenz.

Nein der Lokale Oszilator wird "nachgeschoben" und schwingt auf der 
gleichen Frequenz. und die Deltafrequenz ist in einer Kennline 
aufzutragen und du liest die Gleichspannung ab.



> Also ist es schon so, wie ich es oben geschrieben habe: Die erste
> Ableitung des Phasenwinkels sollte die demodulierte NF ergeben.
> Mathematisch kein Problem, aber wie macht man das FPGA-mäßig?

Leider kenne ich auch kein Buch, was ich dir ...

Der einfachste Phasendetektor ist glaube ich ein OR Gatter. Doch das 
wird praktisch nicht benutzt.
Standard ist ein Flip-flop.
Das eine Signal geht auf Setzen und das andere auf Rücksetzen. Der 
Gleichanteil des Tastverhältnisses ist das Empfangssignals.

(genau hier liegt meine Falsche Aussage des Integrals, Der Gleichanteil 
muss gefiltert werden)

Schau dir mal den Chip 74HC4046 an.

von W.S. (Gast)


Lesenswert?

René D. schrieb:
> Das Delta des Phasenwinkels in Nulllage wird ermittelt. Das ist eine
> Kennlinie ohne differenzieren oder integrieren.

Bei diesen Worten verstehe ich "Bahnhof". Was bitte sehr ist ein "Delta 
des Phasenwinkels in Nullage"?

Es kann auch nicht der LO "nachgeschoben" werden. Der muß schon brav auf 
der gewählten Frequenz durchlaufen, damit man ein Mischprodukt auf 
Mittenfrequenz 0 erhält, das sich sinnvoll filtern und dann dezimieren 
läßt. Es macht ja keinen Sinn, die Demodulation auf der ADC-Taktfrequenz 
durchzuführen.

Kurzum, man erhält schon einen Zeiger, der sich so verhält, wie ich es 
oben beschrieben habe.

Deine Erwähnung des EXOR-Gatters oder des Flipflops ist ja nett, aber 
sie geht am Thema vorbei: Beide können nur die Phasenlage zweier 
frequenzgleicher Signale bestimmen - im übrigen mit unterschiedlichem 
Argumentbereich, denn das EXOR faltet ja den Bereich 180°..360° herunter 
auf den 0..180° Bereich. Funktionierne können solche Dinger aber nur bei 
Frequenzen ungleich 0. Also wäre eine ZF nötig und die müßte so hoch 
liegen, daß die Summe aus halbem Frequenzhub und höchster aufzulösender 
NF-Frequenz (bei Stereo also 38kHz+15kHz L/R-Bandbreite) noch deutlich 
kleiner ist als die Mittenfrequenz der ZF. Wir reden hier aber von einer 
ZF von 0 (null).

Also denk nochmal nach. Ich meine, es ist bislang klar herausgekommen, 
daß man auch dann, wenn man einen NCO und digitale Signalverarbeitung 
benutzt, unbedingt I und Q benötigt, weil man für alle 
Demodulationsarten, die entweder auf der Länge des Zeigers beruhen (AM) 
oder auf der Drehgeschwindigkeit des Zeigers beruhen (FM) oder auf der 
Orientierung des Zeigers beruhen (PSK, QPSK, QAM usw), eben beide 
Koordinaten benötigt. Entweder als Betrag+Winkel oder als X+Y (bzw. 
I+Q). Gelle?

Ja, ja, ich hätte selber auch gern ein gutes Kochrezept für diesen 
Themenkreis - und die üblichen Bücher sind zu 99% sinnlos, denn sie 
theoretisieren nur herum. Wenn ich die Theorie zur Fouriertransformation 
nachlesen will, brauch ich bloß in meine alten Vorlesungsmitschriften zu 
gucken - aber dort steht nicht, wie man dieses in nem FPGA oder DSP 
praktisch zum Radiobauen anwenden kann. Genau DAS ist wohl auch für ne 
Menge anderer Leute der Grund, warum man mit dem Thema nicht recht warm 
wird: Mangel an benutzbarere Information.

W.S.

P.S. Ich will weder dir noch anderen "auf den Zahn fühlen", aber ich 
möchte auch nicht heiße Luft lesen müssen. Deshalb das Ganze.

von R. F. (rfr)


Lesenswert?

Also,

momentan habe ich Probleme,d er Diskussion zu folgen. Aber eine Frage 
habe ich noch: Angenommen, ich habe I und Q. Wie decodoere ich AM, USB, 
LSB, und FSK?

Grüsse

Robert

von W.S. (Gast)


Lesenswert?

R. Freitag schrieb:
> Wie decodoere ich AM, USB,
> LSB, und FSK?

Also, nach Heruntermischen auf Null Hertz:

Für SSB und CW in USB oder LSB ist die Sache ja einfach: ungewünschtes 
Seitenband unterdrücken und der Rest ist die gewünschte NF.
Zum Unterdrücken des ungewünschten Seitenbandes braucht man ja "bloß" 
(!!!) eines der beiden Signale (I oder Q) um 90° zu drehen 
(Hilbert-Transformation) und dann I und Q zu addieren. Hinter dem "bloß" 
steckt natürlich ein Sack Schwierigkeiten.

Für AM braucht man bloß wie folgt zu rechnen:
NF:= sqrt (I*I + Q*Q);  (sqrt = Quadratwurzel, auch so ein "bloß"..)

Für FM müßte man die Änderung des Phasenwinkels (I/Q versus vorheriges 
I/Q) von einem Sample zum nächsten bestimmen. Diese ergibt dann die 
gewünschte NF. Aber das ist mühselig: I und Q sind ja quasi kartesische 
Koordinaten und man muß zum Ermitteln des aktuellen Phasenwinkels 
erstmal in Polarkoordinaten (Betrag+Winkel) umrechnen. OK, den Betrag 
kann man gleich als AM-Ausgang nehmen, der Winkel ist schwieriger. 
Vielleicht hat einer der Mitleser ne saugute Idee dazu.

W.S.

von Alex (Gast)


Lesenswert?

Man KANN alle Signale im komplexen Basisband (I und Q) demodulieren, 
MUSS aber nicht. Zum Verständnis der äquivalenten Basisbanddarstellung 
verweis ich hier auf Kammeyer - Nachrichtenübertragung. Diese komplexe 
Basisbanddarstellung reeller Bandbegrenzter Signale ist essentiell um 
die Demodulationsalgorithmen mit I und Q zu verstehen!

Für ein SDR bietet sich diese Darstellung natürlich an, weil man damit 
universell ist.
Zur FPGA Umsetzung: Wenn man sich das als Signalflussgraph oder 
Blockschaltbild aufmalt, hat man im Prinzip schon die Struktur für das 
FPGA-Desing.
Wie man I und Q erzeugt sollte eigtl. klar sein. Die 2 
phasenverschobenen Schwingung mit der Trägerfrequenz kann man per DDS im 
FPGA erzeugen. Digitale Filter im FPGA sollten auch kein Problem 
darstellen. Zur Demodulation braucht man evtl. Dinge wie Wurzel oder 
Arctan, hierzu kann z.B. der CORDIC-Algorithmus implementiert werden..

Es kann übrigens auch Sinn machen einen Teil der Signalverarbeitung im 
FPGA (z.B. die Filterung) auf einer ganzzahligvielfachen der 
Abtastfrequenz laufen zu lassen um Multiplizierer einzusparen.

von René D. (Firma: www.dossmatik.de) (dose)


Angehängte Dateien:

Lesenswert?

W.S. schrieb:
> René D. schrieb:
>> Das Delta des Phasenwinkels in Nulllage wird ermittelt. Das ist eine
>> Kennlinie ohne differenzieren oder integrieren.
>
> Bei diesen Worten verstehe ich "Bahnhof". Was bitte sehr ist ein "Delta
> des Phasenwinkels in Nullage"?

Genau das XOR Gatter war der einfachste Phasen Detektor.Es geht auch ein 
Multiplizier. Bei beiden ist im eingeregelten Zustand die Phasenlage um 
90° verschoben. Diesen Zustand habe ich als Nulllage bezeichnet. Dazu 
ein Skizze.

Wenn beide Signale lokaler VCO (oder NCO) und der Sender gleiche 
Frequenz und um 90° phasenversetzt sind, gibt der Phasendetektor Null 
aus (Kennlinie Phasendetektor). Das ist die Ausgangslage. Wird die 
Sendefrequenz schneller, wird der Phasenwinkel größer und dem VCO wird 
eine höhere Spannung zugeführt bis wieder die 90° zwischen den beiden 
Oszillatoren eingeregelt ist.

von Juergen J. (jungnickel)


Lesenswert?

Bei

W.S. schrieb:
> OK, den Betrag
> kann man gleich als AM-Ausgang nehmen, der Winkel ist schwieriger.
> Vielleicht hat einer der Mitleser ne saugute Idee dazu.


Die Lösung heißt CORDIC-Algorithmus. Bei opencores.org gibt es eine 
Implemtierung für die Transformation von kartesischen in 
Polarkoordinaten, welche sogar ohne Multiplizier auskommt

Eine gute Erklärung zum CORDIC-Algorithmus ist

http://www.google.de/url?sa=t&rct=j&q=cordic%20herveille&source=web&cd=1&ved=0CCUQFjAA&url=http%3A%2F%2Fopencores.org%2Fwebsvn%2Cfiledetails%3Frepname%3Dcordic%26path%3D%252Fcordic%252Fweb_uploads%252Fcordic.pdf&ei=hZ1lT9b0EsbPsgbDypGlBg&usg=AFQjCNHoTYOeE_IVJhA7OzXCZ3hIBrqvnQ&cad=rja


Außerdem ist auf Wikipedia das Grundprinzip erklärt.

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.