Suche Buch ueber Filter

dieses Programm ist an der Ruhr-Uni Bochum entstanden und als Autoren stehen die da oben drin:

C COPYRIGHT BY RUHR-UNIVERSITAET BOCHUM >> 1986 Prof.Mildenberger's Programm war auch nicht kostenlos, als ich es

Das Buch habe ich zufällig hier auch, mich allerdings nicht mit diesem Kapitel beschäftigt. Soweit ich in Kürze erkennen kann, leitet Mildenberger das von analogen Strukturen ab, die wieder andere als LC-Kettenleiter sind, offenbar gibt es da viele verschiedene Lösungsansätze. Es könnte sein, das man zur Bestimmung der "Reflektanz" erstmal die analoge Form der Schaltung komplett vorliegen haben muß, das ist mir selbst im Moment für die LC-Kettenleiter aber nicht möglich, da habe ich noch nie eine verständliche Erklärung irgendwo gefunden. Normalerweise nimmt man dazu die Tabellenbücher von Pfitzenmaier oder Saal oder so.

formatting link

Ah, gut :-). Das ist genau der Referenz-Artikel, nach dem bei uns entwickelt wurde. Das ist zwar hartes Brot, aber wenn Du mal konzentriert nachliest wirst Du sicher bemerken, daß da regelrechte fertige "Kochrezepte" drinstehen. Es wird an einigen Standard-Beispielen gezeigt, wie man die Gamma-Koeffizienten der Adaptoren berechnet und die möglichen passenden Schaltungsstrukturen stehen auch da. Den Ersatz der Multiplizierer durch Shift and Add im CSD-Code mußt Du noch selbst machen, das ist dann eine Optimierungssache, vielleicht per eigenem Programm. So eine Handoptimierung halte ich zwar für aufwendig, aber nicht für grundsätzlich schwierig, denn der Frequenzgang einer solchen Schaltung ist sehr leicht berechenbar.

Ich bin nicht sicher, ob Du den noch brauchst, aber als Quelle fiele mir da eine UNI-Bibliothek ein, die haben meist große Sammlungen.

mfg. Winfried

Reply to
Winfried Salomon
Loading thread data ...

für analoge Filter mit OPs benutze ich sehr gern dieses hier:

Herpy/Berka Aktive RC-Filter Franzis-Verlag 1984

Auf die Gefahr hin daß Du mich verfluchen wirst ;-), hier ist ein Grundlagenwerk, nach dem ich mir selbst Filterentwurfsprogramme geschrieben habe:

W. Rupprecht Netzwerksynthese Entwurfstheorie linearer passiver und aktiver Zweipole und Vierpole Springer-Verlag 1972 ISBN 3-540-05529-0 ISBN 0-387-05529-0

Das mit der Theorie ist hier wörtlich zu nehmen, dafür steht aber sehr viel drin.

Für digitale Filter gibt es eine Fülle neuerer Literatur, sie bauen aber IMHO zuerst einmal auf den Strukturen für analoge Filter auf.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

Schade, wenn das Programm "Falcon" nur fuer einen erlauchten Kreis ist. Ohne Handbuch sind Programme fast nutzlos. Von TI hatte ich einige Routinen bekommen, ich glaube die sind aus Dr.Kaiser's Uni-Gruppe. Denn da finden sich einige "denglische" Kommentare drin. Aber leider mit duenner bis gar keiner Doku. Mein erster Chef sagte mal ein wahres Wort: If you didn't document it, it didn't happen.

Ja, man muss erst die analog Schaltung erstellen. Da unterscheiden sich wohl unsere Disziplinen. So etwas ist fuer mich ein Heimspiel, mache ich laufend. Aber dann in die digitale Welt zu kommen und mit duenner Prozessorleistung leben zu muessen, das faellt mir oft schwer. Manchmal komme ich mir dabei vor, als muesste ich in einem Fiat 500 auf dem Nuerburgring mithalten.

Die naechste Uni ist recht weit weg und ich glaube, man muss fuer irgendetwas eingeschrieben sein, um Buechereizugang zu bekommen. Wuerde zu teuer. Irgendwann werde ich es mal ueber die Fernleihe probieren, denn wir zahlen schliesslich direkte Steuern fuer unsere Ortsbuecherei.

