Sie sind auf Seite 1von 8

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA


UNIDAD CULHUACAN

ALUMNOS:
HERNNDEZ HERNNDEZ JOS GERMN.
MALDONADO CRUZ RUBN DARO.

PROFESOR:
MEZA HORTA FRANCISCO ELIAS.

5CV3

*** LA TRANSFORMADA DE FOURIER ***
OBJETIVOS:
En la primera seccin se presentan algunas rutinas de MatLab de inters en relacin con la
utilizacin de transformadas de Fourier.
En la primera de ellas se indica como representar el espectro de amplitudes y el de fases de una
funcin peridica expresada como serie de Fourier en su versin trigonomtrica. Los coeficientes
de los elementos han de ser obtenidos aparte y las funciones que los describen son datos en la
rutina de MatLab correspondiente. Podra considerarse en caso anlogo en el que sea parte de la
serie de Fourier en su versin exponencial. Sin embargo tal situacin es ignorada en este contexto,
y ello por dos motivos. Por una parte, a raz de lo expuesto el lector interesado puede deducir
fcilmente como efectuar la representacin correspondiente. Por otro lado, consideramos que la
versin trigonomtrica, en la que nicamente existen frecuencias positivas en el desarrollo de la
serie, es ms ajustada a la realidad fsica que la serie en trminos exponenciales, que incluye
frecuencias negativas. El primer apartado se complementa con la indicacin a cerca de como
reconstruir una seal peridica a partir de una serie de Fourier en trminos trigonomtricos.
El segundo apartado se refiere a la presentacin del mdulo de una funcin descrita mediante su
transformada de Fourier y a como calcular la energa de la seal correspondiente de acuerdo con
la teora de Parceval.
ESPECTROS Y RECONSTRUCCIN DE UNA SEAL.
Se han de facilitarlos siguientes datos ya que con estos datos la rutina calcula y representa los
mdulos y las fases de los distintos trminos:
Las expresiones matemticas que deben de definir el valor medio (av) o trmino inicial de
la serie y los coeficientes de desarrollo en serie de Fourier original (ak, bk).
El nmero de trminos de la serie han de ser tenidos en cuenta (n) adems del inicial.
El periodo de la funcin (TO).
El nmero de periodos de la funcin que han de ser representados en la grfica cuando se
efectu la reconstruccin de la seal.
El instante (tinicial) en que comienza el periodo ms prximo a t = 0.
RUTINA:
%%%%% COEFICIENTES DE FOURIER %%%%%%

clear all;

% Numero de terminos en la serie (entero, > 0) excluido av
n = 8;
k = 1: n;

% Coeficientes de la serie (Expresiones algebraicas de la funcion de K)
av = 7*pi; % (Constante real)
ak = (6./k).*sin((4/3)*pi*k);
bk = (6./k).*(1-cos((4/3)*pi*k));

% Periodo de la funcion (> 0)
TO = 0.12566;

% Numero de periodos a presentar (entero, > 0)
np = 4;

% Base de tiempos
tinicial = 0; % Instante inicial del primer periodo
inicial = tinicial - (np/2)*TO;
final = - inicial;
puntos = 1000;
t = i inspace (inicial, final, puntos);

% Calculo de modulos y faces
A = sqrt (ak.^2 + bk.^2);
fase = atan2 (bk, ak);

% Representacion de modulos
subplot (3, 1, 1);
stem (0, av);
grid on;
xlabel ('Componente', 'Fontname', 'Times', 'Fontsize', 14);
ylabel ('Dodulo', 'Fontname', 'Times', 'Fontsize', 14);
axis ([-0.5, n+0.5, -0.2*max(A), (3/2)*max(max(A)), av]);
hold on
stem (k, a(k));
title ('componentes de Fourier', 'Fontname', 'Times', 'Fontsize', 24);

% Representacion de las fases
subplot (3, 1, 2);
stem (k, (180/pi)*fase(k));
grid on;
xlabel ('Componente', 'Fontname', 'Times', 'Fontsize', 14);
ylabel ('Fase ()', 'Fontname', 'Times', 'Fontsize', 14);
axis ([-0.5, n+0.5, -(3/2)*abs(min((180/pi)*Fase)), (3/2)*abs((max(180/pi)*Fase))]);

