|
|
Steigung im Bode-Diagramm |
|
ABel |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 23.04.20
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.11.2024, 19:30
Titel: Steigung im Bode-Diagramm
|
|
Hallo,
bei der Lösung der Übertragungsfunktion eines Hochpasses ergibt sich eine Anfangssteigung von 10dB pro Dekade. Es müssten doch aber 20dB pro Dekade sein?
[code]
fr1=31.333;
xsys1 = zpk(0,[-fr1],1);
bode(xsys1);
w=logspace(-1,8,6001);
[mag1, pha1, w1] = bode (xsys1,w);
semilogx(w,10*log10(mag1));
[/code]
Die Übertragungsfunktion lautet:
s
y1: ---------
s + 31.33
Die Nullstelle bei 31.333Hz stammt aus einer LTspice-Simulation (Lage der Phase mit 45°).
Mit 20*log10(mag1) stimmt die Steigung. Das ist doch aber nicht richtig?!
Gruß Andreas
|
|
|
|
|
ABel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 23.04.20
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2024, 19:30
Titel:
|
|
Hallo,
anbei Mal ein Verglich zwischen den Octave-Berechnungen und der LTspice-Simulation.
Gruß Andreas
Beschreibung: |
|
Download |
Dateiname: |
Phase.jpg |
Dateigröße: |
101.51 KB |
Heruntergeladen: |
18 mal |
Beschreibung: |
|
Download |
Dateiname: |
Magnitude.jpg |
Dateigröße: |
101.73 KB |
Heruntergeladen: |
14 mal |
|
|
|
ABel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 23.04.20
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2024, 16:47
Titel:
|
|
|
|
|
Hallo,
das mit der Steigung ist in Ordnung so. Für die logarithmische Darstellung muss mit 20*log10() gearbeitet werden, weil es sich um Feldgrößen und nicht um Energiegrößen handelt. Siehe: https://de.m.wikipedia.org/wiki/Leistungsgr%C3%B6%C3%9Fe
Nun aber gleich das nächste Problem:
Die Berechnungen im Zeitbereich sehen im Skript so aus:
fn1 = lsim(xsys1,fin,t2(t2max));
fn2 = lsim(xsys2,fin,t2(t2max));
fn3 = lsim(xsys3,fin,8*t2(t2max));
fn4 = lsim(xsys4,fin,8*t2(t2max));
fn5 = lsim(xsys5,fin,8*t2(t2max));
fn6 = lsim(xsys6,fin,8*t2(t2max));
fou = lsim(xsys7,fin,8*t2(t2max));
t2(t2max)=6e-4 also 0,6ms oder 600us
Warum ist das für n1 und n2 richtig und ab n3 nicht?
Alle fnx werden mit dem Zeitvektor t2 geplottet. fn1 und fn2 also mit
der „richtigen“ Zeitbasis, ab fn3 werden dann 8*0,6ms=4,8ms auf 0,6ms
zusammengestaucht?
Gruß Andreas
Beschreibung: |
|
Download |
Dateiname: |
Systemoutput n3 n4.png |
Dateigröße: |
118.69 KB |
Heruntergeladen: |
4 mal |
Beschreibung: |
|
Download |
Dateiname: |
Systemoutput n1 n2 n5 n6 out.png |
Dateigröße: |
200.28 KB |
Heruntergeladen: |
2 mal |
|
|
|
ABel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 23.04.20
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.11.2024, 07:50
Titel:
|
|
|
|
|
Hallo,
ich weiß leider immer noch nicht, wie ich mit einer Übertragungsfunktion und einem Output den Input errechnen kann.
Es gibt im Octave-Paket „Control“ zwar die Funktion inv(), die eine Übertragungsfunktion invertiert. Die vertauscht Zähler und Nenner, macht also aus Polen Nullstellen und umgekehrt. Mit dieser invertierten Übertragungsfunktion lässt sich aber nicht mit lsim() weiterrechnen. Lsim() bricht mit einer Fehlermeldung ab, weil:
LTI model. System must be proper, i.e. it must not have more zeros than poles.
Also vorwärts geht es:
sys = zpk([0 -zero1],[-pol1 -pol2],1); # bilde Übertragungsfunktion aus Polen und
Nullstellen
[mag, pha] = bode (sys,freq); # berechne Magnitude und Phase (Frequenzbereich)
fout = lsim(sys,fin,tmax); # berechne Output aus Input (Zeitbereich)
Auch das noch:
isys=inv(sys); # Übertragungsfunktion invertieren
Aber das nicht mehr:
fin=lsim(isys,fout,tmax); # berechne Input aus Output (Zeitbereich)
Es gibt zwar ein Octave-Paket „symbolic“, das neben der Laplace-Transformation auch die inverse Laplace-Transformation beherrscht, das aber nur symbolisch und eben leider nicht für diskrete Funktionen.
Hat Jemand einen Tipp für mich, wie ich mit der Lösung meines Problems weiter komme?
Gruß Andreas
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|