Forum: Analoge Elektronik und Schaltungstechnik Signalgenerator "seamless" Einstellung


von Christian (Gast)


Lesenswert?

Moin,

gibt es da draußen ein IC, welches einen Ausgang besitzt und an dem ich 
über ein Potentiometer die auszugebene Wellenform stufenlos von Sinus 
über Triangel bis Rechteck einstellen kann?

LG,
Christian

von Christian S. (roehrenvorheizer)


Lesenswert?

XR2206 und ICL8038 wären solche Kandidaten. Sind aber nur für 
geschlossene Räume vorgesehen.

Alternative: Dreieckgenerator mit Dioden-Netzwerk dahinter. Erzeugt dann 
aus triangle sinewave.


MfG

: Bearbeitet durch User
von Der Zahn der Zeit (Gast)


Lesenswert?

Eigentlich eine interessante Frage. Aber auch geeignet, um mit 
Gegenfragen den TO abzuwatschen, denn es gibt so viele "Freiheitsgrade", 
dass, egal welcher Vorschlag kommt, die Antwort lautet: "Nein, so habe 
ich mir das nicht vorgestellt". Beispiel: "Natürlich bis 100 MHz". Oder 
"0 - 20 Vss, 0,1% Genauigkeit, in einem IC". "Unter 1 €". Und wie die 
Signale im Übergangsbereich aussehen sollen (oder dürfen, z. B. einfache 
Summen?) - tja, das ist alles offen.

Dafür die einfache Antwort: Nimm einen µC mit ADC (für Poti) und 
PWM-Ausgang, und programmiere, was du willst. Ach ja - die unbekannten 
Randebedingungen - es soll ein fertiges IC sein, nix zum 
Programmieren. Und perfekt stufenlos einstellbar, also nix Poti mit ADC. 
Und und und...

von Gustl B. (-gb-)


Lesenswert?

Christian schrieb:
> stufenlos von Sinus
> über Triangel bis Rechteck einstellen

Was soll das bedeuten?
Gerade stufenlos finde ich komisch. Willst du also je nach 
Potentiometerstellung einen Übergang zwischen Sinus und Dreieck oder 
Dreieck und Rechteck? Oder sind das ein paar diskrete 
Potentiometerstellungen, eine mit Sinus, eine mit Dreieck und eine mit 
Rechteck?

von Axel S. (a-za-z0-9)


Lesenswert?

Gustl B. schrieb:
> Christian schrieb:
>> stufenlos von Sinus
>> über Triangel bis Rechteck einstellen
>
> Was soll das bedeuten?
> Gerade stufenlos finde ich komisch

Und vor allem: drei Signale mit einem Potentiometer. Kann doch gar 
nicht sinnvoll gehen.

Wenn man so etwas (aus welchem verdrehten Grund auch immer) haben wollen 
würde, dann würde man wohl am ehesten eine der gängigen Schaltungen 
nehmen, die Rechteck-, Dreieck- und Sinussignal erzeugt und die Signale 
in einen Mixer mit 3 Eingängen füttern. Dann kann man sich sein 
Traumsignal nach Lust und Laune mischen.

von Gustl B. (-gb-)


Lesenswert?

Naja man kann durch Filterung aus einem Rechteck einen Dreieck machen. 
Und durch weitere Filterung einen Sinus.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Axel S. schrieb:
> Und vor allem: drei Signale mit einem Potentiometer. Kann doch gar nicht
> sinnvoll gehen.

Ist die Frage, was das Potenziometer genau tun soll. :-)

Na klar, kannst du den Wert des Potenziometers mit einem ADC einlesen 
und danach dann x-beliebig DDS-Tabellen anpassen … vermutlich käme das 
der ziemlich vage ausgedrückten Absicht des TE sogar vom „Anfassen“ her 
nahe, aber der Aufwand dafür dürfte nicht ganz klein sein.

von Michael W. (Gast)


Lesenswert?

Ich vermute mal eine Anwendung im Bereich Musik-Synthesizer. 
Hauptoszillator und/oder LFO mit 'seamless' regelbarer Kurvenform von 
Sinus
über Triangel zu Rechteck...

