Dimensionierung Antialiasing-Filter

Hallo Rolf,

habe ich mir grade mal mit Sallen-Key und Emitterfolgern bei 100 MHz angesehen. Es weicht aber deutlich vom idealen Verlauf ab, vor allem die Sperrdämpfung von 30-40 dB sieht nicht so optimal aus. Der Durchlaßbereich geht noch einigermaßen.

mfg. Winfried

Reply to
Winfried Salomon
Loading thread data ...

Hallo Martin,

Martin Laabs schrieb:

die Polynome stehen in diesem Lehrbuch drin:

Herpy/Berka Aktive RC-Filter Franzis-Verlag 1984 ISBN 3-7723-7011-X

Momentan habe ich keinen Scanner zur Verfügung, könnte das aber später nachholen.

Das Prinzip ist einfacher, als Du und Dein Professor vielleicht glauben ;-). Nehmen wir einmal die gängigen Tiefpaß-Funktionen, wie Butterworth, Tschebyscheff, Bessel etc. So besteht die Übertragungsfunktion im Zähler aus einer 1 und der Nenner aus einem Polynom mit konjugiert komplexen oder reellen Nullstellen. Schon vor -zig Jahrzehnten war bekannt, daß man konjugiert komplexe Nullstellen in den Zähler im Sperrbereich einfügen kann, ohne den Phasenverlauf zu beeinflussen. Wenn im Zähler statt einer 1 sowas steht

s**2 + a**2,

dann wird mit s=j*omega daraus

-omega**2 + a**2.

Die Nullstellen sind rein imaginär und liegen bei +-j*a, die Phase ist jedoch konstant und springt glaube ich nur bei a. Bei Cauer und inversem Tschebyscheff sind solche Nullstellen drin, geht auch bei Bessel. Anders als bei Cauer bekommt man die konstante Welligkeit im Sperrbereich aber sicher nur rechnergestützt hin, aber das muß obiger Autor wohl gemacht haben.

Ich habe letztens einen elliptischen Tiefpaß 5. Ordnung damit entworfen, sieht hervorragend aus, es kam aber nicht zum Aufbau, nur bis zur Simulation.

Da die Polynome bekannt sind, sehe ich kein Hindernis, das mit bilinearer Transformation auch digital zu realisieren, auch wenn es etwas verzerrt wird dabei.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Henning,

Henn>

das macht doch jedes FIR-Filter :-). Das oben genannte L-Filter (laufzeitgeebnet) macht das im Durchlaßbereich aber auch, natürlich ohne symmetrische Impulsantwort, wäre sonst IMHO nichtkausal. Im Sperrbereich interessiert die Gruppenlaufzeit nicht, da das Signal da praktisch weg ist. Von nichtkausalem Verhalten kann hier keine Rede sein ;-).

mfg. Winfried

Reply to
Winfried Salomon
[konstante Gruppenlaufzeit]

Bei FIR Filtern bastelt man doch aber genau deswegen erst eine Verzögerung hinein was natürlich nur bis zu einer gewissen unteren Frequenz geht weil ich ja sonst unendlich lange verzögern musste. Aber ich sehe schon - ich muss mir das nochmal in einem guten Buch durchlesen weil ich wohl symetrische Impulsantwort und lineare Phase vermische. Leider sind die Bücher aber oft entweder so vom Urschleim angefangen, dass man nicht weiß in welchem Kapitel man nun einsteigen soll und dabei auch noch Gefahr läuft die verwendete Notation misszuverstehen oder aber sie zielen auf Leser ab welche komplett in der Materie stehen.

Viele Grüße, Martin L.

Reply to
Martin Laabs

Halo Martin,

Martin Laabs schrieb:

bei finite response FIR geht das auch, nicht jedoch bei infinite response IIR. Bei FIR braucht man nur endlich lange zu verzögern, bei IIR aber unendlich lange. Die Betrachtung kann nicht vollständig sein, denn es geht nachweislich auch bei allpaßfreien Systemen. Wahrscheinlich betrachtet man heute überwiegend Abtastsysteme mit immer der gleichen Theorie und hat vergessen, was vor über 40 Jahren schon gemacht worden ist.

FIR-Filter sind wegen der Verzögerung in rückgekoppelten Systemen IMHO aus Stabilitätsgründen nicht einsetzbar.

Da geht es sicher um FIR-Filter.

Das Gebiet ist auch ziemlich umfangreich, letzten Endes stecken da Dinge wie Netzwerksynthese mit drin. Ich habe mir letztens

Kammeyer/Kroschel Digitale Signalverarbeitung Teubner

