mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Warum filtert der FIR Filter Frequenzen ?


Autor: Huber Wegner (sindler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe nicht wie es sein kann das der FIR-Filter Frequenzen 
Verstärkt oder Dämpft je nach gewählten Koeffizienten. Ich finde auch 
keine Quellen, in dem dieses Phänomen erläutert wird.

Nach dem hochgeladen Bild wird der FIR Filter realisiert.

Eingangssignal - Sinus - Signal 100 mV, Frequenz 10 MHz.

Nun verwende ich verschiedene Anzahlen von Koeffizienten.

Ein Koeffizient : z.B. 1


Zwei Koeffizienten : 0.5 und 0.5
...

Fünf Koeffizienten : 0.2 0.2 0.2 0.2 0.2

Alle diese Signale würden auf dem Ozilloskop identisch aussehen.


Nun verwende ich die Sweep funktion für das Sinus Signal damit ich einen 
Bestimmten Frequenzbereich erfüllt habe. Sagen wir von 100 hz bis 200 
MHz.

Ich betrachte den Ausgang auf dem Spektrumanalysator und erkenne 
eindeutig unterschiede. Warum ?
Eigentlich dürfte Unabhängig von der Frequenz alle Amplituden Gleich 
Groß sein siehe Bild 1.

Ich habe mir diesen ganzen Vorgang auch mal in der Theorie Überlegt. Ich 
habe eine Signal von 1 , 0.5 , 1.
Das sich Periodisch wiederholt. Das bedeutet das jeder Koeffitient die 
selbe auswirkung hat. Unabhängig der Frequenz.

Ich Weiß das der FIR Filter Funktioniert nur es intressiert mich enorm 
warum das so ist ?

Autor: Bernhard (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Du bildest einen entsprechend der Koeffizienten gewichteten Durchschnitt 
über mehrere Eingangswerte, das ist prinzipiell das gleiche was ein 
RC-Tiefpass macht.

Autor: Vancouver (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Schau Dir mal dir Gleichung zu Deiner Filterstruktur an. Der FIR 
berechnet einen gewichteten Mittelwert über 1 bzw. 2  bzw. 5 
aufeinanderfolgende Samples in Deinen Beispielen. D.h. alles, was sich 
z.B. innnerhalb der 5 Samples temporär ändert (also hohe 
Frequenzanteile), wird glattgebügelt, und nur die langsamen Änderungen, 
die sich über mehr als 5 Samples erstrecken, werden vom Filter nicht 
erfasst.

Autor: Reinhard M. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Die Abtastfrequenz spielt natürlich auch eine Rolle(!)
Beispiel mit den 2 Koeffizienten:

y[n] = 0.5 * x[n] + 0.5 * x[n-1]

Y[z] = 0.5 * X[z] + 0.5 * z^(-1)* X[z]

     = X[z] * (0.5 + 0.5 * z^(-1))

Übertragungsfunktion
A[z] = Y[z] / X[z] = 0.5 + 0.5 * z^(-1)

einsetzten z^(-1) = exp(j*w*Ta)        w ... 2 pi f
                                       Ta .. T_abtast

Daraus Ortskurve, Amplitudengang und Phasengang berechnen

f= 0:              A[z] = 1+0j      Betrag=1      Phase=0°
f=1/4 f_abtast     A[z] = 0.5+0.5j  Betrag=0.707  Phase=45°
f=1/2 f_abtast     A[z] = 0+0j      Betrag=0      Phase=90°

Autor: Huber Wegner (sindler)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Vancouver schrieb:
> alles, was sich
> z.B. innnerhalb der 5 Samples temporär ändert

Was meinst du damit ? Die Samples bleiben gleich dadurch das ich sie als 
eine periodische benutzte.

Vancouver schrieb:
> und nur die langsamen Änderungen,
> die sich über mehr als 5 Samples erstrecken, werden vom Filter nicht
> erfasst.

Die 5 Samples Wiederholen sich aufgrund der Periodischen Funktion.

Klar bildet der FIR Filter den Mittelwert. Aber damit ändert sich doch 
nicht die jeweilige Amplitude ?
Ich verstehe die Erklährungen nicht.

Mal ein beispiel.
Das Angehangene Bild sind die von den Koeffizieten 0.1 bzw -0.1. Die 
erhöhung der Amplitude im bereich 0 Hz. kommt von dem Messgerät. Also 
keine Panik :)

FIR Filter ist ein gleitender Mittelwert Filter. Aber ich verstehe nicht 
warum er bestimmte Frequenzen verstärkt bzw. dämpft.

Autor: Vancouver (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
"Was meinst du damit ? Die Samples bleiben gleich dadurch das ich sie 
als
eine periodische benutzte."

Du hast doch ein zeitlich veränderliches Eingangssignal (Sinus 10MHz). 
Warum sollten Deine Samples gleich bleiben? Sie ändern sich ständig, 
wenn auch periodisch.

"Die 5 Samples Wiederholen sich aufgrund der Periodischen Funktion."

Ja, eben.

"Klar bildet der FIR Filter den Mittelwert. Aber damit ändert sich doch
nicht die jeweilige Amplitude ?"

Ok, nehmen wir an, du misst einmal pro Minute die Spannung einer 
Solarzelle auf dem Dach. Dann bildest Du den gleitenden Mittelwert der 
letzten 5 Minuten. Wenn Sich die Spannung aufgrund schnell vorbei 
fliegender Wolken alle 10 Sekunden ändert, dann siehst Du im Mittelwert 
nichts davon. Wenn es hingegen am Vormittag wolkig ist, am Mittag die 
Sonne scheint und  abends regnet, dann wirst Du den langfristigen 
Verlauf sehen. Dabei spielt es keine Rolle, ob die Wetteränderung 
periodisch ist oder nicht. Hohe Frequenzanteile werden bei der 
Mittelwertbildung verschluckt, niedrige Anteile nicht. Deswegen hat der 
Filter dieser Art eine Tiefpass-Charakteristik, er dämpft hohe 
Frequenzen.

Die Samplerate spielt dabei natürlich eine entscheidende Rolle, wie 
Reinhard M. oben geschrieben hat.

"Das Angehangene Bild sind die von den Koeffizieten 0.1 bzw -0.1. Die "

Das versteh ich nicht ganz... Du hast dort einen Filter mit zwei Taps 
und als Koeffizienten
0.1 und -0.1 verwendet?  Und welche Abtastrate hast Du verwendet?

Grundsätzlich gilt für einen einfachen Mittelwertfilter: Hohe 
Frequenzen=Schnelle Änderungen werden durch die Mittelwertbildung 
rausgemittelt und verschwinden.

Autor: Huber Wegner (sindler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vancouver schrieb:
> Du hast doch ein zeitlich veränderliches Eingangssignal (Sinus 10MHz).
> Warum sollten Deine Samples gleich bleiben? Sie ändern sich ständig,
> wenn auch periodisch.

Vancouver schrieb:
> Der FIR
> berechnet einen gewichteten Mittelwert über 1 bzw. 2  bzw. 5
> aufeinanderfolgende Samples in Deinen Beispielen. D.h. alles, was sich
> z.B. innnerhalb der 5 Samples temporär ändert (also hohe
> Frequenzanteile), wird glattgebügelt,

Reinhard M. schrieb:
> Die Abtastfrequenz spielt natürlich auch eine Rolle(!)

Ich hatte im Bezug auf das Periodische Signal einen Gedanken Fehler. Die 
Abtastfrequenz ist Ausschlag gebend. Aber für mich ist das ein Phänomen 
was immer auftritt. Wenn ich eine zu geringe Abtastfrequenz haben gehen 
Bestimmte Signalanteile verloren.

Das Nyquist-Shannon-Abtasttheorem beschreibt das die Frequenz von größer 
2*fmax Abgetastet werden muss. Damit ein exaktes zeitdiskretes Signal 
erzeugt werden kann.

Das habe ich natürlich Absolut vergessen. Der A/D Wandler hat eine 
Abtastfrequenz von 125 Mhz. Also deutlich höher als die benutzten 
Frequenzen des Sinus. Mithilfe der Sweep Funktion generierte ich eine 
Sinus Signal von 100 hz bis 20 Mhz.(siehe Bild)

Daraus folgt. 2*fmax=2*20 Mhz = 40 Mhz. Das ist deutlich unter der 
Abtast Frequenz von 125 Mhz.

Bernhard schrieb:
> Koeffizienten gewichteten Durchschnitt
> über mehrere Eingangswerte, das ist prinzipiell das gleiche was ein
> RC-Tiefpass macht.

Danke für eure Hilfe. Ich konnte dadurch jetzt besser Verständnis 
erreichen.
Also durch das benutzten von einem Koeffizieten werden die der Gleitende 
Mittelwert gebildet. Also bein einem Wert von 0.1 stärkere Dämpfung als 
bei 0.9.
Eigentlich selbst erklährend aber ich konnte das damals nicht richtig 
verstehen.


Wenn ich ein Sinus-Signal mit den Koeffietienten -0.1 und 0.1 auf dem 
Ozzililoskop betrachte. sehe ich kein Ausgangssignal. Für mich ist das 
verständlich. Durch den VZ wechsel subtrahieren sich die beiden Sinus 
signale.
Dadurch das das Signal Periodisch ist. Aber im Spektrumanalysator ist zu 
erkennen das Frequenzen im höheren Bereich besser Durchgelassen werden ?
Wie kann das sein das sein ? Eigentlich müssten doch alle Amplituden 0 
sein.

Damit ich euch nicht verwirre habe ich auch noch nur das Bild ohne 
Signal des Spektrumanalysators hochgeladen. Das ist einfach vom 
Messgerät.

Vancouver schrieb:
> Das versteh ich nicht ganz... Du hast dort einen Filter mit zwei Taps
> und als Koeffizienten
> 0.1 und -0.1 verwendet?  Und welche Abtastrate hast Du verwendet?

Abtastfrequenz ist 125 MHz und der
Erste Koeffizient ist 0.1
der Zweite Koeffitient -0.1

Das sollte die Beschrirftung bedeuten.

: Bearbeitet durch User
Autor: Reinhard M. (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
b0 = 0.1
b1 = -0.1

H(z) = 0.1 - 0.1 * exp(jwT)

bei f = 0            --> H[z] = 0.1 - 0.1 * 1 = 0
bei f = f_abtast/2   --> H[z] = 0.2

--> das ist ein Hochpassverhalten.

Autor: Reinhard M. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Oder weniger mathematisch erklärt:
Auf den Ausgang gelangt immer die Differenz vom aktuellen
Eingangssignal und das um einen Takt verzögerte Eingangssignal.

Wenn jetzt die Differenz groß ist (hohe Frequenz) gibt es ein größeres 
Ausgangssignal als bei kleinem Unterschied (niedrige Frequenz).

PS.
in dem Formeln muss es heißen exp( -jwT )  --MINUS--

Das entscheidet ob die Ortskurve in der unteren oder in der oberen
Halbebene liegt.
Der Amplitudengang (Betrag) stimmt trotzdem.

Ich hoffe es einigermaßen verständlich rübergebracht zu haben ;-)

Autor: Martin O. (ossi-2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ganz einfach zu Fuss:
a) Tiefpassfilter: Koeffizienten b_0=1 und b_1=1
(gleitender Mittelwert über 2 Werte)
Eingangssequenz 1 1 1 1 1 1 1 1 1 1 1 1 ...
Ausgangssequenz 1 2 2 2 2 2 2 2 2 2 2 2 ... Signal wird um 2 verstärkt

Eingangssequenz 1 -1  1 -1  1 -1  1 -1  1 -1  1 -1 ...
Ausgangssequenz 1  0  0  0  0  0  0  0  0  0  0  0 ...
Signal wird vollsständig gedämpft.

Übungsaufgabe: Das gleiche mit Hochpass: b_0=1, b_1=-1 machen.

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>>>>
Dadurch das das Signal Periodisch ist. Aber im Spektrumanalysator ist zu
erkennen das Frequenzen im höheren Bereich besser Durchgelassen werden ?
Wie kann das sein das sein ? Eigentlich müssten doch alle Amplituden 0
sein.

Das sagtest Du für die Koeffizienten +0.1 und -0.1. Du berechnest damit
y(n)=0.1*x(n-1)-0.1*x(n)
Damit differenzierst Du das Signal, Du bildest quasi die Ableitung. Für 
ne Gleichspannung kommt immer 0 raus, je höher die Frequenz umso steiler 
steigt der Sinus an umso höher ist das Ausgangssignal -> Hochpass.

Anderes Beispiel: FIR Filter, alle Koeff. sind 1. Der zwingt das 
Ausgangssignal auf 0 wenn GENAU  eine ganzzahlige Anzahl Wellen des 
Sinus in die Kette reinpassen. Das erzeugt diese Kammstruktur des 
Frequenzgangs.

Cheers
Detlef

Autor: Hp M. (nachtmix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Huber W. schrieb:
> Ich verstehe nicht wie es sein kann das der FIR-Filter Frequenzen
> Verstärkt oder Dämpft je nach gewählten Koeffizienten. Ich finde auch
> keine Quellen, in dem dieses Phänomen erläutert wird.

Schau dir mal dieses Video an: 
https://www.youtube.com/watch?v=FnpkBE4kJ6Q

Autor: Huber Wegner (sindler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reinhard M. schrieb:
> b0 = 0.1
> b1 = -0.1
>
> H(z) = 0.1 - 0.1 * exp(jwT)
>
> bei f = 0            --> H[z] = 0.1 - 0.1 * 1 = 0
> bei f = f_abtast/2   --> H[z] = 0.2
>
> --> das ist ein Hochpassverhalten.

Danke Reimhard M.
Jetzt habe ich es verstanden. Ich habe nur einfach den Phasengang nicht 
betrachtet.

Autor: Audiomann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mir das Thema so ansehe, dann bin ich froh, daß ich mit 
Analogtechnik angefangen habe und filtern konnte, bevor es an die 
Micocontroller und die Digitaltechnik ging. Ehrlich gesagt, habe ich 
echte Probleme, mir vorzustellen, dass ich mir die Thematik allein von 
der abstrakten Theorie her hätte erabeiten können, ohne schon eine Art 
von Anschauung zu haben. Wenn das in der Uni so präsentiert worden wäre, 
hätte ich wohl das Handtuch geworfen.

Autor: Reinhard M. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Audiomann schrieb:
> Wenn das in der Uni so präsentiert worden wäre,
> hätte ich wohl das Handtuch geworfen.

Ja, das ginge mir genauso.
Ich habe das alles sehr verkürzt dargestellt und einige
Zwischenschritte weggelassen.

Wer wirklich interessiert ist, da kann ich nur den Tietze-Schenk
Kapitel "Digitale Filter" empfehlen.
Das ist die beste deutschsprachige Einführung in das Thema, die ich 
kenne.

Autor: Huber Wegner (sindler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hp M. schrieb:
> Schau dir mal dieses Video an:
> Youtube-Video "How to build digital filters, a simplified explanation"

werde ich mir anschauen danke.

Reinhard M. schrieb:
> Wer wirklich interessiert ist, da kann ich nur den Tietze-Schenk
> Kapitel "Digitale Filter" empfehlen.
> Das ist die beste deutschsprachige Einführung in das Thema, die ich
> kenne.

Das werde ich mir aufjedenfall besorgen. Danke für den Tipp.

: Bearbeitet durch User
Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich suche dieses video:

https://www.youtube.com/watch?v=FnpkBE4kJ6Q

es ist leider nicht mehr da.

hat es einer vieleicht gesichert?

Autor: Mar. Wa. (elektrowagi78) Benutzerseite
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Reinhard M. schrieb:
> y[n] = 0.5 * x[n] + 0.5 * x[n-1]

Das ist aber kein FIR-Filter, sondern ein IIR.

Autor: Georg A. (georga)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Markus W. schrieb:
> Das ist aber kein FIR-Filter, sondern ein IIR.

Solange y rechts nicht auftaucht, eher nicht...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.