Gruesse, Joerg

formatting link

Reply to
Joerg

Mir wurde dieses Semester in diversen Vorlesungen verkauft das FIR Filter keinen analogen Prototypen benötigen. (Im Gegensatz zu den IIR Filtern) Hat für mich auch irgendwie Sinn gemacht weil ich ja mit FIR fast nichtkausale Filter basteln kann.

Viele Grüße Martin L.

Reply to
Martin Laabs

Es ist auch schwierig FIR in Analogtechnik zu bauen ...

Bilineare Z-Transformation für IIR tummelt sich zwar noch in Büchern hatte aber bestenfalls in den 70er Jahren Bedeutung. Mit der Verbreitung von PCs sind auch Entwurfs/Suchverfahren in Mode gekommen die direkt Koeffizienten berechnen statt Umweg über Tabellen a la Saal zu gehen.

MfG JRD

Reply to
Rafael Deliano

Ja.

Achso. Uns wurde das wieder mal als "der goldene Weg" verkauft.

Das ist ja gut zu wissen. Aber die Einschränkungen welche man von analogen Filtern kennt bleiben trotzdem, oder? (Phasengang vs. Amplitudengang etc.)

Tschüss Martin L.

Reply to
Martin Laabs

Im Regelfall sind FIRs linearphasig und IIRs haben krumme Phase. ( Formal kann man FIRs machen die nichtlinearphasig sind und IIRs die versuchen günstige Phase zu haben ( vgl Bessel ) ).

MfG JRD

Reply to
Rafael Deliano

Das stimmt schon, bei FIR-Filtern benutzt man dazu meist das Remez-Verfahren zur direkten Koeffizientensuche. Ob es solche Verfahren für IIR auch schon gibt, weiß ich nicht, jedenfalls habe ich mal ein Programm getestet, daß ein IIR-Gaußfilter direkt approximieren sollte, das wollte aber nicht so recht konvergieren.

Es könnte aber sein, daß das bei den besagten Wellenparameterfiltern möglich ist, aber da stecke ich im Moment zuwenig drin. Allerdings geht man da anscheinend auch von den klassischen analogen Approximationen aus, Butterworth, Tschebyscheff, Cauer etc., scheint die aber direkt im Z-Bereich zu approximieren, wenn ich das richtig verstanden habe.

Aber nur fast, dafür ist der Hardwareaufwand aber entsprechend sehr hoch. Der Hauptvorteil ist die lineare Phase, der Dämpfungsverlauf sieht Cauer sehr ähnlich, hat die Nullstellen nur äquidistant. Soweit ich mich erinnere, haben FIRs im Zeitbereich neben dem schwerwiegenden Nachteil der langen Laufzeit auch Überschwingen an Sprüngen im Gegensatz zu Bessel, aber das müßte ich mir bei Gelegenheit nochmal genauer ansehen.

Bei den klassischen analogen Filtern ist der Phasengang eigentlich minimal, solange es keine Allpässe sind, was man von FIR in keiner Weise sagen kann. Aus dem Grunde scheiden FIR für rückgekoppelte Systeme IMHO aus, weil sie sofort das Stabilitätskriterium verletzen und eine stabile Optimierung sicher nur suboptimal sein kann, sprich: Würde zu langsam werden. Es hat eben alles seine Vor- und Nachteile, ein System nur mit Vorteilen ist mir nicht bekannt, würde mich auch wundern.

mfg. Winfried

Reply to
Winfried Salomon

sehe ich eigentlich auch so, mir ist kein einfacheres und besseres Verfahren bekannt. Direkte Synthese habe ich außer bei WDFs nicht gesehen, selbst da scheint die bilineare Transformation in der Herleitung aufzutauchen, falls mich nicht alles täuscht.

Abtastfilter wie die digitalen haben _immer_ die Sinus(x)/x-Verzerrung in der Übertragungsfunktion, hinzu kommt bei der bilinearen Transformation die Verzerrung im Frequenzbereich, daß der Verlauf F --> unendlich hier auf f --> Fabtast/2 gestaucht wird, das stört aber meist nicht. Schlimmer ist die Tatsache, das in den Gegenden F --> 0 und F --> Fabtast/2 für die Übergangsfunktion wie Tiefpaßflanke der Realisierungsaufwand gegen unendlich steigt.

