Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ingeniería Económica
7 ’C’ Mecatrónica
luis perez
Integrantes
Luis Antonio Pérez Mogoyan
Myriam Palacios Castro
Lisset Flores Urbano
INDICE
1) Resumen
2) Marco Teórico.
3) Procedimiento
4) Resultados
5) Conclusiones
Resumen
Marco Teórico.
Señal analógica.
Una señal analógica es un tipo de señal generada por algún tipo de fenómeno
electromagnético; que es representable por una función matemática continua en la
que es variable su amplitud y periodo (representando un dato de información) en
función del tiempo. Algunas magnitudes físicas comúnmente portadoras de una
señal de este tipo son eléctricas como la intensidad, la tensión y la potencia, pero
también pueden ser hidráulicas como la presión y térmicas como la temperatura.
Una onda sinusoidal es una señal analógica de una sola frecuencia. Los voltajes de
la voz y del video son señales analógicas que varían de acuerdo con el sonido o
variaciones de la luz que corresponden a la información que se está transmitiendo.
Correlación cruzada
Cuando se habla del tratamiento digital de señales, el algoritmo FFT impone algunas
limitaciones en la señal y en el espectro resultante ya que la señal muestreada y
que se va a transformar debe consistir de un número de muestras igual a una
potencia de dos.
Procedimiento
3) Después de eso ambas señales entran a una función cross correlation para poder
ver las diferencias entre ambas señales después de eso la salida entra en la FFT
de la señal.
4) Después de eso entra en una división entre la constante de la velocidad del
sonido entre el resultado de lo obtenido de la FFT
Resultados
Código Matlab.
function proyectoV(fo)
filename='Digimon.wav'; %Nombre del archivo de sonido formato wav
(default: single tone)
if nargin==0
fo = 500;
[y,fs]=wavread(filename);
[Pxx,F]=psd(y(:,1),min([length(y) 1024*4]),fs);
[~,Max_ind] = max(Pxx);
else
%Graficar y = p1/(x+q1)
%Usar MATLAB polyfit:
% y = pl / (x + q1)
% y_inv = 1/y = (x + q1) / p1
% y_inv = (1/p1)*x^1 + (q1/p1)*x^0
% y_inv = c1*x^1 + c0*x^0
% then, p1 = 1/c1;
% q1 = co/c1;
C_Left = polyfit(x,1./y(:,1),1);
C_Right = polyfit(x,1./flipud(y(:,2)),1);
p1_Left = 1/C_Left(1);
q1_Left = C_Left(2) / C_Left(1);
p1_Right = 1/C_Right(1);
q1_Right = C_Right(2) / C_Right(1);
LeftMic_fit = 1./polyval(C_Left,x_fit);
RightMic_fit = 1./polyval(C_Right,x_fit);
subplot(2,2,3);
plot(x,y(:,1),'r.',x_fit,LeftMic_fit,'b');
legend('data','1/r fit')
ylabel('Left Mic');
subplot(2,2,4);
plot(x,flipud(y(:,2)),'r.',x_fit,RightMic_fit,'b');
legend('data','1/r fit',2)
ylabel('Right Mic');
set(gca,'XDir','reverse');
end;
% Guarda los datos
save whereisitconfiguration data fo LeftMic RightMic cal filename
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% LRetrieveData %%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
function [magnitude,data]=LRetrieveData(msgString,msgTitle,fo,filename)
Como conclusión pudimos observar durante el desarrollo del proyecto que podemos
realizar un desfasado de dos señales para poder encontrar una posición optima
para le seguidor de sonido; esto dando un algoritmo para que se pueda posicionar
al ángulo mas favorable de donde le llega la señal.