Digitale Filter selbst entwerfen

Gast #253058
Hallo Leute!

Ich bin ziemlich neu in der Filtertechnik.
Habe aber schon mal einen TP 1. Ordnung und TP2. Ordnung entworfen
und die entsprechende Rechenvorschrift in das µC-Programm eingebaut.

Ich möchte aber höher hinaus. Ich möchte einen HP 10.Ordnung und
einen Bandpass 2-8. Ordnung entwerfen.
Das Problem ist nur das man von der Übertragungsfunktion in der
normierten Form zur Differentialgleichung und dann zur
Differenzengleichung gelangen muss.
Leider ist hier der Rechenaufwand auf dem Papier sicher gewaltig.

Aus diesem Grund wäre ein Programm, welchen einem bei einer
Filterdimensionierung unter die Arme greift echt großartig.
Welche Programme gibt es für die Dimensionierung von digitalen
Filtern?

Danke für eure Antworten.

Tschüss
Martin
Gast
Hallo,

der Weg ist nicht zu schwer. Man will mit den digitalen Filtern die
analogen Filter schlagen und nimmt noch andere Aspekte meist hinzu, wie
Fensterung und Phasengangoptimierung.
Gast
Danke für eure Antworten.
Ich habe mir jetzt schon verschiedenste Filterprogramme angesehen.
z.B. auch Filter Free
Aber ich habe keines gefunden, welches Differenzengleichungen ausgibt.
Das mit dem Labview-Toolkit schaue ich mir mal an, wenn es eine
Shareware davon gibt.

Tschüss
Martin
Gast
Ich bin im Moment nicht total fit auf dem Gebiet.
Die Filterkoeffizienten sind doch die Übertragungsfunktion.

G(z)= a*z + b*z^(-1).....

Jetzt brauchst du die Transformation z-> jOmega.

Da gab es eine einfache Rechnung. Irgend ein Satz aus der
Funktionstheorie. Das ist eine spezielle Reihe. Leider bin ich etwas
aus der Übung.
Gast
Soweit ich weiß ist überall die normierte Übertragungsfunktion angegeben
A(s). Man multipliziert diese mit x und y kreuzweise aus.
Danach bildet man die Differentialgleichungen und erst danach kann man
entsprechend die Differenzengleichungen oder auch die Z-Transformation
bilden.
TP1.0 Ordnung z.B:
y(n)=(k*x(n)+(T1/TA)*y(n-1))/(1+T1/TA)
Daraus ergibt sich im Programm:
y(n)=multiplikator1*x(n)+multiplikator2*y(n-1);

Beim TP2.0 Ordnung ist die Berechnung der Differenzengleichung schon um
einiges aufwändiger.

Aber einen TP z.B. 10 Ordnung zu berechnen ist für mich auf dem Papier
zu heftig.

Gruß, Martin
Gast
Ich hoffe du hast verstanden, dass du mit dem G(z) bereits die
Differenzengleichung gegeben hast. Ansonsten wirst du, was die Theorie
angeht, nochmal von vorne anfangen müssen.
Gast
Ja. Das weiß ich.
Aber z.B. beim TP1 Ordnung ist folgende Übertragungsfunktion gegeben:
A(jOm)=y(jOm)/x(jOm)=K/(1+(jOm/Om0))

Bei einem TP10 Ordnung wird das mit 5 Tiefpässen zweiter Ordnung
erledigt. Die einzelnen Parameter für die einzelnen Grenzfrequenzen
kann man dem Tieze-Schenk entnehmen.

Leider ist die Umwandlung von A(jOm) auf z.B. G(z) bei einem TP10
Ordnung auf dem Papier schwierig. Aus diesem Grunde meine Frage.
Gast
Achso :-)

Die einzige genaue Variante ist über Tabellen (also erst in TPs 2.
Ordnung zerlegen und dann transformieren).

Alternativ gibt es auch Näherungen wie die Bilineartransformation. In
Rechnern werden z.T. iterative Verfahren eingesetzt, die dann genauer
arbeiten. Am genauesten sind jedoch die Tabellen.
Gast
Hallo,

Du bist sehr versteift auf die Mathematik. Wichtige Hilfsmittel sind
das Pol-Null-Stellen Diagramm und das Bodediagramm. Aus dem
Bodediagramm sind die Einschwingzeiten nicht ermittelbar, doch der
Eingeschwungen Zustand lässt sich  gut ablesen. Die Hilfsmittel sind
Grafische Lösungen der Differentialgleichungen. Damit kann man sehr gut
arbeiten und Aussagen treffen.
Gast
Hallo,
das stimmt schon. Dieser Weg ist nur möglich wenn eine
Matixschreibweise überhaupt möglich ist. Die Zurücktransformierte muss
eine Lineare Differntialgleichung sein. Die Digitalen
Filterkonstruktion lassen auch ander Diff-gleichungen zu. Diese werden
sehr selten betrachtet, zumindest in den Büchern. Der Grund es lässt
sich nicht gut damit rechnen. Das sind die Typen bei denen man
numerische Lösungen anwendet.
Gast
Also ich verwende SigLab. Als Output hab ich die Filterkoeffizienten in
Tabellenform, die ich über #include in ein Array einbinden kann.
ZUr Filterung muss ich dann nur noch diesen "Filter-Vektor" mit
meinem Eingangspuffer multiplizieren.
Hier sind ohne Problem Filter der Ordnung 200 oder mehr möglich. Du
hast hier mit DGLs nichts mehr zu tun.
Gast
Die Filterordnung würde ich nicht als Kriterium sehen. Beim
fenstergestützten FIR-Filter Enwurf hat Matlab auch mit N=100000 kein
Problem, nur macht die Implementierung keinen Sinn mehr.

Mit Differentialgleichungen hat man beim diskreten Filterentwurf
gemeinhin nichts zu tun.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.