Vom Addieren und Multiplizieren
Bei unserer Arbeit mit dem Programm wfct haben wir zwar schon unterschiedliche Wellenformen (Sinus, Dreieck, Rechteck, Sägezahn und Rauschen) generiert, aber eine Option haben wir gänzlich außer Acht gelassen: Dies ist der Parameter -p, der es ermöglicht, die Phasenverschiebung für die Ausgabe der generierten Welle zu definieren. Um eine Phasenverschiebung zu verstehen, rufen wir uns eine einfache Formel aus unserem Trigonometrie-Unterricht ins Gedächtnis zurück: Wir wissen, dass sin(x + ½PI)=cos(x) ist. Wenn also
wfct 440Hz 10ms
eine Sinus-Welle erzeugt, generieren Sie mit
wfct -p90deg 440Hz 10ms
eine Cosinus-Welle (beachten Sie, dass ½PI gerade 90° entspricht – ½PI=1.570796 können Sie aber auch im Bogenmaß über -p1.570796rad definieren). Wer sich noch an eines der Additionstheoreme, genauer
½(sin a + sin b )=sin(½(a +b ))×cos(½(a -b ))
erinnert, der kann dies nun grafisch überprüfen. Dafür ersetzen Sie a durch 400Hz und b durch 480Hz und erzeugen die beiden Terme links und rechts vom Gleichheitszeichen als wav-Dateien. Der erste Term wird über
(wfct 400Hz 30ms; wfct 480Hz 30ms) | wmix -s - -
erzeugt. Beachten Sie, dass die Option -s durch die Anzahl der Eingabedaten dividiert. Für den zweiten Term brauchen wir ½(a+b)=440Hz und ½(a-b)=40Hz. Somit wird dieser über
(wfct 440Hz 30ms; wfct 20Hz 30ms) | wmix -m - -
generiert. Der Parameter -m multipliziert. Einen Vergleich zeigen die Abbildungen 1 und 2, die in der Tat identisch aussehen.
Was steckt drin?
Das Programm winf zeigt Header-Information von wav-Datei an. Ohne weitere Optionen werden nur die Länge, die Sampling-Frequenz und die Auflösung (in Bits) der Datei ausgegeben. Das kann schon recht interessant sein, denn wenn Sie sich tatsächlich mal Ihren Lieblingsheuler aus dem Netz gezogen haben, gibt Ihnen winf Auskunft über die Qualität der Aufnahme. Gerade wav-Dateien werden wegen ihres hohen Speicherbedarfs von eher minderer Qualität sein, also eine niedrigere Abtastfrequenz oder kleinere Auflösung haben. Nehmen wir uns als Beispiel unsere Cosinus-Welle und holen uns über
wfct -p90deg 400Hz 1s -ocosinus.wav; winf cosinus.wav
die Informationen
cosinus.wav : time 0:01.00 s ( 11025 values), sampling 11025 Hz 8 bits
auf den Schirm. Es überrascht nicht weiter, dass die Standardwerte die Abtastrate der Frequenz auf 11025 Hz setzen, wenn die Option -s nicht angegeben wird. Der fehlende Parameter -b führt zur Standardauflösung von 8 Bits. Interessanter ist jedoch die Option -s des Programms winf, die ein wenig Statistik präsentiert. Die Ausgabe liefert neben Maximal- und Minimalwerten auch die Lautstärke der Datei, welche einen Prozentwert in Relation zur Sinus-Welle ausgibt. Hätten Sie gewusst, dass die Überlagerung der Sinus- und Cosinus-Welle noch 99,4% der Lautstärke der Sinus-Welle hat, aber schon die Überlagerung von sin(x) mit sin(x+¾PI) nur noch 76,5% (vgl. auch Listing 1) der Lautstärke des Sinus' besitzt? Warum das so ist, können Sie sich klarmachen, indem Sie die beiden Wellen betrachten.
Listing 1
Die
winf-Ausgabe
volker@maus: (wfct 440Hz 1s; wfct -p90deg 440Hz 1s) | wmix - - | winf -s -standard-input- : time 0:01.00 s ( 11025 values), sampling 11025 Hz 8 bits Amplitude (x[n]) : min = -1.00000 mid = -0.00931 max = +0.98438 Step (x[n+1]-x[n]): min = -0.25781 mid = +0.15814 max = +0.25781 Zero Values : n = 880 n/sec = 880.0 Extreme Values : n = 880 n/sec = 880.0 Standard Deviation (Volume): s = 0.70295 = 99.4 % volker@maus: (wfct 440Hz 1s; wfct -p135deg 440Hz 1s) | wmix - - | winf -s -standard-input- : time 0:01.00 s ( 11025 values), sampling 11025 Hz 8 bits Amplitude (x[n]) : min = -0.77344 mid = -0.00779 max = +0.75781 Step (x[n+1]-x[n]): min = -0.20312 mid = +0.12194 max = +0.19531 Zero Values : n = 880 n/sec = 880.0 Extreme Values : n = 880 n/sec = 880.0 Standard Deviation (Volume): s = 0.54108 = 76.5 %
Ebenfalls interessant ist das Ergebnis der Überlagerung von Wellen fast gleicher Frequenz. Sie interferieren schließlich (in Abbildung 3 heben sich eine 440-Hz- und eine 439-Hz-Schwingung einmal in der Sekunde fast auf), weshalb ihre Summe auch nicht die Lautstärke der Sinus-Welle erreicht.
(wfct 440Hz 1s; wfct 439Hz 1s) | wmix - - | winf
liefert 70,5% der Sinus-Lautstärke.



