Forum: FPGA, VHDL & Co. Multicarrier Signal mit FPGA erzeugen


von Mike (Gast)


Lesenswert?

Hallo,

ich habe noch nie mit FPGA's gearbeitet und wollte die hier
vorhandenen Experten einmal fragen wie ich folgendes Signal am 
einfachsten erzeugen kann:

Insgesamt sollen auf einmal 200 Sinustöne erzeugt werden.
Der erste Sinuston liegt bei 2MHz, die darauf folgenden
haben einen Abstand von 200kHz, also 2Mhz, 2.2MHz, 2.4Mhz usw.
Die Phasenbeziehung der Töne untereinander ist zufallsverteilt und soll 
am
Anfang in einer Tabelle vorgegeben werden.
Die sich ergebende Bandbreite beträgt ungefähr 42 MHz, also ist eine 
Samplerate für den DAC von mindesten 200MHz angebracht.

Wie kann ich dieses am schnellsten und einfachsten erzeugen ?
Vielleicht sogar mit einen Dev.-Kit ?

Vorab vielen Dank und Gruß

Mike

von Bernd G. (Gast)


Lesenswert?

Ohne in die Tiefe zu gehen:
Die DDS aus dem Xilinx-Core Generator kann 16 Kanäle gleichzeitig 
erzeugen.
Solltest du dir mal ansehen.

von Mike (Gast)


Lesenswert?

Wie hast du das mit den 16 Kanälen gemeint ?

von Bernd G. (Gast)


Lesenswert?

z.B. Kanal 1 = 2,2 MHz
Kanal 2 = 2,4 MHz
Kanal 3 = 2,6 MHz ... usw. bis Kanal 16

Du müßstest also max. 13 Stück DDS implementieren.
Etliche Kanäle könnten mehrfach genutzt werden. Und zwar die mit den 2^n 
Potenzen als Vielfachen (bei entsprechender Bitbreite der Kanäle).

Bitte erst bei Xilinx ansehen und dann weiterfragen :-)

von Bernd G. (Gast)


Lesenswert?

Sorry, die einzelnen Kanäle können bei einer DDS nicht ohne weiteres 
auseinander abgeleitet werden, es bleibt also bei 13 DDS!

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Kann man sowas nicht als "arbitrary function generator" bauen? Ins RAM 
muß allerdings die gesamte Kurvenform der periodischen Schwingung 
passen, also das kleinste gemeinsame Vielfache aller Sinusfrequenzen.

von Detlef _. (detlef_a)


Lesenswert?

Deine Frequenzen sind ja alles ganzzahlige Vielfache von 200kHz. Der 
Faktor zwischen den 200kHz und Deiner angestrebten Abtastfrequenz von 
200Mhz ist ungefähr 1000, nehmen wir an es sei 1024. Dann nimmst Du ne 
Abtastfrequenz von 200kHz*1024 und nen 1024er Buffer. Wenn Du in den 
Buffer einen Sinus reinpackst, kommt der mit 200kHz raus, wenn Du 10 
Sinuswellen in den Buffer packst kommen die mit 2Mhz raus, 210 
Sinuswellen im Buffer machen 42MHz. Einfach im Buffer alle Sinuswellen 
addieren, aber Vorsicht, Phasen verdrehen, sonst entsteht nen Dirac.

Cheers
Detlef

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.