von Mani W. (e-doc)


Lesenswert?

Christian schrieb:
> gibt es da draußen ein IC, welches einen Ausgang besitzt und an dem ich
> über ein Potentiometer die auszugebene Wellenform stufenlos von Sinus
> über Triangel bis Rechteck einstellen kann?

Ja, da draußen schon, aber auf der Erde nicht!

;-)

Wozu sollte das gut sein?

von Mani W. (e-doc)


Lesenswert?

Michael W. schrieb:
> Ich vermute mal eine Anwendung im Bereich Musik-Synthesizer.

Mein FORMANT 5 Kurvenformen und eine stufenlose Überleitung von
Sinus auf Dreieck und dann Rechteck ist nicht notwendig...

von Larry (Gast)


Lesenswert?

> drei Signale mit einem Potentiometer. Kann doch gar
> nicht sinnvoll gehen.

Dafuer wurden Potis mit Mittelanzapfung erfunden.
Aber musikalisch macht es wenig her, einem Sinus ein
Dreieck zuzumischen.

Klassische Synthies begnuegen sich da im allgemeinen
mit 2 Reglern. Eins fuer die Amplitude Sinus/Dreieck
und eins fuers Rechteck.
Viel ergiebiger ist es, zwischen zwei oder sogar drei
vollstaendigen Parametersets zu "morphen".
Das beinhaltet dann aber alle Einstellungen bis
hin zu ADSR, Filter, FX und nicht nur die Oszillatoren.

Fuer drei Sets braucht man dann ein X/Y-Touchpad.

Und realisieren laesst sich das ganz sicher in
einem IC. Das sitzt dann unter einem schwarzen Klecks
auf der Synthieplatine...

von Mohandes H. (Firma: مهندس) (mohandes)


Lesenswert?

Christian schrieb:
> ein IC, welches einen Ausgang besitzt und an dem ich über ein
> Potentiometer die auszugebene Wellenform stufenlos von Sinus über
> Triangel bis Rechteck einstellen kann?

Das hätte ich jetzt so interpretiert, das man alle 3 Wellenformen über 
EIN Poti in der Amplitude stufenlos einstellen kann. Also alternativ, 
entweder Rechteck, oder Dreieck oder Sinus.

Alles andere macht mit einem Poti ja keinen Sinn. Oder meinst Du eine 
Lösung, wo alle 3 Wellenformen über DREI Potis eingestellt werden 
sollen? Da reicht ein OP der als Summierer geschaltet ist. Oder was 
meinst Du mit 'nahtlos' (seamless)?

Es gibt schöne analoge ICs (soweit ich weiß alle obsolet), die es 
schaffen eine Sinus über einen Quadraturoszillator erzeugen:
- 4423 (Klirr < 0,5%)
- ROJ-20/ROJ-1K (Klirr < 0,002%).
Daraus lassen sich leicht Rechteck und daraus Dreieck erzeugen (jeweils 
1 OP). Aber nicht alles in EINEM IC.

Dann fällt mir noch der AD9833 ein, ein programmierbarer Baustein für 
Sinus, Recheck & Dreieck.

: Bearbeitet durch User
von Achim B. (bobdylan)


Lesenswert?

Mohandes H. schrieb:
> Das hätte ich jetzt so interpretiert, das man alle 3 Wellenformen über
> EIN Poti in der Amplitude stufenlos einstellen kann.

Nee, ich verstehe das so, dass er tatsächlich über EIN Poti die 
Wellenform ändern will. Poti links = Sinus, beim drehen nach rechts wird 
langsam ein Dreieck daraus, in Mittelstellung ist das Dreieck perfekt, 
und je weiter nach rechts gedreht wird, desto rechteckiger wird das 
Signal. Poti Rechtsanschlag = perfektes Rechteck.

von Mohandes H. (Firma: مهندس) (mohandes)


Lesenswert?

Achim B. schrieb:
> Nee, ich verstehe das so, dass er tatsächlich über EIN Poti die
> Wellenform ändern will.

Klingt logisch.

Also ein Baustein der Sinus, Rechteck und Dreieck liefert gefolgt von 
einem Summierer (OP) an dem ein 3-fach-Poti die jeweiligen Anteile 
einstellt.