Das mit den Tabellenbüchern macht man sicher nicht mehr so oft wie früher, aber dann muß man Programme kaufen, falls man die nicht selber schreiben kann und die werden das sicher genauso machen, nur automatisiert per Knopfdruck

mfg. Winfried

Reply to
Winfried Salomon

Was ich noch erwaehnen wollte. Habt ihr das Dingen schon gesehen?

formatting link

Nicht schlecht oder?

Olaf

Reply to
Olaf Kaluza

ja würde ich sagen. Hab's jetzt nur mal ganz schnell angesehen, scheint eine voll integrierte Lösung analog/digital eines 16 Bit AD-Wandlers zu sein. Die 512-Tap programmierbaren FIR-Filter sind auch ein gewaltiger Hardwareaufwand, für den der's braucht sicher sehr interessant, die Trennschärfe wird enorm sein. Ich habe integrierte FIR-Filter als Interpolationsfilter in High Speed DA-Wandlern schon gesehen für Oversampling. Die Software ist auch das Programm von Parks-McLellan, das hab ich hier auch, das funktioniert nach über 30 Jahren immer noch ;-). Kann aber sein, daß die da noch eine sin(x)/x-Korrektur eingebaut haben.

Vielen Dank für den Link, hab ich mal gepeichert.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Joerg,

Dokumentation ist schon da, im Programm selbst und dann als dickes Handbuch als ASCII-Plot, leider ohne File. Ich könnte höchstens mal nach dem Status des "Falcon" fragen. Ob man den Gaszi noch erreichen kann weiß ich nicht, vielleicht können die an der Ruhr-Uni Bochum ja was sagen, denn die haben anscheinend das Copyright.

Ich komme ja selbst aus der analogen Welt, nur hat sich der Schwerpunkt seit längerer Zeit stark in Richtung digitale Signalverarbeitung verschoben, ich lerne immer wieder was dazu. Das was ich als analoges Know How so alles gesammelt habe, wird möglicherweise gar nicht mehr vermittelt im Studium oder nur rudimentär, jedenfalls bei den IT-Leuten. Digitale Filter wurden bei uns auf teilweise dicken TI-DSPs und in Xilinx-FPGAs realisiert, auch schon in einem ARM-Controller. Wie das z.B. in der 8051-Familie aussieht, kann ich schwer sagen, bei entsprechend kleiner Abtastrate geht das auf jeden Fall. Der Vorteil der WDFs ist eben, daß man weniger Multiplizierer braucht, aber Du kannst auch die klassischen Strukturen nehmen. Um Rechenleistung, also Taktzyklen zu sparen, kann man die Multiplizierer durch Shift and Add im CSD-Code ersetzen, das optimiert der Falcon dann automatisch, nicht nur bei WDFs sondern bei allen Strukturen. Bei den klassischen Strukturen sind mir mittlerwele auch Möglichkeiten bekannt, numerische Instabilitäten zu vermeiden. Ich könnte morgen mal nach einem Buch suchen, in dem das detaillierter drinsteht.

Hab jetzt mal 'nen Philips-ARM Evaluation Kit bestellt, da kriegt man schon welche für 50 Euro. Mal sehen, wie man mit 'nem Porsche LEDs zum Blinken bringt :-).

Die Möglichkeit der Fernleihe hab ich hier auch, wird aber glaube ich nicht kostenlos sein. Bei vorhandenen Artikeln kann ich die vor Ort kopieren, die Suche kostet dann eine gewisse Zeit. Aber schau Dir doch mal den Artikel von Gaszi genauer an den Du jetzt hast. Auf den haben sich bei uns nämlich mehrere Leute bezogen. Im Moment bin ich noch nicht dazu gekommen, mir den konzentrierter durchzulesen. Aber es sieht ganz danach aus als wenn Du nicht anderes mehr brauchst um die dortigen Beispiele nachzuvollziehen. Du mußt nur die Gamma-Koeffizienten bestimmen und die passende Adaptor-Struktur aus den 5 Möglichkeiten für einzelne Adaptoren. Die Sache mit dem CSD-Code fehlt dort zwar, aber da könnte man durchaus improvisieren.

