Forum

Einloggen | Registrieren | RSS  

Tim

E-Mail

02.03.2008,
23:39
 

Fourierreihe - mehrere Sinuswellen erzeugen (Elektronik)

Heyho,
ich habe ein paar Fragen, es wäre super, wenn mir jemand weiter helfen könnte!

Ich möchte eine Schaltung entwickeln mit der man die Fourierreihe erklären kann, bzw. anschaulicher machen kann!

Vom Prinzip hab ich mir das so vergestellt, dass ich mehrere, parallelgeschaltete Sinusoszilatoren habe, die in dihrer Frequenz veränderbar sind. Diese an einen Addierer und ggf. Integrator (für Cosinuswellen) weitergebe und somit unterschiedliche Signale (zumindest annähernd) erzeugen kann.

Meine erste Idee war, dass ich mehrere Sinussignalgeneratoren(z.b.XR2206) benutzt. Das Problem is die Synchronisation.
Meine nächste Idee war über einen Referenzfunktionsgenerator ein Sinussignal zu erzeugen und über Frequenzmultiplikatorschaltungen die gewünschten Frequenzen einstellen kann. Ich hab nun einen halben Tag alles mögliche über Phase-Lock-Loop (PLL) gelesen. Aber vom Prinzip bin ich immer auf die selbe Frage gekommen:

Sind PLL Schaltungen(wie z.b. hier in den Elektronik-Minikursen beschrieben) nur für Rechtecksignale und nicht für Sinussignale???

Desweitern hatte ich zwischen durch auch mal die Idee das ganze über mehrere PSK-Modulatoren(z.b.auch XR2206) zu realisieren.
Referenzsignal am Eingang rein, Ausgangsfrequenz durch beschaltung einstellbar. Problem ist: ich hab nur ICs gefunden, die einen internen Oszilator haben.....und vom Prinzip is es ja auch wieder so wie PLL, zumindest für meinen Gebrauch!

Kennt vielleicht jemand ein IC, an dem man eingangsseitig eine Sinussignal mit fester Frequenz anlegt und über externe beschaltung einen Ausgang hat, mit frequenzveränderbarer Frequenz????

Ich freue mich sehr über Antworten und Anregungen aller Art!:-)

x y

03.03.2008,
00:16

@ Tim

Fourierreihe - mehrere Sinuswellen erzeugen

» Das Problem is die Synchronisation.

Richtig erkannt, und das bekommt man analog nur mit enormem Aufwand sauber hin. Nimm mehrere DDS, die lassen sich auch bzgl der Phase sauber einstellen.

Harald Wilhelms(R)

E-Mail

03.03.2008,
08:18

@ Tim

Fourierreihe - mehrere Sinuswellen erzeugen

» Vom Prinzip hab ich mir das so vergestellt, dass ich mehrere,
» parallelgeschaltete Sinusoszilatoren habe, die in dihrer Frequenz
» veränderbar sind.

Das Problem ist, das nicht nur die Frequenz, sondern
auch die Phase genau stimmen muss.

» Diese an einen Addierer und ggf. Integrator (für
» Cosinuswellen)

In der Technik spricht man da eher von Phasenschieber.
Eine Cosinuswelle ist ja nichts anderes als eine um
90° phasenverschobene Sinuswelle.

» Meine erste Idee war, dass ich mehrere Sinussignalgeneratoren(z.b.XR2206)
» benutzt. Das Problem is die Synchronisation.

Ja, und mit diesen ICs vermutlich nicht lösbar.

» Meine nächste Idee war über einen Referenzfunktionsgenerator ein
» Sinussignal zu erzeugen und über Frequenzmultiplikatorschaltungen die
» gewünschten Frequenzen einstellen kann. Ich hab nun einen halben Tag alles
» mögliche über Phase-Lock-Loop (PLL) gelesen. Aber vom Prinzip bin ich immer
» auf die selbe Frage gekommen:
»
» Sind PLL Schaltungen(wie z.b. hier in den Elektronik-Minikursen
» beschrieben) nur für Rechtecksignale und nicht für Sinussignale???