Das mit dem 3-fach-Poti wird nicht einfach (Beschaffung).

von georg (Gast)


Lesenswert?

Mohandes H. schrieb:
> an dem ein 3-fach-Poti die jeweiligen Anteile
> einstellt.

Er schreibt ausdrücklich "ein Potentiometer".

Da er sich aber sowieso nicht mehr meldet hat er ja vielleicht die 
Schnapsigkeit seiner Idee eingesehen.

Georg

von Stefan S. (chiefeinherjar)


Lesenswert?

Mohandes H. schrieb:
> Also ein Baustein der Sinus, Rechteck und Dreieck liefert gefolgt von
> einem Summierer (OP) an dem ein 3-fach-Poti die jeweiligen Anteile
> einstellt.

Naja, das mit dem Addierer wird schwer... In der Mittelstellung müsste 
eigentlich ein "reines" Dreieck-Signal ausgegeben werden - mit einem 
einfachen Summierer sind aber immer noch Sinus und Rechteck mit 
überlagert.
Man müsste also beispielsweise zwischen linkem Anschlag und 
Mittelstellung nur Sinus und Dreieck überlagern.
Und auch der Übergang zwischen Dreieck und Rechteck würde so nicht 
funktionieren, da er sich zwischen Dreieck und Rechteck dann 
wahrscheinlich ein Trapez vorstellt - mit steigender Flankensteilheit in 
Richtung des Rechtecks.

von Achim B. (bobdylan)


Angehängte Dateien:

Lesenswert?

Mohandes H. schrieb:
> Das mit dem 3-fach-Poti wird nicht einfach (Beschaffung).

Braucht er nicht. Habe mal ein Schaltbild mit den wesentlichen 
Bauelementen angehängt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, wenn es nur um den Audio-Frequenzbereich geht, bekommt man die DDS 
dafür doch locker in einen Cortex-M<irgendwas> reingedengelt, dann kann 
man das „eine Potenziometer“ natürlich beliebig interpretieren (zumal 
das vermutlich nichtmal nur ein Potenziometer sein muss, sondern auch 
ein Encoder sein darf). Da kann man ja fast beim Drehen am Poti die 
nächste DDS-Tabelle live ausrechnen lassen, statt irgendwelcher vorab 
gespeicherter.

Aber der TE müsste sich schon nochmal melden, was er denn nun wirklich 
genau sich vorstellt. Insbesondere ist ja noch reichlich unklar, wie der 
nahtlose Übergang von Rechteck zu Dreieck aussehen soll.

: Bearbeitet durch Moderator
von Sven D. (Gast)


Lesenswert?

Der hier kann das, ist aber ein programmierter PIC 
https://electricdruid.net/product/vcdo-wavetable-oscillator/

von Mohandes H. (Firma: مهندس) (mohandes)


Lesenswert?

Nein, macht keinen Sinn Sinus, Rechteck und Dreieck so einfach zu 
mischen.

Was gehen würde: reiner Sinus in Mittelstellung. Nach rechts hin 
zunehmend Dreieck (ohne Rechteck), nach links hin zunehmend Rechteck 
(ohne Dreieck).

Ginge auch mit einem Doppelpoti. Aber ob das SINN macht?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mohandes H. schrieb:
> Aber ob das SINN macht?

Wenn es um Audio geht, hätte es vermutlich am meisten Sinn, mit dem Poti 
zwischen reinem Sinus (keine Oberschwingungen) und Sägezahn 
(Oberschwingungen auf allen Vielfachen, im Gegensatz zu Rechteck) 
gleitend umstellen zu können, also gewissermaßen beim Drehen des Potis 
immer mehr Oberschwingungen hinzu zu nehmen.

Oben wurde es ja schon geschrieben: Dreieck ist klanglich völlig 
uninteressant.

: Bearbeitet durch Moderator
von Burkhard K. (buks)


Lesenswert?

Achim B. schrieb:
> Habe mal ein Schaltbild mit den wesentlichen
> Bauelementen angehängt.

Hm - laut DaBla hat der Max4711 16 Pins - oder übersehe ich etwas?