besorgt, um "up to date" zu sein. Für einen in der Praxis stehenden Ingenieur ist es aber schwer, aus der komprimierten Mathematik praktische Lösungsansätze zu ziehen. Das gilt allerdings für alle theoriebezogenen Bücher, wobei mir die früher teilweise härter als heute erschienen. Im obigen Buch werden auch Cauer-Filter genannt, ohne aber bei digitalen Systemen weiter darauf einzugehen. So hat jeder Autor seinen Schwerpunkt und ich weiß jetzt auch nicht, was man noch so empfehlen könnte, obwohl ich etliche Bücher dazu habe, jedes wieder anders und mit Bedarf zur Einarbeitung.

Was ich noch gesehen habe, um LC-Kettenleiterfilter vielleicht mal selbst zu entwerfen, wäre:

Mildenberger Entwurf analoger und digitaler Filter Vieweg

Vielleicht komme ich ja dahinter, wie man das macht, solche normierten Filtertabellen zu erstellen, die es in Buchform schon lange gibt, z.B. die von Saal und Pfitzenmaier.

Sicher sitzt sowas in jedem DSL-Splitter drin, das sollte man doch selbst entwerfen können müssen.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

[...]

Leider verstaubt jetzt sein hervorragendes DOS Filterprogramm. Eines der ganz wenigen, dass auch WDF kann. Warum ist es an Unis fast immer so, dass nach Emeritierung eines Professors vieles einfach verschrumpelt und eingeht?

Hast Du schon Williams: "Electronics Filter Design Handbook"? Das ist hier in USA das Standardwerk.

Warum soll man das Rad neu erfinden? Die Tabellen gibt's doch schon. Der Williams ist bis zum bersten voll davon.

Schon, aber billiger als die beim Walmart werden sie dann auch nicht.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Ja, ein klassisches Lehrbuch und kein Kochbuch für die Praxis. Sollte einem aber auch bei der Anschaffung klar sein.

Gruß Henning

Reply to
Henning Paul

Naja, die werden Butterworth und Tschebyscheff gegenübergestellt um zu zeigen, daß man auch mit geringerer Filterordnung eine schöne Sperrbereichsdämpfung hinbekommen kann - die Phase dann allerdings ziemlich grausig aussieht.

Das sind jetzt aber alles wohlgemerkt IIR-Filter, die man mit den klassischen Filterentwürfen aus dem zeitkontinuierlichen Bereich entwerfen kann - die bei Hohlleiterfiltern auch Verwendung finden.

Man kann sich auch damit abfinden, daß einem diese Arbeit heutzutage auch Matlab abnehmen kann.

Ich find's schon enorm, wie gut Matlab z.B. einen Parks-McClellan-FIR-Entwurf hinbekommt. Einfach Bandgrenzen und Dämpfungen angeben, Matlab spuckt dann die benötigte Filterordnung und die Koeffizienten aus. So kann man z.B. auch recht schön digitale Differenzierer und sogar Hilberttrafos hinkriegen.

Gruß Henning

Reply to
Henning Paul

Hallo Henning,

Leute, seht Euch doch mal Wellendigitalfilter an. Da bekommt man mit sehr moderater CPU-Belastung und sogar ohne vorhandenen HW-Multiplizierer sehr huebsche Durchlasskurven. Schoene teutonische Entdeckung durch Prof.Fettweis von der Uni Bochum.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Hallo Henning,

Henn>

obiges Buch habe ich mir vor allem deshalb besorgt, um Dinge wie Halbbandfilter mal etwas genauer verstehen zu können und was sonst so gerade "in" ist.

Matlab setzen wir auch ein, haben allerdings bei weitem nicht alle Toolboxen. Nur was den Topic betrifft, wird einem Matlab eher nicht weiterhelfen, jedenfalls nicht mit der Ausstattung, die wir haben. Da gibt es einfach sehr viele Optimierungs-Richtungen, die man z.B. auch im Buch von Herpy nachlesen kann.

Außerdem empfinde ich Knöpfchendrücken für einen Ingenieur als frustrierend. Man muß sich außerdem der Grenze von Rechnern und Simulationen bewußt sein.

Ja das Programm von Parks-McLellan kenne ich, es wurde so ca. '73 in Fortran veröffentlicht. Die Autoren waren bestimmt italienischer Herkunft, dem Programmierstil nach zu urteilen :-).

Bei Matlab ist es so, daß es sehr teuer ist und die Programmiersprache eine basicähnliche Mischung aus Fortran und C und einiger Sonderelemente ist. Nach wenigen Jahren schon sind die Programme dann wohl zu nichts mehr kompatibel, deshalb bevorzuge ich nach Möglichkeit, mir sowas selbst in Fortran zu schreiben und wenn es sein muß in C.

