lunes, 14 de mayo de 2012

Sistemas Discretos y Continuos

Con los avances tecnológicos, tanto en electrónica como en computadoras, la mayoría de los sistemas de datos y de control automático, han evolucionado a procesadores digitales y sistemas que operan con computadoras, a los cuales se le conoce como SISTEMAS DISCRETOS.


Lo contrario de los SISTEMAS CONTINUOS, lo cual operan con señales analógicas y su principal característica es presentar continuidad (tanto en magnitud como en tiempo).
Ejemplo: manipulan la información mediante señales analógicas: 
voltaje, corriente, presión, temperatura, posición o alguna otra variable física.


TRANSFORMADA DE FOURIER EN UN PULSO

Graficando la funcion
f (r) = x * (sin (r * t / 2) / (r * t / 2))   Valores de t = 1, 5, 50  
usamos la funcion  F (r) = x * t * sinc (R * T / 2)

   

Código con t=1

 t = 1;
 x = 1;
 r = [-10:0.1:10];
 y = x * t * sinc ((r * t / 2));
 plot (r, y, '* negro " )
 la red de
 título ( "grafica de la funcion omega ' )
 xlabel ( 'r' )
 ylabel ( 'F (r) )



Codigo con t=5 


Codigo t=50

Sumatoria de Fourier

Programa de Matlab que grafique la aproximacion de esta funcion, dependiendo del numero N que se desee para limitar la sumatoria


Esta función se puede definir como x(t) = t , desde -1 a 1, con un periodo To=2

Procedemos a realizar un código en matlab que resuelva la integral de la función x(k) y haga la sumatoria para un determinado número de k y que finalmente gráfique x(t) de tal manera que sea muy similar a la función x(t) original.

Matlab Codigo:


clear all
clc
syms k
syms t

fxt=t; %Funcion x(t)=t
Ti=2; %Periodo de la función
w=(2*pi)/Ti;

fxki=fxt*exp(-1i*w*k*t);
fxk=(1/Ti)*int(fxki,-1,1);
disp(fxk); %Resultado de la funcion fxk

N=30; %Numero de sumatorias establecidas para la serie de Fourier
xt=0;

for kN=-N:1:N %Valor de K para cada evaluacion en N

    if kN==0
        xik=0; %Este valor se obtiene por L'Hopital ya que cuando k=0 se da una indeterminacion
    else
      xi=fxk*exp(1i*w*k*t);
      xik=subs(xi,k,kN);
    end
 
   disp(kN)
   disp(xik)
   xt=xt+xik; %Sumatoria de Fourier
end

disp(xt)%Resultado de x(t)

for ti=-2:0.005:2 %Intervalo de tiempo de la funcion
      xti=subs(xt,t,ti);
      plot(ti,xti)
      grid on
      hold on
      xlabel('Tiempo t')
      ylabel('Aproximación de x(t)')
      title('Sumatoria de Fourier para x(t)')  
end