Sie sind auf Seite 1von 14

UNIVERSIDAD NACIONAL

“PEDRO RUIZ GALLO”

FACULTAD DE CIENCIAS FÍSICAS


Y MATEMÁTICAS

CURSO :

Procesamiento digital de señales

INTEGRANTES:

Izquierdo Montenegro Mariangie

Monja Iman Juan Alexis

Vásquez Medina Cristian

PROFESOR:

Ing. Romero Cortez Oscar Uchelly

LABORATORIO Nº 3:

Método de Re-cuantizacion

25 de julio de 2018
PRIMER INFORMDE DE LABORATORIO

I. INTRODUCCIÓN:

El Sistema de Reconocimiento de Voz o de audio permite que el usuario grabe un


sonido de una guitarra en mi caso por medio de un micrófono y ésta sea reconocida
en la base de datos existente en ese momento, la grabación será de un tiempo de
2 segundos. El sistema en sí posee un entorno gráfico en la computadora, que
proporciona las selecciones de grabación, donde la señal de voz o de audio es
ingresada a la computadora y es procesada por los algoritmos del programa que
modifican la señal, obteniendo los parámetros significativos de la señal de audio,
para luego ser almacenados en la computadora. La selección de reconocimiento
permite que la palabra sea comparada con la base de datos almacenada en la
computadora, dicha base de datos ya fue procesada digitalmente por el programa.

Como el Sistema de Reconocimiento de Voz es un sistema de procesamiento


digital de señales de voz, el análisis gráfico en el reconocimiento es un análisis
del espectro de frecuencias de la señal de voz.

II. OBJETIVOS
GENERAL:

Realizar un sistema que proporcione el reconocimiento de señales de voz o de


audio, por medio de la interacción entre el usuario y la computadora, para luego
mediante un proceso en MATLAB graficar todas las señales generadas.

ESPECIFICOS:

 Explorar algoritmos de procesamiento digital de voz o de audio, que


permitan grabar una señal de voz o de audio.
 Grabar en el en el disco duro, para ser leída luego en otro archivo de
MATLAB.
 Comprimir la señal, para ello deberá utilizar la técnica de
“RECUANTIZACION por factor de escala fijo”.
 Graficar las señales originales y la comprimida, reproducir la señal
original y comprimida.
 Graficar la recuantizacion por bloques.

III. COMPONENTES
 Micrófono
Es un transductor electroacústico, que tiene como función transformar o
traducir la presión acústica ejercida sobre su capsula por las ondas sonoras
en energía eléctrica.

 MATLAB
MATLAB es el nombre abreviado de “MATrix LABoratory”. Es un
lenguaje de alto nivel y de ambiente interactivo que permite realizar tareas
intensas y con una mayor velocidad que los lenguajes de programación
comúnmente usados. MATLAB se especializa en cálculos numéricos con
vectores y matrices, como casos particulares puede trabajar también con
otras estructuras de información. Aunque cada objeto es considerado como
un arreglo.

 Señal de audio
El audio será grabado a través de MATLAB con un micrófono, conectado
a la computadora para luego ser guardado en la misma, en este caso el
sonido de las cuerdas de una guitarra que tendrá una duración de 2
segundos.

IV. PLANTEAMIENTO DEL PROBLEMA

El Procesado de voz o de audio es el estudio de las señales de audio y las técnicas


de procesado de estas señales. Las señales se digitalizan con el propósito de
manipular su información, lo cual es llamado procesamiento digital de audio.

El procesamiento digital de audio se puede dividir en varias categorías, la de


nuestro interés es el reconocimiento de audio.

Se deberá escuchar a la salida una señal que se escuche en un parlante.

MODULADO DEL AUDIO

Las ecuaciones fundamentales que se aplican en acústica son lineales, por lo que
se pueden utilizar sistemas lineales en el modelado del audio para conseguir una
precisión aceptable.

OBTENCIÓN DE INFORMACIÓN MEDIANTE EL MICRÓFONO

Micrófono: El micrófono es un transductor electroacústica. Su función es la de


