Hallo zusammen,
ich bin ziemlicher Neuling im Umgang mit LV und Programmieren in "G".
Um mich etwas in die Thematik einzuarbeiten, würde ich gerne ein VI zur Bestimmung der Übertragungsfunktion mit der Soundkarte erstellen.
Die Kette:
Soundkartenausgang -> Verstärker&Lausprecher -> Mikrofon -> Soundkarteneingang
Das ganze würde ich dann gerne über ein VI initialisieren bzw. über die FRF-Funktion auswerten.
Dabei habe ich folgende Probleme:
1. ich schaffe es nicht, gleichzeitig die Ausgabe und den Record zu initialisieren, da ich in beiden Fällen die Soundkarte über Device0 anspreche und bei der zweiten initalisierung immer der Fehler kommt "Device already open".
2. ich möchte gerne die Fensterung über ein Triggersignal so setzen, dass die Impulsantwort genau in der Mitte des Fensters steht.
dazu müsste ich also:
2.1 einen Schwellwert aus dem Signal generieren. gibt es dazu schon eine effiziente Umsetzung?
2.2 einen Delay einfügen, sodass das Fenster eine halbe Fensterbreite vor dem Impuls beginnt. Ideen dazu?
3. ich habe bei den Funktionsgeneratoren keinen Impulsgefunden, sondern nur Rauschen. Da ich aber über eine Fenster die Echos ausblenden möchte, wäre ein Impuls von Vorteil. Gibt es sowas?
Vielleicht fällt ja jemandem von euch dazu was ein?
Vielen Dank im Voraus!
Grüsse
Jacob
Hallo Jacob,
Ob LV die Soundcard in Vollduplex, sprich schreiben und lesen zugleich, ansprechen kann weiss ich leider nicht.
zu deinen Fragen 2 und 3:
2.1 Du kannst das Waveform-Signal entbündeln und hast dann Zeitinformation und Abtastwerte getrennt, kannst also mittels eines Vergleichsoperators den Schwellenwert detektieren.
2.2. Die Abtastwerte kannst Du auch als ein Array darstellen, also kannst Du auch auf das n-te Elemtent zugreifen, welches vor n Zeitschritten aufgenommen wurde.
3. Ein Impuls hat ja bekanntlicherweise ein sehr breites Frequenzspektrum, die Soundkarte hingegen filtert typischer Weise vor dem Abtasten und hat nur einen Übertragungsbreich von ca. 25Hz bis 20kHz (der noch nicht mal sehr pegelkonstant ist). Aber das sollte sich über die Herstellerinformationen de Soundcard herausfinden lassen.
Ausserdem solltest Du bedenken, dass die Ein- und Ausgänge AC-gekoppelt sind, sprich es werden keine Gleichspannungen an den Ein- und Ausgängen übertragen. (Die Speisespannung für Electret-Mikrophone mal weg gelassen).
Aber es gibt in Signaltheorie- und Nachrichtenübertrgunsbüchern bestimmt einige Signalformen die Deinen Anforderungen entsprechen.
Was willste denn messen?
Echos solltest Du auch mit nem getasteten Sinus-signal ausmessen können. Also z.b. einfach 100 Perioden bei konstanter Frequenz, danach lange Pause, dann wieder 100 Perioden. Beachte aber u.U. die Ein- und Ausschwingvorgänge deiner Signalwandler wie Lautsprecher oder Mikrophon.
Hoffe das hilft Dir weiter.
Hallo dc6xs,
Vielen Dank für die Antwort,
' schrieb:Was willste denn messen?
Eigentlich möchte ich ein VI zur Schwingungsdetektion aufbauen. Da ich aber noch wenig Ahnung von LV habe, wollte ich zunächst etwas Erfahrung sammeln und die Soundkarte ist halt das I/O, was am Notebook am leichtesten erreichbar ist. Hobbymäßig beschäftige ich mich ein Bisschen mit Akustik, sodass das eine naheliegende Anwendung war, um nicht total sinnlos was zusammenzuklickern.
' schrieb:...die Soundkarte hingegen filtert typischer Weise vor dem Abtasten und hat nur einen Übertragungsbreich von ca. 25Hz bis 20kHz (der noch nicht mal sehr pegelkonstant ist).
wenn ich den Bereich messen könnte, wär ich schon sehr zufrieden, aber da ich eh nicht in einem reflexionsarmen Raum messen würde, wäre die Aussagekraft unterhalb von 300 Hz eh sehr zweifelhaft.
Dass die Soundkarte nicht sehr linear ist, würde ich auch mal sehr stark vermuten, daher wäre es vielleicht interessant, am Anfang direkt Ein- und Ausgänge der Soundkarte zu verbinden und so das Übertragungsverhalten zu untersuchen. Aber dafür müsste ja erstmal der Rest funktionieren.
' schrieb:Echos solltest Du auch mit nem getasteten Sinus-signal ausmessen können. Also z.b. einfach 100 Perioden bei konstanter Frequenz, danach lange Pause, dann wieder 100 Perioden. Beachte aber u.U. die Ein- und Ausschwingvorgänge deiner Signalwandler wie Lautsprecher oder Mikrophon.
Vielleicht habe ich mich da unklar ausgedrückt: ich möchte gerade den Einfluss von Reflexionen vermeiden, in dem ich ein kleines Zeitfenster nehme, sodass die Reflexionen nicht mit aufgezeichnet werden.
Ich habe jetzt immerhin schon rausgefunden, dass man mit der Soundkarte gleichzeitig was ausgeben und aufnehmen kann, wenn das in unterschiedlichen VIs stattfindet. Dann sehe ich nur noch nicht, wie ich ohne zwischenspeicherung die Übertragungsfunktion aus Ein- und Ausgang bestimmen soll.
Deshalb habe ich die Vermutung, dass das eigentlich auch in einem VI gehen müsste.
Grüsse
Jacob
Hi fabe81!
Bin auch grad dabei eine FRF mit MLS Anregung über eine Soundkarte zu entwickeln!
Hab dabei auch leider ein paar Schwierigkeiten, aber zumindest kann ich von einem Prüfling eine FRF machen und sein Übertragungsverhalten testen ohne dabei ein .wav aufzunehmen.
Monkey Forest iss ganz nett für Audiomessungen. Der Link iss ne Betriebsanleitung für ein Monkey Forest System, ABER beeinhaltet auch ne gute Messkunde! Vielleicht gibt dir das Anregungen für neue Wege mit LabVIEW zum Ziel zu kommen...;)Mir hats auf jeden Fall sehr geholfen.
Meine Schwierigkeit iss, dass ich das Ganze im Moment immer 2-kanalig (Referenz nach Karte und dann Messignal nach DUT) messen, muss um ne FRF zu bekommen, aber ich möchte es gerne auf einen Kanal reduzieren. Daran bin ich noch am Arbeiten...
Wie iss denn dein Programm so aufgebaut? Vielleicht kommen wir beide durch Austausch zum Ziel...
Cheers Carsten
Hi Carsten,
sorry, ich habe das Thema etwas aus den Augen verloren. Ich muss mich erstmal mit einer anderen Messkarte und einem entsprechenden VI beschäftigen.
Das Thema interessiert mich aber nach wie vor. ich werde auf jeden Fall mal den link von dir angucken.
Für Messen mit der Soundkarte ist meiner Meinung nach ARTA ganz gut geeignet, welches es in abgespeckter Version als Freeware gibt.
Cheers
Jacob