% Analisis de la BER entre fingerprints de un anuncio con algun tipo % de procesado y los fingerprints correspondientes a los anuncios % originales % Fecha de creacion: 16 de Abril de 2007 N=4960; num_band=33; over_lap=31/32; finf=300; fsup=2000; %alpha=0.18; % umbral para considerar deteccion correcta time_detect=8000; m=20; % mxn es el tamaño de los fingerprints n=32; fi=fopen('p_robustez','a'); % fichero para guardar los resultados de % todas las pruebas de robustez % Calculo de los fingerprints correspondientes a los anuncios originales f_08_19_01_8000_8=fingerprint_actualizable(wavread('Anuncios\Procesado\05_19_01_8000_8'),N,over_lap,num_band,finf,fsup); f_10_19_01_8000_8=fingerprint_actualizable(wavread('Anuncios\Procesado\17_19_01_8000_8'),N,over_lap,num_band,finf,fsup); f_12_19_01_8000_8=fingerprint_actualizable(wavread('Anuncios\Procesado\20_23_01_8000_8'),N,over_lap,num_band,finf,fsup); f_13_19_01_8000_8=fingerprint_actualizable(wavread('Anuncios\Procesado\29_23_01_8000_8'),N,over_lap,num_band,finf,fsup); % Calculo de los fingerprints correspondientes a la señal de audio que % sufre algun tipo de procesado anuncio_detectado1=wavread('Anuncios\Procesado\05_19_01_8000_8_ve4'); anuncio_detectado2=wavread('Anuncios\Procesado\17_19_01_8000_8_ve4'); anuncio_detectado3=wavread('Anuncios\Procesado\20_23_01_8000_8_ve4'); anuncio_detectado4=wavread('Anuncios\Procesado\29_23_01_8000_8_ve4'); % Para calcular la media de la BER y su desviacion típica, % repetimos el proceso 1000 veces para cada anuncio for j=1:1000 l=round((length(anuncio_detectado1)-time_detect)*rand(1)); finger_detectado1=fingerprint_actualizable(anuncio_detectado1(l:l+time_detect-1,1),N,over_lap,num_band,finf,fsup); distancia1(j)=min(busqueda(finger_detectado1,f_08_19_01_8000_8)); l=round((length(anuncio_detectado2)-time_detect)*rand(1)); finger_detectado2=fingerprint_actualizable(anuncio_detectado2(l:l+time_detect-1,1),N,over_lap,num_band,finf,fsup); distancia2(j)=min(busqueda(finger_detectado2,f_10_19_01_8000_8)); l=round((length(anuncio_detectado3)-time_detect)*rand(1)); finger_detectado3=fingerprint_actualizable(anuncio_detectado3(l:l+time_detect-1,1),N,over_lap,num_band,finf,fsup); distancia3(j)=min(busqueda(finger_detectado3,f_12_19_01_8000_8)); l=round((length(anuncio_detectado4)-time_detect)*rand(1)); finger_detectado4=fingerprint_actualizable(anuncio_detectado4(l:l+time_detect-1,1),N,over_lap,num_band,finf,fsup); distancia4(j)=min(busqueda(finger_detectado4,f_13_19_01_8000_8)); end % Calculo de la BER entre fingerprints y su desviacion tipica p=1; ber_media(p)=mean(distancia1)/(m*n); ber_desv(p)=std(distancia1)/(m*n); ber_max(p)=max(distancia1)/(m*n); p=p+1; ber_media(p)=mean(distancia2)/(m*n); ber_desv(p)=std(distancia2)/(m*n); ber_max(p)=max(distancia2)/(m*n); p=p+1; ber_media(p)=mean(distancia3)/(m*n); ber_desv(p)=std(distancia3)/(m*n); ber_max(p)=max(distancia3)/(m*n); p=p+1; ber_media(p)=mean(distancia4)/(m*n); ber_desv(p)=std(distancia4)/(m*n); ber_max(p)=max(distancia4)/(m*n); % Guardamos los resultados fprintf(fi,'\n\nCambio lineal de la velocidad en un +4%%\n'); fprintf(fi,'Número de iteraciones: 1000\n'); fprintf(fi,' BER Desv. Estandar Ber max.\n'); for i=1:4 fprintf(fi,'Resultados del anuncio %1.0f: %1.4f %1.4f %1.4f\n',i,ber_media(i),ber_desv(i),ber_max(i)); end fi=fopen('p_robustez','r'); type p_robustez % Abre el fichero creado