Bubba-Oszillator - Glatte Sinuskurvenerzeugung

Ich versuche, den Bubba-Oszillator mit MATLAB zu simulieren. Bisher hatte ich Erfolg damit, sowohl Sinus- als auch Kosinuskurven von der folgenden Schaltung zu erhalten:Geben Sie hier die Bildbeschreibung ein

Ich habe einen Operationsverstärker mit endlicher Verstärkung mit Verstärkung = 100000 verwendet; und Rest der Werte sind in der Schaltung markiert.

Die Ergebnisse, die ich bekam, waren:Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Meine Fragen sind:

1.) Wie kann ich die Diagramme glatter machen, anstatt der spitzen Form, der sie folgen?

2.) Wie kann ich die Diagramme mit Referenzpunkt y als 0 erstellen, dh Symmetrie um die x-Achse?

3.) Wie kann ich die Amplitude auf -1 <--> +1 stellen?

Jede Hilfe wäre willkommen. Vielen Dank im Voraus...

Antworten (3)

Das Problem hat mit der Anzeige und etwas Anrufverfeinerung zu tun (eher ein Problem für variable Zeitschrittalgorithmen).

[img]

unter simulation -> model config -> data import/export ... gibt es einen "zusätzliche Parameter" erweitern. Darin befindet sich der " Verfeinerungsfaktor ", der standardmäßig auf 1 eingestellt ist. Ändern Sie diese ZahlGeben Sie hier die Bildbeschreibung ein

[img]

+1, @JonRB Nochmals vielen Dank. Was ist mit den anderen beiden meiner Fragen? Wie mache ich meine Amplitude +-1 & Symmetrie um die x-Achse?
Kann ich etwas in meiner Schaltung manipulieren, um das gewünschte Ergebnis zu erzielen???
Um es symmetrisch zu machen, verwenden Sie einen Sperrkondensator. Um es auf +-1 V zu bringen, verwenden Sie eine letzte Verstärkungsstufe (oder ändern Sie die interne Verstärkung des Oszillators).

1) Ich bin mir nicht sicher, wie ml funktioniert, aber Gewürzsimulatoren sind intelligent und regulieren den Zeitschritt, je nachdem, wie sicher sie von der gefundenen Lösung sind. Mit (Ko-)Sinuskurven sind sie normalerweise sehr sicher und Sie können 4 oder 5 Punkte pro Periode sehen, die durch gerade Linien verbunden sind (lineare Interpolation). Lösung: Zwingen Sie Matlab, Ihren Zeitschritt zu verwenden, setzen Sie ihn auf 1/10 der Periode oder weniger.

2) Verarbeiten Sie die Daten entweder nach, subtrahieren Sie den Durchschnitt, der für eine einzelne ganze Periode oder für eine große (100) Anzahl von Perioden berechnet wurde, oder koppeln Sie Ihre Spannungssonden mit Wechselstrom. Da Sie eine Schaltungssimulation durchführen, würde ich die AC-Kopplung verwenden. Setzen Sie eine große (einige Fs) Kappe zwischen die Spannungssonde und den zu prüfenden Knoten und einen großen Widerstand (1 G) auf die Masse auf der Seite der Spannungssonde.

3) Das ist nicht so einfach. Versuchen Sie, den 1,4-M-Widerstand manuell abzustimmen, und prüfen Sie, ob Sie einen zuverlässigen Betrieb erzielen können. Wenn Sie möchten, dass eine automatisierte Schaltung dies für Sie erledigt, ist dies eine ganz andere Frage. Suchen Sie nach Automatic Gain Control.

Nun, egal wie klein Ihr Zeitschritt sein wird, die Schaltung, die Sie verwenden, ist ein Phasenverschiebungsoszillator, und es sei denn, es gibt etwas in der Schaltung, das die Gesamtamplitude begrenzt (wie ein nichtlineares Gerät), die Amplitude der erzeugten Sinuswelle neigt dazu, an den Spitzen zu verzerren, wenn der Ausgang des Operationsverstärkers gegenüber der Stromschiene die Sättigung erreicht.