Forum: FPGA, VHDL & Co. parasitäre Modulation bei DDS


von Sindy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich benutze einen Spartan 6 mit 125MHz. Ich generiere mir über den 
Xilinx DDS 4.0 ein Sinus Signal z.B. 1MHz (48bit).
Wenn ich das Signal im XY Plot darstelle und aus der DDS Sin und Cos 
ausgebe, dann sehe ich auf dem Oszi ein „laufen“  des Signals, d.h. 
Sin/Cos steht fest(Kreis), aber auf dem Signal wandern Punkte mit einer 
sehr niedrigen Frequenz (einige Hz).
   Siehe Bild xy/Video

Der gleiche Effekt tritt auf wenn ich 2 DDS benutze und diese über das 
clear Signal synchronisiere.
Komischerweise scheint der Effekt bei 1,25MHz minimal zu sein. Bei 
höheren oder tieferen Frequenzen tritt er verstärkt auf.

Für meine Anwendung will ich eine Grundfrequenz (z.B. 1,25MHz) und die 
dazu exakt doppelte Frequenz erzeugen um ein phasenmoduliertes System 
aufzubauen. Sprich ein externes System wird durch die Grundfrequenz 
moduliert und die eigentliche Information (Im Testsetup ein mechanisch 
erzeugter Sinus) aufmoduliert. Die Demodulation erfolgt dann im FPGA mit 
der generierten Grund- und doppelten Frequenz. Im Resultat sieht mein 
demoduliertes Signal dann so aus: (Bild Modulation)grün mit 1,25MHz gelb 
mit 2,5MHz moduliert

Die Ursache für die parasitäre Modulation konnte auf das oben 
beschriebene Problem eingegrenzt werden.
Hat jemand Ideen wo die Ursache liegen könnte? Oder wie ich den Effekt 
unterdrücken kann.

Danke schon mal!

von alex (Gast)


Lesenswert?

Sindy schrieb:
> Ich generiere mir über den
> Xilinx DDS 4.0 ein Sinus Signal z.B. 1MHz (48bit)

Wie viel Bit kann dein DAC?

von Falk B. (falk)


Lesenswert?

Sieht mir fast nach einem klassischen Aliasingproblem aus. Wenn die 
Zeitäuflösung am Digitaloszi rher klein ist (ms/DIV und mehr), arbeitet 
es mit verminderter Abtastrate, da kann sowas passieren.

Gegenmaßnahme: Anzahl der Samples erhöhen, das erhöhrt automatisch die 
Abtastrate; Zeitauflösung erhöhen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Falk Brunner schrieb:
> Sieht mir fast nach einem klassischen Aliasingproblem aus
Das Foto dort scheint mir auch ein Kapitel aus "Wer Mist misst" zu sein.

500ms/div und 1MHz passen nicht zusammen...

Sindy schrieb:
> Die Ursache für die parasitäre Modulation konnte auf das oben
> beschriebene Problem eingegrenzt werden.
Was sagt eine Spektrumsanalyse? tauchen da auch mehrere Frequenzen auf?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Wenn das Frequenzverhältnis eines DDS (Sinusausgang zu Takt) nicht 
exakte Vielfache sind, erhält man immer eine Schwebung. Besonders stark 
nahe der obersten möglichen Frequenz (Nyquist) von 1/2 Taktfrequenz. Der 
DDS durchläuft langsam seine Sinustabelle, einmal auf pos/neg 
Spitzenwert, später auf den beiden Nulldurchgängen pro Schwingung. Das 
ergibt eine 100-prozentige Amplitudenmodulation.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christoph Kessler (db1uq) schrieb:
> Besonders stark nahe der obersten möglichen Frequenz (Nyquist) von 1/2
> Taktfrequenz. Der DDS durchläuft langsam seine Sinustabelle, einmal auf
> pos/neg Spitzenwert, später auf den beiden Nulldurchgängen pro
> Schwingung. Das ergibt eine 100-prozentige Amplitudenmodulation.
Aber so eine Konstellation sehe ich hier nicht...

von Sindy (Gast)


Lesenswert?

@alex
>Wie viel Bit kann dein DAC?
     48bit sind der Phaseincr. Wert, also die Frequenzauflösung (<50uHz) 
nicht die Bits des DACs.

@Falk  Leider ändert sich das Signal nicht beim Anzahl der Samples 
erhöhen, also die parasitäre Modulation auf dem demodulieren Signal der 
doppelten Frequenz bleibt

@Lothar
>500ms/div und 1MHz passen nicht zusammen..
dargestellt ist das demoduliertes Signal (ca 1kHz) von 1.25MHz bzw. 
2.5MhHz als Trägerfrequenz. 500ms/div sind deshalb gewählt um die 
parasitäre Modulation zu zeigen
>Was sagt eine Spektrumsanalyse? tauchen da auch mehrere Frequenzen auf?
ja die FFT zeigt beim demodulierten Signal von der doppelten Trägerfreq. 
5Hz zusätzlich.

@Christoph
>Wenn das Frequenzverhältnis eines DDS (Sinusausgang zu Takt) nicht
>exakte Vielfache sind, erhält man immer eine Schwebung
ja stimmt. Deshalb ist auch zum Clock der DDS von 125MHz 1.25 und 2.5Mhz 
als gerade teilungsverhätlnisse gewählt worden.

