Filter 2-ter Ordnung

Gast #7189949
Hallo,

ich möchte die Erg. der Implementierung in C eines "Filters" 2-ter 
Ordnung vergleichen (realisiert über den Zustandsraum und über die 
Z-Transformation).

Ausgangspunkt ist die Dgl. eines Reihenschwingkreises mit L=1H, C=1F, 
R=0,2Ohm. y ist die Spg. über C, u die Spg. über der Reihenschaltung von 
L,C,R.

y(zwei_punkt)+0,2*y(punkt)+y=u;

"punkt" ist die Ableitung nach der Zeit,
y die Ausgangsgröße, u die Eingangsgröße.
Die Eingangsgröße springt von 400 auf 600 alle Sek. hin und her.
y gebe ich auf einen DAC und zeige das Erg auf einem Osz.

Die Zustandsraumrealisierung funktioniert und liegt als C-Code vor.

Hat jemand eine Realisierung über die Z-Transformation in C?
Wichtig ist, dass die Abtastzeit „Tab“ im C-Code eingebbar ist, und in 
der Initphase entsprechend mit den Koeffizienten verrechnet wird.

Ein Austausch des Quellcodes ist selbstverständlich.

VG Walter
Gast
Moin,

du kannst bspw. die Übertragungsfunktion H(s) des zeitkontinuierlichen 
Systems bestimmen und dieses dann mithilfe der bilinearen Transformation 
in ein zeitdiskretes Filter wandeln.
Gast
Walter L. schrieb:
> Rezy->Leeeesen!!!!
> L,C,R sind gegeben.
> Zeige den den rekursiven c-code.

Du verlangst von mir (in unfreundlichem Ton), den Code zu zeigen und die 
Koeffizienten des Filters (mittels einer geeigneten Transformation) 
überhaupt erst einmal korrekt zu bestimmen? Und das auch noch 
unentgeltlich?

Nein, danke. Ich habe schon genügend Hinweise gegeben. Niemand kann dir 
hier den fertigen Code geben, OHNE das Filter zuvor zu digitalisieren 
(mit welcher Methode auch immer).

Und damit bin ich hier raus ;)
Gast
Zu dem Gast: Es ist das Gleiche, als wenn ich sage, Zustandsraumlösung 
ist doch ganz einfach, schau ins Internet, brauchst nur die die 
Transitionsmatrix über das C.-H-Theorem lösen, musst nur aufpassen, wenn 
der Wert unter der Wurzel neg. wird, dann A hoch minus 1 und den 
Steuervektor noch für die parti. Lösung einbinden, und schon ist alles 
zusammen.

Über die Differenzen-Methode

y(zwei punkt) ~=(y(kT)-2*y(k(T-1))+y(k(T-2)))/(Tab*Tab) und

y(punkt) ~=(y(kT)-y(k(T-1)))/Tab

mit Tab = 0,1 funktioniert dies rekursiv jetzt auch. Auch hier gerne im 
Tausch gegen den rekursiven C-code gelöst über die Z-Transformation.

VG Walter
Gast
Hallo,

die Sache ist geklärt.
Habe eine Veröffentlichung aus 1981 gefunden...

Für mich ist damit die Z-Transformation durch den Zustandsraum abgelöst.

VG Walter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.