2016-07-20 2 views
1

Ich baue ein ziemlich kompliziertes Modell in Simulink. Und ich habe eine unerwartete Verzögerung bemerkt. Der Einfachheit halber habe ich ein sehr einfaches Modell erstellt und festgestellt, dass erneut eine unerwartete Verzögerung eingeführt wurde.Wie kann eine unerwartete Verzögerung bei der Komparatorimplementierung in Simulink überwunden werden?

Das einfache Modell ist nur ein Komparator. Es ist in einer Matlab-Funktion definiert Block- als:

if u >= 2 
    y = 3; 
elseif (u < 2) 
    y = -3; 

Die Ausgabe lautet:

enter image description here

Wie Sie sehen können, die blaue Welle nicht direkt von +3 bis -3 bewegt oder von -3 bis +3. Es gibt jedoch eine Verzögerung wie 100 usec.Warum ist das ?? Ich meine nach der obigen Funktion, sollte es sofort bewegen (abrupt ändern). Und wie kann ich es abrupt ändern?

+1

Verringern Sie die * Toleranzen Ihres variablen Schrittlösers * oder die * Schrittweite, falls Sie einen festen Schrittlöser verwenden. * – thewaywewalk

+0

Ich verwende KEINEN Schritt-Resolver oder so etwas. Ich verwende NUR den oben genannten Code. Bitte klären Sie mehr. – KhaledMaged

+3

Gut, aber dieser Code ist in einem Matlab-Funktionsblock innerhalb eines Simulink-Modells enthalten, oder? Sie verwenden also Simulink, das einen Solver aufruft. [Und diesen Solver müssen Sie konfigurieren] (http://de.mathworks.com/help/simulink/gui/solver-pane.html). Die Frequenz Ihres Sinus ist ziemlich hoch und die Ausgabe, die Sie bekommen, ist mit den Standard-Solver-Einstellungen zu erwarten. Stellen Sie den Solver ein und alles wird gut. – thewaywewalk

Antwort

3

Die Frequenz Ihres Sinus ist ziemlich hoch. Obwohl der (normalerweise) Standard Variable-Schritt Solver von Simulink viele Fälle behandeln kann, sind die Toleranzen in absoluten Werten festgelegt. In Ihrem Fall ist die minimale Schrittgröße, die der variable Schrittlöser verwenden kann (durch die Toleranzen), genau die Rampe, die Sie in Ihrem Diagramm sehen können.

Für Hochfrequenzmodelle müssen Sie die Schrittgröße des Solvers reduzieren, entweder direkt für Fixed-Step-Löser oder durch Anpassung der Toleranzen im Falle von variablen Schrittlösern.

enter image description here

enter image description here

alles bei auto Weggehen in den meisten Fällen führen zu einem stabilen Ergebnis, mit realistischen Ergebnissen, aber optisch sind Sie vielleicht nicht zufrieden. Also wie immer explizit ist besser als implizit. Sie sollten immer darüber nachdenken, welche Schrittgrößen Sie tatsächlich benötigen. Abtast- und Schaltfrequenzen, Eigenfrequenzen, das gewünschte Spektrum oder die gewünschte Ordnung der Harmonischen sind gute Indikatoren für die richtige Wahl des Solvers und der Schrittweite.

Verwandte Themen