transformar (traducir) la presión acústica ejercida sobre su capsula por las ondas
sonoras en energía eléctrica.
El audio es un fenómeno analógico. Para grabar una señal de voz o cualquier otro
sonido se hace la conversión de la señal analógica del micrófono en una señal
digital por medio del conversor A/D en la tarjeta de sonido. Cuando un micrófono
está operando las ondas de sonido hacen que vibre el elemento magnético del
micrófono causando una corriente eléctrica hacia la tarjeta de sonido, donde el
conversor A/D básicamente graba los voltajes eléctricos en intervalos específicos.

PREPROCESADO

Convertir la entrada de sonido a una forma que el reconocedor pueda procesar o


que la señal sea más accesible para procesar luego.

MUESTREO Y CUANTIFICACIÓN

Muestreo consiste en el proceso de conversión de señales continuas a señales


discretas en el tiempo, es un paso para digitalizar una señal analógica. Este
proceso se realiza midiendo la señal en momentos periódicos del tiempo.

RE-CUANTIZACION
La re-cuantizacion implica reproducir el número de bits, utilizando técnicas de
procesamiento digital de señal.

Para ello se utilizará dos técnicas:


 Re-cuantizacion por factor de escala fijo.
 Re-cuantizacion por factor de escala por bloques.

V. PROCESAMIENTO EXPERIMENTAL
 El alumno deberá ingresar los parámetros: fs = 16000 Hz, numero de bits
r=16 bits y el tiempo de adquisición tAdq = 3s.
 Se debe grabar en el disco duro con la función “fwrite”, para ser leida
luego en otro archivo de MATLAB con la función “fread”.
 Comprimimos la señal a un numero de bits r’ = 4, rfe = 8bits.
 Graficar todas las señales, original y comprimida.
 REPRODUCIR, las dos señales.
PRIMERA PARTE
EXPERIMENTO A: Grabación de audio

Capturar una señal de voz con una frecuencia de muestreo de 16 kHz, numero de bits 16,
tiempo de Adquisición de 3 segundos y número de canales 1, r’ = 4, rfe= 8bits.
CODIGO MATLAB:

