Digitale Filter selber machen? - aber wie?

+A -A
Autor
Beitrag
weakbit
Stammgast
#1 erstellt: 09. Jan 2016, 20:35
auf der Suche durch das Netz ist mir ein Programm aufgefallen mit dem man FIR (Finit Element Filter) basteln kann.
Meine Idee war es schon lange mich mit so einen Thema zu beschäftigen deshalb habe ich die Blaue Box gebaut und mit 2 Verstärkern einen für den Hochton und einen für Bass Mitte eingebaut. Zur Zeit ist ein OpAmp von Texas Instruments TL072 als aktives Filter eingebaut aber das gefällt mir nicht ich möchte das Signal Digital Filtern.

Also ein Tiefbass muss her und ein Hochpass ebenfalls. Leider kann ich nicht so gut C programmieren und bin nicht so geübt.
Ich habe mich in die Materie eingelesen und bin darauf gekommen das es verschiedene Filter gibt unter anderem IIR sogenannte (Invinite Filter - also solche mit Unendlicher Antwortzeit dessen Ausgang in den Eingang des Filters wieder Rückkoppeln wird.) Das hat den Vorteil das man nicht so viele Rechnungen braucht um zum Ergebnis zu gelangen aber auch den Nachteil das diese Art des Filtern gerne dazu neigt das er zu schwingen anfängt.

Beim FIR (Finiter Element Filter ist das anders dieser Endet nach Durchlauf von vielen Rechnungen dauert damit lange wenn z.b. 90 Rechnungen durchlaufen werden hört aber dann auf wenn alle Rechnungen gerechnet wurden) Das bedeutet diese Art des Filters neigt nicht zur Überschwingung und ist somit nicht Rekursive wie der IIR Filter. Der Nachteil des FIR Filters ist die lange Rechenzeit und das diese Art des Filters nach Jeder Rechnung einen Phasenfehler mit sich bringt der 180° um sich drehend ist. Stellt sich die Frage in wie weit das störend ist denn über 5kHz hört das Ohr sowieso keinen Phasenfehler zumindest höre ich Ihn nicht Wirklich. Mit Ausnahme der in einem Raum stehenden Boxen die Phasenfalsch angeschlossen sind.

Hat einer von Euch Erfahrung mit so einem Filter oder wann ein Phasenfehler störend ist und wie man denn wenn man schon die Parameter der verwendeten Lautsprecher nicht kennt so ist das für mich auch nicht so Einfach zu realisieren. Wie kann ich bei einem FIR Filter die Phasengleichheit so rechnen das ich keinen oder nur Minimale Phasenfehler habe?
Ein Freund von mir hat mir gesagt das ich die Daten in 10msec Blöcke einteilen soll und dann immer von t0 - tn rechne dann die Adresse umdrehe und das ganze wieder von tn - t0 rechne und damit den Phasenfehler mathematisch kompensiere.

Wenn Jemand da mit basteln will bitte melden das würde mich brennend interessieren.

MfG
weakbit


[Beitrag von weakbit am 09. Jan 2016, 20:47 bearbeitet]
audiophilanthrop
Inventar
#2 erstellt: 09. Jan 2016, 22:03
Wäre eher ein Fall für die Abteilung DIY gewesen, aber egal.

Ein Opamp macht noch keine Schaltung. Es werden wohl HP und TP 2. Ordnung sein, vermute ich? Zeig mal den Schaltplan (am besten komplett vom Eingang bis zur Endstufe), dann kann man vielleicht sehen, ob das grundsätzlich Hand und Fuß hat. Ein TL072 ist zwar nicht mehr der neueste Schrei, richtig eingesetzt aber durchaus brauchbar (und ansonsten gibt es auch noch etwas neuzeitlichere Opamps). Wie ist der Pegel in der Weiche gewählt?

FIR für eine Frequenzweiche ist völliger Quatsch. Lautsprecher sind in guter Näherung minimalphasig (genau das Gegenteil von linearphasig), also brauchste IIR, sonst wird das mit dem Phasengang nix. Das hat man früher nicht so gern genommen, weil die verfügbare Rechengenauigkeit noch nicht so groß war (mit etwas Pech direkt int16, DSPs verwendeten float24) und sich bei IIR mehr Rundungsfehler ansammeln. In Zeiten von float32 oder gar float64 ist das kein Thema mehr, zumindest auf dem PC (und selbst auf einem Raspberry Pi o.ä. ohne FPU sollte man wenigstens int32 zur Verfügung haben). Was sich da so an Software anbietet, mußt du mal suchen, das Thema "digital crossover" ist nicht mehr ganz neu.