» Kennt vielleicht jemand ein IC, an dem man eingangsseitig eine Sinussignal
» mit fester Frequenz anlegt und über externe beschaltung einen Ausgang hat,
» mit frequenzveränderbarer Frequenz????

Das sind die schon erwähnten DDS-ICs.

Für Deine Zwecke wäre meines Erachtens nach eine PLL
nicht so gut geeignet. Einfacher ist der umgekehrte
Weg. Du erzeugst eine verhältnismässig hohe Frequenz,
aus der Du die benötigten niedrigeren Frequenzen durch
Frequenzteilung erzeugst. Das sind dann natürlich
Rechteckwellen. Durch aktive Filter kannst Du daraus
aber Sinuswellen machen. Wenn das ganze aber durch-
stimmbar sein soll, müssen auch die aktiven Filter
entsprechend nachgestimmt werden. Automatisch ginge das
möglicherweise mit SC-Filter. Dazu gibt es hier im Elko
einen Artikel von Thomas. Übrigens gilt die Regel, das
man eine gewisse Wellenform aus anderen Wellen mit
verschiedenen Frequenzen erzeugen kann, nicht nur für
den Sinus, sondern auch für jede andere Wellenform. In
DDS-ICs wird z.B. der Sinus durch Addition verschiedener
Rechteckwellen erzeugt.
Gruss
Harald

Tim

03.03.2008,
14:49

@ Tim

Fourierreihe - mehrere Sinuswellen erzeugen

Danke für die schnellen Antworten!!!

Da ich keine Ahnung von DDS habe, hab ich mal ´n bisschen gelesen! Das Problem bei den meisten ICs, die ich so gesehen habe ist, dass sie zu teuer sind(und wahrscheinlich auch viel mehr können, als was ich brauche)
Ein recht günstiges IC is der AD9833.

Sehe ich das richtig, dass man einen Quarz an den MCLK anschluß anschließen kann um die Frequenz zu erzeugen? Kann man diesen Quarz einfach parallel an mehrere DDS ICs anschließen, damit die alle synchron arbeiten?
Kennt ihr gute Seiten, auf denen DDS vom Prinzip her und gute Schaltungen erklärt werden?? Wie gesagt, ich hab da keine Ahnung, find´s aber ziemlich interessant!

Ach ja und nur nochmal zum klar stellen=> welche Frequenzen die Sinussignale haben, ist ziemlich egal.....da diese DDS ICs ja bis in den MHz bereich gehen!

Gruß,
T.

Harald Wilhelms(R)

E-Mail

03.03.2008,
15:58

@ Tim

Fourierreihe - mehrere Sinuswellen erzeugen

» Danke für die schnellen Antworten!!!
»
» Da ich keine Ahnung von DDS habe, hab ich mal ´n bisschen gelesen! Das
» Problem bei den meisten ICs, die ich so gesehen habe ist, dass sie zu
» teuer sind(und wahrscheinlich auch viel mehr können, als was ich brauche)
» Ein recht günstiges IC is der AD9833.
»
» Sehe ich das richtig, dass man einen Quarz an den MCLK anschluß
» anschließen kann um die Frequenz zu erzeugen? Kann man diesen Quarz
» einfach parallel an mehrere DDS ICs anschließen, damit die alle synchron
» arbeiten?
» Kennt ihr gute Seiten, auf denen DDS vom Prinzip her und gute Schaltungen
» erklärt werden?? Wie gesagt, ich hab da keine Ahnung, find´s aber ziemlich
» interessant!
»
» Ach ja und nur nochmal zum klar stellen=> welche Frequenzen die
» Sinussignale haben, ist ziemlich egal.....da diese DDS ICs ja bis in den
» MHz bereich gehen!

Vielleicht helfen Dir ja folgende Links der Fa: ELV
noch weiter zum Verständnis der DDS:
http://www.elv-downloads.de/service/manuals/DDS10/61360-DDS-Board.pdf
http://www.elv-downloads.de/service/manuals/DDS110/73756_DDS110_km.pdf
http://www.elv-downloads.de/service/manuals/DDS20/47138-DDS-Board_km.pdf
Mehrere ICs am Quarzanschluss parallel zu schalten, halte
ich für keine gute Idee. Dann solltest Du besser einen
getrennten Quarzoszillator nehmen.
Gruss
Harald