Das habe ich mal für Cauer-Filter gemacht und ich weiß nicht, ob ich dabei schlecht angesetzt habe, jedenfalls war das so ziemlich das Härteste, was ich bisher erlebt habe. Also da muß ich schon die Matlab-Leute bewundern, wie die das numerisch stabil hingekriegt haben.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

[...]

Absolutamente! Das habe ich auch erlebt. Deshalb verstehe ich auch nicht, warum Unis viele veroeffentlichte Programme auf MatLab aufsetzen. IIRC letztes Mal bei der Uni Delft. Absolut neuestes MatLab nicht vorhanden, nix lief. Also alles ad akta und ein altes DOS Programm hergenommen, dann hatte ich meine Wellendigitalfilter und konnte die sogar hier im Buero rechnen, wo gar kein MatLab vorhanden ist. Damit hat die Uni Delft natuerlich auch nichts in Sachen PR abbekommen, weil deren Beitraege zur Sache eben nicht richtig benutzbar waren und dann zur Seite gelegt wurden.

Die alte Masche, Unis eine Software super-billig zur Verfuegung zu stellen und Betrieben fette Festpreise abzuverlangen, geht heutzutage oft nicht mehr auf. Sie fuehrt zur einem "Disconnect" zwischen Academia und der Arbeitswelt, was nicht gut ist. Denn damit trocknen auch Industriemittel weg.

Technisch gut ist MatLab schon, IMHO aber deutlich zu teuer. Dazu kommen noch satte Kosten fuer Toolboxes. Bin bisher ohne ausgekommen und denke mal, das wird bis zum Ruhestand so bleiben. Es sei denn, die tun was an der Preispolitik. Muss ja nicht alles umsonst sein, gute Software soll auch was kosten. Aber im Rahmen. Dies gilt auch fuer CAD und ist der Hauptgrund, warum Orcad hier nach einem Jahrzehnt rausflog. Um die $1800 nur fuer Schaltbildeingabe fand ich dann doch ein wenig hochgegriffen.

--
Regards, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Würde man mit Bellanger auch gut bedient, hat sie ja ausgebrütet.

Die meisten Filterfrequenzgänge in IEEE-papers sehen so üppig aus, weil sie in Float gerechnet werden. Lustig wirds wenn dann jemand versucht auf realem low-cost DSP mit 16 Bit Festkomma zu werkeln.

Jedes neue Pferd auf das man setzt ist da wohl ein falsches Pferd. Rorabaugh hat 1997 sein Buch von C auf C++ umgesetzt

formatting link
gerade als die Sprache die Gunst der öffentlichen Meinung verlor. Zarchan hat sein gutes Anfänger-Bucher zu Kalman-Filter früher mit Fortran ( das was er selber programmiert ) und True-Basic bestückt gehabt.
formatting link
Nachdem True Basic ( was mir zugesagt hätte ) wohl auch mausetot ist, hat er jetzt Matlab.

MfG JRD

Reply to
Rafael Deliano

Bei Bedarf leihweise. Zudem könnte es Uni-Bibliothek ja haben.

MfG JRD

Reply to
Rafael Deliano

Der Phasengang ist aber meistens nur im Passband wichtig. Wenn man erst mal unter -20 dB ist, kann man meistens alle Schamgrenzen ignorieren.

Find ich nicht. Es gibt nichts schöneres als Knöpfchen, die tatsächlich funktionieren.

Ein Filter, das von einer allgemeinen Spezifikation in Matlab/Floatingpoint über Simulink/integer durch Synplicity bitgenau in den VHDL-Modelsim transportiert wurde, war auf dem XFEST neulich schon recht imponierend. Das war nicht "Ich hab' da schon mal was vorbereitet", sondern ich habe die Vorgaben gemacht und die Software hat das einfach erzeugt.

Da fand ich meine eigene VHDL-Implementierung gar nicht mehr so prickelnd, gemessen am Zeitaufwand.

Ja, einige Arrays waren auch zu klein. Ich habe mal in einem früheren Leben eine Übersetzung nach C versucht, aber dann doch was fertiges gefunden das schon funktioniert hat, gerade rechtzeitig, als ich keinen Zugang zur VAX mehr hatte.

Es ist dann halt ein .m-Programm und kein .c oder .f Der Preis von Matlab ist eigentlich halbwegs OK, das Problem ist eben, dass man noch Toolboxen, Simulink, Synplicity, Modelsim und Xilinx braucht bis was läuft, und fast jeder glaubt, er könnte mal eben 5-20K Euronen abgreifen.

Scopefir von Iowegian.com ist übrigens ein recht brauchbares Filterdesign-Programm wenn man die Zahlen in der Soll-Spalte des Kontoauszugs klein halten will.

mfg, Gerhard

Reply to
Gerhard Hoffmann

