Está en la página 1de 10

Codificación:

Laboratorio 2
Número de
Páginas: Revisión No: 1
Laboratorio 2
Fecha Entrega: 29 octubre de
2019
Versión 1
Laboratorio de:
Señales y Sistemas
Título de la Práctica de Laboratorio:
Adquisición de datos en Matlab y procesamiento de Señales Reales

1. Desarrolle un programa en MATLAB para graficar la siguiente serie de


Fourier:

close all
clear all
clc

fs = 100; % sample frequency (Hz)


t = 0:1/fs:10-1/fs; % 10 second span time vector

n=5;
s=0;
for k=1:n

s=s+((3.5*cos(3*k*t))+(1.2*sin(3*k*t)));

end

plot(s)

1
2. Ejecute el siguiente script en MATLAB. ¿Qué es lo que hace este código?
Explíquelo brevemente en sus propias palabras. ¿Qué pasa si se cambia el
ultimo parámetro de la función fit() por ‘fourier8’ o ‘fourier 10’? Explique sus
conclusiones.

2
Ya montado el código, carga una serie de datos de ejempló del clima por defecto de
matlab y luego los grafica.

También calcula w y frecuencia.

3
En la primera grafica sale la curva de ajuste con la función fit que en este caso ajusto
Una especie de señal seno en los datos que están muy dispersos.

En la segunda grafica traza una línea de los datos mas altos y con flechas identifica
marca los picos que se encuentran en los puntos con la función “findpeaks”.

2.1 Si se modifica el comando furier en la función fit se observa:

Carga el modelo de los primeros ocho armónicos.

4
Calcula los coeficiente de cada armonico.

Calcula otra fecuencia y se puede denotar que ah crecido .

5
En esta grafica se observa como la funccion fit ajusta la suma de los armonico en los
datos que estan muy dispersos y notamos mas covertura de la transformada de furier.

6
La segunda grafica no se modifica .

2.2 En la teoria la transformada de furier se encarga ajusta a una señal periodica suma
de senos y cosenos para facilitar el analisis de esta, la calidad de analisis mejora
entre mas armonicos se le sumen a la transformada .

3. Ejecute el siguiente código en MATLAB y describa su funcionamiento en sus


propias palabras.

close all
clear all
clc

fs = 200; % sample frequency (Hz)


t = 0:1/fs:10-1/fs; % 10 second span time vector
x1=2*sin(2*pi/5*t);
x2=1*sin(2*pi*t);
x3=0.5*sin(2*pi/2*t);
plot(t, x1,t,x2,t,x3)
f2=figure
x=x1+x2+x3;
plot(t,x)
y = fft(x);
n = length(x); % number of samples
f = (0:n-1)*(fs/n); % frequency range
power = abs(y).^2/n; % power of the DFT
plot(f,power)
xlabel('Frecuencia')
ylabel('Mganitud')
xlim([-0.5 2])
grid on

En el código se esta creando tres señales senoidales de diferentes frecuencias y


amplitudes.

7
Después se crea una variable que suma las tres señales, luego se calcula la
transformada de furier de la nueva variable .

8
4. Ejecute el siguiente código para obtener el espectro de frecuencias de un
conjunto de señales:

close all
clear all
clc

%serie temporal
n=2^14;
dt=0.4;
t=(0:n-1)*dt; %vector de tiempos
x=cos(t)+0.5*cos(3*t)+0.4*cos(3.5*t)
+0.7*cos(4*t)+0.2*cos(6*t);
%amplitud-fase vs. frecuencias
g=fft(x);
power=abs(g).^2;
dw=2*pi/(n*dt);
w=(0:n-1)*dw; %vector de frecuencias angulares
plot(w,power)
xlabel('\omega')
ylabel('P(\omega)')
title('Espectro de potencia')

Señal espectro resultante.

9
5. Calcule la transformada de Fourier de la serie de Fourier de la serie obtenida
en el punto 1 de este laboratorio y usando como referencia el código del punto
3 o 4.

plot(s)
n= length(s);
x=zeros(n,1);

for k=0:n-1
for l=0:n-1

x(k+1)=x(k+1)+s(l+1)*exp((-j*2*pi/n)*(l*k));

end

end

figure

plot(x)

6. Utilice la señal que capturó del potenciómetro conectado al Arduino del


laboratorio anterior para hallar el espectro de frecuencia. Use el código del
punto 3 o 4 como referencia y escriba sus conclusiones al ver el espectro.

10

También podría gustarte