mfg. Winfried

Reply to
Winfried Salomon

hier ist noch ein Buch, in dem auch praktische Aspekte berücksichtigt werden:

Martin Werner Digitale Signalverarbeitung mit Matlab Vieweg-Verl. 2001 ISBN 3-528-03930-2

Ab Seite 200 werden bei klassischen digitalen IIR-Filtern Maßnahmen gegen kleine und große Grenzzyklen gezeigt, hier mit Beispiel 2. Ordnung. Kurz gesagt, man betreibt die Addierer bei Überlauf in Sättigung (wie OP-Ausgang), die Koeffizientenmultiplizierer rundet man nicht, sondern schneidet den _Betrag_ ab. Das ist Gegenstand einer Übung in "Signal- und Mikroprozessortechnik" und funktioniert ganz offensichtlich.

mfg. Winfried

Reply to
Winfried Salomon

Leider auf 8 Bit Controllern alles sehr umständlich.

Anhand des Overflow-Flags den Überlauf festststellen und dann statt Ergebnis Maximal- ( 32767 )bzw. Minimalwert ( 32768 ) weitergeben. Manche Controller haben kein V-Flag z.B. der 68HC05. Der 68HC08 hat es, aber es ist schecht testbar.

16*16 Bit Multiplikation gibt 32 Bit Resultat, nimmt man von dem die obere Hälfte hat man 1/65636 dividiert. Da man auf Controller meist nur unsigned multiplizieren kann, muß man vorher vom Datenwort Vorzeichen zwischenspeichern, Absolutwert bilden, nach Multiplikation das Vorzeichen einwursteln. Man beachte, daß bei den Negate-Befehlen oft der Wert -32768 nicht geeignet verarbeited wird, weil +32768 nicht existiert.

MfG JRD

Reply to
Rafael Deliano

ja, die sind aber auch nicht dafür gedacht. Wenn ich da an die 8051er denke, die haben schon bei den bedingten Sprüngen sehr wenig Möglichkeiten. Für schnelle Signalverarbeitung nimmt man auch DSPs.

In C wird man das immer hinkriegen, ist dann sicher nicht mehr so optimal. Ein nicht testbares Flag scheint mir auch nicht so ganz sinnvoll zu sein.

Ich kenne die Details von Controllern jetzt so auch nicht, in der digitalen Signalverarbeitung arbeitet man eigentlich im 2er-Komplement, entspricht in C dem signed integer. Wenn die das im Microcode nicht können, muß man das eben hinbiegen. Fehler mit dem Zahlenformat sind IMHO sehr häufig, die macht praktisch erstmal jeder.

Das Vorzeichen kehrt man um, indem man das 2er-Komplement einer Zahl bildet, also man invertiert alle Bits (1er-Komplement) und addiert eine

1 hinzu. Sonderfall ist der das negative Minimum, der Wert verändert sich nicht durch diese Operation.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

Ich hatte ihm letzte Woche per Email geschrieben, aber bis jetzt keine Antwort erhalten. Auch von Prof.Mildenberger kam bisher keine Antwort.

Es ist aber eine gute Idee, mal an andere bei der Ruhr-Uni zu schreiben. Werde ich machen und mich melden, wenn sich etwas neues ergibt.

Lass es nur nicht zu weit gehen :-)

Das schlimmste Beispiel: Analog-Spezi liess sich in die Software-Abteilung versetzen. Wenige Jahre spaeter war er im Vertrieb gelandet.

Dicke DSP sind etwas feines, aber es gibt kaum welche, die sich fuer Batteriebetrieb eignen. Im Studium wurde auch immer von unermesslichen Hardware Resourcen ausgegangen, Kostenrechnung fand so gut wie nicht statt. Das ist heute noch ein ernster Mangel an Hochschulen.

ARM ist schoen, aber wenn man dann an die Entwicklung geht und die Dinger zwei sauber geregelte Spannungen haben wollen, dann scheiden sie bei mir fast immer aus.

Der Artikel ist schon recht praxisnah. Es waere jedoch schoen, wenn man ein Programm a la LTSpice haette, um an Koeffizienten und den Ursprungsfiltern drehen zu koennen. Irgendetwas, dass nicht auf suendhaft teure Mathematikprogramme aufsetzt.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hallo Winfried,