clc;
clear ALL;
close ALL;
%%%%%%%%%%%%%%%%%%%%%
fs=16000;
r=16;
tadq=3;
numcan=1;
%%%%%%%%%%%%%%%%%%%%%
disp('presione enter para iniciar
grabación');
pause();
x=audiorecorder(fs,r,numcan);
recordblocking(x,tadq);
voz=getaudiodata(x,'double');
%%%%%%%%%%%%%%%%%%%%%
xx=round(voz*32767);
fid=fopen('D:\mensaje.dat','w');
fwrite(fid,xx,'int16');
fclose(fid);
%%%%%%%%%%%%%%%%%%%%%
EXPERIMENTO B
Graficaremos las señales generadas, original y comprimida.
CODIGO MATLAB

clc;
clear all;
close all;

fs=16000; %frecuencia de muestreo


r=16; %numerode bits
tadq=3; %duracion de la captura
numcan=1; %numero de canales
rfe=8;
factormax=1;
rp=4;
%%%%%%%%%%%%%%%%%%%abrir
archivo%%%%%%%%%%%%%%%%%%%
fid=fopen('D:\mensaje.dat','r');
x=fread(fid,'int16');
fclose(fid);
voz=x/32767;
fe=0;
%%%%%%%%%%%%%%%%%%%%%generacion del vector
salida%%%%%%%%%%%%%%%%%%%%%
abs=zeros(48000,1); %matriz nula 48 000 filas con
una columna
for i=1:48000
if(voz(i)<0);
abs(i)=voz(i)*-1;
else
abs(i)=voz(i);

end
end

for i=1:48000
if(fe<abs(i));
fe=abs(i);
end
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
ff=(2^rfe)-1;
factcod=round(fe*ff/factormax);
factdecod=factcod*factormax/ff;

yp=round(((voz/fe) * 0.48)*7);%transmisor
YP=[factcod;yp];
y=yp*factdecod/((2^(rp-1))-1);%receptor
e=y-voz;
size(y);
size(x);
Ee=(e'*e)+1E-20;
Ex=voz'*voz;
SNR=10*log10(Ex/Ee);
fcomprension=r*length(voz)/(rfe+(rp*length(voz)));

%%%%%%%%%%%%%%%%%%%%graficador las
señales%%%%%%%%%%%%
figure(1);
plot(voz);
title('Señal original');

figure(2);
plot(y);
title('Señal recuantizada');

figure(3);
plot(YP);
title('Señal al ser enviada en el transmisor');

disp('La SNR ES:');


SNR

disp('El factor de comprensión es:');


fcomprension
GRAFICAS DE LAS SEÑALES
SEGUNDA PARTE
EXPERIMENTO C:
Graficamos las señales generadas por re-cuantizacion por bloques.

CODIGO MATLAB

clc;
clear all;
close all;

fs=16000; %frecuencia de
muestreo
r=16; %numerode bits
tadq=3; %duracion de la
captura
numcan=1; %numero de canales
rfe=8;
factormax=1;
rp=4;
%%%%%%%%%%%%%%%%%%%abrir
archivo%%%%%%%%%%%%%%%%%%%
fid=fopen('D:\mensaje.dat','r');
x=fread(fid,'int16');
fclose(fid);
voz=x./32767;
max=0;

%%%%%%%%%RECUANTIZACION POR BLOQUES


%%%%%%%%%%%%%%%%%
bloque=zeros(48,1000);%matriz de 48 filas y
1000 columnas
for i=1:48% vector de 1 a 48
bloque(i,1:1000)=voz(1+1000*(i-
1):1000*i);
end

max=zeros(48,1000);
for i=1:48
bloque(i,1:1000)=voz(1+1000*(i-
1):1000*i);
for j=1:1000
if(bloque(i,j)<0);
max(i,j)=bloque(i,j)*-1;
else
max(i,j)=bloque(i,j);

end
end
end

fe1=zeros(48,1);%48 filas y 1 columna


for i=1:48
max(i,1:1000);
for j=1:1000
if(fe1(i,1)<max(i,j));
fe1(i,1)=max(i,j);
end
end
end

%%%%%%%%%%%%%%%%%%RECUANTIZACION%%%%%%%%%%%%
%%%%%%%%%%%%
ybp=zeros(48,1000);
for i=1:48%en el transmisor

ybp(i,1:1000)=round((bloque(i,1:1000)/fe1(i,
1))*((2^(rp-1))-1));
end

yb=zeros(48,1000);
for i=1:48%en el receptor

yb(i,1:1000)=round((bloque(i,1:1000)*fe1(i,1
))/((2^(rp-1))-1));
end

UNIDO=zeros(48000,1);%matriz de 48 filas y
1000 columnas
for i=1:48% vector de 1 a 48
for j=1:1000
UNIDO(j+1000*(i-1),1)=ybp(i,j);
end
end

figure(1);
plot(bloque(1,1:1000));
title('Señal por bloques');

figure(2);
plot(voz);
title('Señal original');

figure(3);
plot(ybp(1,1:1000));
title('Señal por bloques recuantizada');

figure(4);
plot(UNIDO);
title('Señal UNIDA recuantizada');
FIGURA 1

FIGURA 2
FIGURA 3

FIGURA 4
VI. RESULTADOS

El alumno al ingresar los parámetros de la frecuencia el numero de bits y el tiempo


de adquisición, un canal, de acuerdo a eso lograra graficar las señales y ahí
diferenciara como es que la señal de audio ingresada se almacena en el disco duro
para luego ser comprimida y recuantizada.

La señal de voz en el tiempo puede ser representada en un par de ejes cartesianos.


Como todos los sonidos, está formado esencialmente por curvas elementales
(senos y cosenos) pero las combinaciones de estas pueden ser complejas.

Habrá un total de 48000 muestras.

VII. CONCLUSIONES

 En este laboratorio veremos cómo una señal luego de ser comprimida pasa
por un proceso de recuantizacion por factor de escala fijo, y luego se hará
la recuantizacion por bloques.
 Se debe generar un determinado muestreo por cada bloque.