Filter mit bekanntem Frequenzgang erstellen

Gast #3406347
Lesenswert?

Guten Abend,

Wenn ich einen Filter designen will, mit vorgegebenen Frequenzgang, 
Amplitude (Lorentz) und Phase, sollte ich doch alle Informationen haben.

Wie kann ich daraus einen (digitalen) Filter machen?

Fouriertransformation zur Impulsantwort und dann falten? Ist der 
Phasengang dann auch exakt erhalten? Und die Gruppenlaufzeit?

Ich versuche mich gerade in Python/scipy - wäre toll wenn da jmd schon 
Erfahrung hat.
Gast #3407268
Lesenswert?

yo, da ma kucken:
http://en.wikipedia.org/wiki/Filter_design

"Wenn ich ein Auto designen will, mit vorgegebener 
Höchstgeschwindigkeit,
Beschleunigung und Sitzbezug, sollte ich doch alle Informationen haben.

Wie kann ich daraus ein (schnelles) Auto machen?

Blech in der Farbe kaufen und dann falten? Ist der
Bremsweg dann auch exakt erhalten? Und die Anzahl der Gänge?"

Cheers
Detlef
Gast #3408373
Lesenswert?

'Die Frage ist, ob man dann exakt das
hinbekommt, was man wollte.'

Ja, das ist eben auch meine Frage, zugegeben etwas diffus formuliert. 
Ein Filter sollte ja durch den Frequenzgang der Amplitude und Phase 
eindeutig definiert sein, theoretisch. (Im Unterschied zum Bremsweg 
under Anzahl der Gaenge eines Autos, wenn ich 'Höchstgeschwindigkeit, 
Beschleunigung und Sitzbezug' definiere).

Wenn ich beispielsweise einen analytisch bekannten Verlauf habe, sagen 
wir Gauss oder Lorentz oder so was, dann koennte ich im Grunde doch auch 
analytisch die Impulsantwort angeben (entsprechend Gauss oder exp im 
Beispiel). Mit entsprechendem Zusammenhang fuer die Phase. Damit kann 
ich dann im Zeitbereich rumrechnen.

Ist dann die Genauigkeit mit der ich das analoge Filter reproduzieren 
kann durch die Numerik vorgegeben? Sowas wie die Laenge/Anzahl der 
Sample der Impulsantwort?

Kann ich beliebiges Filter damit reproduzieren?

Mache ich das dann durch Faltung oder rekursiv? Macht das ueberhaupt 
einen Unterschied?

Ich habe da eben keine Erfahrung sondern nur eine ungefaehre Vorstellung 
- daher Frage ich ja.

Danke fuer Antworten!
#3409442
Lesenswert?

Im verlinkten Artikel zu FDLS (frequency domain least square):
http://www2.units.it/ramponi/teaching/DSP/materiale/Ch5%28x%293e.pdf#page=29
sind ein paar Kurven gezeigt (Fig.1/2) mit dem gesuchten analogen 
Frequenz/Phasengang und der erreichten digitalen Näherung nach drei 
verschiedenen Verfahren. Ich habe den Eindruck, eine Näherung ist in der 
Gegend der halben Nyquist-Frequenz am besten, weit darunter ist sie 
schlechter aufgelöst, und darüber kommt die von Wolfgang genannte 
"natürliche Grenze".
Persönliche Seite #3410393
Lesenswert?

Was ist ein Lorentz-Filter?

Zumindest bei einem analogen Filter ohne aktive Bauelemente, ist der 
Phasenverlauf völlig durch den Amplitudenverlauf gegeben und kann daher 
weggelassen werden. Mißt man trotzdem die Phase mit, dann bringt das 
höchstens eine Verbesserung der Genauigkeit, wenn die Genauigkeit der 
Amplitudenmessung technisch beschränkt ist.
(Firma: KHTronik) #3411358
Lesenswert?

Hallo,
wenn Du einen vorgegebenen Frequenzgang annähern willst, kannst Du eine 
Filterbank erstellen und durch Änderung der Filterparameter eine 
iterative Annäherung an den gewünschten Frequenzgang erreichen. Ich 
verwende einen solchen Algorithmus in meinem Hörverstärker und erreiche 
eine Annäherung von besser als 3dB. Allerdings lasse ich den Phasengang 
weitgehend ausser acht.
Grüße, Kurt
Gast #3431800
Lesenswert?

Falls es jmd interessiert: Es funktioniert genau so wie man es sich fuer 
ein LTI-System vorstellt.

1. Man nehme seine bekannte Frequenzantwort des Filters (Amplitude und 
Phase), respektive die komplexe Frequenzantwort.

2. Die Parameter des Sweep sind bekannt, berechne die 
Fouriertransformierte. Ist etwas haesslich weil man die Differenz zweier 
Fehlerfunktionen mit grossem komplexen Argument berechnen muss, 
numerisch per FFT des Sweep-Zeitsignals funktioniert es aber super.

3. Multipliziere beide 1. und 2. im Frequenzbereich.

4. IFFT in den Zeitbereich.

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