J.R.(R)

E-Mail

03.03.2008,
22:13

@ Harald Wilhelms

Fourierreihe - mehrere Sinuswellen erzeugen

Hallo Harald,

» In
» DDS-ICs wird z.B. der Sinus durch Addition verschiedener
» Rechteckwellen erzeugt.

In DDS-ICs wird eine Sinus-Wertetabelle mit einem programmierbaren Phasenakkumulator zyklisch ausgelesen. Die ausgelesenen Binärwerte werden dann mit einem DAC "analogisiert" und einem Tiefpass (fg < 2fclk) interpoliert.

Jörg

J.R.(R)

E-Mail

03.03.2008,
22:34

@ Tim

DDS-Simulator

Hallo Tim,
jede Sinus-Oberwelle einzeln zu erzeugen, wird sehr aufwändig, zumal du für die Grundwelle und jede Oberwelle neben dem Sinus- noch den Cosinusanteil erzeugen mußt.
Eine dgitale Lösung wäre mit einer schnellen CPU machbar. Mit einer geeigneten Software kannst du die Funktion eines DDS-ICs nachbilden. Den Phasenakkumulator mußt du nur einmal programmieren und ließt einfach aus mehreren Wertetabellen aus (Eine Tabelle pro Sinus) und gibst den Wert jeder Tabelle auf je einen DAC aus. Die Wertetabellen gewährleisten eine starre Phasenlage aller Sinuswellen zueinander.

Jörg

» ich habe ein paar Fragen, es wäre super, wenn mir jemand weiter helfen
» könnte!
»
» Ich möchte eine Schaltung entwickeln mit der man die Fourierreihe erklären
» kann, bzw. anschaulicher machen kann!
»
» Vom Prinzip hab ich mir das so vergestellt, dass ich mehrere,
» parallelgeschaltete Sinusoszilatoren habe, die in dihrer Frequenz
» veränderbar sind. Diese an einen Addierer und ggf. Integrator (für
» Cosinuswellen) weitergebe und somit unterschiedliche Signale (zumindest
» annähernd) erzeugen kann.
»
» Meine erste Idee war, dass ich mehrere Sinussignalgeneratoren(z.b.XR2206)
» benutzt. Das Problem is die Synchronisation.
» Meine nächste Idee war über einen Referenzfunktionsgenerator ein
» Sinussignal zu erzeugen und über Frequenzmultiplikatorschaltungen die
» gewünschten Frequenzen einstellen kann. Ich hab nun einen halben Tag alles
» mögliche über Phase-Lock-Loop (PLL) gelesen. Aber vom Prinzip bin ich immer
» auf die selbe Frage gekommen:
»
» Sind PLL Schaltungen(wie z.b. hier in den Elektronik-Minikursen
» beschrieben) nur für Rechtecksignale und nicht für Sinussignale???
»
» Desweitern hatte ich zwischen durch auch mal die Idee das ganze über
» mehrere PSK-Modulatoren(z.b.auch XR2206) zu realisieren.
» Referenzsignal am Eingang rein, Ausgangsfrequenz durch beschaltung
» einstellbar. Problem ist: ich hab nur ICs gefunden, die einen internen
» Oszilator haben.....und vom Prinzip is es ja auch wieder so wie PLL,
» zumindest für meinen Gebrauch!
»
» Kennt vielleicht jemand ein IC, an dem man eingangsseitig eine Sinussignal
» mit fester Frequenz anlegt und über externe beschaltung einen Ausgang hat,
» mit frequenzveränderbarer Frequenz????
»
» Ich freue mich sehr über Antworten und Anregungen aller Art!:-)

Tim

E-Mail

03.03.2008,
23:39

@ J.R.

DDS-Simulator

Hallo J.R.

vielen Dank für deine Antwort!

Ich hatte auch schon drüber nachgedacht, dass ganze mit einem µC zu machen. Lässt sich sowas mit einem XA49 oder 8051 realisieren? Ich habe ein wenig Erfahrung mit µC-Programmierung(letztes Semester in der Uni), kann aber C (im allgemeinen) programmieren.

