Está en la página 1de 4

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA MECÁNICA


PROCESAMIENTO DIGITAL DE SEÑALES MT417A 2023-3

Laboratorio 1
Captura y Reproducción de Señales

Objetivo. El alumno aplica comandos de Matlab asociados a la captura y reproducción de


señales.

Parte 1 Captura y Reproducción de Señales

Para capturar y reproducir señales desde la tarjeta de sonido proveniente de una PC, laptop o dispositivo
móvil se requiere del uso de dos comandos: captura.m y reproduct.m, que presentamos a continuación

captura.m

%Captura de Señales
clc;
clear;
close;

fs=44100; %8000; %11025, 22050, 44100


Nbits=16;
duracion=5; %segundos.
numcan=1; %1 mono o 2 stereo

rx = audiorecorder(fs,Nbits,numcan);

disp('presione enter para capturar');


pause;
recordblocking(rx,duracion);
x = getaudiodata(rx);

%x=recorder(rx)

n=0:length(x)-1;
T=1/fs;

figure(1)
plot(n*T,x)
grid
axis([0 (length(x)-1)*T -1 1]);
xlabel('tiempo (seg.)');
ylabel('Valores de señal');
title('Señal Capturada');

[X,f]=freqz(x,1,8192,fs);
figure(2)
plot(f,abs(X))
grid

1
xlabel('frecuencia (Hz)');
ylabel('Magnitud');
title('Espectro de Magnitud de la Señal Capturada');
%__________________________________________
disp('presione enter para reproducir')
pause;
p=audioplayer(Xmas);
play(p)
_____

reproduct.m

clear;
close all;
clc;

%parametros para la generación de señales


r=16; % Bits por muestra
fs=44100; % Frecuencia de muestreo. Valores: 8000, 11025, 22050 y 44100
numcan=1; % Numero de canales de audio (1) mono, (2) stereo.

tiempo=2; % 2seg de señal


f=8000; % frecuencia de la señal
t=0:1/fs:tiempo-(1/fs);
x=sin(2*pi*f*t);

%reproducción con el comando play


p=audioplayer(x,fs);
play(p)

Parte 1 Captura de Señales


Procedimiento

1. Use el programa captura.m y reproduct.m para apreciar la operatividad de los comandos creados
para la captura y reproducción de señales.
2. Utilice el jack macho-macho para conectar su dispositivo móvil con el puerto de sonido (micrófono)
para reproducir señales
3. En caso de tener dificultsdes para grabar voz, descargue de Internet e instale el programa
Function Generator desde el PlayStore de Android para desarrollar sus aplicaciones según sea e
caso.

2
4. Programe señal senoidal, triangular y cuadrada, capture y reproduzca señales con frecuencias de
5 Hz, 100 Hz, 300 Hz, 1 kHz, 2400 Hz y 4500 Hz. Use el comando captura.m.
5. Modifique la frecuencia de muestreo y aprecie el efecto de la reproducción del sonido.

Parte 2 Aplicación: Frecuencímetro digital

Instrucciones

En esta experiencia se pretende medir la frecuencia de una onda periódica que es adquirida por la PC
mediante Matlab, utilizando la entrada Line In (conector estéreo hembra celeste) de la tarjeta de
sonido.

Para ello se hará uso de un generador de funciones que deberá ser ajustado a una amplitud pico de
salida de 1 voltio. Asimismo, para la captura de la señal deberá hacerse pruebas con frecuencias de
5Hz, 100Hz, 300Hz, 550Hz, 1KHz, 2400Hz, 3500 Hz y 4500Hz.

Para la conexión del cable y del generador de funciones se deberá seguir las indicaciones que el
profesor brindará antes del desarrollo de la experiencia.

Programas de apoyo y propuestos

1. La secuencia de comandos mostrada es para determinar la cantidad de muestras negativas


como positivas de un vector de tamaño 10

x = rand(1,10);
z = -1 + 2*x %genera un vector que varía entre -1 y +1.
[f,c]=size(z); %determina las filas y columnas de z. c representa la
longitud del vector
pos = 0;
neg = 0;
for j=1:c
if z(f,j) >= 0
pos = pos + 1;
elseif z(f,j) <= 0
neg = neg + 1;
end
end
fprintf('La cantidad de muestras positivas son %i \n',pos)
fprintf('La cantidad de muestras negativas son %i \n',neg)

2. Genere un programa que permita hallar de una matriz z de MxN el número máximo y
mínimo de dicha matriz, así como su localización (i,j) en Z.

3. Se tiene un vector de muestras ( “X”) en MATLAB que representa a una determinada señal.
Se pide escribir un programa que permita contabilizar el número de cruces por cero de
negativo a positivo existente en todo el vector. El programa deberá presentar el resultado
por pantalla.

3
Sugerencia. Dado que es una muestra de datos, considere que el vector tiene una fila.

4. Se tienen dos señales cosenoidales de igual frecuencia, igual amplitud y diferente fase, fueron
capturadas (un único periodo) con MATLAB y almacenas en un vector X y en un vector Y
respectivamente. Según esto, se pide determinar si el desfasaje entre ambas señales (“X” y “Y”)
es de 90 grados. El resultado “SI” o “NO” debe aparecer en pantalla.

5. Use dos fuentes de datos de Physionet para detectar la frecuencia cardíaca de una persona que no
tiene arritmia cardíaca y otra que la posea. Muestre en tiempo real el período de la frecuencia
cardiaca y estime las pulsaciones por minuto PPM. Recuerde que la frecuencia de una señal cardiaca
debe evaluarse permanentemente y no como un promedio, sea de procedencia rítmica o arrítmica.

6. De acuerdo con el paso anterior, genere un archivo de sonido en Matlab que permita reproducir
señales biomédicas.

Procedimiento

Una vez realizada la adquisición, la onda deberá ser graficada en el tiempo. Explore el gráfico en detalle
mediante el zoom disponible en el cuadro de figura del Matlab.

Para la medición de la frecuencia se deberá implementar el algoritmo de cruces por cero propuesto
anteriormente.

Realice las mediciones para las frecuencias indicadas anteriormente y para los 3 tipos de ondas
periódicas del generador. Compare los valores de frecuencia obtenidos mediante Matlab con los que
marca el generador de funciones

Según lo indicado, responda a las siguientes preguntas:

1. Teóricamente para algunas de las frecuencias especificadas podría existir un error en la medición.
De acuerdo con ello, indique justificadamente qué frecuencias presentan este inconveniente.

2. Usted ha hecho capturas para diferentes tipos de señales periódicas (senoidal, triangular y
cuadrada) con diferentes frecuencias.

3. Sin embargo, al momento de hacer la captura se observa que algunas señales son adquiridas con
distorsión o simplemente no adquiridas. De acuerdo con ello, indique qué señales son capturadas con
estos inconvenientes (especificando tipo y frecuencia) justificando el problema presentado en cada
caso. (Recuerde que distorsión es cualquier alteración de la forma de onda original de la señal

Entrega del reporte


La entrega del reporte del primer laboratorio es hasta el viernes 26 de enero de 2024 al correo
institucional gmesonesm@uni.edu.pe, tomando en cuenta que en el cuerpo del correo deben consignarse
el nombre, apellido y código UNI, así como en la carátula debe apreciarse dicha información

Preparado por Dr. Gustavo Mesones Málaga

También podría gustarte