
// Prueba de la función loudness
// Sonoridad según Stevens Mark VI

clear

exec whitenoise.sci;
exec pinknoise.sci;
exec octaves.sci;
exec octavemean.sci;
exec browniannoise.sci;
Fs = 44100;

caso = 1
select caso
case 1
   x = whitenoise(10, Fs);
case 2
   x = pinknoise(10, Fs, 4096);
case 3
   x = browniannoise(10, Fs);
end

Xef = sqrt(mean(x.^2))

// Fracción de octava
D = 1
// Tasa de muestreo
Fs = 44100
// Tamaño de la FFT
N = 16384
// Distancia entre ventanas de análisis
L = N
// Nivel de la señal de calibración respecto
// a la senoide de máxima amplitud digital (FS)
cal = -6
// Nivel de presión sonora
dB = 94
Loct = 20*log10(octaves(x, D, Fs, N)) + dB - cal;
Loctmean = octavemean(x, D, Fs, N, L, cal, dB);
disp([Loct,Loctmean])

exec loudness.sci;
[S, NS, LA] = loudness(x, 100, Fs);
[S1, NS1, LA1] = loudness(Loct, 100, Fs);
[S2, NS2, LA2] = loudness(Loctmean, 100, Fs);

disp([S, NS, LA; S1, NS1, LA1; S2, NS2, LA2])
