Möglichst steilen digitalen Filter bauen

Gast #7115024
Lesenswert?

Welche Form digitialer Filter ist zu verwenden, wenn die Aufgabe darin 
besteht, einen möglichst steilen Filter zu erhalten, weil der Abstand 
der gewünschten höchsten Welle zur Samlefreuqenz sehr gering ist?

Also konkret sollen Frequenzen bis 1.2 MHz mit einer Abtasrate von z.B. 
nur 3MHz gefiltert werden. Benötigt wird ein Bandpass von z.B. 500kHz 
und 1.5MHz

Einen steilen Filter bei FIR bekomme ich nach meinem Wissen durch eine 
ausreichend große Anzahl von Samples, die betrachtet werden. Allerdings 
ergibt das ein ausgeprägtes "pre ringing", wie ich mir habe sagen 
lassen.

Rechenleistung wäre vorhanden und muss nicht sonderlich berücksichtigt 
werden.
#7115394
Lesenswert?

Moin,

Nathan der Weise schrieb:
> Also konkret sollen Frequenzen bis 1.2 MHz mit einer Abtasrate von z.B.
> nur 3MHz gefiltert werden. Benötigt wird ein Bandpass von z.B. 500kHz
> und 1.5MHz
Das liest sich jetzt fuer mich so, als braeuchtest du einen Hochpass, 
der von 500kHz...Fsample/2 alles durchlaesst und z.b. 499kHz schon 
tuechtig daempft oder doch was anderes?

Nathan der Weise schrieb:
> Allerdings
> ergibt das ein ausgeprägtes "pre ringing",
Und? Kratzt dich das? Klar; wenn man steilflankige Filter haben will, 
dann macht die Impulsantwort halt ein paar Faxen... Wenn du 
unsymmetrische FIRs oder IIRs ohne Gruppenlaufzeitkorrektur hernimmst, 
kannste pre ringing gegen post ringing eintauschen, wuerd' das was 
helfen?

Gruss
WK
#7115885
Lesenswert?

Moin,
HAM schrieb:
> Das ist ein in der Praxis übliches Verfahren und nennt sich "Fast
> ConVolution".
Ja, das hoer' ich nicht zum ersten mal.

> Es hat sogar den Vorteil, das es weniger Rundungsfehler gibt als beim
> FIR
Soso. Und dass man schoen alles komplex rechnen darf. Also statt einmal 
reell multiplizieren,lieber 4 Multiplikationen und 2 Additionen.
Wer's halt mag.

Gruss
WK
Persönliche Seite #7115918
Lesenswert?

Dergute W. schrieb:
>> Es hat sogar den Vorteil, das es weniger Rundungsfehler gibt als beim
>> FIR
> Soso.
Das sehe ich auch nicht ein: Der FIR berechnet sich genau so mit 
Multiplikationen aus Sample und Koeffizient, wie das in der FFT 
passiert. Nur die Implementierung ist eine andere. Das zu vergleichen 
erfordert einen genaueren Blick auf die interne Auflösung. 
Grundsätztlich kann ich jeden FIR so hochauflösend bauen, wie ich es 
brauche (und die FFT auch).
Persönliche Seite #7115930
Lesenswert?

Nathan der Weise schrieb:
> Welche Form digitialer Filter ist zu verwenden, wenn die Aufgabe darin
> besteht, einen möglichst steilen Filter zu erhalten, weil der Abstand
> der gewünschten höchsten Welle zur Samlefreuqenz sehr gering ist?

Das hängt von der Art des Frequenzverlaufs ab. Ein BiQuad kann da 
durchaus reichen, bei komplizierten Verläufen, eher ein FIR mit 
ausreichenden Auflösung (läuft auf die Lösung mit iFFT hinaus).

Über ein Fenster wird man sich auch noch Gedanken machen dürfen.
Gast #7115975
Lesenswert?

Es geht doch auch mit Hardware, 74LS123 o.ä. (nachtriggerbarer Monoflop)

1. '123 Eingangssignal an B1 liefert Q1=1 und Q1 bleibt 1 wenn f>500kHz
2. '123 Eingangssignal an B2 liefert Q2=1 und Q2 bleibt 1 wenn f>1500kHz

Mit Q1 ein Flop-Flop setzen und mit Q2 einen Reset ausführen.

Der Ausgang des Flip-Flops "und" das Eingangssignal auf ein "und"-Gatter 
ergibt an dessen Ausgang das Bandpass-Signal von 500kHz bis 1500kHz.


B.
Beitrag #7116113 wurde von einem Moderator gelöscht.
Gast #7116139
Lesenswert?

Nathan der Weise schrieb:
> Allerdings
> ergibt das ein ausgeprägtes "pre ringing", wie ich mir habe sagen
> lassen.

Und wer hat dir das gesagt?
Ein FIR Filter hat eine "Erinnerung", die nur so lang ist wie es Taps 
hat. Da gibt es kein pre- oder post-Ringing. Sowas hat man nur im 
Analogen und bei IIR-Filtern. O du Weiser.

Nathan der Weise schrieb:
> Welche Form digitialer Filter ist zu verwenden, wenn die Aufgabe darin
> besteht,...

Das klingt mir aber gefährlich nach BWL-Schlauheit. Frage dich lieber, 
was du tatsächlich vorhast. Daraus ergeben sich erstmal die 
eigentlichen Eckwerte, wie z.B. wieviele Rechentakte du zwischen zwei 
Samples hast und welche Selektivität du tatsächlich benötigst. Woraus 
dann die Erkenntnis "machbar" oder "nicht machbar" folgt und dann an 
irgend einer Stelle die Ziele korrigiert werden müssen.

W.S.
Gast #7116419
Lesenswert?

>Einen steilen Filter bei FIR bekomme ich nach meinem Wissen durch eine
>ausreichend große Anzahl von Samples, die betrachtet werden. Allerdings
>ergibt das ein ausgeprägtes "pre ringing", wie ich mir habe sagen
>lassen.

Das grundlegende Problem bei dieser Art von Aufgabe ist, dass die Leute 
den Widerspruch zwischen der Zeit- und Frequenzauflösung nicht 
verstehen.
Man kann keinen beliebig steilflankigen Filter bauen, ohne im 
Zeitbereich lange Artefakte bei z.B. einem rechteckförmigen Sprung zu 
bekommen.
Beim FIR-Filter könnte man vielleicht von einem "pre-ringing" sprechen 
(wenn man die inhärente Zeitverschiebung des FIR-Filters nicht 
beachtet).
Bei einem steilflankigen IIR-Filter hat man auf jeden Fall ein starkes 
"after-ringing".
Persönliche Seite #7116968
Lesenswert?

chris_ schrieb:
> Man kann keinen beliebig steilflankigen Filter bauen, ohne im
> Zeitbereich lange Artefakte bei z.B. einem rechteckförmigen Sprung zu
> bekommen.

Eventuell hilft das weiter:
https://cravedsp.com/blog/linear-phase-eq-explained

Generell kann man das durch mehr TAPs bekämpfen, bei relativer 
Abflachung des Filters - auch weil die Fensterfunktion eine größere 
Überdeckung hat.

chris_ schrieb:
> Bei einem steilflankigen IIR-Filter hat man auf jeden Fall ein starkes
> "after-ringing".
... was unangenehmer sein kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren