Filter mit bekanntem Frequenzgang erstellen

Gast #3406347
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
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
Den Frequenzgang kannst Du nach Fourrier zerlegen und dann das 
Koeffizientenintegral bilden. Die Frage ist, ob man dann exakt das 
hinbekommt, was man wollte.
Gast
'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!
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
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)
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
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

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.