Wissenschaftliche Audioverarbeitung, Teil III – Wie man erweiterte mathematische Verarbeitungseffekte auf Audiodateien anwendet mit Octave 4.0 auf Ubuntu

Der dritte Teil unserer Tutorialserie 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 eines Sinusoid entsprechend der zu übertragenden Nachricht. Eine Sinuswelle wird als Träger bezeichnet, weil sie die Informationen trägt. Diese Art der Modulation wird in einigen kommerziellen Rundfunk- und Übertragungs-Bürgerbändern (AM) verwendet.

Warum die Amplitudenmodulation?

Modulationsstrahlung.

Wenn der Kommunikationskanal ein freier Raum ist, sind Antennen erforderlich, um das Signal zu senden und zu empfangen. Sie erfordert eine effiziente elektromagnetische Strahlungsantenne, deren Abmessungen in der Größenordnung der Wellenlänge des zu strahlenden Signals liegen. Viele Signale, einschließlich Audiokomponenten, haben oft 100 Hz oder weniger. Für diese Signale wäre es notwendig, Antennen von ca. 300 km Länge zu bauen, wenn das Signal direkt abgestrahlt werden soll. Wenn mit Hilfe der Signalmodulation die Nachricht auf einen Hochfrequenzträger gedruckt wird, z.B. 100 MHz, dann muss die Antenne nur eine Länge von über einem Meter (Querlänge) haben.

Konzentrationsmodulation oder Multi-Channeling.

Wenn mehr als ein Signal einen einzelnen Kanal verwendet, kann die Modulation verwendet werden, um verschiedene Signale in verschiedene Spektralpositionen zu übertragen, so dass der Empfänger das gewünschte Signal auswählen kann. Anwendungen, die Konzentration nutzen („Multiplexing“), sind Telemetriedaten, Stereo-FM-Radio und Ferngespräche.

Modulation zur Überwindung von Einschränkungen an Geräten.

Die Leistung von Signalverarbeitungsgeräten wie Filtern und Verstärkern und die einfache Konstruktion dieser Geräte hängt von der Situation des Signals im Frequenzbereich und dem Verhältnis zwischen dem höherfrequenten und dem niederfrequenten Signal ab. Die Modulation kann verwendet werden, um das Signal an eine Position im Frequenzbereich zu übertragen, an der die Designanforderungen leichter erfüllt werden können. Die Modulation kann auch verwendet werden, um ein „Breitbandsignal“ (ein Signal, bei dem das Verhältnis zwischen höchster und niedrigster Frequenz groß ist) in ein Zeichen von „Schmalband“ umzuwandeln.

Audio-Effekte

Viele Audioeffekte verwenden eine Amplitudenmodulation, da sie mit solchen Signalen sehr gut umgehen können. Wir können einige nennen wie Tremolo, Chorus, Flanger, etc. Dieses Dienstprogramm ist der Punkt, auf den wir uns in dieser Tutorial-Serie konzentrieren.

Tremolo-Effekt

Der Tremolo-Effekt ist eine der einfachsten Anwendungen der Amplitudenmodulation, um diesen Effekt zu erreichen, müssen wir das Audiosignal mit einem periodischen Signal variieren (multiplizieren), entweder sinusförmig oder anders.

>> 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);

Tremolo

Dadurch wird ein sinusförmiges Signal erzeugt, das wie ein „Tremolo“ wirkt.

Form Tremolo

Tremolo auf echten Audiodateien

Jetzt werden wir den Tremolo-Effekt in der realen Welt zeigen. Zuerst verwenden wir eine Datei, die zuvor von einer männlichen Stimme aufgenommen wurde, die „A“ sagt. Die Darstellung für dieses Signal ist die folgende:

>> [y,fs]=audioread('A.ogg');
>> plot(y);

Gesang

Nun müssen wir ein Hüllkurvensignal mit den 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 Werten der Zeit erstellen, wird dies standardmäßig in Form von Spalten, d.h. 1×220500 Werten, erstellt. Um diesen Satz von Werten zu multiplizieren, muss er in Zeilen (220500×1) transponiert werden. Dies ist der Befehl t=t(:)

Sinusodial

Wir werden eine zweite ogg-Datei erstellen, die das resultierende modulierte Signal enthält:

>> tremolo='tremolo.ogg';
>> audiowrite(tremolo, q.*y,fs);

Signal Tremolo

Frequenzvariation

Wir können die Frequenz variieren, um sehr interessante musikalische Effekte wie Verzerrungen, Soundeffekte für Filme und Spiele u.a. zu erhalten.

Wirkung der sinusförmigen Frequenzmodulation

Dies ist der Code, in dem die sinusförmige Modulationsfrequenz nach Gleichung angezeigt wird:

Y=Ac*Cos(wo*Cos(wo/k))

Wo:

Ac = Amplitude

wo = Grundfrequenz

k = Skalarteiler

>> 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);

Die Darstellung 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 experimentieren Sie mit der Änderung der Frequenzen der Funktionen, der Mischung mit anderen Funktionen oder ändern Sie sogar die Art der Funktion
.

Das könnte Dich auch interessieren …