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