Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MATLAB SORIA
Nombre: Oscar Rodriguez
Nivel: Quinto Carrera: Electrnica e Instrumentacin
Fecha: 20/06/17 Paralelo: A
FILTRO
En este punto se implementar a un sistema digital que realice un moving-average",
cuyo orden de promediado se pasa al programa. Se comprueba el funcionamiento
del sistema usando como entrada la suma de sinusoides de frecuencias 50, 100 y
125Hz (frecuencia de muestreo igual a 500 Hz), usando como rdenes del
promediado 4, 10 y 20. Se explicar el resultado en funcin de la posicin de polos
y ceros de la transformada Z del sistema.
CODIGO
N=input('Longitud de la secuencia a filtrar');
mu=input('Parametro del sistema'); x=cos(2*pi*0.1*(0:N-1));
%salida usando la respuesta de frecuencia ycom=1/[1-
mu*exp(-0.2*pi*j)]; y=abs(ycom)*cos(0.2*pi*(0:N-
1)+angle(ycom)); %salida usando la ecuacion en diferencias
yy=zeros(1,N);
yy(1)=x(1); for
t=2:N,
yy(t)=x(t)+mu*yy(t-1);
end
%representacion de secuencias
subplot(2,1,1),stem(y,'o-')
SEGUNDA DERIVADA
uk=2*pi*t/256;
x=x+cos(uk*((1:256)-129));
end
%determinacion de la salida
y=zeros(1,256);
y(1)=x(1); for
k=2:256,
y(k)=-a*x(k)+x(k-1)+a*y(k-1);
end subplot(2,1,1)
stem(-128:127,x)
title('seal de entrada')
subplot(2,1,2) stem(-128:127,y)
title('seal de salida')
PROCESAMIENTO DIGITAL DE SEALES
CODIGO
clc clear
close all
a=0.9;
uk=2*pi*t/256;
x=x+cos(uk*((1:256)-129));
end
%determinacion de la salida
y=zeros(1,256); yy=[zeros(1,19) x];
end subplot(121),stem(-128:127,x)
title('seal de entrada') grid
hold on subplot(122),stem(-128:127,y,'o-') grid
title('seal de salida')
PROCESAMIENTO DIGITAL DE SEALES
OSCILADOR
Xk=1./(1-a*exp(-j*v));
xx=ifft(Xk); xx=real(xx);
subplot(2,1,1) stem(a.^(0:N-
1),'o-') title('SEAL ORIGINAL')
subplot(2,1,2)
stem(xx,'o-')
title('SEAL OBTENIDA DEL MUESTREO')
xlabel('Muestras')
PROCESAMIENTO DIGITAL DE SEALES
EFECTO DE AUDIO
A la hora de implementar este eco en MATLAB hay que introducir tres parmetros:
la seal a filtrar, el retardo D y el factor de ganancia k. El siguiente programa
implementa este tipo de eco:
CODIGO
close all clc
f1=90;
f2=100;
f3=240;
f4=360;
fm=input('Frecuencia de muestreo(Hz)='); tt=input('Duracion del
muestreo(ms)='); N=input('Longitud de la DTF aumentada =');
t=(fm*tt)*0.001; x1=cos(2*pi*(f1/fm)*(0:t-1))+cos(2*pi*(f2/fm)*(0:t-1));
x2=x1+cos(2*pi*(f3/fm)*(0:t-1))+cos(2*pi*(f4/fm)*(0:t-1)); y=fft(x2);
t1=0:(fm/t):fm-(fm/t); plot(t1,abs(y),'*-r');
yy=fft(x2,N);
hold on t2=0:(fm/N):fm-(fm/N);
plot(t2,abs(yy),'+-k')