Das Problem bei der Sache ist aber doch meiner Meinung nach, dass ein XA49 zuwenig ausgänge hat.....man braucht dann ja z.b. 8bit pro Welle und diese dann auf einen DA-Wandler. Wieviele binäre hat ein XA49? 3x8bit oder so? Dann müsst man mehrere verwenden (was aufbau und finanziell nicht das problem wäre)aber diese dann untereinander synchronisieren??!!!

Oder??

Harald Wilhelms(R)

E-Mail

04.03.2008,
08:52

@ J.R.

Fourierreihe - mehrere Sinuswellen erzeugen

» Hallo Harald,
»
» » In
» » DDS-ICs wird z.B. der Sinus durch Addition verschiedener
» » Rechteckwellen erzeugt.
»
» In DDS-ICs wird eine Sinus-Wertetabelle mit einem programmierbaren
» Phasenakkumulator zyklisch ausgelesen. Die ausgelesenen Binärwerte werden
» dann mit einem DAC "analogisiert" und einem Tiefpass (fg < 2fclk)
» interpoliert.

Ja, will man dieses Verhalten aber mathematisch nachbilden
könnte man das auch durch Addition von Rechteck"wellen"
auf Millimeterpapier tun.
Gruss
Harald

x y

04.03.2008,
09:16

@ Tim

DDS-Simulator

» zuwenig ausgänge hat.....man braucht dann ja z.b. 8bit pro Welle und diese
» dann auf einen DA-Wandler.

Sigma-Delta!

J.R.(R)

E-Mail

04.03.2008,
17:26

@ Tim

DDS-Simulator

Hallo Tim,

» Ich hatte auch schon drüber nachgedacht, dass ganze mit einem µC zu
» machen. Lässt sich sowas mit einem XA49 oder 8051 realisieren? Ich habe
» ein wenig Erfahrung mit µC-Programmierung(letztes Semester in der Uni),
» kann aber C (im allgemeinen) programmieren.

Das kommt immer darauf an, wie hoch die Frequenz sein soll und wieviele Oberwellen erzeugt werden sollen. Da mußt du dir schonmal einen Programmablauf konstruieren und die Taktzyklen zählen... :-)

» Das Problem bei der Sache ist aber doch meiner Meinung nach, dass ein XA49
» zuwenig ausgänge hat.....man braucht dann ja z.b. 8bit pro Welle und diese
» dann auf einen DA-Wandler. Wieviele binäre hat ein XA49? 3x8bit oder so?

Da du die Werte ohnehin sequentiell ausgeben mußt, kannst du das auch auf einen gemeinsamen Datenbus machen. Moderne DACs sind busfähig und enthalten z.T. gleich mehrere adressierbare DACs. Du brauchst also nur einen 8-Bit-IO-Port als Datenbus definieren und einen weiteren Port für Adressleitungen und eine Select-Leitung. Mit 16 IO-Leitungen kannst du dann theoretisch bis zu 128 8-Bit-DACs relativ direkt und schnell ansteuern. Praktisch wird ein Prozessor nicht so viele Ausgänge mit der notwendigen Geschwindigkeit bedienen können.

» Dann müsst man mehrere verwenden (was aufbau und finanziell nicht das
» problem wäre)aber diese dann untereinander synchronisieren??!!!

Wenn sie Takt, Reset und Software gemeinsam haben, sollten sie ab Reset exakt synchron laufen. Entsprechend den unterschiedlichen Wertetabellen gibt dann jeder Prozessor ein unterschiedliches aber phasenstarres Signal aus.

Jörg

Tim

E-Mail

06.03.2008,
14:19

@ J.R.

DDS-Simulator

Heyho,
danke fuer eurer Antworten!

