Digital Signal Processing Reference
In-Depth Information
N = 1/4;
%
time scaling
fs = 8000;
%
sampling frequency
music = [];
%
define variable for audio signal
for k = 1:length(pitch)
%
for loop
L = N*fs*duration(k);
%
number of samples per tone
n = 0:L-1;
%
normalized time
w = (2*pi/fs)*pitch(k);
%
normalized radian frequency
s = sin(w*n);
%
sinusoidal tone
music = [music s];
%
concatenate audio signal
end
soundsc(music,fs,16);
%
sound card output
2.3.3
Vorbereitende Aufgaben
A2.6
Machen Sie sich mit den Programmbeispielen 2-2 und 2-3 vertraut.
Hinweis:
Die für die praktische Durchführung der Versuche benötigen Programm-
dateien können Sie auch über das Internet beim Vieweg+Teubner Verlag unter
viewegteubner.de abrufen.
2.3.4
Versuchsdurchführung
M2.2
Starten Sie das Programmbeispiel 2-2
dsplab2_3
.
M2.3
Zur Verbesserung des Höreindrucks können die Sinustöne mit ADSR-Hüllkurven
bewertet werden. Überprüfen Sie die Klangqualität des so modifizierten Audio-
signals.
Hinweis:
Verwenden Sie die MATLAB-Funktion aus Programmbeispiel 2-3
adsr_profile
. Modifizieren sie das Programm
dsplab2_3
z. B. mit
sADSR = adsr_profile(0.15,0.25,0.9,0.9,0.7,s);
music = [music sADSR];
Sie können nun auch verschiedene Einstellungen für die Abtastfrequenz
f
s
und die
Zeitskalierung
N
und weiterer Parameter des ADSR-Profils ausprobieren.
Programmbeispiel 2-3
ADSR-Profil
% dsp laboratory - assignment 2
% shaping pure tones by ADSR profile
% y = adsr_profile(tA,tD,tS,ED,ES,x)
% tA : relative duration of attack phase
% tD : relative duration of delay phase = tD - tA
% tS : relative duration of sustain phase = tS - tD
% ED : relative amplitude of profile at time tD
% ES : relative amplitude of profile at time tS
% x : tone to be shaped
% y : shaped tone
% adsr_profile.m * mw * 03/16/2008