clc
%('Einlesen von Daten aus einem WAV-File');
datei=input('Welches Wav-File (ohne .wav) soll eingelesen werden? ','s');
%Einlesen im WAV-Format wavedata enthält die Audiodaten, Fs die Abtastfrequenz
[wavedata,Fs]=wavread(datei);
%Darstellung der Original-WAVE Datei
samplingrate=Fs
plot(wavedata),grid,title('Eingelesene Wav-Daten');
%('weiter ==> beliebige Taste');
pause
close
faktor=10^(-3/20); %Faktor für -3dB
Faktor = faktor %gibt Faktor aus
linfaktor=faktor/0.52; %Linearerfaktor = Faktor / Maximalwert(abgelesen: 0,52);
Linfaktor = linfaktor %gibt Linfaktor aus
output = wavedata*linfaktor; %Multiplikation für Ergebnis
%Darstellung der Bearbeiteten-WAVE Datei
plot(output),grid,title('WAVE-Datei -3dB');
%('Abspeichern von WAV-File');
outstringname=input('Wie soll das Wav-File heissen (ohne .wav) ? ','s');
%Speichern als wav-File unter dem Namen in String outstringname
% Audiodaten im Vektor output
samplingrate=8000
bitprosample=16
wavwrite(output,samplingrate,bitprosample,outstringname)
%Anmerkung: wenn direkt der Filename hallo genutzt werden soll:
%wavwrite(y,samplingrate,16,'hallo')
%
%('weiter ==> beliebige Taste');
pause
close
ANTWORTEN
1) Welchem linearen Wert entspricht -3dBFS, wenn die Daten auf den Bereich zwischen +1 und -1 skaliert sind? 0.70795
2) Welchen maximalen linearen Aussteuerungswert finden Sie in der Testdatei? 0.52
3) Mit welchem Faktor müssen Sie die Daten multiplizieren, damit die maximale Aussteuerung -3dBFS beträgt? 1.34
4) Warum sollte man den Skalierungsfaktor, mit dem die Daten multilpiziert werden, vor der Multiplikation in einer Variablen speichern?
Weil die Berechnung danach schneller geht