Está en la página 1de 3

Proyecto Unidad 3 Señales y Sistemas

Diseñar una aplicación en Matlab capaz de convertir una entrada de audio a texto mediante un proceso de
filtraje y codificación.

Jordan Armas
Nicolas Jácome Dennis Fraga
Cesar Villacres

Universidad de las Fuerzas Armadas ESPE


Quito, Ecuador

Resumen—Este documento resume en su totalidad el desarrollo  De paso alto (HPF), de paso bajo (LPF), de paso
de un aplicativo propio de Matlab y pretendemos mostrar cómo
banda (BPF), elimina banda (filtros notch o filtros trampa)
con ayuda de herramientas para cálculo numérico podemos
diseñar filtros digitales apropiados para una gran diversidad de o "pasa-todo".
aplicaciones.

Keywords: Matlab III. PROCEDIMIENTO

I. INTRODUCCION clear all;   %elimina todas las variables 
en el workspace
[y,fs]=audioread('prueba3.wav'); %se 
Matlab es tanto un entorno poderoso para cálculo
computacional como un lenguaje de programación. obtiene la frecuencia de muestreo y la 
Matlab cuenta con una completa gama de herramientas para amplitud de cada punto de la onda.
diseño de filtros mediante esta utilidad, considerando como onda=y(:,1); %se toma todas las filas del 
regla general, cualquier algoritmo o sistema de tratamiento vector onda
puede interpretarse como un filtro [tam1,tam2]=size(onda); %se obtiene el 
tama?o del vector onda
I. OBJETIVOS tam1;
Objetivo General m=tam1/3000; %se divide el numero de 
 Diseñar una aplicación en Matlab capaz de convertir muestras de la onda para 3000 que es el 
una entrada de audio a texto mediante un proceso de numero de muestras por cada pulso.
filtraje y codificación. m=fix(m); %se redondea el valor para el 
Objetivos Específicos inmediato inferior
 Conocer, saber diseñar e interpretar la respuesta figure;
impulsional que caracteriza un filtro. plot (onda);  %Se grafica la onda total 
 Conocer los parámetros de diseño de un filtro: banda todos los pulsos 
de paso y de atenuación, entre otros. sound(onda,fs); %Se reproduce el audio de 
los pulsos
Fs = 2614; %Frecuencia de muestreo por 
II. MARCO TEÓRICO pulso de la se?al 
T = 1/Fs; %Periodo por pulso de la se?al
for n=1:1:m %Se pone un for para que se 
Un filtro eléctrico o filtro electrónico es un elemento que repita el proceso para el numero de pulsos
discrimina una determinada frecuencia o gama de frecuencias de la se?al de audio
de una señal eléctrica que pasa a través de él, pudiendo
L=n*2000;   %El numero de datos que se 
modificar tanto su amplitud como su fase.
toman para analizar la se?al
t =((n­1)*2000:L­1)*T; %el tiempo de 
Los filtros electrónicos pueden ser:
acuerdo al pulso n que se esta analizando
 Analógicos o digitales.
yout=onda(3000*(n­1)+1000:3000*(n­   %Este es el c?digo obtenido para la se?
1)+2999); %El tramo de la onda con  al de entrada total.
respecto al numero de pulso analizado  
  for(z=1:2:m) %aqui se decodifican dicho c?
%=====================Filtrado de la se?al digo para producir un mensaje legible.
de audio====================         for(r=0:1:9) %ciclo para 
%Esta etapa registra la amplitud m?xima la decodificar letras y numeros
frecuencia baja y frecuencia             if(cod(z)==r && cod(z+1)==11) 
%alta de la matriz del teclado, se obtiene %ciclo para decodificar numeros       
la posici?n y se guarda esta                 cad(1,z)=int2str(r);
%para posteriormente verificar que tecla              end     
se ha pulsado.         end  
          if(cod(z)==0&&cod(z+1)==0)
bmax=[]; %vector para almacenar la ampli              cad(1,z)=char(' ');
max de las frec bajas         end
amax=[]; %vector para almacenar la ampli          if(cod(z)==2&&cod(z+1)==1)
max de las frec altas             cad(1,z)=char('A');
frec=[697,770,852,941 ;          end
1209,1336,1477,1633];         if(cod(z)==2&&cod(z+1)==2)
for i=1:1:4             cad(1,z)=char('B');
       [fbajo,falto]=DTMF(frec(1,i)­         end
10,frec(1,i)+10,frec(2,i)­10,frec(2,i)         if(cod(z)==2&&cod(z+1)==3)
+10,yout);             cad(1,z)=char('C');
       bmax(1,i)=max(fbajo); %obtiene la          end
amplitud max del filtro de frec bajas         if(cod(z)==3&&cod(z+1)==1)
       amax(1,i)=max(falto); %obtiene la              cad(1,z)=char('D');
amplitus max del filtro de frec altas         end
end         if(cod(z)==3&&cod(z+1)==2)
[filb,colb]=find(bmax==max(bmax)); % para              cad(1,z)=char('E');
obtener la posicion de la ampli max de las         end
frec bajas         if(cod(z)==3&&cod(z+1)==3)
[fila,cola]=find(amax==max(amax)); % para              cad(1,z)=char('F');
obtener la posicion de la ampli max de las         end
frec altas         if(cod(z)==4&&cod(z+1)==1)
frec_baja=frec(filb,colb); %obtiene la              cad(1,z)=char('G');
frecuencia baja de la tecla presionada         end
frec_alta=frec(fila+1,cola);%obtiene la          if(cod(z)==4&&cod(z+1)==2)
freciencia alta de la tecla presionada             cad(1,z)=char('H');
tecla=frec_baja+frec_alta; %se suman ambas         end
frecuencias de la matriz para generar un          if(cod(z)==4&&cod(z+1)==3)
c?digo para cada tecla.             cad(1,z)=char('I');
if (tecla==1906) cod(1,n)= 1;end         end
if (tecla==2033) cod(1,n)= 2;end         if(cod(z)==5&&cod(z+1)==1)
if (tecla==2174) cod(1,n)= 3;end             cad(1,z)=char('J');
if (tecla==1979) cod(1,n)= 4;end         end
if (tecla==2106) cod(1,n)= 5;end  
if (tecla==2247) cod(1,n)= 6;end end
if (tecla==2061) cod(1,n)= 7;end %Mensaje decodificado obtenido
if (tecla==2188) cod(1,n)= 8;end cad
if (tecla==2329) cod(1,n)= 9;end
if (tecla==2150) cod(1,n)= 10;end
if (tecla==2277) cod(1,n)= 0;end
if (tecla==2418) cod(1,n)= 11;end II. CONCLUSIONES
%la suma de la frecuencia alta y baja 
 La fase no toma gran importancia en nuestro sistemas electrónicos complejos como pueden ser los
aplicativo (En aplicaciones de audio, donde el oido filtros.
humano no es capaz de discernir pequeñas variaciones
de la fase) el empleo de filtros IIR, de menor coste, es
el apropiado III. REFERENCIAS
 Se Comprobo la importancia de disponer de una
herramienta de cálculo potente para el diseño de Madisetti y Williams. Ed. CRC Press. (2014). Digital Signal
Processing Handbook Redalyc, 1-19. Obtenido de
http://www.redalyc.org/pdf/206/20633274004.pdf

También podría gustarte