von Burkhard K. (buks)


Lesenswert?

Jörg W. schrieb:
> bekommt man die DDS
> dafür doch locker in einen Cortex-M<irgendwas> reingedengelt, dann kann
> man das „eine Potenziometer“ natürlich beliebig interpretieren (zumal
> das vermutlich nichtmal nur ein Potenziometer sein muss, sondern auch
> ein Encoder sein darf)

Auch auf einem FPGA ginge das recht einfach, ein NCO (unsigned) liefert 
Sinus, Sägezahn und Rechteck parallel aus einer Tabelle. Man müsste dann 
(nur) noch den Grad des Übergangs abhängig von der aktuellen 
Encoder-Stellung berechnen.

von Gustl B. (gustl_b)


Lesenswert?

Das geht doch auch mit Filterung.

Zuerst hat man einen Rechteck. Dann dreht man das Poti weiter und erhöht 
dabei die Länge eines gleitenden Mittelwert Filters. Und zwar so weit 
bis aus dem Rechteck ein Dreieck wurde.
Dreht man dann noch weiter verringert man die Grenzfrequenz eines 
Tiefpassfilters und kommt so zum Sinus.

von Mohandes H. (Firma: مهندس) (mohandes)


Lesenswert?

Gustl B. schrieb:
> Das geht doch auch mit Filterung.
>
> Zuerst hat man einen Rechteck. Dann dreht man das Poti weiter und erhöht
> dabei die Länge eines gleitenden Mittelwert Filters. Und zwar so weit
> bis aus dem Rechteck ein Dreieck wurde.
> Dreht man dann noch weiter verringert man die Grenzfrequenz eines
> Tiefpassfilters und kommt so zum Sinus.

Nein, so geht es nicht!

Sowohl Dreieck als auch Rechteck haben ein Spektrum bis ins Unendliche 
(Rechteck nur bei f, 3f, 5f usw). Mit unterschiedlichen Amplituden.

Durch Abschneiden einer Grenzfrequenz kann man nicht Dreieck erzeugen, 
nur Sinus.

von Gustl B. (-gb-)


Lesenswert?

Dann guck dir mal an was ein gleitender Mittelwert Filter mit einem 
Rechteck macht. Wenn man die richtige Filterlänge wählt bekommt man ein 
Dreieck.
Aber so ein gleitender Mittelwert schneidet auch keine Frequenzen 
irgendwo ab. Der dämpft die nur. Damit sind immer noch unendlich viele 
Obertöne vorhanden.

von Burkhard K. (buks)


Lesenswert?

Der Zahn der Zeit schrieb:
> es soll ein fertiges IC sein
Von "fertig" hat der TO nichts gesagt ;-)

Gustl B. schrieb:
> Wenn man die richtige Filterlänge wählt
Interessanter Ansatz - wie würdest Du die zunehmende Filterlänge 
realisieren?

von Gustl B. (-gb-)


Lesenswert?

Gute Frage. Man muss auf jeden Fall die Frequenz vom Rechteck kennen. 
Denn man darf ja den gleitenden Mittelwert nur so lange länger machen, 
bis man aus dem Rechteck einen Dreieck gemacht hat. Danach lässt man den 
Mittelwertfilter so wie er ist und nimmt ändert die Grenzfrequenz von 
einem Tiefpass um vom Dreieck zum Sinus zu kommen.

Ich würde das also so bauen:

Rechteckgenerator -> gleitender Mittelwert Filter -> Tiefpass -> 
Ausgang.

Potistellung ganz links:
Gleitender Mittelwert hat die Länge 1
Tiefpass hat die Grenzfrequenz > f_Sample/2 oder man baut eine 
Bypassoption.

Den Rechteck erzeugt man eben wie man das mit einem DAC machen würde. 
Man hat eine f_Sample und gibt damit Werte aus. Nur hier eben ohne DAC 
sondern digital im Chip. Das gleitende Mittelwert Filter darf dann eine 
maximale Länge haben die der halben Periodenlänge des Rechtecks 
entspricht.

Wenn also das Rechteck eine Länge von 64 Abtasttakten hat, dann erzeugt 
ein gleitendes Mittelwert Filter der Länge 32 einen Dreieck.

