All pastes #822005 Raw Edit

Meins

public text v1 · immutable
·published 2007-12-18 13:37 UTC
rendered paste body
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