Eine Frage zum Unterschied zwischen einem rechnerisch erzeugten Sinussignal und dem aufgezeichneten Signal (wenn es über einen Lautsprecher wiedergegeben wird)?

Ich habe das folgende Signal (in Matlab) erstellt, eine 5000-Hz-Sinuskurve, die mit einem Stoß multipliziert wird (nur um es zeitlich zu begrenzen), sodass es einen kurzen Piepton bildet. Wenn ich nun das Spektrum dieses rechnerisch erzeugten Signals (in Matlab) beobachte, gibt es eine impulsartige Struktur bei 5000 Hz und sonst nichts.

Jetzt führe ich dieses Experiment durch. Ich spiele dieses Signal in Matlab über eine Soundkarte in einen Lautsprecher und nehme den auf dem Lautsprecher wiedergegebenen Ton über ein Mikrofon auf. Das Überraschende ist, dass ich, wenn ich das Spektrum dieses aufgezeichneten Signals beobachte, wie erwartet eine impulsartige Struktur bei 5000 Hz finde, aber es gibt eine andere impulsartige Struktur mit viel niedrigerer Amplitude bei 10000 Hz und eine noch viel kleinere bei 15000 Hz. Ich frage mich, wie es erklärt werden kann.

Als ich dieses Experiment mit 2000 Hz wiederholte, fand ich die gleiche Beobachtung bei 4000 Hz und 8000 Hz.

Antworten (3)

Was Sie sehen, sind Obertöne. (Vielfache der Grundfrequenz). Diese zeigen an, dass Ihr System Verzerrungen aufweist. Harmonische Verzerrung ist, grob gesagt, eine Änderung der Eingangsform aufgrund eines nichtlinearen Verhaltens in der Signalkette. Es fügt Frequenzen hinzu, die im Originalsignal nicht vorhanden sind.

In Matlab besteht Ihre generierte Wellenform aus reinen Daten und weist daher keine Verzerrung auf (mit Ausnahme der winzigen Fehler in der Gleitkommadarstellung). Die Verzerrung findet in Ihrer analogen Kette statt: in Ihrem Audio-Interface-Ausgang, Verstärker, Lautsprecher, Mikrofon, Mikrofonvorverstärker, Audio-Interface-Eingang.

Sehen Sie, ob Sie die Verstärkungen dieser Komponenten feinabstimmen können, um diese Oberwellen zu reduzieren. Die Verstärkungsstruktur über mehrere Teile im Signalpfad sollte ausgeglichen sein. Grob gesagt möchten Sie nicht, dass ein Teil nicht genug Verstärkung hat und einen anderen Teil aufdreht, um dies zu kompensieren.

Außerdem ist zu sehen, ob die Verzerrung verschwindet, wenn Sie das Signal viel kleiner machen. Einige Formen der Verzerrung bleiben laut, wenn das Signal verringert wird (z. B. Übergangsverzerrung in einem Klasse-AB-Verstärker). Einige Formen der Verzerrung nehmen ab oder verschwinden. (z. B. Clipping.)

Sie brauchen, Überraschung, Überraschung, hochwertige Hardware, wenn Sie ein reines Signal ohne Verzerrung wiedererfassen möchten. Wie viel haben Sie für Ihre Audio-Interfaces, Lautsprecher, Mikrofone usw. ausgegeben?

Ein Audio-Interface in professioneller Qualität kann Ihnen 1000 $ und mehr einbringen. Gutes Set von Studio-Monitorlautsprechern, ebenfalls. Gutes Mikrofon: Mindestens hundert Dollar.

Der Antwort von Kaz ist nicht viel hinzuzufügen, außer vielleicht einem Hinweis zur Simulation von Verzerrungen in Matlab. Sie können mehr und schneller mit Verzerrungen experimentieren, wenn Sie sie in Matlab simulieren. Sie können dies tun, bis Sie eine gewisse Intuition davon haben, und dann ab und zu reale Experimente durchführen (die länger dauern).

Zum Beispiel, wenn j Ihr unverzerrtes Signal (das mit der reinen Sinuskurve) ist, dessen Amplitude von -1 bis +1 reicht, können Sie leicht eine verzerrte Version erstellen j D davon, indem Sie Folgendes tun:

% This is jus one possible way to distort a signal.
gamma=0.8;  % gamma=1 means no distortion.
yd=sign(y).*(abs(y).^gamma);

Und Sie würden in Matlab so etwas sehen:

Nichtlineare Abbildung Spektren(Spektren in dB und unter Verwendung eines Blackman-Harris-Fensters.)

Bei dieser Art von Verzerrung werden nur ungerade Obertöne erzeugt (ungerade Vielfache von 5 kHz). Andere Typen erzeugen ungerade und gerade Obertöne.

Wenn Sie Obertöne erhalten, deutet dies auf das Vorhandensein von Verzerrungen hin. Eine Möglichkeit, nach Gehör auf Verzerrung zu testen, besteht darin, ein Signal zu erzeugen, das zwei Sinuswellen enthält, eine mit fester Amplitude und Frequenz (z. B. 2000 Hz) und die andere mit einem Sweep von z. B. 300 Hz bis 800 Hz. Ohne Verzerrung sollte nur eine Wobbelfrequenz hörbar sein, aber das Vorhandensein von Verzerrung erzeugt normalerweise andere Frequenzen, von denen einige in die entgegengesetzte Richtung wobbeln . Eine geringe Verzerrung verursacht möglicherweise kein merkliches Aliasing, aber das Vorhandensein von Aliasing ist ein sicheres Zeichen für Verzerrungen.