Ich überlege mir gerade wie ich aus einem Rechtecksignal ein Sinussignal
erzeugen kann und versuche das gerade mit Matlab darzustellen.
Das einzige Problem ist, dass ich nicht weiß welchen Filter ich nehmen
soll und wie groß die Grenzfrequenzen sein sollen.
Hat irgendwer ne Idee?
Ich hatte an 500 Hz Rechteck gedacht...
Chefentwickler schrieb:> Sinusgenerator von Conrad!
Absolut schlechte Idee. Ich bin Student und lerne wie soetwas
funktioniert...
Wie kann man das generell berechnen? So allgemein? Wie muss ich da
ansetzen?
Also ich kenne das Ausgangssignal und das eingangssignal. Suchen tue ich
den Filter.
Klaus W schrieb:> Hat irgendwer ne Idee?> Ich hatte an 500 Hz Rechteck gedacht...
Nun, dann liegt die naechste Oberwelle bei 1.5kHz. Die must du dann
schon unterdruecken. Also muss dein Filter (Tiefpass) ab 500Hz anfangen
zu daempfen. Wie stark es das tun soll bei 1.5Khz haengt davon ab wie
sauber der Sinus werden soll. Die 1.5Khz hat eine Amplitude von 1/3 der
Grundwelle.
Nur mit Filtern?
Oder aus Rechteck ein Dreieck machen (RechteckSTROM in C),
über vorgespannte Dioden und R auf eine nichtlineare Kennlinie, die
schon mal einen ~'Sinus' produziert (mein alter Wavetek macht das so)
und dann erst filtern.
Klaus W schrieb:> Ich überlege mir gerade wie ich aus einem Rechtecksignal ein Sinussignal> erzeugen kann
Einen Sinus der gleichen Frequenz? Blöde Idee. Denn dann braucht man
einen verdammt guten (lies: aufwendigen) Filter. Besser wird es, wenn
man einen Sinus geringerer Frequenz erzeugen will. Dann kann man erst
ein "Treppen"-Signal erzeugen, das dann wesentlich einfacher zum Sinus
zu filtern ist.
> und versuche das gerade mit Matlab darzustellen.> Das einzige Problem ist, dass ich nicht weiß welchen Filter ich nehmen> soll und wie groß die Grenzfrequenzen sein sollen.
Nun, offensichtlich enthält ein Rechteck außer der gewünschten Grund-
frequenz noch zusätzliche Oberwellen. Um einen Sinus zu erhalten, muß
man also die Oberwellen mit einem Tiefpaßfilter entfernen. Die erste
Oberwelle liegt beim dreifachen der Grundfrequenz und hat 1/3 deren
Amplitude. Das perfekte Filter müßte bei der Grundfrequenz noch gar
nicht, beim Dreifachen derselben aber schon sehr stark dämpfen. Je
stärker die Dämfung der Oberwellen, desto weniger Klirrfaktor hat der
Sinus nachher.
Axel Schwenke schrieb:> Nun, offensichtlich enthält ein Rechteck außer der gewünschten Grund-> frequenz noch zusätzliche Oberwellen. Um einen Sinus zu erhalten, muß> man also die Oberwellen mit einem Tiefpaßfilter entfernen. Die erste> Oberwelle liegt beim dreifachen der Grundfrequenz und hat 1/3 deren> Amplitude. Das perfekte Filter müßte bei der Grundfrequenz noch gar> nicht, beim Dreifachen derselben aber schon sehr stark dämpfen. Je> stärker die Dämfung der Oberwellen, desto weniger Klirrfaktor hat der> Sinus nachher.
Danke, das ist eine sehr sehr gute Idee!!!
Bei der LCR-Messbrücke, die dieses (oder letztes?) Jahr in der Elektor
stand, haben sie genau so etwas gemacht.
Damit sie einen sauberen Sinus aus dem Rechteck bekommen, haben sie
einen Tiefpass achter Ordnung verwendet.
(Switched Capacitor Filter von Maxim)
Klaus W schrieb:> Axel Schwenke schrieb:>> ... die Oberwellen mit einem Tiefpaßfilter entfernen> Danke, das ist eine sehr sehr gute Idee!!!
Das hat mit "Idee" nichts zu tun. Das ist das offensichtliche.
Allerdings funktioniert das in der Praxis nicht. Zumindest nicht
zufriedenstellend. Deswegen macht das auch niemand so. Bist du sicher,
daß du lernen und ausprobieren willst, wie man es nicht macht?
Um aus Nichtsinus-Signalen einen Sinus zu machen, nimmt man am ehesten
noch eine resonante Schaltung. Z.B. einen LC-Parallelschwingkreis.
Ergibt aber auch nur für konstante Frequenz einen Sinn.
Klaus W schrieb:> Ich überlege mir gerade wie ich aus einem Rechtecksignal ein Sinussignal> erzeugen kann und versuche das gerade mit Matlab darzustellen.> Das einzige Problem ist, dass ich nicht weiß welchen Filter ich nehmen> soll und wie groß die Grenzfrequenzen sein sollen.>> Hat irgendwer ne Idee?> Ich hatte an 500 Hz Rechteck gedacht...
Da gibt es so einiges:
1. LC Schwingkreis (der auf 500Hz abgestimmt ist) anregen . Siehe oben,
was zu beachten ist.
2. PLL einsetzen und 64fache Grundfrequenz erzeugen, dann das 64x500Hz
digitale Rechtecksignal mit einem (im PROM abgepicherten sinus lookup)
Konverter ins Analogsignal umsetzen und filtern. 64 fach hier als
Beispiel, du kannst auch weniger oder mehr Stützstellen nehmen.
3. uralter Bauvoschlag ist ein XR2206 der per PLL auf 500Hz
nachgesteuert wird vom 500 Hz Rechteck. Den Sinusausgang des 2206 nutzt
man.
4. wenn die 500 Hz eingermaßen konstant sind, per Rechteck-Dreieck
Konverter (Stichwort Integrator) ein Dreicksignal erzeugen und dem
wieder einen Sinus Shaper nachsetzen. Also quasi ein vereinfachtes 2206
Design, aber hier ist die PLL nicht nötig.
Nur mal so 4 Vorschläge auf die Schnelle .-)
Klaus W schrieb:> Danke an alle!!> Habe es bereits geschafft!!
Es wäre sinnvoll, wenn Du schreibst, wie Du Dein Problem gelöst hast.
Dann hätten auch spätere Leser dieses Threads was davon.
Gruss
Harald
>Habe es bereits geschafft!!
herzlichen Glückwunsch.
Im uC Forum sollte der Hinweis auf einen uC nicht fehlen:
Rechteck Digital einlesen, Frequenz messen und einen PWM Kanal mit den
Werten einer Sinustabelle füttern. Dahinter Tiefpass 1. Ordnung
Bauteile Aufwand: ein 6 Beinchen ATtiny, 1 Widerstand, 2 Kondensatoren.
schöne Woche noch
hauspapa
Klaus W schrieb:> Hat irgendwer ne Idee?
Rechteck als Takt für eine DDS verwenden und die Sinusform der
Wertetabelle überlassen.
Oder mit dem Rechteck einen Strom umpolen, der über einen Integrator
daraus ein Dreieck macht. Aus dem Dreieck läßt sich über eine
nichtlineare Kennlinie dann ein Sinus erzeugen.
Ohne deine Qualitätsanforderungen zu kennen, gibt es da diverse
Möglichkeiten.
Harald Wilhelms schrieb:> Klaus W schrieb:>>> Danke an alle!!>> Habe es bereits geschafft!!>> Es wäre sinnvoll, wenn Du schreibst, wie Du Dein Problem gelöst hast.
Er hatte doch gar kein Problem. Er wollte nur einen untauglichen
Lösungsweg für eine willkürlich und unter vollständiger Mißachtung der
Realität gestellte Aufgabe simulieren.
Helmut L. schrieb:> Nun, dann liegt die naechste Oberwelle bei 1.5kHz. Die must du dann> schon unterdruecken. Also muss dein Filter (Tiefpass) ab 500Hz anfangen> zu daempfen. Wie stark es das tun soll bei 1.5Khz haengt davon ab wie> sauber der Sinus werden soll. Die 1.5Khz hat eine Amplitude von 1/3 der> Grundwelle.
Guter Ansatz. Das habe ich hier mal gemacht:
Beitrag "Re: Sinus aus Rechtecksignalen generieren"
Man muss aber dann auch die 5. die 7. und die n.te Oberwelle beseitigen,
was mühsam ist. Im dortigen Beispiel geht es bis n=41. Das gibt viel
Arbeit bei der Auflösung der Phase und der Amplitude beim genauen
Zusammenrechnen.
Jürgen S. schrieb:> Man muss aber dann auch die 5. die 7. und die n.te Oberwelle beseitigen,> was mühsam ist
Nach fast einem Jahrzehnt hat der TO das hoffentlich geschafft.
Andre G. schrieb:> Nach fast einem Jahrzehnt hat der TO das hoffentlich geschafft.
Ja, aber auch nach 20 Jahren werden immer wieder welche fragen wie das
geht und den thread vorgeschlagen bekommen. Daher die kleine Addition
mit den zu beseitigenden Oberwellen und der link.
Ich komme an der Stelle auch nicht umhin zu erwähnen, dass ich mal als
Angestellter so eine Aufgabe hatte, das in analog zu bauen, um
Regelschwingungen am Ausgang eines Sensors, die sich "dreieckig"
abbildeten, auf ähnliche Weise durch Einspeisen einer konträren Welle zu
beseitigen, was mich veranlasste, meinem Chef das Problem mal ganz genau
zu erklären und anhand von Fourier und der verschobenen Wellen, die das
Signal enthielt, darzulegen, dass seine Idee nicht funktionieren kann,
worauf ich dann trotzdem 3 Tage lang dran bauen musste, um zu zeigen,
dass es wirklich nicht geht. Mein Vorschlag, es in Software zu bauen und
es den Kunden zu geben (die lesen diese Sensoren teilweise mit ADCs aus)
wurde verworfen und war sogar mit ein Einlass dafür, dass es dann
baldigst auseinander ging.
Falls also der nächste Chef die Idee hat, eckige Wellen mit einfachen
Methoden rund zu machen, kann der arme Entwickler auf diesen thread
verweisen und es eventuell vermeiden, dass er selber "rundgemacht" wird.
Jürgen S. schrieb:> Man muss aber dann auch die 5. die 7. und die n.te Oberwelle beseitigen,
Je größer n der Oberwelle, je stärker dämpft ein Tiefpass. Zumindedt in
grauer Theorie. Da musst du dich um höhere Oberwellen nicht gesondert
kümmern.
Klaus W schrieb:> Ich überlege mir gerade wie ich aus einem Rechtecksignal ein Sinussignal> erzeugen kann
Aus einem Rechteck lässt sich kein perfektes Sinussignal machen...
Aus einem Dreieck eher...
Ist aber eh wurscht, weil es sicher Leute gibt, die das können...
Den Rechteck auf einen Integrator geben. Dabei entsteht ein sehr
sauberer Dreieck. Diesen dann mit Dioden "krummbiegen".
So macht es m. W. auch ein Xr2206
J. T. schrieb:> Je größer n der Oberwelle, je stärker dämpft ein Tiefpass.
Geht nur bei enger Auslegung der Grenzfrequenz
Xerxes schrieb:> Den Rechteck auf einen Integrator geben. Dabei entsteht ein sehr> sauberer Dreieck. Diesen dann mit Dioden "krummbiegen".> So macht es m. W. auch ein Xr2206
Geht auch nur nur sinnvoll bei fester Frequenz, weil sonst die Amplitude
wächst.
Mani W. schrieb:> Aus einem Rechteck lässt sich kein perfektes Sinussignal machen...
Sieht jetzt nicht sooooo schlecht aus....
1khz Rechteck zu Sinus.Ziemlich einfach aufgebaut...
Es gibt uebrigens den UAF42 von TI - das Datenblatt enthaelt
Informationen darueber wie es funktioniert.
Toxic schrieb:> Mani W. schrieb:>> Aus einem Rechteck lässt sich kein perfektes Sinussignal machen...>> Sieht jetzt nicht sooooo schlecht aus....
Weil die Frequenz auf die des Rechtecksignals angepasst wurde. Das ist
aber ein wenig ein Betrug, weil man durch die Rückkopplung so eines
Filters einen Schwinger bekommt, der dann auch schon einen Sinus mit
dieser Frequenz erzeugen würde. Nimmt man diesen Schwinger, dann muss
man auch permanent dessen Frequenzparameter nachregeln. Umgekehrt kann
die Schaltung aber nur diese Frequenz und keinesfalls allgemein die
Ecken in Bögen verwandeln.
Mani W. schrieb:> aus einem Dreieck lässt sich leichter ein> sinusähnliches Signal erwirtschaften
Weil jede zweite Oberwelle fehlt.
Mike schrieb:> Rechteck als Takt für eine DDS verwenden und die Sinusform der> Wertetabelle überlassen.
Keine Lösung, denn es liefert eine völlig andere Frequenz, macht also
nicht das, was die Idee des thread openers war. Oder man muss mit einer
PLL hochsetzen, um genug Punkte zu haben.
Ganz genau genau genommen braucht man ein XY-Diagramm eines
Sinushalbbogens bei dem X die Eingangsspannung ist. Ganz so funktioniert
das Diodennetzwerk. Und auch das hat ein Frequenzverhalten und versagt
im MHz-Bereich.
Jürgen S. schrieb:> Ja, aber auch nach 20 Jahren werden immer wieder welche fragen wie das> geht und den thread vorgeschlagen bekommen.
Gemeint: Von der Suchmaschine des geringsten Mißtrauens? Möglich.
Also den und/oder einen der vielen anderen Threads hierzu. Es ist
recht unsicher, ob/daß, wer auf der Suche ist nach Prinzipien zur
Sinusformung aus Rechtecksignal, definitiv DIESEN Thread findet.
Ist aber nicht schlimm:
Die Gründe zur Threaderöffnung mit solchem oder ähnlichem Betreff
- somit die Anforderungen, folglich auch die sinnvollen Optionen -
sind bei diversen Ratsuche(r)n nämlich auch einigermaßen divers.
Xerxes schrieb:> Den Rechteck auf einen Integrator geben. Dabei entsteht ein sehr> sauberer Dreieck. Diesen dann mit Dioden "krummbiegen".> So macht es m. W. auch ein Xr2206
Warum denn so kompliziert. Wenn man einen Integrator hat kann man auch
noch einen zweiten hinterherschalten und damit aus dem Dreieck einen
Sinus machen.
Jochen der Rochen schrieb:> Xerxes schrieb:>> Den Rechteck auf einen Integrator geben. Dabei entsteht ein sehr>> sauberer Dreieck. Diesen dann mit Dioden "krummbiegen".>> So macht es m. W. auch ein Xr2206>> Warum denn so kompliziert. Wenn man einen Integrator hat kann man auch> noch einen zweiten hinterherschalten und damit aus dem Dreieck einen> Sinus machen.
Wie soll das gehen ? Eine Steigung integriert ergibt doch eine Parabel ,
also f(x) ~ x². Wo ist da der Sinus ?