Forum: Digitale Signalverarbeitung / DSP / Machine Learning digitales Notchfilter mit TP kombinieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thommi (Gast)


Lesenswert?

Ich bekomme Daten mit 1.2MHz Abtastfrequenz als 10 Bit, die ich mit 
einem Tiefpass auf 50kHz begrenzen möchte. Zur Verfügung stehen 24 Taps. 
Allerdings gibt es bei dem Wandler noch eine Umschaltfrequenz, weil es 4 
Stück auf einem Kanal sind, was dazu führt, dass genau 1/4 der Frequenz 
= 300kHz Störfrequenz im Spektrum enthalten sind. Wie bekomme ich die 
einfach weg?

Kann ich dieses Notch in die Koeffizienten einbetten? Oder kann ich 
sonstwie in einfacher Weise die Frequenz rausnehmen? Ich habe mir 
überlegt, einfach immer 2 alte Werte zu speichern und den Mittelwert 
zwischen dem aktuellen und dem 2. Wert in den Filter zu schicken, weil 
eine 300kHz Sinuswelle bei 4 Abtastpunkten immer so aussieht, dass 
Punkte 1 und 3 sowie 2 und 4 achsensymmetrisch sind. Oder muss ich den 
Mittelwert über alle 4 Punkte nehmen?

von Frank H. (Gast)


Lesenswert?

Der TP mit 50kHz nimmt doch die 300kHz mit weg.
Oder habe ich etwas falsch verstanden in deiner Beschreibung?

von Rezy (Gast)


Lesenswert?

Frank H. schrieb:
> Der TP mit 50kHz nimmt doch die 300kHz mit weg.
> Oder habe ich etwas falsch verstanden in deiner Beschreibung?

Dachte ich auch. Vielleicht reicht die Dämpfung nicht?

> Kann ich dieses Notch in die Koeffizienten einbetten? Oder kann ich
> sonstwie in einfacher Weise die Frequenz rausnehmen? Ich habe mir
> überlegt, einfach immer 2 alte Werte zu speichern und den Mittelwert
> zwischen dem aktuellen und dem 2. Wert in den Filter zu schicken, weil
> eine 300kHz Sinuswelle bei 4 Abtastpunkten immer so aussieht, dass
> Punkte 1 und 3 sowie 2 und 4 achsensymmetrisch sind. Oder muss ich den
> Mittelwert über alle 4 Punkte nehmen?

Du kannst dir das so herleiten:

Das eine wäre ein FIR-Filter: 1/4*(1+z^(-1)+z^(-2)+z^(-3)). Eine 
Nullstelle liegt bei z=1j, also fs/4, also würdest du die 300kHz 
rausfiltern.

Das andere wäre eine FIR-Filter: 1/2*(1+z^(-2)). Das hat auch eine 
Nullstelle bei z=1j, also fs/4. Beide Ansätze funktionieren 
entsprechend.

Du hast dann aber natürlich auch eine weitere Filterwirkung.

von Fritz (Gast)


Lesenswert?

Rezy schrieb:
> Dachte ich auch. Vielleicht reicht die Dämpfung nicht?

Ja, die Dämpfung reicht sicher nicht.

Rezy schrieb:
> Das eine wäre ein FIR-Filter: 1/4*(1+z^(-1)+z^(-2)+z^(-3)).
Fehlt da nicht noch die 4. Komponente, als z(0) oder ist das die "1"?

von Rezy (Gast)


Lesenswert?

> Fehlt da nicht noch die 4. Komponente, als z(0) oder ist das die "1"?

Das ist die "1" -> 1*z^0.

Wenn man das in die Differenzengleichung umschreibt, ergibt sich beim 1. 
Filter nämlich

von Thommi (Gast)


Lesenswert?

ja stimmt, so hatte ich es in Erinnerung. Danke.

von Gerhard H. (ghf)


Lesenswert?

Bei dem großen Unterschied zwischen Abtastrate und gewünschter
Eckfrequenz würde sich ein CIC-Filter anbieten mit ein paar
FIR-Taps um das Passband wieder gerade zu ziehen.

Nebenbei kommt man auf eine angemessen niedrige Abtastrate, so
dass die paar FIR-Taps wesentlich wirksamer werden als auf 1.2 MHz.

Gruß, Gerhard

