Der dritte Teil unserer Tutorial-Reihe zur digitalen Audioverarbeitung behandelt die Signalmodulation, wir erklären, wie man Amplitudenmodulation, Tremolo-Effekt und Frequenzvariation anwendet.
Modulation
Amplitudenmodulation
Wie der Name schon sagt, variiert dieser Effekt die Amplitude einer Sinuskurve entsprechend der zu übertragenden Nachricht. Eine Sinuswelle wird Träger genannt, weil sie die Information trägt. Diese Art der Modulation wird in einigen kommerziellen Rundfunk- und Übertragungsbändern (AM) verwendet.
Warum die Amplitudenmodulation verwenden?
Modulationsstrahlung.
Wenn der Kommunikationskanal ein freier Raum ist, werden Antennen benötigt, um das Signal auszustrahlen und zu empfangen. Es erfordert eine effiziente Antenne für elektromagnetische Strahlung, deren Abmessungen in der gleichen Größenordnung liegen wie die Wellenlänge des abgestrahlten Signals. Viele Signale, einschließlich Audiokomponenten, haben oft 100 Hz oder weniger. Für diese Signale müssten etwa 300 km lange Antennen gebaut werden, wenn das Signal direkt abgestrahlt würde. Wenn Signalmodulation verwendet wird, um die Nachricht auf einem Hochfrequenzträger zu drucken, sagen wir 100 MHz, dann muss die Antenne nur eine Länge von über einem Meter (Querlänge) haben.
Konzentrationsmodulation oder Multichanneling.
Wenn mehr als ein Signal einen einzelnen Kanal verwendet, kann die Modulation verwendet werden, um verschiedene Signale zu verschiedenen Spektralpositionen zu übertragen, was es dem Empfänger ermöglicht, das gewünschte Signal auszuwählen. Anwendungen, die Konzentration ("Multiplexing") verwenden, umfassen Telemetriedaten, Stereo-UKW-Radio und Ferngespräche.
Modulation zur Überwindung von Gerätebeschränkungen.
Die Leistung von Signalverarbeitungsgeräten wie Filtern und Verstärkern und die Leichtigkeit, mit der diese Geräte konstruiert werden können, hängt von der Situation des Signals im Frequenzbereich und dem Verhältnis zwischen der höheren Frequenz und dem niedrigen Signal ab. Modulation kann verwendet werden, um das Signal an eine Position im Frequenzbereich zu übertragen, wo Designanforderungen einfacher erfüllt werden. Die Modulation kann auch verwendet werden, um ein "breitbandiges Signal" (ein Signal, bei dem das Verhältnis zwischen der höchsten und der niedrigsten Frequenz groß ist) in ein "schmalbandiges" Zeichen umzuwandeln.
Audioeffekte
Viele Audioeffekte verwenden die Amplitudenmodulation aufgrund der auffälligen und einfachen Handhabung solcher Signale. Wir können nur einige nennen, wie Tremolo, Chorus, Flanger usw. Auf dieses Dienstprogramm konzentrieren wir uns in dieser Tutorial-Serie.
Tremolo-Effekt
Der Tremolo-Effekt ist eine der einfachsten Anwendungen der Amplitudenmodulation. Um diesen Effekt zu erzielen, müssen wir das Audiosignal mit einem periodischen Signal variieren (multiplizieren), entweder sinusförmig oder auf andere Weise.
>> tremolo='tremolo.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> wo=2*pi*440*t;
>> wa=2*pi*1.2*t;
>> audiowrite(tremolo, cos(wa).*cos(wo),fs);
Dadurch wird ein sinusförmiges Signal erzeugt, dessen Wirkung wie ein Tremolo ist '.
Tremolo auf echten Audiodateien
Jetzt zeigen wir den Tremolo-Effekt in der realen Welt. Zuerst verwenden wir eine Datei, die zuvor von einer männlichen Stimme aufgenommen wurde, die „A“ sagt. Der Plot für dieses Signal ist der folgende:
>> [y,fs]=audioread('A.ogg');
>> plot(y);
Jetzt müssen wir ein einhüllendes Sinussignal mit folgenden Parametern erzeugen:
Amplitude =1
Frequenz =1,5Hz
Phase =0
>> t=0:1/fs:4.99999999;
>> t=t(:);
>> w=2*pi*1.5*t;
>> q=cos(w);
>> plot(q);
Hinweis:Wenn wir ein Array von Zeitwerten erstellen, wird dieses standardmäßig in Form von Spalten erstellt, dh 1x220500-Werte. Um diesen Satz von Werten zu multiplizieren, muss er in Zeilen transponiert werden (220500x1). Dies ist der t=t(:)-Befehl
Wir erstellen eine zweite ogg-Datei, die das Ergebnis enthält moduliertes Signal:
>> tremolo='tremolo.ogg';
>> audiowrite(tremolo, q.*y,fs);
Frequenzvariation
Wir können die Frequenz variieren, um unter anderem interessante musikalische Effekte wie Verzerrungen, Soundeffekte für Filme und Spiele zu erzielen.
Wirkung einer sinusförmigen Frequenzmodulation
Dies ist der Code, in dem die sinusförmige Modulationsfrequenz angezeigt wird, gemäß Gleichung:
Y=Ac*Cos(wo*Cos(wo/k))
Wo:
Ac =Amplitude
wo =Grundfrequenz
k =Skalardivisor
>> fm='fm.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*442*t;
>> audiowrite(fm, cos(cos(w/1500).*w), fs);
>> [y,fs]=audioread('fm.ogg');
>> figure (); plot (y);
Der Plot des Signals ist:
Sie können fast jede Art von periodischer Funktion als Frequenzmodulator verwenden. Für dieses Beispiel haben wir hier nur eine Sinusfunktion verwendet. Bitte zögern Sie nicht, mit der Änderung der Frequenzen der Funktionen zu experimentieren, sie mit anderen Funktionen zu mischen oder sogar die Art der Funktion zu ändern.