Hi,
ich studiere Informatik und will einen PID- und Noth-Filter mittels FPGA
umsetzen.
Für den PID Filter hab ich die theoretische Betrachtung weitesgehend
abgeschlossen und komme ganz gut zurecht.
Leider bei den Nothfilter nicht so, da find ich irgendwie keine passende
Literatur. Ich kommme eigentlich aus einer anderen Ecke und habe bis
jetzt noch keinen weitern Kontakt mit Regelkreisen gehabt. Entweder bin
ich blind und finde keine Bücher oder ich suche an den Falschen stellen
(oder falsches Schlagwort)
Kann mir da jmd weiterhelfen? Kann mir da jmd Literatur empfehlen?
Danke
Schönen Tag noch allerseits.
http://www.mikrocontroller.net/articles/Digitalfilter_mit_ATmega
da habe ich auch ein Niederfrequenz-Notchfilter beschrieben. In FPGAs
geht das Filtern fast genauso wie mit Mikrocontrollern, es gibt auch
Multiplizierer, davon sollten natürlich ausreichend vorhanden sein, oder
man muß das ganze "multiplexen und pipelinen".
PID-Filter ist einfach der Filterausgang selbst, ohne Rückkopplung auf
den Reglerzweig :-)
>Nothfilter
Da scheint mir einer ein Not(h)-FPGA Programmierer zu sein: Man nimmt
einen Informatiker, weil man einen Ingenieur nicht bezahlen kann.
Mensch, da hattest du nun 2 Tage Zeit diesen kurzen Thread zu lesen und
hast es trotzdem nicht geschafft zu erfassen das es hier um ein
UNI-Projekt geht das wohl kaum bezahlt wird.
Ansonsten eine sehr eingeschränkte Sichtweise. Ich wüsste nicht wo ein
.Ing einem .Inf etwas voraus hätte wenn es um den Entwurf von digitalen
Schaltungen geht, noch wo letzterer spürbar schlechter bezahlt würde.
Gib Moole doch lieber einen Literaturhinweis wenn du glänzen willst. Mit
so blödsinnigen Sprüchen wirds jedenfalls nix.
OT:
> Ich wüsste nicht wo ein .Ing einem .Inf etwas voraus hätte wenn es> um den Entwurf von digitalen Schaltungen geht
Hmmmmm....
Du meinst also so richtig mit Layout und so?
Wenn es um Layout o.ä. ginge, dann würde ich zustimmen, aber darum geht
es ja hier nicht.
Das Thema betrifft ja eher den theoretischen Ablauf und ggf noch
hdl-code.
Hier sehe ich einen .inf ggf sogar im Vorteil.
Dem inf Studium an sich kann man auch nicht vorwerfen für diese Aufgabe
schlechter geeignet zu sein und wer das tut hat sich noch angesehen was
dort wirklich gelehrt wird.
Das Vielen gerade im Bereich von Logikschaltungen oder gar HDL die
Erfahrung fehlt, sie sich nicht dafür interessieren und nur in
Software-Art oder gleich gar nicht denken können, ist wieder eine andere
Sache.
Deswegen kann man das trotzdem nicht pauschalisieren.
INF /ING . was soll die Diskussion?
Ein Notchfilter ist so ziemlich das simpelste, was es gibt. Ein paar
Bauteile, das war es. Aus Informationssicht ist das einfach eine
Mittelwertbildung mit Werten der halben Periodendauer.
Wenn man sich einen 50Hz-Sinus ansieht, dann ist auf der ersten Blick
ersichtlich, dass man den wegbekommt, wenn man 2 Werte addiert, die
genau 10ms entfernt liegen.
Dazu braucht man kein Studium sondern nur eine Brille.
hihi, die ing und inf diskussion ist ja lustig und eure vermutungen sind
sind gar nicht schlecht.
dann will ich sie mal aufklären :
1) bin angehender inf => daher au die theoretischen lücken (vhdl sollte
nich das problem sein )
2) uni-projekt : teilweise , also irgendwie schon geld sparen :-)
aber das alles hat mich leider immernoch nicht zur richtigen
einstiegsliteratur geführt :(
(zur erleuterung mir fehlen wirklich wirklich die grundlagen, sowas wie
regelungstechnik ist zumindest bei uns nicht einmal während des studi
erwähnt worden )
bin also immernoch offen für hinweise
Ein Notch-Filter ist im Grund ein ganz normales (IIR) Filter mind. 2.
Ordnung mit entsprechenden Koeffizienten.
Gleichung:
Y(n)=B0*X(n)+B1*X(n-1)+B2*X(n-2)-A1*(Yn-1)-A2*Y(n-2)
wobei: Y(n)...Ausgangswert
X(n)...Eingangswert
X/Y(n-1/n-2)... alte Ein/Ausgangswerte
Ax,Bx....Filterkoeffizienten
Grüße
Die Berechnung der Koeffizienten für ein IIR-Filter kann einfach über
matlab und sie SPTool-Box realisiert werden.
Grundsätzlich führt der Weg über Formel für ein Peak/Notch-filter über
den Z-Bereich (Z-Transformation ist die zeitdiskrete Form der
Fouriertransformation).
Liegt die Abtastrate sehr viel höher als die Filterfrequenz (>>10) so
reicht die direkte Berechnung der Koeffizienten aus. Nähert sich die
Filterfrequenz der Abtastrate gibt es einen drastisch steigenden Fehler
(Filterfrequenz liegt nicht annähernd da wo sie hinsoll, Spektrum ist
asymmetrisch).
Um diesen Fehler zu kompensieren muss man zusätzlich die Bilineare
Transformation nutzen. Bei dieser Transformation wird nur die
Sollfrequenz des Filters umgerechnet und mit dieser modifizierten
Sollfrequenz die eigentlichen IIR-Koeffizienten berechnet.
(http://cnx.org/content/m12757/latest/)
Programm (shell) zur Berechnung - ungetestet :)
http://www.moshier.net/ellfdoc.html
(http://www.amazon.de/Digitale-Audiosignalverarbeitung-Udo-Z%C3%B6lzer/dp/3519261804
-> Grundlagen der Signalverarbeitung, hier mit Blickpunkt Audiotechnik)
http://www.music.mcgill.ca/~gary/307/week2/filters.html
Da du ja den Hinweis auf Regelkreise gegeben hast, will ich mal
mutmaßen, dass es dir um einen PID-Regler mit nachgeschaltetem
Notch-Filter geht. Normalerweise wird sowas für nichtlineare Systeme
verwendet, um bestimmte Eigenfrequenzen bei der Regelung überhaupt nicht
erst anzuregen. Ist zwar nicht besonders schnell, ist aber meist
bedeutend einfacher als ein nichtlinearer Regler.
Ich verstehe jetzt bei der ganzen Sache nicht so richtig dein Problem.
Ein PID-Regler und auch ein Notch-Filter sind doch eigentlich recht
einfach zu verstehen. Wie du das im FPGA implementierst, ist ja
anscheinend nicht dein Problem, sondern eher die generelle Theorie
dahinter?
Und noch mal hier aus dem Thread zu zitieren:
Ein Notch-Filter ist eigentlich auch nur eine Bandsperre mit (sehr)
schmalem Frequenzband.
Da sollte sich doch mit allgemeiner Literatur zu Filtern was machen
lassen, oder?
Notchfilter in Verbindung mit einem Regelkreis kann sehr heikel werden.
Ein Nochtfilter (insbesondere die IIR-Implementierung) kann erhebliche
Gruppenlaufzeit aufweisen. Zwar ist die unerwünschte Frequenz weg, das
Ausgangssignal ist aber verzögert zum Eingang.
Als Filter ist das kein Problem, jedoch in einem geschlossenen
Regelkreis zu Oszillationen führen.
@Michael:
Man beachte deshalb meinen Satz: Ist zwar nicht besonders schnell, ist
aber meist bedeutend einfacher als ein nichtlinearer Regler.
Natürlich muss man dann den dahinterliegenden Regler entsprechend
parametrieren. ;-)
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.