Ich arbeite an einem Projekt zur aktiven Geräuschunterdrückung. Ich bin auf ein Problem gestoßen, bei dem das Signal gedämpft wird, wenn sich die Audiobittiefe von PC-Daten zu Mikrocontroller ändert, und ich kann es nicht verstehen!
Mein Schaltkreis: Ich habe den Audioausgang (Kopfhörer) des PCs [der ein analoges Signal sein soll] mit dem Audioeingang des NI myRIO 1900-Geräts über ein AUX-Kabel (zweipoliges 3,5-mm-Klinkenkabel) verbunden. Ich habe ein vorab aufgezeichnetes Signal (.wav) mit sinusförmiger Wellenform mit Amplitude 1, Frequenz 2 kHz, 40000 Abtastrate, 80 Anzahl von Abtastungen, Bittiefe (Bits pro Abtastung) = 16.
Jetzt habe ich gerade eine .wav-Datei mit dem Windows Media Player abgespielt und versucht, die Wellenform auf dem NI myRIO-Modul aufzuzeichnen. Überraschenderweise bekomme ich eine Dämpfung des Signals entsprechend der Lautstärkereduzierung im PC (nicht linear!!). Nur ich kann die Wellenform im Mikrocontroller nahe der Amplitude 1 sehen, als ich die Lautstärke des Systems auf 100 % erhöht habe. Bitte erkläre das!!
Der ADC von NI myRIO hat eine Auflösung von 12 Bit, aber die Audioausgabe (.wav-Datei) besteht aus 16-Bit-Daten. Ich gehe davon aus, dass es außer Quantisierungsfehlern keine Rolle spielen muss, da am PC Audio Out die Audiodaten analog konvertiert werden sollen und am 'NI myRIO Audio In' wieder dieses analoge Signal gesampelt wird! (Bitte korrigieren Sie mich, wenn ich falsch liege!)
Eine andere Frage ist, ich habe dasselbe mit sinusförmigem Ton von Amplitude 2,5 versucht, jetzt wird das Audiosignal bei 1 V über und unter -1 V abgeschnitten. Der Nennbereich des ADC (NI myRIO) beträgt 2,499 V bis -2,5 V! Liegt es an der Bittiefenkonvertierung? Bitte erklären Sie diese Dinge !TQ
BEARBEITEN: Ich konvertiere weder 16-Bit-Digitaldaten in 12-Bit-Digitaldaten noch 12 bis 16 !! Ich habe zufällig 16-Bit-Audiodaten, wenn ich diese über den Windows Media Player abspiele, werden sie am Kopfhöreranschluss in ein analoges Signal umgewandelt, und ich füttere dieses ANALOG-Signal einem ADC von NI myRIO mit 12-Bit-Auflösung.
Nachdem Sie Ihrer Frage weitere Informationen hinzugefügt haben, scheint die Ursache weniger mit der Abtasttiefe (Bit) als vielmehr mit der analogen Verbindung zwischen zwei Systemen zu tun zu haben.
Es sieht so aus, als ob Sie die Grenzen der Audioausgabe des PCs erreichen. PCs verwenden Line-Pegel-Ausgang, der von +1 V bis -1 Volt reicht. Das stimmt mit dem Pegel überein, den Sie auf dem myRUI 1900 sehen - Sie haben dort ein Diagramm, das das Signal im Bereich von 1 V bis -1 V zeigt, was zu erwarten ist.
Das Signal ist abgeschnitten, weil Ihr Signal vom PC abgeschnitten wird. Wenn Sie versuchen, ein Signal mit einer zu hohen Amplitude aus dem PC zu senden, wird es abgeschnitten.
Es kann die Software beschneiden, bevor es auf die Hardware trifft, oder es kann die Hardware beschneiden. Einige Teile der Lautstärkeregler befinden sich in der Hardware, einige Teile in der Software.
Die Teile der Lautstärkeregelung in der Software können ein Signal soweit verstärken, dass es nicht mehr in 16Bit darstellbar ist und geclippt wird.
Die Teile der Lautstärkeregelung in Hardware können das Signal so weit verstärken, dass der Ausgangsverstärker selbst übersteuert.
In Summe:
Überraschenderweise bekomme ich eine Dämpfung des Signals entsprechend der Lautstärkereduzierung im PC (nicht linear!!). Nur ich kann die Wellenform im Mikrocontroller nahe der Amplitude 1 sehen, als ich die Lautstärke des Systems auf 100 % erhöht habe. Bitte erkläre das!!
Der Mensch nimmt die Schallintensität nicht linear, sondern logarithmisch wahr. Denn eine Reihe von Schallleistungsverdopplungen wird als lineare Lautstärkereihe wahrgenommen. Dies ist seit über einem Jahrhundert bekannt, daher wissen dies auch die Leute, die die Lautstärkeregelung in Ihrer PC-Software entwickelt haben. Um Ihnen das zu geben, was Sie als lineare Lautstärkeregelung wahrnehmen, bedeutet dies, dass die Spannung tatsächlich exponentiell variiert wird. Aus diesem Grund fällt die Spannung schnell vom Maximum ab, wenn die Lautstärke nur geringfügig heruntergedreht wird.
Ich bin auf dieses seltsame Problem gestoßen, bei dem das Signal gedämpft wird, wenn sich die Audiobittiefe ändert, und ich kann es nicht verstehen!
Sie haben ein Signal mit 12 Bit Auflösung und konvertieren es in 16 Bit. Eines von zwei Dingen passiert. Entweder: -
Nummer 1 wird keinen Unterschied in der Lautstärke Ihres Signals machen und Nummer 2 wird die Amplitude erheblich um 16:1 reduzieren, während das gleiche Signal-Rausch-Verhältnis beibehalten wird (keine schlechte Sache).
Warum wird #2 bevorzugt? Ein Beispiel wäre das digitale Mischen von Sounds. Sie können jetzt 16 solcher konvertierten Wellenformen hinzufügen und Clipping vermeiden. Sie können mit #1 nicht wirklich etwas tun, was Sie nicht schon tun konnten, als es noch im 12-Bit-Format war.
mkeith
Daniel
Charansai