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
Moin, du kannst bspw. die Übertragungsfunktion H(s) des zeitkontinuierlichen Systems bestimmen und dieses dann mithilfe der bilinearen Transformation in ein zeitdiskretes Filter wandeln.
Das Filter ist dann auch schnell in C geschrieben. Das habe ich übersehen..
Walter L. schrieb: > Rezy. Ich brauche den C-Code! > Im Tausch.... Code für Filter 2. Ordnung findest du quasi überall..... Aber deine Koeffizienten musst du schon selbst bestimmen.
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 ;)
Das ist gut so. Als Gegenleistung, wie schon geschrieben, biete ich allen Interessierten den C-code rekursiv im Zustandsraum an.
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
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
Walter L. schrieb: > Als Gegenleistung, wie schon geschrieben, biete ich allen Interessierten > den C-code rekursiv im Zustandsraum an. Da melde ich mich schon mal an.
Walter L. schrieb: > y(zwei_punkt)+0,2*y(punkt)+y=u; > "punkt" ist die Ableitung nach der Zeit, Wir haben das irgendwann in grauer Vorzeit mal so gelernt: Y'' + 0,2 Y' + Y = u ist das so nicht mehr aktuell?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.