Hallo,
liegt die Grenzfrequenz dieses Filters bei 10Hz oder 9,94Hz
y = (y*63+x)/64;
wenn diese Funktion mit 4kHz aufgerufen wird?
fg = 1/(2+pi+63*250us) = 10Hz
oder
fg = 1/(2+pi+64*250us) = 9,94Hz
oder ist der Ansatz ganz falsch?
Viele Grüße,
Ingo
wahrscheinlich fragt sich jeder wo der sinn hinter deiner frage ist, ob
10Hz oder 9,94Hz grenz frequenz interessiert doch nichtmal meinen
hamster, vorallem bei einem solch erbärmlichen Filter(falls das
überhaupt ein funktionierender Filter ist, habs mir nicht angeschaut).
Chris schrieb:> wahrscheinlich fragt sich jeder wo der sinn hinter deiner frage ist
welche der Gleichungen für die Berechnung der Grenzfrequenz stimmt.
> habs mir nicht angeschaut
eben
Markus schrieb:> komischer Filter, wenn ich mir den anschaue kannste daraus y = x machen
ja, dass ist der Sinn dieses Tiefpassfilters, dachte das wäre
offensichtlich...
Ingo
Das ist ein IIR Filter erster Ordnung,
Polstelle bei Z= 63/64, also ziemlich nah bei 1.
Um die Grenzfrequenz zu finden würde ich das mal plotten lassen.
Ingo meinte vllt. y(k+1) = (y(k)*63+x(k))/64; Aber selbst das ist
falsch, denn so ist das Ding instabil, einfach zu sehen wenn man x(k)= 1
für alle k setzt.
Siehe Beitrag "Grenzfrequenz digitaler Tiefpass"
Da muß Ingo wohl nochmal bißchen die Frage überarbeiten.
Cheers
Detlef
Ingo L. schrieb:> ja, dass ist der Sinn dieses Tiefpassfilters, dachte das wäre> offensichtlich...
Das Ding ist doch gar kein Filter. Was du reinsteckst kommst du auch
wieder raus. Biste dir mit der Funktion sicher?
Um also auf die eigentliche Frage zurückzukommen:
Die Grenzfrequenz liegt nicht genau bei 1.
(Ich rechnete komplett einheitenlos, mit den 4kHz Abtastung musst du
selber sehen, wie es passt)
Eure tollen Rechnungen in Ehren,
aber das ist doch einfach eine gleitende Mittelwertbildung über die
letzten 64 und den aktuellen Wert:
y(k) = 63/64y(k-1) + 1/64x(k)
Der neue Mittelwert ergibt sich aus dem alten Mittelwert mit 63/64
gewichtet, plus dem neuen Eingangswert mit 1/64 gewichtet.
Auch was daran instabil sein soll kann ich jetzt nicht so richtig
erkennen.
Udo Schmitt schrieb:> y(k) = 63/64y(k-1) + 1/64x(k)
Es weiss ja keiner wie die Funktion wirklich aussieht. Dies war ja nur
eine Vermutung weil die vom TE angegebene Funktion keinen Sinn macht.
So, danke erstmal für die Antworten.
Udo Schmitt schrieb:> Eure tollen Rechnungen in Ehren,> aber das ist doch einfach eine gleitende Mittelwertbildung über die> letzten 64 und den aktuellen Wert:> y(k) = 63/64y(k-1) + 1/64x(k)>> Der neue Mittelwert ergibt sich aus dem alten Mittelwert mit 63/64> gewichtet, plus dem neuen Eingangswert mit 1/64 gewichtet.>> Auch was daran instabil sein soll kann ich jetzt nicht so richtig> erkennen.
So war das auch geplant. Obwohl ein gleitender Mittelwert ist es nicht
direkt. Bin aber für weitere Indormationen dazu dankbar, ob das so
funktioniert...
Ingo
Ingo L. schrieb:> So war das auch geplant. Obwohl ein gleitender Mittelwert ist es nicht> direkt.
Vieleicht nicht mathematisch korrekt, weil nicht der älteste Wert
rausfliegt, sondern 1/64 vom Mittel der letzten 64 Werte. Praktisch
kommt das aufs selbe raus.
Ingo L. schrieb:> Bin aber für weitere Indormationen dazu dankbar
Darfs auch Outdoor sein? Ist grad so schön draussen :-)
Ingo L. schrieb:> ob das so funktioniert...
Wenn du eine gleitende Mittelwertbildung willst , ja!
Udo Schmitt schrieb:>> Bin aber für weitere Indormationen dazu dankbar> Darfs auch Outdoor sein? Ist grad so schön draussen :-)
;-)
Udo Schmitt schrieb:> Wenn du eine gleitende Mittelwertbildung willst , ja!
Nee gleitender Mittelwertbildung mache ich immer wirklich gleitend über
n Werte, kostet aber aufm AVR Rechenzeit. Das obige ist nicht so
rechenlastig und Funktioniert auch wenns nur quick & dirty gefilter
werden soll, z.B. ne LCD Ausgabe oder so...
Markus schrieb:> Du wolltest also diese realisieren:
Ja, richtig.
Markus schrieb:> Wieso ist eine Mittelwertbildung aufwändig? Da reicht doch eine Addition> und ein Shift
Aufwändig habe ich nicht gesagt, nur rechenlastig. Wenn man einen
gleitenden Mittelwert über 10 Werte macht, dauert das länger also die
obige Methode. Wie es bei einem gleitenden Mittelwert über 2^n Werte
aussieht weiß ich nicht, kann man sicher etwas mehr Geschwindigkeit
rausholen halt wegen dem Shift.
Ingo
Die Grenzfrequenz von dem Filter beträgt 10.0259Hz bei 4kHz Abtastrate.
Das Ding ist stabil, als ich oben Gegenteiliges behauptete hatte ich
partiellen blackout.
Rechnung: Pol bei 63/64. Wenn man dann den Einheitskreis gegen den
Uhrzeigersinn weitergeht hat man die Grenzfrequenz, wenn der Aufpunkt
vom Pol sqrt(2)/64 entfernt ist. Also hat man ein Dreieck mit den drei
Seitenlängen 63/64, 1 und sqrt(2)/64. Das hat mit dem Cosinussatz einen
Winkel von 0.0157 rad, entnormiert auf Abteastfrequenz 10.0259Hz.
Probe: abs(1/(1-63/64))/abs(1/(exp(j*0.0157)-63/64)))=sqrt(2), passt
math rulez
Cheers
Detlef
Detlef:
Kannst du mir bitte genauer erklären, wie du die Grenzfrequenz
bestimmst?
Im Z-Bereich, welchen Punkt suchst du da?
Muss der nicht auf dem Einheitskreis liegen?
Siehe angehängte Skizze: Der Pol liegt im Einheitskreis auf der reelen
Achse bei 63/64. Zur Berechnung des Frequenzgangs geht man mit den w
jetzt von w=0 (entspricht 1 auf der rellen Achse) beginnend gegen den
Uhrzeigersinn los. Für w=0 ergibt sich für den Betrag des Frequenzgangs
1/(Entfernung zum Pol)=64. Der Betrag ist bei der Grenzfrequenz auf
64/sqrt(2) abgesunken, da beträgt die Entfernung des Aufpunktes auf dem
Einheitskreises zum Pol dann sqrt(2)/64. Also habe ich ein Dreieck mit
drei bekannten Seiten und ich suche den Winkel, das ist schlicht.
So geht das.
Cheers
Detlef
Ok, nur mal Interessehalber, wie errechne ich die Grenzfrequenz einer
Gleitenden mittelwertbildung über n Werte wenn neue Werte bzw. die
Funktion mit 4 kHz berechnet werden?
Ingo
Waldo schrieb:> Ein gleitender Mittelwert ist ein FIR Filter nter Ordnung. Die> Filterkoeffizienten liegen alle gleich bei 1/n.
Wie kann man damit den Grenzfrequenz errechnen. Kannst du Literatur
empfehlen?
Ingo