Mir ist nicht klar, warum die Frequenzen der DDS nicht exakt doppelt so 
gross sind, wenn beide mit gleichem Takt und doppeltem 
Zählwert(Phaseincr.) arbeiten. Eigentlich sollte das Limitierende doch 
bei der minimalen Frequenzauflösung der DDS liegen.

von Achim S. (Gast)


Lesenswert?

Sindy schrieb:
> dargestellt ist das demoduliertes Signal (ca 1kHz) von 1.25MHz bzw.
> 2.5MhHz als Trägerfrequenz. 500ms/div sind deshalb gewählt um die
> parasitäre Modulation zu zeigen

Also 1kHz Signal und 5kS/s Abtastung (laut Screenshot): auch da sieht 
man natürlich noch deutliche Schwebungseffekt. Lass dir vom Agilent die 
Einhüllende der demodulierten Signale anzeigen. Schwebt es dann immer 
noch?

Sindy schrieb:
> Die Demodulation erfolgt dann im FPGA mit
> der generierten Grund- und doppelten Frequenz.

Mit welcher Abtastrate, und was für digitale Filter hast du im Pfad des 
demodulierten Signals, bevor es auf das Oszi geht?

Sindy schrieb:
> Mir ist nicht klar, warum die Frequenzen der DDS nicht exakt doppelt so
> gross sind, wenn beide mit gleichem Takt und doppeltem
> Zählwert(Phaseincr.) arbeiten.

Wer behauptet, dass die erzeugte Frequenz nicht genau doppelt so groß 
ist? Bei den von dir beschriebenen Bedingungen sind sie das.

von Sindy (Gast)


Lesenswert?

>Mit welcher Abtastrate, und was für digitale Filter hast du im Pfad des
>demodulierten Signals, bevor es auf das Oszi geht?

mit 125MSps werden die analogen Signale gesampled und im IIR 4th order 
weiterverarbeitet

>Wer behauptet, dass die erzeugte Frequenz nicht genau doppelt so groß
>ist? Bei den von dir beschriebenen Bedingungen sind sie das.

Ja, nach den Bedingungen sollten sie das sein. Woher kommt dann die 
Schwebung, wenn die Frequenzen exakt doppelt so groß sind. Bei exakt 
synhcronen sollte aber auch die Lissajour Figur fest stehen und nicht 
durchlaufen, oder?

von W.S. (Gast)


Lesenswert?

Sindy schrieb:
> Wenn ich das Signal im XY Plot darstelle und aus der DDS Sin und Cos
> ausgebe, dann sehe ich...

...genau den Mist, den du mit dem DDS erzeugst. Du scheinst mir zu wenig 
auf analoge Belange zu achten, das ist wie ein reiner Programmierer, der 
ein reales Gerät entwickeln soll und mit allem außerhalb seines 
Programmier-Dunstkreises auf Kriegsfuß steht - insbesondere ggü. 
jeglicher Hardware.

Also:
Jeder deiner Ausgänge bedarf eines Tiefpaßfilters, um aus den 
zeitdiskreten Samples vernünftige Analogsignale zu erzeigen. Siehe dein 
2. Bild.

Also bau dir zwei Tiefpässe und miß nochmal, dann wirst du es begreifen 
- und deine Signale werden endlich schön aussehen.

W.S.

von Falk B. (falk)


Lesenswert?

@ Sindy (Gast)

>>Wer behauptet, dass die erzeugte Frequenz nicht genau doppelt so groß
>>ist? Bei den von dir beschriebenen Bedingungen sind sie das.

>Ja, nach den Bedingungen sollten sie das sein. Woher kommt dann die
>Schwebung, wenn die Frequenzen exakt doppelt so groß sind.

Von der Abtastung durch dein Digitaloszi! Nimm mal ein altes analoges 
Oszi und staune.

> Bei exakt
>synhcronen sollte aber auch die Lissajour Figur fest stehen

Das tut sie!

> und nicht durchlaufen, oder?

Das ist Rauschen bzw. die Abtastschwebung!

Wenn eine Lissajousfigur sich bewegt, dann hat man einen 
Frequenzversatz. Du hast nur ein Ei, d.h. dein Phasenlage ist nicht 
exakt 90° und die Amplituden sind auch nicht exakt gleich.

https://www.youtube.com/watch?v=t6nGiBzGLD8

von Andi (Gast)


Lesenswert?

> Deshalb ist auch zum Clock der DDS von 125MHz 1.25 und 2.5Mhz
als gerade teilungsverhätlnisse gewählt worden.

1.25 und 2.5 MHz sind eben keine geraden Teilverhältnisse im Sinne der 
DDS.
1.25 ist 1/100 der Abtastfrequenz, bei einer 24bit DDS erhälst du also 
2^24/100 = 167772.16 als "Teilverhältnis". Diese 0.16 sind es die die 
Schwebung erzeugen.
Du musst eine Frequenz wählen bei der 2^24/(fa/fsin) eine ganze Zahl 
ergibt. Wenn du es ganz sauber willst, wähle ein Verhältniss von 2^n, 
also z.B 1/128 der Abtastfrequenz = 0.976 MHz Sinusfrequenz.

Andi

von Patrick (Gast)


Lesenswert?

Das Agilent tastet doch laut Anzeige gerade einmal mit 50kSa/s ab...

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.