Suche Buch ueber Filter

Hallo Joerg,

Joerg wrote:
Hallo Winfried,


das Problem scheint mir in erster Linie da zu liegen, von vorhandenen
Filterkoeffizienten im Z-Bereich auf die Koeffizienten für die
Adaptoren zu kommen. Aus den sehr theoretischen Zeitschriftenartikeln,
die ich hier so sehe, kann man das nicht so ohne weiteres entnehmen.
Die Adaptoren selbst sind sehr einfach aufgebaut und die Sache des
Ersatzes der Multiplizierer durch Shift and Add kann man auch so
irgendwie hinkriegen. Bei uns wurden solche WDFs entwickelt, aber mit
dem Programm "Falcon" von Lajos GAZSI und Gonzalo LUCIONI, das jedoch
nicht frei ist.



Ich werde mal danach suchen. Wenn es eine Demoversion zum Probieren gibt
und die normale Version nicht astronomisch teuer ist, Freeware muss es
nicht sein. Die haben ja auch Arbeit hineingesteckt.
dieses Programm ist an der Ruhr-Uni Bochum entstanden und als Autoren
stehen die da oben drin:

C COPYRIGHT BY RUHR-UNIVERSITAET BOCHUM >> 1986 << *
C LEHRSTUHL FUER NACHRICHTENTECHNIK *
C POSTFACH 10 21 48 *
C 4630 BOCHUM *
C WEST-GERMANY *
C*******************************************************

Das steht im Quellcode des "Falcon" drin, den ich hier habe und den ich
selbst an Sun Solaris und MS-Windows angepaßt habe. Für Lehr- und
Forschungszwecke scheint es bei uns einsetzbar zu sein, es ist ein sehr
gutes Instrument, aber ohne das Handbuch (nur in Papierform verfügbar)
fast nicht bedienbar. Es kann sogar sein, daß Siemens da irgendwie mit
drinhängt, also wird das mit den Rechten vermutlich nicht so einfach
sein. Es kann noch viel mehr als WDFs, aber wahrscheinlich ist es nie
für die Allgemeinheit wie z.B. Spice gedacht gewesen.

Prof.Mildenberger's Programm war auch nicht kostenlos, als ich es
kaufte. Ich glaube, heute ist es das. Funktioniert ganz gut, aber die
Doku ist arg duenn. Zum Beispiel fand ich nicht, was er mit
"Betriebsfrequenz" meint. Habe ihm gestern geschrieben, mal sehen.
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.


Diese WDFs wurden nicht nur in FPGAs mit hoher Taktfrequenz, sondern
auch in einem DTMF-Decoder im Arm-Controller implementiert und
funktionieren. Der Vorteil war offenbar die Stabilität und geringere
Wortbreite, der Hardwareaufwand ist höher. Ich habe die relevanten
Zeitschriftenartikel von Gaszi und Fettweis hier auch nicht zur
Verfügung, aber wenn da nicht die Berechnung der WDF-Koeffizienten
"konkret" drinsteht, wird das wohl kaum jemand machen können.


Den Artikel von Gaszi hatte ich gestern hier gefunden:
http://homepage.te.hik.se/personal/tkhsi/advanced%20signal%20and%20system/signal%20processing/magnus/01085595.pdf
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.
Fettweis war allerdings nirgends zu finden, und genau das waere ja der
Ur-WDF Artikel.
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
 
Hallo Olaf,

Olaf Kaluza wrote:

Ich suche ein gutes Buch ueber Filtertheorie. Darf natuerlich auch
eine Homepage sein, aber ein Buch waer mir eigentlich lieber. Kann
auch gerne ein paar Mark kosten.
für analoge Filter mit OPs benutze ich sehr gern dieses hier:

Herpy/Berka
Aktive RC-Filter
Franzis-Verlag 1984

Es darf (und muss wohl auch :) gerne Mathematik enthalten, aber es
sollte lesbar geschrieben sein. Ich moechte kein Geld fuer ein
uebles Machwerk ausgeben wo sich ein Prof einen drauf runterholt
moeglichst unverstaendlich zu schreiben um seine Nachwelt zu
beeindrucken.
Genauer gesagt geht es mir darum die Hintergruende zwischen Typen wie
Tschebycheff, Butterworth usw. zu verstehen. Oder anders gesagt wo
kommen die Werte fuer an und bn her die man in jedem Etechnikbuch
abschreiben kann?

Kann da einer was empfehlen?
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
 
Hallo Winfried,

Das steht im Quellcode des "Falcon" drin, den ich hier habe und den ich
selbst an Sun Solaris und MS-Windows angepaßt habe. Für Lehr- und
Forschungszwecke scheint es bei uns einsetzbar zu sein, es ist ein sehr
gutes Instrument, aber ohne das Handbuch (nur in Papierform verfügbar)
fast nicht bedienbar. Es kann sogar sein, daß Siemens da irgendwie mit
drinhängt, also wird das mit den Rechten vermutlich nicht so einfach
sein. Es kann noch viel mehr als WDFs, aber wahrscheinlich ist es nie
für die Allgemeinheit wie z.B. Spice gedacht gewesen.
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.


Prof.Mildenberger's Programm war auch nicht kostenlos, als ich es
kaufte. Ich glaube, heute ist es das. Funktioniert ganz gut, aber die
Doku ist arg duenn. Zum Beispiel fand ich nicht, was er mit
"Betriebsfrequenz" meint. Habe ihm gestern geschrieben, mal sehen.


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.
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.

