GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wissenschaftliche Audioverarbeitung, Teil III – Anwenden von erweiterten mathematischen Verarbeitungseffekten auf Audiodateien mit Octave 4.0 unter Ubuntu

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.
          


Ubuntu
  1. So entpacken Sie Ubuntu

  2. So überwachen Sie Server-Logdateien mit Logwatch auf Debian und Ubuntu

  3. Wie blockiere ich IP-Adressen und schütze Dateien und Ordner mit Apache und .htaccess in Ubuntu?

  4. Wie führe ich .exe-Dateien in Ubuntu aus?

  5. Wie installiere ich Octave 5 unter Ubuntu 18.04?

So sichern Sie Dateien mit Déjà Dup und Duplicity unter Ubuntu 18.04 LTS

So benennen Sie Dateien in Ubuntu 20.04 um

So installieren Sie Octave unter Ubuntu 20.04

So installieren Sie Octave unter Ubuntu 22.04 | 20.04 LTS

So installieren Sie Octave unter Ubuntu 20.04 LTS

Wie kann man eine in Ubuntu erstellte Textdatei mit Windows Notepad kompatibel machen?