: Bearbeitet durch User
von Harald (Gast)


Lesenswert?

Gerhard H. schrieb:
> Bei dem großen Unterschied zwischen Abtastrate und gewünschter
> Eckfrequenz würde sich ein CIC-Filter anbieten mit ein paar
> FIR-Taps um das Passband wieder gerade zu ziehen.
Das geht aber nur, wenn man den Alias auch vertragen kann, den man sich 
in das Nutzspektrum hineinfaltet und ...

> Nebenbei kommt man auf eine angemessen niedrige Abtastrate,
... zudem auch die geringe Abtastfrequenz gewünscht ist. Dass gefiltert 
wird, heißt nicht, dass man dann auch langsamer werden darf.

> so dass die paar FIR-Taps wesentlich wirksamer werden als auf 1.2 MHz.
Die wirken dann auf einem anderen Spektralbereich und haben ein anderes 
Filterverhalten im Sperrbereich zur Folge. Der CIC ist nämlich sehr 
durchlässig, was sich im Nachhinein nur für die nicht als alias 
abgewbildeten Frequenzen durch den folgenden FIR beheben lässt.

Siehe auch:

Beitrag "CIC-Filter für Halbierung der Abtastrate"

von Gerhard H. (ghf)


Lesenswert?

Da gibt's nix, was sich hineinfaltet. Der AutoDidakt
in deinem referenzierten thread hat noch nicht bemerkt,
dass CIC-Filter nicht für 1/2 Dezimatoren taugen.

Dafür gibt es Halbbandfilter, die zumindest nur eine um
den Faktor 4 reduzierte Anzahl von Multipliern brauchen.

CIC-Filter taugen, wenn man einen 10KHz-Kanal aus einem
130 MHz breitem ADC-Resultat eines z.B- Flugfunk-Empfänger
rausfischen will.
Da ist alles, was sich "hineinfalten" könnte schon > 100 dB
runter. Eine einzelne CIC-Stufe hat nicht gerade eine
eindrucksvolle Filterwirkung, aber sie ist so billig, dass man
sich Massen davon leisten kann. Und nein, man muss nicht hinter
jeder Filterstufe dezimieren.

Und eine Herde von CIC-Stufen ist im Sperrbereich alles andere
als "durchlässig". Mit noch so vielen FIR-Stufen lässt sich
auf der runtergesampleten Abtastrate sowieso nichts mehr retten.
Die paar dB droop im Passband hingegen lassen sich mit ein paar
FIR-taps korrigieren.

Gruß, Gerhard

von Harald (Gast)


Lesenswert?

Gerhard H. schrieb:
> Da gibt's nix, was sich hineinfaltet. Der AutoDidakt
> in deinem referenzierten thread
Ich habe ihn genau deshalb gelinkt, weil a) eben der thread damit endet, 
dass seine Annahme der guten Filterung falsch ist und b) weiter unten 
sehr gut ausgeführt wurde, welche Krankheiten ein CIC hat.

Gerhard H. schrieb:
> Die paar dB droop im Passband hingegen lassen sich mit ein paar
> FIR-taps korrigieren.
Den Denkfehler machen Viele. Das ach so effektive FIR nach dem CIC 
kann nur effektiv arbeiten, wenn es niedrig genug abgetastet wird und 
mit einem schon dezimierten Signal gefüttert wird. tut man das aber, 
muss der Alias-Effekt des CIC betrachtet werden, also all die 
Frequenzen, die durch die spätere geringe Abtastrate umgeklappt werden.

Das hat man dann als Fehler im Spektrum und kein Filter der Welt kriegt 
das wieder weg, weil es vom Nutzband nicht zu unterscheiden ist.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Harald schrieb:
> FIR nach dem CIC
> kann nur effektiv arbeiten, wenn es niedrig genug abgetastet wird
Man muss es eben ausreichend hoch abtasten und nicht nur in Bereich der 
Dezimation. Als Beispiel bei einem Audio-Signal von 3Mbps und einer 
Dezimation von 256 reicht der Filter bis auf ca. 15kHz runter. Das 
sampelt man aber mit 192kHz, hat die meisten Spiegelfrequenzen im 
Unhörbaren und nutzt einen FIR mit 32 TAPs. Da kann man einen guten 
Tiefpass unterbringen.

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

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