% Seal Reconstruida
subplot (3, 1, 3);
senyal = av;
k = 1;
while k <= n
senyal = senyal + A(k)*cos((2*pi*k/TO)*t + Fase(k));
k = k+1;
end
plot (t, senyal, 'b', 'Linewidth', 2);
grid on;
xlabel ('Tiempo (s)', 'Fontname', 'Times', 'Fontsize', 14);
ylabel ('Seal', 'Fontname', 'Times', 'Fontsize', 14);
axis ([inicial, final, -(3/2)*abs(min(senyal)), (3/2)*abs((max(senyal))]);

clear all; % Elimina las variables utilizadas en esta rutina

OBSERVACIONES:

Atan (y/x), reduce todos los ngulos al intervalo comprendido entre /2 y /2. Todas las
instrucciones trigonomtricas, tanto directas como inversas, operan con ngulos expresadas en
radianes.

A partir de los clculos realizados la rutina presenta por separado los espectros de amplitudes y de
fases.

Finalmente la rutina reconstruye la seal original mediante un bucle en que cada ciclo se va
aadiendo un nuevo trmino a la serie hasta completar todos los especificados. La serie de Fourier
es el equivalente de un tren peridico de pulsos rectangulares.

La calidad de la reconstruccin de una seal peridica a partir de su serie de Fourier depende del
nmero de trminos que contenga la serie.






INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD CULHUACAN

ALUMNOS:
HERNNDEZ HERNNDEZ JOS GERMN.
MALDONADO CRUZ RUBN DARO.

PROFESOR:
MEZA HORTA FRANCISCO ELIAS.

5CV3

*** MODULO DE LA TRANSFORMADA DE FOURIER ***
La rutina que se presenta en este aparato permite representar el mdulo de transformada de
Fourier de una funcin no peridica.
La transformacin de Fourier ha de ser definida por el usuario en una funcin (funefourier). Como
puede observarse, esta funcin tiene dos entradas:
El rango de frecuencias, definido en la rutina principal.
Un nmero cualquiera. Si este nmero es 1, la funcin devuelve el mdulo de la
transformada de Fourier, en cualquier otro caso, devuelve el cuadro de dicho modulo.
El usuario puede definir el tipo de variacin (lineal o logartmica) de la frecuencia angular, tomada
como eje de abscisas de la representacin. La instrumentacin para efectuar la representacin
(plot o semilogx) ha de ser coherente con tal definicin.
La rutina principal tambin calcula la energa de la seal cuando est conectada a una resistencia
de 1 (ohm), para lo que utiliza el teorema de Parseval. La frmula que determina la energa se
implementa mediante la instruccin.
quad('funtion', vinicial, vfinal, [], {}) %Instruccin de integracin .
% function; %nombre de la funcin a integrar.
% vinicial, vfinal; %lmite inferior y superior de la integral.
% []; %parmetro relacionado con la precisin del clculo.

Como puede observarse, en la rutina que sigue se aade un parmetro (2) a la instrumentacin
para calcular la integral. Es el parmetro que, de acuerdo con lo indicado anteriormente,
selecciona la salida de la subrutina de funcin que interesa (el cuadro del mdulo en este caso).
Obviamente, el usuario ha de especificar los lmites de la integracin. Se sugiere al lector que
preste atencin a la forma en la que en la subrutina de funcin se establece el resultado que
aquella ha de entregar a la rutina principal.

FUNCION PRINCIPAL:

function x = funcfourier (w, tipo)
A = 120;
c = 24;
trans = A./(c + i*w);
if (tipo == 1)
x = abs(trans);
else
x = abs(trans)).^2;
end
return;

RUTINA:

%%%% TRANSFORMADA DE FOURIER %%%%%

clear all: % Elimina variables utilizadas en otras rutinas

% Rango de frecuencias
inicial = -3; final = 3; puntos = 1000;
w = linspace (inicial, final, puntos); % Lineal
% w= logspace(inicial, final, puntos); % logartmico

% Representacin grafica
modulo = funcfourier (w, 1);
plot(w, modulo, 'b', 'LineWidth', 2); % Lineal
% semilogx(w, modulo, 'b', 'LineWidth', 2); % Logartmico
grid on;
xlabel ('Frecuencia angular (rad/s)', 'FontName', 'Times', 'Fontsize', 14);
Ylabel ('Modulo', 'FontName', 'Times', 'Fontsize', 14);
axis([w(1), w(puntos), -(1/4)*max(modulo), (3/2)*max(modulo)]);

% Energa de la funcin
vinicial = 24; % Extremo inferior de la integracin (>0)
vfinal = 48; % Extremo superior de la integracin
ener = quad('funcfourier', vinicial, vfinal, [], [], 2)/pi

clear all: % Elimina las variables utilizadas en esta rutina









LA RUTINA Y LA SUBRUTINA INDICADAS PROPORCIONAN EL SIGUIENTE RESULTADO:

% Rango de frecuencias
inicial = -3; final = 3; puntos = 1000;
w = linspace (inicial, final, puntos); % Lineal
% w= logspace(inicial, final, puntos); % logartmico












% Rango de frecuencias
inicial = -500; final = 500; puntos = 1000;
w = linspace (inicial, final, puntos); % Lineal
% w= logspace(inicial, final, puntos); % logartmico










% Rango de frecuencias
inicial = -500; final = 500; puntos = 1000;
w = linspace (inicial, final, puntos); % Lineal
% w= logspace(inicial, final, puntos); % logartmico












% Rango de frecuencias
inicial = -100; final = 100; puntos = 1000;
w = linspace (inicial, final, puntos); % Lineal
% w= logspace(inicial, final, puntos); % logartmico









% Rango de frecuencias
inicial = -30; final = 30; puntos = 1000;
w = linspace (inicial, final, puntos); % Lineal
% w= logspace(inicial, final, puntos); % logartmico

Das könnte Ihnen auch gefallen