1/s vs. bilineare Transformation

Gast #3058134
Lesenswert?

Hi,

In einem sehr einfachen (analogem!) Simulink Modell erstelle ich ein 
Signal mit 5 Sinusen (Frequenzen 34, 334, 106, 149, 448) gefolgt von 
einem Integrator. Die Simulation dauert eine 1-1/1000 Sekunden und 
"simout" wird mit 1/1000 sub-gesampled.

Das gleiche Signal erstelle ich in einem 1000-Elemente Vektor und 
filtere das Signal mit einem Integrator per bilinearer Transformation:

[numd, dend] = bilinear([1], [1 0], 1000);
x2 = filter(numd, dend, x);

Zeige ist mir nun das Spektrum beider Signale per fft, so ist dieses 
nicht ident:

stem(abs([fft(simout.signals.values) , fft(x_I)]))
http://snag.gy/8srWk.jpg

Hat jemand eine Idee wo der Fehler liegen koennte?
Danke,
Peter
#3058180
Lesenswert?

Hallo,

wenn ich mich recht erinnere, dann kann man bei Simulink eine ganze 
Menge Parameter für die Simulation einstellen, unter anderem auch die 
Schrittweite und den Algorithmus. Das ganze hat teils schon ziemliche 
Auswirkungen auf die Genauigkeit der Algorithmen.
Zudem ist die Grafik deiner FFT vermutlich ein Powerspektrum, sprich, es 
wurden alle Werte quadriert. Damit sehen gleiche Unterschiede bei 
verschiedenen Absolutwerten unterschiedlich aus.

Gruß Kai

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren