Einfluss der Matlab Pade-Approximation auf Bode-Plot und Sprungantwort

Ich möchte eine Verzögerung über die Pad-Approximation approximieren. Ich stelle eine normale Verzögerung über den Exponentialterm ein und ich stelle eine Verzögerung über die Pade-Annäherung ein und schaue mir den Unterschied zwischen den beiden mit einem Bode-Plot und einer Sprungantwort an. Das ist ganz anders ... Das ist also keine Annäherung ... Wo liegt mein Fehler ?

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Einen schönen Tag noch :)

Ihre Sprungantwort enthält zu wenige Integrationspunkte. Bitte stellen Sie eine angemessene Integrationsschrittgröße für die Schrittfunktion sicher, und das Ergebnis wird meiner Meinung nach angemessener aussehen.
Tun step(sys_retard, 10e-6); hold on; step(sys_retard_pade, 10e-6);und aktualisieren Sie die Frage bitte mit diesem überarbeiteten Plotcode.
Vielen Dank für Ihre Antwort :) Kennen Sie eine Möglichkeit, die Integrationsschrittweite einzustellen?
Wissen Sie auch, warum der Bode-Plot des "Pade"-Delays nicht zum reinen Delay passt?
siehe meinen zweiten Kommentar. Das kleine end timevon 10e-6 weist Matlab darauf hin, dass eine kleine Schrittgröße verwendet werden muss. Geben Sie alternativ alle Zeitschritte an, und Matlab verwendet diese als Schrittgröße. zB step(system, [0 : 1e-7 : 1e-5]).
Die Skala im Phasendiagramm ist 5760 Grad!!!! Deaktivieren Sie die „ unwrap phase “ in den Optionen des Bode-Plots! Diese Handlung kann irreführend sein!
Ich danke Ihnen für Ihre Hilfe ! Es löst meine Probleme vollständig :)

Antworten (2)

Sprungantwort

Ihre Sprungantwort scheint zu wenige Integrationspunkte zu enthalten. Die Verzögerung beträgt 2 us, während die Abtastung der Sprungantwort 10 ms zu sein scheint. Matlab/Octave sollte idealerweise die richtige Schrittweite für die Integration erraten. In diesem Fall nicht.

Der folgende Code sollte Matlab darauf hinweisen, dass eine kleine Integrationsschrittgröße verwendet werden sollte.

step(sys_retard, 10e-6);
hold on;
step(sys_retard_pade, 10e-6);

Frequenzgang

Die Skala im Phasendiagramm beträgt 5760 Grad. Deaktivieren Sie die unwrap phasein den Optionen des Bode-Plots. Matlab wickelt dann die Phase beider Systeme in den Bereich von -180 bis +180 Grad ein. Der Phasengang stimmt mit dieser Einstellung überein (für niedrige Frequenzen, bei denen die Pad-Näherung gültig ist).

Es gibt keinen anderen Fehler als vielleicht unterschiedliche Erwartungen. Die Padé-Näherung ist genau das: eine Annäherung, daher ist sie im Vergleich zur "echten Sache" begrenzt. Das Wichtigste, woran man sich erinnern sollte, ist das e S T hat unendlich viele Wurzeln, und die Annäherung kann dies nur durch eine endliche Menge von Wurzeln annähern. Wie viele? Wie viele Sie sich auch leisten können. Aber das bedeutet, dass, egal wie viele Wurzeln Sie entbehren können, es immer eine Begrenzung der abgedeckten Bandbreite geben wird, nicht in Bezug auf die Größe – das wird ein Allpass sein – sondern in Bezug auf die Gruppenverzögerung.

Vielleicht hilft es, die Padé-Näherung nicht als Padé-Reihe zu betrachten, sondern als verkappten Bessel-Allpass. Beginnen Sie mit dem Prototyp-Tiefpass und wandeln Sie ihn in einen Allpass um:

(1) 3 S 2 + 3 S + 3 S 2 3 S + 3 S 2 + 3 S + 3

Der Tiefpass-Prototyp wird eine Gruppenverzögerung von 1 s haben, und durch die Umwandlung in einen Allpass wird sie doppelt so groß, also 2 s. Die Konstruktion der Padé-Näherung für eine 2. Ordnung mit 2 s Verzögerung ergibt:

[a,b]=padecoeff(2,2)
a =

    4  -12   12

b =

    4   12   12

Und wenn Sie den Nenner normalisieren, bedeutet dies, alles durch 4 zu teilen, was zu (1) führt.

Danke für deine Antwort :) Ich habe es nicht verstanden. Ich stimme zu zu sagen, dass es die Größe nicht beeinflussen wird, da es eine Verzögerung ist, aber es wird die Phase beeinflussen (das ist eigentlich das, was ich will) und dann, da es die Phase per Definition der Gruppenverzögerung beeinflusst, wird es die Gruppenverzögerung beeinflussen . Ich stimme zu zu sagen, dass es eine Annäherung ist, aber selbst bei einer Ordnung von 7 passt es nicht vollständig ...
Wie kann ich ein System untersuchen, indem ich die Pole und Nullstellen betrachte, wenn die Phase vollständig geändert wird, indem eine Verzögerung mit der Pade-Näherung hinzugefügt wird? Und es ist eigentlich nicht repräsentativ für die Phasenaddition durch eine reine Verzögerung ???
@Jessa Eine Padé-Annäherung wird niemals ersetzen können e S T es sei denn, Sie benötigen es nur für eine bestimmte Bandbreite. Siehe zum Beispiel diese Antwort , die sich mit einer FIR-Implementierung im analogen Bereich befasst. Solange die interessierende Bandbreite nicht überschritten wird, könnte es ein Ersatz sein, wenn die Nebenwirkungen (es gibt immer einen Preis zu zahlen) akzeptabel sind - die Sprungantwort wird hier ziemlich eindrucksvoll sein. Es kann weniger problematisch sein in .AC, als .TRAN.
Ich danke Ihnen für Ihre Hilfe ! Du hast völlig recht :) Ich konnte gerade meine Kurven richtig zeichnen und war überrascht von dem Unterschied zwischen den Kurven :)
@Jess Zu meiner Schande sehe ich erst jetzt das Problem mit Ihren Sprungantwortdiagrammen: Es sieht so aus, als ob der Zeitschritt ungefähr 10 ms beträgt, aber 1 ms wäre angemessener; noch weniger, und auch der Zeitrahmen könnte verkürzt werden.