Fettweis war allerdings nirgends zu finden, und genau das waere ja der
Ur-WDF Artikel.

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.
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

http://www.analogconsultants.com
 
Hallo Winfried,

Winfried Salomon <wsalomontrashcan@t-online.de> wrote:

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.
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.
 
Mir wurde dieses Semester in diversen Vorlesungen verkauft das FIR
Filter keinen analogen Prototypen benötigen.
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
 
Rafael Deliano <Rafael_Deliano@t-online.de> wrote:

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

Bilineare Z-Transformation für IIR tummelt sich zwar noch
in Büchern hatte aber bestenfalls in den 70er Jahren Bedeutung.
Achso. Uns wurde das wieder mal als "der goldene Weg" verkauft.

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.
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.
 
Aber die Einschränkungen welche man von
analogen Filtern kennt bleiben trotzdem, oder?
(Phasengang vs. Amplitudengang etc.)
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
 
Hallo Martin,

Martin Laabs wrote:
Hallo Winfried,

Winfried Salomon <wsalomontrashcan@t-online.de> wrote:


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.


Mir wurde dieses Semester in diversen Vorlesungen verkauft das FIR
Filter keinen analogen Prototypen benötigen. (Im Gegensatz zu den IIR
Filtern)
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.

Hat für mich auch irgendwie Sinn gemacht weil ich ja mit FIR fast
nichtkausale Filter basteln kann.
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
 
Hallo Martin,

Martin Laabs wrote:

Bilineare Z-Transformation für IIR tummelt sich zwar noch
in Büchern hatte aber bestenfalls in den 70er Jahren Bedeutung.


Achso. Uns wurde das wieder mal als "der goldene Weg" verkauft.
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.

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.


Das ist ja gut zu wissen. Aber die Einschränkungen welche man von
analogen Filtern kennt bleiben trotzdem, oder?
(Phasengang vs. Amplitudengang etc.)
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
 
Winfried Salomon <wsalomontrashcan@t-online.de> wrote:


Aber nur fast, daf?r ist der Hardwareaufwand aber entsprechend sehr
hoch. Der Hauptvorteil ist die lineare Phase, der D?mpfungsverlauf sieht

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

http://www.quickfiltertech.com/products.php?product=4

Nicht schlecht oder?

Olaf
 
Hallo Olaf,

Olaf Kaluza wrote:

Aber nur fast, daf?r ist der Hardwareaufwand aber entsprechend sehr
hoch. Der Hauptvorteil ist die lineare Phase, der D?mpfungsverlauf sieht


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

http://www.quickfiltertech.com/products.php?product=4

Nicht schlecht oder?
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
 
Hallo Joerg,

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.
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.

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.


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.
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 :).

Fettweis war allerdings nirgends zu finden, und genau das waere ja
der Ur-WDF Artikel.

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.


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.
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
 
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.

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
 
Mikroprozessortechnik
Leider auf 8 Bit Controllern alles sehr
umständlich.

Kurz gesagt, man betreibt die Addierer
bei Überlauf in Sättigung (wie OP-Ausgang),
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.

die Koeffizientenmultiplizierer rundet man
nicht, sondern schneidet den _Betrag_ ab.
und funktioniert ganz offensichtlich.
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
 
Hallo Rafael,

Rafael Deliano wrote:
Mikroprozessortechnik

Leider auf 8 Bit Controllern alles sehr
umständlich.
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.

Kurz gesagt, man betreibt die Addierer
bei Überlauf in Sättigung (wie OP-Ausgang),

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.
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.

die Koeffizientenmultiplizierer rundet man
nicht, sondern schneidet den _Betrag_ ab.
und funktioniert ganz offensichtlich.

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.
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.

Man beachte, daß bei den Negate-Befehlen
oft der Wert -32768 nicht geeignet
verarbeited wird, weil +32768 nicht
existiert.
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
 
Hallo Winfried,

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 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.

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. ...

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.


... 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. ...

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.

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 :).
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.


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.
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

http://www.analogconsultants.com
 
Hallo Winfried,

Martin Werner
Digitale Signalverarbeitung mit Matlab
Vieweg-Verl. 2001
ISBN 3-528-03930-2
Danke. Da wir im August Verwandtenbesuch aus Germany bekommen, waere die
Beschaffung kein Problem.


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.
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

http://www.analogconsultants.com
 
Hallo Joerg,

Joerg wrote:

Hallo Winfried,


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 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.
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.

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. ...



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.
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 ;-).

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.
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...

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 :).


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.
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.

[....]
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.


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.
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
 
Hallo Winfried,

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.
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.


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.

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...
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.

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.
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.

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.

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.
Stimmt. Vielleicht bin ich auch schon ein wenig zu dekadent oder
verwoehnt geworden :)

Gruesse, Joerg

http://www.analogconsultants.com
 
Hallo Joerg,

Joerg wrote:

Hallo Winfried,


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.


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 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 :).

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.

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.

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.
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.

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.


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.


Stimmt. Vielleicht bin ich auch schon ein wenig zu dekadent oder
verwoehnt geworden :)
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
 

Welcome to EDABoard.com

Sponsor

Back
Top