Danke. Da wir im August Verwandtenbesuch aus Germany bekommen, waere die Beschaffung kein Problem.

Funktionieren tut es wohl schon, aber WDFs sind inherent stabiler, ohne Tricks. Dann ist da noch die Vielzahl an Koeffizienten, die bei Varianten wie Goertzel eine Menge Speicher fressen. Fuer dicke DSP oder ARM kein Problem, aber bei einem MSP430 muss man sich mit ein, zwei Dutzend begnuegen. Die Zahl der Daten-Zwischenspeicher ist noch begrenzter. 128 oder 256 Bytes an RAM sind nicht die Welt und bei den

16bit Breiten ist es eh nur die Haelfte, minus was man sonst noch so an Speicher braucht.

Gruesse, Joerg

formatting link

Reply to
Joerg

soweit ich erfahren habe, existiert das da alles nicht mehr um diesen Kreis. Was den "Falcon" betrifft, bei Interesse könnten wir per PM (trashcan weglassen) weitermachen, so ganz optimistisch bin ich da allerdings nicht. Ich muß hier auch privat und dienstlich trennen.

Das ist ja auch ein großer Sprung, könnte ich mir gar nicht so recht erklären. Vermutlich war er mit den Nerven fertig in der Software. Wenn Code z.B. nach Anzahl Zeilen beurteilt werden würde, wär das auch nix für mich. Ich selbst hab da auch wenig Einfluß drauf, wohin die Tendenz so geht, außerdem bin ich an der Uni beschäftigt und nicht in der Industrie. Es wird heute alles mit Rechnereinsatz gemacht und da trennt man wohl nicht mehr so scharf wie früher analoge und digitale Welt. Am besten, man behält beides im Auge. Letztens hab ich layoutbedingte Schwingneigung in einem HF-Verstärker beseitigt, war bei ca. 200 und 400 MHz nur noch auf dem Spektrumanalyzer eindeutig zu erkennen. Möchte mal sehen, wie aktuelle Hochschulabsolventen mit so einem Problem fertigwerden, denn das sind die Probleme, die garantiert kommen werden, sobald man vom Rechner weggeht. Mit Software ist das nicht zu lösen :-). Berechnen kann man da theoretisch auch nix mehr ;-).

Ja nur, die Zeit reicht dort kaum, um ein Gefühl für Machbarkeit zu entwickeln. Soweit ich das überschaue, wird aber normalerweise schon auf effektive Lösungen geachtet. Es gibt da natürlich auch teure Systeme, wenn die Mittel da sind, wenn...

Bin schon bedient, der JTAG-Adapter kostet ja doppelt soviel wie das Board selbst. Beim 8051 war das über die Serielle viel einfacher. Nach Installation der Software fährt der Rechner plötzlich nicht mehr runter. Vermutlich weil ich den USB-Anschluß zum Debuggen benutzen wollte.

[....]

Wenn Du so eine digitale Filterstruktur erstmal hast, sehe ich kein Problem darin, sie in Zeit- und Frequenzbereich zu simulieren, ich mach sowas kostenlos selber mit GNU-Compilern. Es ist dann sicher nicht so komfortabel, aber im Grunde brauchst Du ja nur die Übertragungsfunktion auszurechnen, das ist nicht schwer.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

Ich war mal so frei (an die private Email Adresse). Frueher haette ich mal kurz vorbeischauen koennen, waere mit der Bahn weniger als eine halbe Stunde gewesen.

Ich meinte eher die Produktionskosten. Materials, Labor, Overhead. Ich haette mir damals in Aachen gewuenscht, dass mal jemand einen Schaltplan an die Wand wirft und dann alle daran brueten, wie man die Chose nun billiger macht. Genau das ist es ja, womit die Leute nach dem Diplom im internationalen Wettkampf debutieren muessen.

Mir hatte nach Studienabschluss mal jemand geklagt, es waere ja schon die Haerte, dass sein Chef die Benutzung von 4bit Prozessoren verlangt. Da fragte ich ihn, woher er denn einen 8bitter fuer 15 Cents besorgen wollte.