Limitierend ist, dass man die Taktfrequenz deutlich höher wählen muss 
als die Frequenz vom Rechteck.
Wie man das mit einem uC baut weiß ich nicht, mit einem FPGA wäre das 
relativ einfach. Wobei ... wenn man sowieso schon einen DAC verwendet, 
dann kann man das Signal natürlich auch über eine odere meherere 
Wertetabellen erzeugen. Das ist dann vielleicht sogar einfach als ein 
Tiefpass mit variabler Grenzfrequenz.

von Larry (Gast)


Lesenswert?

> Ginge auch mit einem Doppelpoti.

Man braucht nur ein Einfachpoti mit einer Anzapfung in der Mitte.
Was der TO dann an die DREI Potibeine anloetet ist mir egal :-).
Am Potischleifer kommt dann entweder 1+2 oder 2+3 heraus.

Aber zu einem Dreieck einen Sinus dazuzuaddieren ist musikalisch
genauso sinnarm wie ein Sinus zu einem frequenzgleichen Dreieck!

Wenn man etwas klanglich interessantes haben wollte, muesste
man die Fouriereihenentwicklung zwischen Saegezahn und Rechteck
auf dieses "Poti" legen und die Teilamplituden mit dem
Drehwinkel gewichten.

Ein ordentlicher Synthie hat auch regelmaessig mehr als einen VCO.
Statt solcher "Schnapsideen" ist man also mit einem richtigen
Mixer besser bedient.

von Larry (Gast)


Lesenswert?

Gleitende Mittelwerte haben es nie geschafft als Filter
in einem Synthie auch nur eine geringe Verbreitung zu finden.
Das liegt einfach an der bescheidenen Filtercharakteristik.
Daran wird sich auch in alle Ewigkeit nichts aendern.

von Gustl B. (-gb-)


Lesenswert?

Burkhard K. schrieb:
> Interessanter Ansatz - wie würdest Du die zunehmende Filterlänge
> realisieren?

Das ist ja nur eine Summe von Werten.
Ein gleitender Mittelwert ist dann ein Ringspeicher der Länge n, und 
einer Summe über alle Elemente im Ringspeicher.

Speicher <= Speicher(n-2 downto 0) & Neuer_Wert
Ältester_Wert <= Speicher(n-1)
Summe <= Summe + Neuer_Wert - Ältester_Wert
Gefilterter_Wert <= Summe/n

Und da gilt es jetzt n zu verändern. Das geht wenn man einen RAM 
verwendet über die Adresse.
Bei einem RAM wäre das so:

RAM(Adresse) <= Neuer_Wert
Ältester_Wert <= RAM(Adresse - n)
Summe <= Summe + Neuer_Wert - Ältester_Wert
Gefilterter_Wert <= Summe/n
Adresse <= Adresse +1

Wobei das nicht so einfach ist wenn man n ändert. Dann müsste man auch 
die Summe einmal komplett neu rechnen. Also mit jedem Takt eine neue 
Summe wird dann schwer. Aber wenn es um niedrige Frequenzen geht wie bei 
Audio, dann kann man auch jedesmal alle RAM Einträge von Adresse bis 
Adresse - n aufsummieren.

Larry schrieb:
> Aber zu einem Dreieck einen Sinus dazuzuaddieren ist musikalisch
> genauso sinnarm wie ein Sinus zu einem frequenzgleichen Dreieck!

Der TO hat nie etwas von Musik geschrieben.

Larry schrieb:
> Gleitende Mittelwerte haben es nie geschafft als Filter
> in einem Synthie auch nur eine geringe Verbreitung zu finden.
> Das liegt einfach an der bescheidenen Filtercharakteristik.
> Daran wird sich auch in alle Ewigkeit nichts aendern.

Natürlich nicht. Aber um aus einem Rechteck einen Dreieck zu machen 
taugt das eben trotzdem. Du kannst dir das mal durchrechnen, hier eine 
Wertefolge:

0000000011111111000000001111111100000000

Und dann nimmst du einen gleitenden Mittelwert der Länge 8 (halbe 
Periodenlänge):

0123456787654321012345678765432100000000

