Está en la página 1de 10

PRACTICA #4

LABORATORIO SEÑALES Y SISTEMAS

ESTUDIANTES:
ADRIAN GALVIS 1091404
OMAR CASTAÑEDA 1091445

DOCENTE:
ING. GLORIA ESMERALDA SANDOBAL

INGENIERIA ELECTROMECANICA
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
09 / 06 / 2020
6. EVALUACIÓN

A. Verificar el funcionamiento de las funciones fftseries y fftplot de la “ADSP Toolbox” y


concluir al respecto.

%% SERIE DE FOURIER EN TIEMPO CONTINUO - fftseries


ts = 0.005; %Intervalo de muestreo
w0 = 30*pi; %Frecuencia fundamental rad/seg
f0 = w0/(2*pi); %Frecuencia fundamental Hz
NT = 315; %Número de periodos a analizar
t = 0:ts:NT*(1/f0)-ts; %Variable de tiempo definida para 300 periodos
xt = 3*cos(w0*t+(pi/4)); %Generación de señal
NM = length(xt); %Longitud de la señal x(t) = Número de Muestras
y = fseries(fft(xt)); %Calculo de la serie de Fourier
y(abs(y)<max(abs(y))/NM) = 0; %Eliminación de ruido
EspMag = abs(y/NM); %Espectro de magnitud
%EspPha = angle(y/NM); %Espectro de fase en rad
EspPha = angle(y/NM)*180/pi; %Espectro de fase en grados
f = (-NM/2:NM/2-1)*(1/(NM*ts)); %Rango de frecuencia
subplot(2,1,1),plot(f,EspMag),grid on
xlabel('FRECUENCIA (Hz)'),ylabel('AMPLITUD'),title('ESPECTRO DE MAGNITUD
DE X(t)=3*Cos(30*pi*t+pi/4)')
subplot(2,1,2),plot(f, EspPha),grid on
xlabel('FRECUENCIA(Hz)'),ylabel('FASE (GRADOS)'),title('ESPECTRO DE FASE
DE X(t)=3*Cos(30*pi*t+pi/4)')
%% SERIE DE FOURIER EN TIEMPO CONTINUO - fftplot
ts = 0.005; %Intervalo de muestreo
w0 = 30*pi; %Frecuencia fundamental rad/seg
f0 = w0/(2*pi); %Frecuencia fundamental Hz
NT = 315; %Número de periodos a analizar
t = 0:ts:NT*(1/f0)-ts; %Variable de tiempo definida para 300 periodos
xt = 3*cos(w0*t+(pi/4)); %Generación de señal
NM = length(xt); %Longitud de la señal x(t) = Número de Muestras
y = fftplot(xt,ts); %Calculo de la serie de Fourier
y(abs(y)<max(abs(y))/NM) = 0; %Eliminación de ruido
EspMag = abs(y/NM); %Espectro de magnitud
%EspPha = angle(y/NM); %Espectro de fase en rad
EspPha = angle(y/NM)*180/pi; %Espectro de fase en grados
f = (-NM/2:NM/2-1)*(1/(NM*ts)); %Rango de frecuencia
subplot(2,1,1),plot(f,EspMag),grid on
xlabel('FRECUENCIA (Hz)'),ylabel('AMPLITUD'),title('ESPECTRO DE MAGNITUD
DE X(t)=3*Cos(30*pi*t+pi/4)')
subplot(2,1,2),plot(f, EspPha),grid on
xlabel('FRECUENCIAa (Hz)'),ylabel('FASE (GRADOS)'),title('ESPECTRO DE
FASE DE X(t)=3*Cos(30*pi*t+pi/4)')

De lo anterior se puede concluir que el comando fftseries no se está ejecutando de la


manera correcta, puesto que el programa muestra diferentes gráficas y también presenta
lags.
El comando ffplot si se puede ejecutar correctamente, el cual nos muestra la gráfica con
respecto a la magnitud y otra con respecto a la fase de la serie de Fourier.
B. Crear una función para cada una de las representaciones de Fourier que permita graficar los
espectros de magnitud y fase en función de la frecuencia para cualquier señal. Además, debe
graficar la versión reconstruida de la señal a partir de su representación de Fourier.

%TRANSFORMADA DE FOURIER
t=-1/2:0.01:1/2; %Intervalo
x=sin(2*pi*200*t+sin(2*pi*2*t));%señal
%figure(1); Representacion en el tiempo
subplot(3,1,1), plot(t,x);
title('X(t)=sin(2*pi*200*t+sin(2*pi*2*t))');
xlabel('TIEMPO "s" '); ylabel('X(t)');
% Transformada y representacion en frecuencia
Xt=fft(x);% Transformada rapida de fourier
X=fftshift(Xt);% Reordenando en frecuencia
Xm=abs(X);% Magnitud y fase de la transformada
Xf=unwrap(angle(X))*180/pi;
delta_t = t(2)-t(1);% Base de frecuencias
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
%figure(2);
subplot(3,1,2),plot(f,Xm); zoom;
title('TRANSFORMADA DE FOURIER DE X(t)');
xlabel('FRECUENCIA (Hz)'); ylabel('|X(jw)|');
% señal en el dominio del tiempo a partir de su transformada
%figure(3);Transformada inversa de fourier
xin=ifft(Xt);
subplot(3,1,3),plot(t,xin);
title('TRANSFORMADA INVERSA')
xlabel('TIEMPO "s" '); ylabel('X INVERSA(t)');
C. Crear una función que calcule los coeficientes de las representaciones de Fourier para
cualquier señal.

% PROGRAMA QUE OBTIENE LOS COEFICIENTES DE FOURIER PARA UNA SEÑAL


CUADRADA
tao= 2;
T = 6;
w0 = 2*pi/T;
% coeficientes
N = 7;
c0 = tao/T;
n=1:N;
cn = (tao/T)*sinc(n*tao/T);
w = [w0*n 0 -w0*n];%intervalo de frecuencia
modcn = [cn c0 cn];%amplitudes
subplot(2,1,1);%grafica cada amplitud
stem(w,modcn);
grid on;
axis([-N N 0 0.6]);%numero de coeficientes que se muestran
title(['COEFICIENTES DE FOURIER PARA N = ',num2str(N)]);
ylabel('VALORES cn'), ylim([-0.2,0.6]);
modcn = abs([cn c0 cn]);%magnitud de los coeficientes
subplot(2,1,2);%grafica cada amplitud
stem(w,modcn);
grid on;
axis([-N N 0 0.6]);%numero de coeficientes que se muestran
title(['MAGNITUD DE LOS COEFICIENTES DE FOURIER PARA N = ',num2str(N)]);
ylabel('VALORES |cn|'), ylim([-0.1,0.6]);
Conclusiones.

Mediante este trabajo se puede concluir que con la ayuda de Matlab podemos
representar las transformadas de Fourier en forma matemática y gráfica. Asi mismo se
pudieron observar cada una de las señales y las diferencias entre las mismas de forma
gráfica, para lograr entender las transformadas de Fourier de una forma más visible.
Por medio de los comandos de Matlab podemos determinar las transformadas de Fourier
de una señal, con esto y con ayuda de los ejemplos nos familiarizaremos con esta
herramienta de procesamiento.
Se tiene presente que las funciones fft, ifft y fftshift son propias de “MATLAB”, mientras
que fseries y fftplot son funciones de las cajas de herramientas “ADSP”.

También podría gustarte