Ich hab nun drueber nach gemacht, dass ganze mit einem XA-49 zu machen und ueber den I2C ausgang einen DAC anzusprechen. Als DAC habe ich den TDA8444 von Philips gefunden. Der hat 8 Analogausgaenge und wir ueber I2C ansprochen. Die Frage is: aendern sich alle Ausgaenge zur selben Zeit?? Oder aendern sie sich zumindest so, dass man es bei Ausgangfrequenzen von z.b. 100 Hz oder 1kHz es sich nicht bemerkbar macht?! Eine kleine Phasenverschiebung sollte (glaub ich) kein Problem machen.

Habt ihr Erfahrungen mit anderen DACs? z.b. welche, die nur einen ausgang haben, dafuer aber einen synchronisationseingang, dass mehrere parallele Konverter zur selben zeit den ausgang umschalten?

Gruss,
Tim

J.R.(R)

E-Mail

06.03.2008,
16:23

@ Tim

DDS-Simulator

» Ich hab nun drueber nach gemacht, dass ganze mit einem XA-49 zu machen und
» ueber den I2C ausgang einen DAC anzusprechen. Als DAC habe ich den TDA8444
» von Philips gefunden. Der hat 8 Analogausgaenge und wir ueber I2C

I²C und TDA8444 ist für diesen Zweck eher ungeeignet. Erstens macht der I²C-Bus die Ausgabe langsam und der TDA8444 hat mit 6 Bit nicht gerade eine hohe Auflösung.

» ansprochen. Die Frage is: aendern sich alle Ausgaenge zur selben Zeit??

Ich habe mir jetzt zwar nicht das Datenblatt durchgelesen, aber das glaube ich nicht. Schließlich dient der TDA8444 hauptsächlich zum Software-Abgleich elektronischer Schaltungen. D.h., es werden nur konstante Ausgangsspannungen mehr oder weniger fest eingestellt. Das Feature, dass sich alle Spannungen synchron ändern wäre also völlig sinnlos.

» Oder aendern sie sich zumindest so, dass man es bei Ausgangfrequenzen von
» z.b. 100 Hz oder 1kHz es sich nicht bemerkbar macht?! Eine kleine
» Phasenverschiebung sollte (glaub ich) kein Problem machen.

Bei I²C-Ausgabe treten schon erhebliche Verögerungen auf. Wenn du schon seriell ausgeben willst, dann besser über die SPI-Schnittstelle. Damit könntest du eine "Batterie" von kaskadierten Schieberegistern (z.B. 74HC4094) betreiben und diese über ein gemeinsames Latch-Enable synchron aktualisieren. Du mußt dann nur noch an jeden 4094 ein R-2R-Netzwerk oder einen einfachen 8-Bit-DAC dranhängen.

» Habt ihr Erfahrungen mit anderen DACs? z.b. welche, die nur einen ausgang
» haben, dafuer aber einen synchronisationseingang, dass mehrere parallele
» Konverter zur selben zeit den ausgang umschalten?

Alle Parallel-DACs mit Bus-Interface werden mit der Flanke einer Bus-Steuerleitung synchron aktualisiert. Du mußt dann nur eine Logik bauen, die diese Flanke gleichzeitig auf alle DACs verteilt.

Jörg

Tim

E-Mail

07.03.2008,
17:55

@ J.R.

DDS-Simulator

Danke für deine Antwort, Jörg!

Ist es nicht von der Frequenz der auszugebenen Sinuswellen abhängig ob I2C zu langsam ist, oder nich?!


Welche Frequenz die Sinuswellen haben ist nämlich ziemlich unerheblich! Es ist egal ob die Grundwelle 100 Hz, 1kHz oder 100kHz ist.

Vom Prinzip her hört sich deine Antwort ja ganz gut an, dass einzige Problem, was ich dabei habe ist, dass ich bisher nur mit dem XA49 von Philips gearbeitet habe. Diesen habe ich auch schon zu hause inklusive Board zum Programmieren, usw..... genau genommen ist es ein P89C668! Dieser hat allerdings nur einen I2C anschluß!

Eigentich bin ich nur aus diesem Grund auf den I2C Bus gekommen. Gibt es vielleicht diese Schieberegistersteine auch mit I2C anschluß?? ich werde mal danach suchen und würde mich aber auch sehr über eine Antwort hier freuen und mich dafür bedanken!

Gruß,
Tim