Hallo Joerg,

[.....]

bei mir war das Buch leider ein Geschenk ohne Diskette, aber Du spielst sicher auf den Falcon an. Der wird bei uns für WDF in FPGAs einsetzt, eine Alternative gibt's im Moment nicht. Aber ich weiß im Moment den Status des Falcon nicht so genau, den einen Autor Gaszi scheint es wohl noch zu geben, wenn ich mich richtig erinnere. Möglicherweise haben Siemens-Leute da was mit I/O in Linux eingebaut, habe ja den Quellcode selbst bearbeitet, genaues weiß ich jetzt nicht.

Wie das an UNIs so zugeht sehe ich ja, da werden Lehrstühle zusammengestrichen, was das Zeug hält, obwohl ich doch immer gehört habe, wie wichtig Ingenieurwissenschaften sein sollen für die Zukunft des Landes, und die jungen Leute rennen in IT-Bereiche, sind dann für die klassischen Ingenieurbereiche IMHO recht schmalspurig, jedenfalls meiner Meinung nach.

Bei uns wird versucht, den Falcon in Matlab nachzuprogrammieren. Die Windows-Oberfläche sieht schon ganz nett aus im Vergleich zur Konsolenbedienung des Falcon, nur funktionieren tut es noch nicht :->. Das Problem ist die Optimierung der Filterkoeffizienten und Addierer auf minimale Wortlänge, nur weiß ich ja, was bei Diplom-, bzw. jetzt Bachelor- und Masterarbeiten so herauskommt, jedenfalls keine fehlerfreien Lösungen. Dieses Thema ist anscheinend noch aktuell, denn kürzlich gab es in einer der renommierten Fachzeitschriften einen Artikel aus Ostasien ( evtl. Hongkong oder so) über einen verbesserten Optimierer für WDF. Das habe ich getestet, der holt tatsächlich noch etwas heraus.

Habe ich mir mal notiert, vielleicht ist es eine gute Ergänzung, denn kein Buch wird wirklich alles abdecken.

Auch die laufzeitgeebneten L-Filter? Ich sehe es schon kommen, wenn die Autoren solcher Bücher mal in Rente sind, ist das Know How weg, weil sich keiner mehr damit beschäftigt.

Das war ja nur ein Beispiel, aber sobald es mal ein Problem gibt, dessen Lösung man nicht nachschlagen kann, auch nicht im Internet, ist man aufgeschmissen.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Joerg,

ja die Hardwaremultiplizierer können eingespart werden, werden durch "shift and add" ersetzt. Der Aufwand ist schon größer, aber sie sind strukturstabil. Wie das bei kleinen Grenzzyklen aussieht, müßten wir eigentlich noch genauer untersuchen.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Rafael,

Rafael Deliano schrieb:

so ist es, trotzdem vielen Dank. Ich habe dort kostenlosen Zugang.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

An den Falcon kommt man nicht ran. Hatte ich nach unserer Diskussion per PM versucht.

Macht es lieber unabhaengig von Matlab. Das ist IME nicht rueckwaertskompatibel.

Das ist in der Hardware auch so, jedenfalls bei mir im Analog/Mixed Bereich.

Och, ein DSL Filter wuerde ich zur Not noch per Rechenschieber erledigen. Ganz bewusst mit selbigem, um besser um Katalogwerte fuer L und C herumspielen zu koennen.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Winfried Salomon schrieb:

Lajos Gaszi? Ja, den gibts noch, den habe ich letztes Jahr getroffen, der war zuletzt Fellow bei Infineon, ist aber jetzt in den Ruhestand gegangen.

Gruß Henning

--
henning paul home:  http://home.arcor.de/henning.paul
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Ja. Baut allerdings auf Kalman auf wenn ich mich nicht falsch erinnere.

Alles so Anfang der 90er Jahre, hatte damals rudimentären Kontakt aus meiner mathematisch-statistische Ecke heraus. Alles vergessen, in- zwischen (nein, nicht von mir vergessen) :\

Fettweis ist auch schon lange emeritiert b.t.w.

Nicht aber laufzeitstabil, wenn man vom nächsthöheren layer aus guckt, gravierender Nachteil bisweilen! (multiple shift+add für Wertebereiche unter sqr(max_value) mach' ich manchmal wenn's mal wieder um nen nennens- werten Faktor schneller gehen soll. Ansonsten den indischen Algorithmus (half/double), nie den Standardalgorithmus (16 oder 24 oder 32 oder sonstwasmal shiftandadd inner Schleife, wie dumm! Sieht man fast immer!)

Was sind Grenzzyklen? (Doch nicht die S-Parametergeschiche? Kann den Kontext nicht herstellen...)

Reply to
Ruediger Klenner

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.