» über uns

» Registrierung

Liebe Mitleserinnen, Mitleser, Foristinnen und Foristen,

wer sich von Euch in letzter Zeit mit dem Gedanken getragen hat, Mitglied unseres wunderbaren IGDH-Forums zu werden und die vorher an dieser Stelle beschriebene Prozedur dafür auf sich genommen hat, musste oftmals enttäuscht feststellen, dass von unserer Seite keine angemessene Reaktion erfolgte.

Dafür entschuldige ich mich im Namen des Vereins!

Es gibt massive technische Probleme mit der veralteten und mittlerweile sehr wackeligen Foren-Software und die Freischaltung neuer User ist deshalb momentan nicht mit angemessenem administrativem Aufwand möglich.

Wir arbeiten mit Hochdruck daran, das Forum neu aufzusetzen und es sieht alles sehr vielversprechend aus.

Sobald es dies bezüglich Neuigkeiten, respektive einen Zeitplan gibt, lasse ich es Euch hier wissen.

Das wird auch für alle hier schon registrierten User wichtig sein, weil wir dann mit Euch den Umzug auf das neue Forum abstimmen werden.

Wir freuen uns sehr, wenn sich die geneigten Mitleserinnen und Mitleser, die sich bisher vergeblich um eine Freischaltung bemüht haben, nach der Neuaufsetzung abermals ein Herz fassen wollen und wir sie dann im neuen Forum willkommen heißen können.

Herzliche Grüße von Eurem ersten Vorsitzenden der IGDH

Rainer Feile
Zeige Ergebnis 1 bis 13 von 13
  1. #1
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard FR - Frequenzgänge von Lautsprechern messen

    Hallo zusammen,

    in den letzten Monaten habe ich eine ganze Reihe von Messprogrammen geschrieben. Gründe waren zum Einen, dass ich zu Hause ein taugliches brauchte (kein Windows, kein linux, kein Mac), und mir auf der Arbeit Arta und Limp ziemlich auf den Zünder gingen. Ich kann damit einfach nicht schnell genug arbeiten.

    Ich will Euch gerne an einigen davon teilhaben lassen, teils aus Altruismus, teils aus purem Egoismus, weil viele Tester mehr und schneller Fehler finden als ein einzelner, und vielleicht auch Anregungen geben können.

    Dies hier ist der erste Teil: Frequenzgänge von Lautsprechern messen.

    Was braucht ihr: eine Tcl-Distribution, ich empfehle diese hier: http://www.activestate.com/activetcl/downloads

    Installation: ganz einfach, irgendwo den Ordner entpacken

    Starten: noch viel einfacher, Doppelklick auf fr.tcl im Basisverzeichnis

    Einfach mal messen: Taste "m" drücken

    Auch interessant: "F1" drücken

    Etliche der Tricks und Kniffe werde ich im Laufe der Zeit hier schreiben, entweder in Eigeninitiative oder auf Anfrage.

    Was mich am meisten interessieren würde: startet es überhaupt? Ich habe hier auf allen Rechnern ein eigenes Tcl (zwecks Entwicklungsumgebung), da kann schon mal einiges dabei sein, was in so einer offiziellen Distribution wie ActiveTcl vielleicht fehlt.

    Kleine Einschränkung: zur Zeit ist die Audio-Ausgabe aus Kompatibilitätsgründen auf die gute alte WinMM-API eingeschränkt. Die ist zwar scheiße, aber funktioniert auch auf Windows XP. Ich könnte auch WASAPI, Kernel Streaming, Direct Sound und ähnlichen SchickiMicki, aber erstmal muss das altgammelige reichen.

    Probiert es einfach mal aus!

    Gruß
    Jochen
    Angehängte Dateien Angehängte Dateien
    • Dateityp: zip FR.zip (618,8 KB, 123x aufgerufen)

  2. #2
    Inhaber auverdion Benutzerbild von rkv
    Registriert seit
    20.11.2015
    Ort
    Verden
    Beiträge
    1.634

    Standard

    Zitat Zitat von JFA Beitrag anzeigen
    (kein Windows, kein linux, kein Mac)
    Was dann? OS/2 Warp, beOS? Unix?

  3. #3
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    Zitat Zitat von rkv Beitrag anzeigen
    Unix?
    Bingo!

    OpenBSD.

    Falls Ihr einen Fehler findet, bitte unbedingt Screenshot machen und hier posten.

  4. #4
    Erfahrener Benutzer
    Registriert seit
    16.09.2016
    Beiträge
    364

    Standard

    Läuft bei mir unter Windows 10. UI ist für Asketen gemacht
    Immerhin hab ich es geschafft, eine Messung zu starten und zwei Cursor zu setzen. Das in der Hilfe erwähnte IR-Fenster bleibt mir verborgen. Auch das Starten der Makros hab ich noch nicht hingekriegt.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht

Name:	JFA-FR.jpg
Hits:	163
Größe:	57,0 KB
ID:	12657  

  5. #5
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    Stimmt. Das fehlt in der Anleitung.

    Macros ausführen:
    :macro {exec} <Macro>

    exec ist optional.

    Macros laden:
    :macro load <Macro>

    Beim Programmstart sind alle Macros im macro-Unterordner bereits geladen, aber falls man was ändert oder ein neues erzeugt kann man die so einfach neu laden.

    IR-Fenster geht mit
    :show IR

    Ach, und das UI ist auf alles Nötige reduziert. Ich kann damit inzwischen extrem schnell arbeiten, weil ich nirgends groß rumklicken muss. Zum Beispiel kann ich die zuletzt gemessene Kurve einfach mit "p" (wie paste) als Overlay abspeichern. Im Gegensatz zu Arta bleibt dabei auch die Impulsantwort erhalten

  6. #6
    einfach mal abschalten... Benutzerbild von Olaf_HH
    Registriert seit
    19.11.2012
    Ort
    Hamburg
    Beiträge
    5.924

    Standard

    Hatte Jochen mir auf dem Battle vorgeführt, Interessantes Teil
    In Hamburg sagt man, Moin , LG Olaf_HH
    Meine aktuellen Projekte auf IGDH:
    Kondensatoren, gibt es klangliche Unterschiede ? - M-L-W-R -- ViBa130/70 --
    Magnat MA900 Röhrentuning


  7. #7
    Gast

    Standard

    Also bei mir unter macOS startet das Programm nicht. ActiveTCL ist installiert.
    -----------------
    iMacLE:FR $ tclsh fr.tcl
    invalid command name "tk_messageBox"
    while executing
    "tk_messageBox -message $::errorInfo -icon error -type ok"
    (file "/Users/larseickmeier/Downloads/FR/lib/env.tcl" line 23)
    invoked from within
    "source [file join [pwd] lib env.tcl]"
    (file "fr.tcl" line 7)
    ------------------

  8. #8
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    MacOS und Linux gehen noch nicht, weil die Libraries noch nicht dafür kompiliert sind. Theoretisch sollte es aber gehen, auch ohne Emulator.

    Interessant ist allerdings, dass das Programm an der Stelle schon abbricht. Denn tk_messageBox ist eigentlich ein in Tcl/Tk eingebauter Befehl

  9. #9
    eltipo
    Gast

    Standard

    Sehr spannend,

    ich werde mir das in einer ruhigen Minute mal zu Gemüte führen.
    Danke dir dafür!

  10. #10
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    Wollte eigentlich nur die verbesserte Anleitung posten, bin dabei aber noch über einen Fehler gestolpert, also hier eine aktualisierte Version.

    Außerdem ein Download-Link zu den Daten, die ich beim Pappenbattle gezeigt habe: https://we.tl/r7sgFXMq3i

    Sind knapp 50 MB. Datensparsamkeit kann man dem Programm nicht vorwerfen
    Angehängte Dateien Angehängte Dateien
    • Dateityp: zip FR.zip (620,6 KB, 101x aufgerufen)

  11. #11
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    Mal ein kleines Tutorial um Euch zu zeigen, was man alles für nette Sachen mit dem Programm anstellen kann. Ich brauche recht häufig Zielkurven, also habe ich mir entsprechende Funktionen gebastelt. Für das Verständnis des Programms ist es wichtig, dass ich nicht einfach einen Befehl "Zielkurve" geschrieben habe, sondern den in einzelne Primitive zerlegt, diese implementiert und über die Makro-Schnittstelle offen gelegt habe.

    1) Programm starten

    2) Messung starten (Taste "m". Befehl ":measure") oder alte Messung laden (Befehl ":l"). Hinweis: Befehle können einfach so, wie sie da stehen, eingebeben werden. Durch die Eingabe von ":" springt das Programm sofort in die Befehlszeile.
    => Messung.png

    3) Das ist ein Mitteltöner mit einer fiesen Membranresonanz, ich möchte also möglichst tief und möglichst steil trennen. Damit der Hochtöner nicht allzu viel leisten muss (Servicefälle vermeiden!) trenne ich bei 2,5 kHz, 4. Ordnung ist mit akzeptablem Aufwand machbar. Zielpegel sind 80 dB.
    Nach unten soll es dritter Ordnung sein, Trennung bei 500 Hz.

    3.1) neue Dummy-Kurve erzeugen: :dirac
    Im Hintergrund arbeitet das Programm immer mit Impulsantworten. Der Befehl ":dirac" erzeugt einen sogenannten Dirac-Impuls*, der für alle Werte außer t=0 0 ist. Dieser Impuls hat die aktuelle Abtastrate und die Länge des aktuell eingestellten Gates. Wichtig: alles, was mit normalen Messkurven geht, kann auch damit gemacht werden
    => dirac.png

    3.2) Pegel anpassen
    Die Kurve ist deutlich zu laut, sie muss skaliert werden. Der Pegel lässt sich mit zwei Arten bestimmen:
    - über die Cursor: Kurve in der Liste rechts anwählen, Taste "1" drücken, Pegel ablesen
    - oder den - für Macros - besseren Weg, über
    :get #14 Magnitude 2500
    Die #14 ist die Kurven-ID, Magnitude zeigt an, welchen Wert ich haben möchte, 2500 ist die Frequenz bei welcher der ausgelesen werden soll. Ergebnis ist ziemlich exakt 94 dB. Also müssen wir den Pegel um 14 dB verringern:
    :expr #14 / {pow(10, 14/20.0)}
    Hier gibt es drei Fallstricke zu beachten:
    - "#14", "/" und "{pow..." sind alles Parameter für den :expr-Befehl, müssen deshalb durch Leerzeichen getrennt werden
    - damit das Leerzeichen innerhalb von pow() nicht als Parametertrennung interpretiert wird, ist es in {} gesetzt
    - der Bruch in 14/20.0 muss so geschrieben werden, weil 14/20 als Intergerdivision interpretiert würde, mit dem Ergebnis 0. Das "20.0" forciert Fließkommaberechnung. Alternativ geht auch double(14)/20, aber nicht double(14/20)
    => dirac_skaliert.png

    4) Filtern
    Jetzt kann man filtern
    :filter #14 lowpass 2500 {Butterworth 4}
    :filter #14 highpass 500 {Butterworth 3}
    Butterworth ist die Charakteristik, 4 bzw 3 die Ordnung, der Rest dürfte klar sein
    => zielkurve.png

    5) Umbenennen und Färben
    :rename #14 "Ziel_MT" (Alternativ: Kurve anwählen, F2 drücken)
    :color #14 lightgreen (Alternativ: Kurve anwählen, "c" drücken)

    Jetzt ist das natürlich blöd, sowas immer von Hand eingeben zu müssen, deshalb habe ich ein Macro geschrieben, dass die Arbeit zum Teil abnimmt. Datei heißt "target.frm" und ist im Zip enthalten (Unterordner "macros"). Test:
    :macro target lowpass 2500 Butterworth 4
    (ja, die geschweiften Klammern fehlen mit Absicht)

    * streng genommen ist es, weil zeitdiskret, ein Kronecker-Delta, damit kann aber außerhalb akademischer Kreise niemand was anfangen
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht

