Escolar Documentos
Profissional Documentos
Cultura Documentos
ELECTRÓNICA
GRUPO DE PRACTICA 04
Arequipa – Perú
UNIVERSIDAD CATÓLICA DE SANTA MARÍA
ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
CÓDIGO : 7409222
GUÍA DE LABORATORIO NO 03
ASIGNATURA : PROCESAMIENTO DIGITAL DE SEÑALES
Docente (s):
I. OBJETIVOS
Procesar señales de audio
Implementar efectos sobre dichas señales
III. ACTIVIDADES
Al finalizar la práctica realice una tabla indicando los comandos utilizados, sintaxis y
preguntas donde fueron aplicadas.
En base a las actividades realizadas y sus respuestas, realice sus conclusiones.
3.1 Crear y guardar un archivo de audio *.wav de al menos 30 seg de duración y frecuencia
de muestreo arriba de 11KHz.
Programa para grabar audio en tiempo real:
Sintaxis Usada:
Programa Matlab
Vectores creados
Programa Matlab
Programa Malab
Numero de muestras = 330750
Mitad del número de muestras = 165375
Para las siguientes preguntas, considere utilizar el comando subplot para graficar la señal en el
tiempo y frecuencia.
Graficando:
3.6 Generar el efecto de reverberación
>> a=0.5; %Magnitud de la reverberacion Borre este código y
>> R=5000; %Numero de muestras para el efecto coloque la captura de
>> x=zeros(size(y)); pantalla del programa
>> for i=1:1:R+1 implementado en Matlab.
x(i) = y(i); %vector de efecto
end
>> for i=R+1:1:n
x(i)= y(i)+ a*y(i-R); %sonido más efecto
end;
>> sound(x,fs);
Programa en matlab:
Grafica obtenida:
3.7 Repita el paso 6 con al menos dos valores diferentes de a y R, consigne en cada caso
los espectros en frecuencia, compare con el de la señal original, comente los resultados
obtenidos.
Para a =2 R =3000
Grafica en el Dominio del Tiempo :
Espectro de la Frecuencia :
Para a =4 R =8000
Señal en el dominio del Tiempo
Programa en Matlab:
Señales Obtenidas en el Dominio del Tiempo :
3.10 Aplique un filtro pasaaltos de orden 30 con frecuencias de corte 0.5 y ganancia 1.5.
Complete el código, tome como referencia la pregunta 2.8.
Código Implementado:
Señal en el dominio del Tiempo:
Codigo en matlab:
Función implementada:
El ruido gaussiano se superpone a la señal pero no se superpone para una amplitud alta
como lo muestra el grafico es decir el ruido es de baja amplitud no afectando a la señal
original cuando posee una amplitud elevada
IV. CONCLUSIONES
V. En la prueba de Eco podemos ver que a frecuencias altas el eco se hace más notorio
(ver paso 3.6) aumentado en parámetro R=10000 y aumentando la ganancia del eco
se pudo corroborar que el eco se hacia mas notorio (ver gráficas punto 3.6)
VII. Al Realizar el procesamiento de la señal es decir usar filtros pasa bajos (PB) pasa
Altos (PA) y pasa banda (PB) pudimos corroborar que la suma de las tres señales
independientes era la señal resultante o la señal original de audio
VIII. Al aplica el ruido blanco gaussiano a nuestra señal original no se puedo apreciar el
efecto mediante el sonido (parlantes) pero viendo la señal en el dominio del tiempo
pudimos apreciar que el ruido se superpone a nuestra señal original
IX. Para poder representar una señal analógica (señal de Audio ) en el dominio de la
frecuencia tenemos que usar la transformada discreta de Fourier
X. CUESTIONARIO FINAL
10.1 Investigue sobre sistemas LTI filtros ideales y represente graficamente los cuatro
tipo de filtros básicos.
10.2 Investigue sobre diseño de filtros como se puede convertir un filtro pasa
bajos en uno pasa altos. Fundamente su respuesta.
Para el diseño de filtros digitales IIR, se utilizan siempre como prototipos de diseño, filtros
analógicos pasa-bajo normalizados, por lo que el filtro digital resultante también es
pasabajo. Esto es así por la facilidad que representa el diseño de dichos filtros digitales a
partir de filtros analógicos pasa-bajo prototipos, para los cuales existen funciones de
transferencia normalizadas, ecuaciones y tablas de coordenadas de polos y ceros, y familias
de curvas normalizadas para cada tipo de respuesta (Butterworth, Chebyshev, Bessel,
Gaussian, elípticos, etc).
Al diseñar un filtro es necesario, por lo tanto, modificar las características de éste para
satisfacer las especificaciones iniciales de diseño. Estas modificaciones se realizan en dos
fases: transformar el filtro pasa-bajo diseñado en el tipo de filtro requerido, y
desnormalizar los valores originales del diseño de dicho filtro pasa-bajo.
Las transformaciones que se pueden realizar del filtro pasa-bajo prototipo son las
siguientes:
1. pasa-bajo a pasa-bajo.
2. pasa-bajo a pasa-alto.
3. pasa-bajo a pasa-banda.
Circuito Base : Filtro Pasa Bajas :
Una vez obtenidos los elementos del prototipo del filtro pasabajos es decir ya normalizado
con tablas estos tienen que ser transformados en elementos pasivos reales mediante las
siguientes relaciones :
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before proyecto_dsp is made visible.
% *-------------E F E C T O S------------------------------
function tema_original_Callback(hObject, eventdata, handles)
%Reproducir tema original
set_param('modelo/selector','Value','7');
set(handles.el_efecto,'String','Tema original')
%**********************ECUALIZADOR--------------------------------
function freq1_Callback(h, eventdata, handles)
amplitud=get(h,'Value');
set_param('modelo/ecualizador/Gain','dB',num2str(amplitud));
set(handles.indic_1,'String',round(amplitud));
%******************SELECCIONAR EL TEMA*****************
function abrir_tema_Callback(h, eventdata, handles)
%Abrir el tema a reproducir
[nombre ruta]=uigetfile('*.wav','Seleccione el tema');
if nombre == 0% Si se selecciona CANCELAR
return
end
%La siguiente línea establece el nombre del tema en simulink
%en el bloque que reproduce la canción en formato.wav
set_param('modelo/From Wave File','FileName',fullfile(ruta,nombre));
%Habilitar los botones de mando
set(handles.reproducir,'Enable','on');
set(handles.pausa,'Enable','on');
set(handles.continuar,'Enable','on');
set(handles.parar,'Enable','on');
%*******************************************************
val= get(hObject,'Value');
switch val
case 1
preset=[5,3,-2,-3,-1,1,5,6,6,6]; % Rock
case 2
preset=[0,0,0,0,0,0,-4,-4,-4,-6]; %Clásico
case 3
preset=[-4,0,3,3,3,3,3,1,1,1]; % Live
case 4
preset=[-1,1,2,2,1,-1,-1,-1,-1,-1];%Pop
case 5
preset=[4,3,0,-2,-2,0,4,5,5,5];%Techno
case 6
preset=[2,1,-1,-1,0,1,3,4,4,6];%Soft
case 7
preset=[6,6,6,4,0,-2,-5,-7,-7,-7];%Full bass
case 8
preset=[-7,-7,-7,-2,1,6,12,12,12,12];%Full Treble
otherwise
preset=[0,0,0,-2,0,2,2,0,0,0];%Reggae
end
set(handles.freq1,'Value',preset(1));
set(handles.freq2,'Value',preset(2));
set(handles.freq3,'Value',preset(3));
set(handles.freq4,'Value',preset(4));
set(handles.freq5,'Value',preset(5));
set(handles.freq10,'Value',preset(6));
set(handles.freq11,'Value',preset(7));
set(handles.freq12,'Value',preset(8));
set(handles.freq13,'Value',preset(9));
set(handles.freq14,'Value',preset(10));
% VOLUMEN DE CANALES L Y R
% --- CANAL L
function L_slider_Callback(hObject, eventdata, handles)
volumenn=get(hObject,'Value');
set_param('modelo/L','Gain',num2str(volumenn));
% --- CANAL R
function R_slider_Callback(hObject, eventdata, handles)
%Control del nivel de volumen de reproducción
volumenn=get(hObject,'Value');
set_param('modelo/R','Gain',num2str(volumenn));
Pruebas Realizadas:
Efecto de Eco:
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5
señal original 5
x 10
-1
-2
0 0.5 1 1.5 2 2.5 3 3.5
señal mejorada 5
x 10
Efecto de Agudos:
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5
señal original 5
x 10
1.5
0.5
-0.5
-1
-1.5
0 0.5 1 1.5 2 2.5 3 3.5
señal mejorada 5
x 10
Señal de graves:
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5
señal original 5
x 10
-1
-2
0 0.5 1 1.5 2 2.5 3 3.5
señal mejorada 5
x 10