: Bearbeitet durch User
von Larry (Gast)


Lesenswert?

> Du kannst dir das mal durchrechnen

Das muss ich nicht. Das weiss ich auch so.
Weil ich sowas schon hinter AD-Wandlern eingesetzt hab.

Da die Filterwirkung aber frequenzabhaengig ist, taugt es als
generisches Verfahren aber nicht.
Gleitende Mittelweltbildung ist am besten hinter einem
AD-Wandler in einem Messinstrument aufgehoben.
Und da sollte sie auch bleiben.

Und in einem FPGA gibt es bedeutend einfachere Wege ein
Dreieck zu erzeugen. Sogar einigermassen frequenzunabhaengig.
Und dazu noch modulierbar.

von Mohandes H. (Firma: مهندس) (mohandes)


Angehängte Dateien:

Lesenswert?

Gustl B. schrieb:
> Rechteckgenerator -> gleitender Mittelwert Filter -> Tiefpass ->
> Ausgang.

Das verstehe ich nicht. Ein Dreiecksignal hat Oberwellen bis unendlich. 
Wie willst Du die ohne Verluste mit gleitendem Mittelwert + Tiefpass 
ausfiltern?

Oder ist der Gedanke daß man alle Frequenzen f, 3f, 5f, usw vom Rechteck 
subtrahiert und die 2f, 4f, usw dazuaddiert?

: Bearbeitet durch User
von Burkhard K. (buks)


Lesenswert?

Larry schrieb:
> in einem FPGA gibt es bedeutend einfachere Wege ein
> Dreieck zu erzeugen. Sogar einigermassen frequenzunabhaengig.

ACK - wie schon oben gesagt, purzeln Dreieck bzw. Sägezähnchen bei einem 
NCO quasi kostenlos (via Phasenakku) heraus.

von Larry (Gast)


Lesenswert?

> Der TO hat nie etwas von Musik geschrieben.

Das stimmt :-). So einen Dreieck + Rechteckgeneator habe ich
mir vor droellfzig Jahren mal zum Testen von PLLs gebaut.
Dafuer war er ausserordentlich huelfreich.

Aber die Intention das in einen Synthie zu schrauben ist
schon naheliegend. Oder?

von Gustl B. (-gb-)


Lesenswert?

Larry schrieb:
> Da die Filterwirkung aber frequenzabhaengig ist, taugt es als
> generisches Verfahren aber nicht.

Warum nicht? Wen er das Signal selbst erzeugt, dann kennt er auch dessen 
Frequenz. Und dann kann er den gleitenden Mittelwert auch immer so 
anpassen, dass er zur eingestellten Frequenz passt.

Larry schrieb:
> Aber die Intention das in einen Synthie zu schrauben ist
> schon naheliegend. Oder?

Das stimmt.

Larry schrieb:
> Und in einem FPGA gibt es bedeutend einfachere Wege ein
> Dreieck zu erzeugen. Sogar einigermassen frequenzunabhaengig.
> Und dazu noch modulierbar.

Na klar. Aber auch FPGA haben wir hier reingebracht, nicht der TO.

Mohandes H. schrieb:
> Das verstehe ich nicht. Ein Dreiecksignal hat Oberwellen bis unendlich.
> Wie willst Du die ohne Verluste mit gleitendem Mittelwert + Tiefpass
> ausfiltern?

Ich will da gar nix rausfiltern.
In der Kette

Rechteckgenerator -> gleitender Mittelwert Filter -> Tiefpass -> 
Ausgang.

Macht der gleitende Mittelwert aus einem Rechteck ja nach Potistellung 
zuerst mehr oder weniger Trapez und dann am Ende ein Dreieck. Dabei muss 
die Grenzfrequenz vom Tiefpass natürlich sehr hoch sein, zumindest so 
hoch, dass die Flanken von Trapez und Dreieck noch durchkommen.

Dann wenn man das Poti noch weiterdreht ändert man nur noch die 
Grenzfrequenz vom Tiefpass, man verringert diese bis aus dem Dreieck ein 
Sinus wird. Dabei bleibt die Länge des gleitenden Mittelwerts 
unverändert.

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.