Name:	Messung.jpg
Hits:	122
Größe:	101,9 KB
ID:	12671   Klicke auf die Grafik für eine größere Ansicht

Name:	dirac.jpg
Hits:	112
Größe:	102,8 KB
ID:	12672   Klicke auf die Grafik für eine größere Ansicht

Name:	dirac_skaliert.jpg
Hits:	118
Größe:	102,2 KB
ID:	12673   Klicke auf die Grafik für eine größere Ansicht

Name:	zielkurve.jpg
Hits:	118
Größe:	104,0 KB
ID:	12674  

  12. #12
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    Ein paar Bugfixes (und vermutlich ein paar Bugadds...)
    Angehängte Dateien Angehängte Dateien
    • Dateityp: zip FR.zip (621,9 KB, 102x aufgerufen)

  13. #13
    Chef Benutzer
    Registriert seit
    10.12.2012
    Ort
    OWL
    Beiträge
    3.276

    Standard

    Danke an Armin, der sich die Mühe gemacht hat: es scheint ein Problem der DLLs mit der 64 Bit Version von ActiveTcl zu geben. Im Moment müsst ihr die 32 Bit Version nehmen. Die läuft auch unter Win 64 Bit

    Fehlermeldung: http://www.diy-hifi-forum.eu/forum/p...ictureid=29358

    Weitere Informationen: http://stackoverflow.com/questions/1...ript-activetcl

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •  
Powered by vBadvanced CMPS v4.3.0