Den 8051er hattte ich oft benutzt. Unverwuestlich wie der VW Kaefer. TI brachte gerade einen echten Leckerbissen heraus, eine komplette USB Mini-Entwicklungsumgebung fuer den MSP430F2013 zu $20. Das waere sicher etwas fuer Unis und Studenten. Dieser Mini-uC enthaelt einen 16bit ADC. Allerdings muss man in Sachen Code den Grips anstrengen, da ist nicht viel Flash und RAM drin.

Stimmt. Vielleicht bin ich auch schon ein wenig zu dekadent oder verwoehnt geworden :-)

Gruesse, Joerg

formatting link

Reply to
Joerg

ich melde mich dann heute Abend von dort aus, komme von hier an den Account nicht dran. Ja, ein persönlicher Kontakt ist sicher immer am besten, bei so einer kleinen Diskussionsrunde mit meinem Chef würde sicher in kurzer Zeit am meisten rauskommen, aber besonders in Deinem Fall ist das recht schwer machbar :-).

Neben einem Industriepraktikum (bei dem mir der Inhalt ungewiß ist) haben die Leute eigentlich in der Diplomarbeit zuerst Möglichkeiten, Erfahrungen zu sammeln. Nachdem hier in NRW das Studium auf Bachelor/Master radikal umstrukturiert worden ist, um den Durchsatz zu steigern, hat sich bei Bachelor die Zeit sogar mehr als halbiert. Es gibt auch immer weniger Leute mit Vorkenntnissen über das reine Studium hinaus, egal ob Hard- oder Software, jedenfalls kommt es mir so vor. Wir hatten hier schon gute Leute, die in der mittelständischen Industrie als Diplomanden richtig was zustande gebracht haben, aber das ist lange her und nicht die Regel. Dann gibt es noch die IT-Leute (mittlerweile die Mehrheit), von denen praktisch keiner mehr einen Transistor gesehen hat, geschweige denn mal gelötet hat. Die kriegen dann z.B. die Fouriertransformation an den Kopf geworfen und wissen in der Prüfung meist nicht, wie das Spektrum eines Sinus aussieht. Als bei uns mal Besuch von Firmen war (Siemens oder Infineon und National Semiconductors) wurde von einem Engpaß berichtet, daß die keine Leute mehr kriegen, die wirklich ein System als Hardware zum Laufen kriegen können, so wie ich das verstanden habe.

Das scheint mir ein guter Preis zu sein, von TI habe ich schon etliche Starterkits eingesetzt, in unserem Fall DSPs. Im Moment setzen wir den

80C535 ein für Lehrzwecke, der ist nicht übermäßig kompliziert und recht gut dokumentiert. Für Leute, die mehrheitlich bei 0 anfangen, ist das zusammen mit der kostenlosen Eval-Software eigentlich ganz gut. Sicher gibt es etliche Prozessoren, nur bin ich selbst höchstpersönlich derjenige und der einzige hier, der das aufbauen und zum Laufen bringen kann, da muß man sich auf ein System beschränken. Jetzt hab ich mir mal so 'nen Philips Arm LPC2148 vorgenommen, beim Einschalten plärrte da sofort 1 Sound Track Werbung raus, hab's aber abwürgen können ;-), soviel zu High End Controllern :-).

Na mal sehen, was man damit machen kann, wenn das Windows das überlebt.

Ich mach das eigentlich sporadisch manchmal für mich selbst, mehr als Hobby, im Labor ist keine Zeit. Im Grunde brauchst Du IMHO für beliebig komplizierte digitale Filter eigentlich nur ein Gleichungssystem aus kleinen Teilsystemen, hier den Adaptoren, von Rechner berechnen zu lassen. Dann setzt Du Z=exp(j*2*pi*f*T_abtast) und schon hast Du den komplexen Frequenzgang. Das Ganze kannst Du noch in den Zeitbereich per FFT transformieren und kannst Dir z.B. die Sprungantwort angucken. Schwieriger wird es nur, wenn die Abtastfrequenz nicht konstant ist, aber da hat auch Matlab Probleme, dann müßte man erstmal genauer überlegen was man macht.

mfg. Winfried

Reply to
Winfried Salomon

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.