Es gibt in der analogen Welt nur ganz wenige Dinge, die linearphasig sind. SAW-Filter, wie sie gern in Mobiltelefonen als Bandfilter eingesetzt werden, wären ein Beispiel.
weakbit
Stammgast
#3 erstellt: 10. Jan 2016, 11:56

audiophilanthrop (Beitrag #2) schrieb:
Wäre eher ein Fall für die Abteilung DIY gewesen, aber egal.

Ein Opamp macht noch keine Schaltung. Es werden wohl HP und TP 2. Ordnung sein, vermute ich? Zeig mal den Schaltplan (am besten komplett vom Eingang bis zur Endstufe), dann kann man vielleicht sehen, ob das grundsätzlich Hand und Fuß hat. Ein TL072 ist zwar nicht mehr der neueste Schrei, richtig eingesetzt aber durchaus brauchbar (und ansonsten gibt es auch noch etwas neuzeitlichere Opamps). Wie ist der Pegel in der Weiche gewählt?

Den TL072 habe ich in irgend einer Schachtel gefunden - Plan gibt es keinen ich habe das mal auf ein Lochraster aufgelötet und das ist schon wieder einige Monate her also muss ich das einmal heraus suchen aber es ist ein 12dB Filter. Ich habe das mit einem 6dB Filter auch ausprobiert man hört fast gar keinen Unterschied. Die Überlappung ist bei 6dB auch gut möglich das man hier den Übergang der beiden Lautsprecher besser hören (messen) kann.


audiophilanthrop (Beitrag #2) schrieb:

FIR für eine Frequenzweiche ist völliger Quatsch.

Ich habe immer gedacht das ist genau umgekehrt wenn man einen Finiten Filter nimmt fängt er nicht an zu schwingen (hat aber Phasenfehler die sich wiederholen)!? Der FIR Filter ist doch der mit den vielen Phasenverschiebungen und in sich selbst wiederholten Schwingungen.
verstehe ich verwende einen IIR Filter der ist zwar Rekursive aber hat diesen Phasenfehler nicht - stimmt das so?


audiophilanthrop (Beitrag #2) schrieb:

Lautsprecher sind in guter Näherung minimalphasig (genau das Gegenteil von linearphasig), also brauchste IIR, sonst wird das mit dem Phasengang nix. Das hat man früher nicht so gern genommen, weil die verfügbare Rechengenauigkeit noch nicht so groß war (mit etwas Pech direkt int16, DSPs verwendeten float24) und sich bei IIR mehr Rundungsfehler ansammeln.

Naja also wenn ich Daten-Blöcke zu 20ms mache ist das mit dem Rundungsfehler zwar vorhanden aber wenn ich bei jedem Nulldurchgang neu zu rechnen anfange kann ich mir nicht vorstellen das ich so weit wegkomme (innerhalb der 20ms). Bei den IIR habe ich die Angst das der mir Anfängt zu Schwingen das muss ich erst ausprobieren. Damit unterbinde ich das die Zeitachse unendlich ist wenn ich das in Daten-Blöcken rechne. (ich weiß natürlich nicht wie das dann bei einem Radiosignal ist das stellt ja eine Art Stream dar (Zeitliche Achse ist unendlich) [eventuell auch in Daten-Blöcke zerlegt])


audiophilanthrop (Beitrag #2) schrieb:

In Zeiten von float32 oder gar float64 ist das kein Thema mehr, zumindest auf dem PC (und selbst auf einem Raspberry Pi o.ä. ohne FPU sollte man wenigstens int32 zur Verfügung haben). Was sich da so an Software anbietet, mußt du mal suchen, das Thema "digital crossover" ist nicht mehr ganz neu.Es gibt in der analogen Welt nur ganz wenige Dinge, die linearphasig sind. SAW-Filter, wie sie gern in Mobiltelefonen als Bandfilter eingesetzt werden, wären ein Beispiel.

Das mit der Rechenzeit sehe ich nicht als Schwierigkeit da gibt es genug SoC die das können. Ich glaube auch nicht das man bei einen 16bit Signal nachdem man Gefiltert hat irgend welche Schlimmen Dinge hört. Ich denke mir eher das die Lautsprecher durch Ihre Parziallen Schwingungen und Verzerrungen etc. also alle Störungen die beim Umsetzen ausgesendet werden auch sehr viel Schlucken oder selbst das Störende Glied in der Kette sind. (Damit meine ich die Ungenauigkeit der Membranen und all diese Fehler die sich Sound nennen in Summe).

Trotzdem vielen Dank für die Informationen ich werde mich wann ich Zeit habe hinsetzen und einmal was codieren. ( auf'm 51er für den LBP )

MfG
weakbit
Kay*
Inventar
#4 erstellt: 12. Jan 2016, 00:56
weakbit
gebe bitte mal freeDSP in eine Suchmaschine deiner Wahl ein
weakbit
Stammgast
#5 erstellt: 12. Jan 2016, 20:59

Kay* (Beitrag #4) schrieb:
weakbit
gebe bitte mal freeDSP in eine Suchmaschine deiner Wahl ein ;)


Das freeDSP Board hat 2 Chinch In Buchsen asymmetrisch - das gefällt mir nicht.
dann gibt es hier 4 Chinch Buchsen als Output - das kann ich für meine Digitalen Endstufen leider nicht verwenden da das Signal analog ist und ich ein Digitales Signal benötige. ADAU1701 SigmaDelta von Analog Device - davon wollte mich schon ein Bekannter Entwicklungschef der besagten Firma mit einem Developerboard aushelfen - seine Firma stellt mir das Originale Developer Board von AD kostenlos zur Verfügung aber es passt leider nicht in das Konzept.

Aber trotzdem Danke für die Bemühungen ich will ja nicht haben das da eben Frust aufgekommen ist!
Um es einmal ganz einfach zu sagen ich benötige keinen Audioausgang sondern lediglich die Digitalen Daten das reicht mir schon mal für das erste.
Also ich rechne einfach mit einem Programm den/die Filter gebe sie in eine Datei aus und fertig. (mehr ist nicht)
Was dann mit diesen Ominösen Gefilterten Audiodaten passiert weiß ich auch noch nicht so genau aber ich will sie dann wenn das Experiment Filter programmieren in 2 oder mehrere Digitale Endstufen schicken.

MfG
weakbit


[Beitrag von weakbit am 12. Jan 2016, 21:02 bearbeitet]
Kay*
Inventar
#6 erstellt: 12. Jan 2016, 22:42

aber es passt leider nicht in das Konzept

nicht das ich dich überreden will,
aber der/ein DSP kann selbstverständlich immer auch digital rein und raus
Suche:
Das könnte Dich auch interessieren:
Subsonic Filter selber bauen??
Zückerchen am 29.08.2005  –  Letzte Antwort am 29.08.2005  –  2 Beiträge
Subwoofer-Filter, aber wie anschließen
Thomas231161 am 26.04.2016  –  Letzte Antwort am 12.05.2016  –  6 Beiträge
Box selber machen
White_Hades am 19.09.2007  –  Letzte Antwort am 19.09.2007  –  8 Beiträge
Digitale Tonsignale wie verknüppern?
Verrückter am 03.07.2011  –  Letzte Antwort am 15.07.2011  –  12 Beiträge
Digitale aktive Frequenzweiche.
BjoernMZ am 02.12.2021  –  Letzte Antwort am 09.12.2021  –  15 Beiträge
Filter für Miniboxen
bensch117 am 28.05.2008  –  Letzte Antwort am 28.05.2008  –  3 Beiträge
Verstärker selber bauen aber wie ?
Stefmann am 28.08.2011  –  Letzte Antwort am 06.09.2011  –  6 Beiträge
ghettoblaster - lineIN Anschluss selber machen
jozen am 24.09.2006  –  Letzte Antwort am 27.09.2006  –  16 Beiträge
Filter/Weiche
zucker am 30.08.2006  –  Letzte Antwort am 19.04.2008  –  78 Beiträge
Filter für UKW-Aufnahmen
Cyberandi am 28.02.2011  –  Letzte Antwort am 01.03.2011  –  9 Beiträge
Foren Archiv
2016

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.551 ( Heute: 2 )
  • Neuestes MitgliedOnline_healthcare_se...
  • Gesamtzahl an Themen1.555.884
  • Gesamtzahl an Beiträgen21.647.948

Top Hersteller in Elektronik Widget schließen