Matlab Alflok Fourier

28
UNIVERSIDAD TECNOLOGICA DE BOLIVAR SEÑALES Y SISTEMAS Alfonso Luis Ochoa Diaz T00017588 EDUARDO GOMEZ CARTAGENA DE INDIAS, DISTRITO TURISTICO Y COMERCIAL 2014

description

ejercicio de matlab

Transcript of Matlab Alflok Fourier

  • UNIVERSIDAD TECNOLOGICA DE BOLIVAR

    SEALES Y SISTEMAS

    Alfonso Luis Ochoa Diaz T00017588

    EDUARDO GOMEZ

    CARTAGENA DE INDIAS, DISTRITO TURISTICO Y COMERCIAL 2014

  • % exp(-t), 0
  • figure %Se grafica en una nueva ventana clear a ex ; %elimina variables que ya no se vayan a utilizar, en este

    caso a y ex for k=-1:1 %Se declara un ciclo for desde -1 hasta 1, con el fin de

    definir un tamao a(k+2)=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T);%Se define la funcion

    integral end %Se finaliza el ciclo for for k=-1:1 %Se declara un ciclo for desde -1 hasta 1, con el fin de

    definir un tamao ex(k+2)=exp(j*k*w*t); %se define la funcion exponencial end %Se finaliza el ciclo for xx=sum(a.*ex);%Se define una sumatoria ezplot(xx,[t0 t0+T]);%Dibuja o grafica en intervalos adecuados title('Approximation with 3 terms')

    figure %Se grafica en una nueva ventana for k=-5:5 %Se declara un ciclo for desde -5 hasta 5, con el fin de

    definir un tamao a(k+6)=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T); %Se define la funcion

    integral end %Se finaliza el ciclo for for k=-5:5 %Se declara un ciclo for desde -5 hasta 5, con el fin de

    definir un tamao ex(k+6)=exp(j*k*w*t); %se define la funcion exponencial end %Se finaliza el ciclo for xx=sum(a.*ex);%Se define una sumatoria ezplot(xx,[t0 t0+T]);%Dibuja o grafica en intervalos adecuados title('Approximation with 11 terms')

  • figure %Se grafica en una nueva ventana for k=-20:20 %Se declara un ciclo for desde -20 hasta 20, con el fin de

    definir un tamao a(k+21)=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T); %Se define la funcion

    integral end %Se finaliza el ciclo for for k=-20:20 %Se declara un ciclo for desde -20 hasta 20, con el fin de

    definir un tamao ex(k+21)=exp(j*k*w*t); %se define la funcion exponencial end %Se finaliza el ciclo for xx=sum(a.*ex);%Se define una sumatoria ezplot(xx, [t0 t0+T]);%Dibuja o grafica en intervalos adecuados title('Approximation with 41 terms')

    2.) %book: Signals and Systems Laboratory with MATLAB %by Alex Palamides & Anastasia Veloni % how to plot the FS coefficients %x(t)=exp(-t),0

  • figure %Se grafica en una nueva ventana

    stem(k1,angle(ak));%Nos muestra una grafica en tiempo discreto legend(' \angle a_k, k=-6:6') %Le coloca una etiqueta o nombre en la

    grafica

    figure %Se grafica en una nueva ventana

    k2=-40:40;%se define un vector con su inicio y fin ak2=subs(a,k,k2);%Substituye en a la k por k2 stem(k2,abs(ak2)); %Nos muestra una grafica en tiempo discreto legend('|a_k| k=-40:40') %Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana stem(k2,angle(ak2)); %Nos muestra una grafica en tiempo discreto legend('\angle a_k k=-40:40') %Le coloca una etiqueta o nombre en la

    grafica

  • % trigonometric coefficients figure %Se grafica en una nueva ventana a0=(1/T)*int(x,t0,t0+T) %Se define una integral stem(0,eval(a0)) ; %Nos muestra una grafica en tiempo discreto legend('a_0') %Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana b=(2/T)*int(x*cos(n*w*t),t,t0,t0+T) %Se define una integral n1= 1:10;%se define un vector con su inicio y fin bn=subs(b,n,n1);%Substituye en b la n por n1 stem(n1,bn);%Nos muestra una grafica en tiempo discreto legend('b_n') %Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana n11=1:40;%se define un vector con su inicio y fin bn1=subs(b,n,n11);%Substituye en b la n por n11 stem(n11,bn1);%Nos muestra una grafica en tiempo discreto legend('b_n n=1:40') %Le coloca una etiqueta o nombre en la grafica

  • figure %Se grafica en una nueva ventana c=(2/T)*int(x*sin(n*w*t),t,t0,t0+T);%Se define una integral n2=1:10;%se define un vector con su inicio y fin cn=subs(c,n,n2);%Substituye en c la n por n2 stem(n2,cn);%Nos muestra una grafica en tiempo discreto legend('c_n')%Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana n21=1:40;%se define un vector con su inicio y fin cn1=subs(c,n,n21); %Substituye en c la n por n21 stem(n21,cn1);%Nos muestra una grafica en tiempo discreto legend('c_n n=1:40') %Le coloca una etiqueta o nombre en la grafica

    % coefficients of the cosine with phase form figure %Se grafica en una nueva ventana A=sqrt(b^2+c^2);%Define la funcion Raiz cuadrada n1=1:6; %se define un vector con su inicio y fin An=subs(A,n,n1); %Substituye en A la n por n1 stem(n1,An); %Nos muestra una grafica en tiempo discreto legend('A_n n=1:6') %Le coloca una etiqueta o nombre en la grafica

  • figure %Se grafica en una nueva ventana n11=1:40;%se define un vector con su inicio y fin An1=subs(A,n,n11);%Substituye en A la n por n11 stem(n11,An1); %Nos muestra una grafica en tiempo discreto legend('A_n n=1:40') %Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana thita=-atan(c/b);%Define la funcion tangente inversa n1=1:6;%se define un vector con su inicio y fin thitan=subs(thita,n,n1);%Substituye thita la n por n1 stem(n1,thitan);%Nos muestra una grafica en tiempo discreto legend('\theta_n') %Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana thita2=atan2(-cn,bn);%Define la funcion tangente inversa stem(n1,thita2(1:6))%Nos muestra una grafica en tiempo discreto legend('\theta_n using atan2')%Le coloca una etiqueta o nombre en la

    grafica

  • figure %Se grafica en una nueva ventana n11=1:40;%se define un vector con su inicio y fin thitan1=subs(thita,n,n11);%Substituye thita la n por n11 stem(n11,thitan1);%Nos muestra una grafica en tiempo discreto legend('\theta_n n=1:40')%Le coloca una etiqueta o nombre en la grafica

    figure %Se grafica en una nueva ventana thita21=atan2(-cn1,bn1);%Define la funcion tangente inversa stem(n11,thita21(1:40))%Nos muestra una grafica en tiempo discreto legend('\theta_n using atan2')%Le coloca una etiqueta o nombre en la

    grafica

    3.) %x(t)=t^2 +j*2*t syms t %Define una variable simbolica t0=0;%Se define una variable to T=10;%Se define una variable T w=2*pi/T;%Se define una funcion que depende de una de las variables

    anteriores x= t^2 +j*2*t;%Se define una funcion exponencial compleja subplot(211);%grafica en una misma ventana ezplot(real(x),[t0 T]);%Dibuja o grafica en intervalos adecuados title ('Real part of x(t)');%Le coloca un titulo a la grafica subplot(212);%grafica en una misma ventana ezplot(imag(x),[t0 T]);%Dibuja o grafica en intervalos adecuados title ('Imaginary part of x(t)');%Le coloca un titulo a la grafica

  • %complex exponential FS figure %approximation for k=-2:2 %Se declara un ciclo for desde -2 hasta 2, con el fin de

    definir un tamao a(k+3)=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T);%Se define una integral ex(k+3)=exp(j*k*w*t); %Se define una funcion exponencial compleja end %Se finaliza el ciclo for xx=sum(a.*ex); %Se define la funcion sumatoria subplot(211);%grafica en una misma ventana ezplot(real(xx),[t0 T]);%Dibuja o grafica en intervalos adecuados title ('Real part of xx(t)');%Le coloca un titulo a la grafica subplot(212);%grafica en una misma ventana ezplot(imag(xx),[t0 T]);%Dibuja o grafica en intervalos adecuados title ('Imaginary part of xx(t)');%Le coloca un titulo a la grafica

    figure %approximation for k=-20:20 %Se declara un ciclo for desde -20 hasta 20, con el fin de

    definir un tamao a(k+21)=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T);%Se define una integral ex(k+21)=exp(j*k*w*t); %Se define una funcion exponencial compleja end %Se finaliza el ciclo for xx=sum(a.*ex);%Se define la funcion sumatoria subplot(211);%grafica en una misma ventana ezplot(real(xx),[t0 T]);%Dibuja o grafica en intervalos adecuados title ('Real part of xx(t)');%Le coloca un titulo a la grafica subplot(212);%grafica en una misma ventana

  • ezplot(imag(xx),[t0 T]);%Dibuja o grafica en intervalos adecuados title ('Imaginary part of xx(t)');%Le coloca un titulo a la grafica

    figure %coefficients a1=eval(a) %Funcion que evalua la variable a subplot(211);%grafica en una misma ventana stem(-20:20,abs(a1));%Nos muestra una grafica en tiempo discreto legend ('|a_k| ,k=-20:20') %Le coloca una etiqueta o nombre en la grafica subplot(212);%grafica en una misma ventana stem(-20:20,angle(a1));%Nos muestra una grafica en tiempo discreto legend ('\angle a_k ,k=-20:20') %Le coloca una etiqueta o nombre en la

    grafica

    %trigonometric FS figure %approximation a0=(1/T)*int(x,t,t0,t0+T);%Se define una integral for n=1:4 %Se declara un ciclo for desde 1 hasta 4, con el fin de definir

    un tamao b(n)=(2/T)*int(x*cos(n*w*t),t,t0,t0+T);%Se define una integral c(n)=(2/T)*int(x*sin(n*w*t),t,t0,t0+T);%Se define una integral end %Se finaliza el ciclo for k=1:4;%se define un vector con su inicio y fin xx=a0+sum(b.*cos(k*w*t))+sum(c.*sin(k*w*t)) subplot(211); %grafica en una misma ventana ezplot(real(xx), [t0 T]);%Dibuja o grafica en intervalos adecuados title('Real part of xx(t)');%Le coloca un titulo a la grafica

  • subplot(212); %grafica en una misma ventana ezplot(imag(xx), [t0 T]);%Dibuja o grafica en intervalos adecuados title('Imaginary part of xx(t)');%Le coloca un titulo a la grafica

    figure %approximation a0=(1/T)*int(x,t,t0,t0+T);%Se define una integral for n=1:20 %Se declara un ciclo for desde 1 hasta 20, con el fin de

    definir un tamao b(n)=(2/T)*int(x*cos(n*w*t),t,t0,t0+T);%Se define una integral c(n)=(2/T)*int(x*sin(n*w*t),t,t0,t0+T);%Se define una integral end %Se finaliza el ciclo for k=1:20;%se define un vector con su inicio y fin xx=a0+sum(b.*cos(k*w*t))+sum(c.*sin(k*w*t)) subplot(211); %grafica en una misma ventana ezplot(real(xx), [t0 T]);%Dibuja o grafica en intervalos adecuados title('Real part of xx(t)');%Le coloca un titulo a la grafica subplot(212); %grafica en una misma ventana ezplot(imag(xx), [t0 T]);%Dibuja o grafica en intervalos adecuados title('Imaginary part of xx(t)');%Le coloca un titulo a la grafica

  • 4.) % FS of periodic signals %x(t)= 1, 0
  • a=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T) %Se define una integral xx=sum(a.*exp(j*k*w*t)) %Se define una sumatoria ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados

    title('approximation with 5 terms') %Le asigna un titulo a la grafica

    figure %Abre una nueva ventana de grafico k=-5:5;%Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T); %Se define una integral xx=sum(a.*exp(j*k*w*t)); %Se define una sumatoria ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title('approximation with 11 terms') %Le asigna un titulo a la grafica

    figure %abre una nueva ventana de grafico k=-10:10;%Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T);%Define una integral xx=sum(a.*exp(j*k*w*t)); %Define una sumatoria ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title('approximation with 21 terms')% Le coloca un titulo a la grafica

  • figure %Abre una nueva ventana de grafico k=-30:30;%Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T);%Define una integral xx=sum(a.*exp(j*k*w*t));%Define una sumatoria ezplot(xx,[0 10])%Dibuja o grafica en intervalos adecuados title('approximation with 61 terms')%Le asiga un titulo a la grafica

    %trigonometric FS figure %Abre una nueva ventana de grafico a0=(1/T)*int(x,t0,t0+T);%Define una integral n=1:2;%Se define un vector con su inicio y fin b=(2/T)*int(x*cos(n*w*t),t,t0,t0+T); %Define una integral c=(2/T)*int(x*sin(n*w*t),t,t0,t0+T);%Define una integral xx=a0+sum(b.*cos(n*w*t))+sum(c.*sin(n*w*t));%Se hace una suma de

    sumatorias ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title('approximation with 3 terms') %Le asigna un titulo a la grafica

  • figure %Abre una nueva ventana de grafico n=1:5;%Se define un vector con su inicio y fin b=(2/T)*int(x*cos(n*w*t),t,t0,t0+T); %Define una integral c=(2/T)*int(x*sin(n*w*t),t,t0,t0+T); %Define una integral xx=a0+sum(b.*cos(n*w*t))+sum(c.*sin(n*w*t)); %Se hace una suma de

    sumatorias ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title(' approximation with 6 terms') %Le asigna un titulo a la grafica

    figure %Abre una nueva ventana de grafico n=1:40;%Se define un vector con su inicio y fin b=(2/T)*int(x*cos(n*w*t),t,t0,t0+T); %Define una integral c=(2/T)*int(x*sin(n*w*t),t,t0,t0+T); %Define una integral xx=a0+sum(b.*cos(n*w*t))+sum(c.*sin(n*w*t)); %Se hace una suma de

    sumatorias ezplot(xx,[0 10])%Dibuja o grafica en intervalos adecuados title('approximation with 41 terms')%Le coloca un titulo a la grafica

  • %FS in cosine with phase form figure %Abre una nueva ventana de grafico for n=1:2%Se define un ciclo que da un tamao con su inicio y fin A(n)=sqrt(b(n)^2+c(n)^2);%Define la raiz cuadrada thita(n)=atan2(-eval(c(n)),eval(b(n))); %se declara una variable end %Se finaliza el ciclo k=1:2; %Se define un vector con su inicio y fin xx=a0+sum(A.*cos(k*w*t+thita)) %Se define una sumatoria ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title('approximation with 3 terms') %Le coloca un titulo a la grafica

    figure %abre una nueva ventana de grafico for n=1:5 %Define un ciclo para y define un vector A(n)=sqrt(b(n)^2+c(n)^2); %Define la funcion raiz cuadrada thita(n)=atan2(-eval(c(n)),eval(b(n))); %Define una variable end %se finaliza el ciclo k=1:5; %Se define un vector con su inicio y fin xx=a0+sum(A.*cos(k*w*t+thita));%Se define una sumatoria ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title('approximation with 6 terms') %Le coloca titulo a la grafica figure %abre una nueva ventana de grafico for n=1:40 %Define un ciclo para y define un vector A(n)=sqrt(b(n)^2+c(n)^2);%Define la funcion raiz cuadrada thita(n)=atan2(-eval(c(n)),eval(b(n)));%Se define una varibale end %Se finaliza el ciclo k=1:40; %Se define un vector con su inicio y fin xx=a0+sum(A.*cos(k*w*t+thita));%Se define una sumatoria ezplot(xx,[0 10]) %Dibuja o grafica en intervalos adecuados title('approximation with 41 terms') %Le coloca un titulo a la grafica

    5.) % line spectra %x(t)= -1,-1

  • stem(wk,abs(eval(a))) %Dibuja o grafica seales discretas legend('Magnitude spectrum k=-5:5') %Le coloca una etiqueta a la grafica xlabel('\Omega') %Controla las propiedades del eje x

    figure %Abre una nueva ventana de grafico stem(wk,angle(eval(a))*180/pi) %Dibuja o grafica seales discretas legend('Phase spectrum k=-5:5') %Le coloca una etiqueta a la grafica xlabel('\Omega') %Controla las propiedades del eje x ylabel('degrees') %controla las propiedades del eje y

    figure %abre una nueva ventana de grafico k=-40 :40 ; %Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T) ; %Se define la funcion integral wk=w*k %Se define una variable stem(wk,abs(eval(a))) %Dibuja o grafica seales discretas legend(' Magnitude spectrum k=-40:40') %Le coloca una etiqueta a la

    grafica xlabel('\Omega') %Controla las propiedades del eje x

  • figure %Abre una nueva ventana de grafico stem(wk,angle(eval(a))*180/pi) %Dibuja o grafica seales discretas legend(' Phase spectrum k=-40:40') %Le coloca una etiqueta a la grafica xlabel('\Omega') %Controla las propiedades del eje x ylabel('degrees') %controla las propiedades del eje y

    6.) %Fourier Transfrom and inverse Fourier Transfrom of various functions % the order of the operations is a little different %from the order that they appear on the book %F{exp(-t^2)} syms t w %Declara dos variables simbolicas t w x=exp(-t^2); %Define la funcion exponente fourier(x) %Declara la funcion fourier de x

    int(x*exp(-j*w*t),t,-inf,inf) %Define la funcion integral

    %F^-1{1/(1+j*w)} X=1/(1+j*w); %Se define una variable ifourier(X) %Declara la funcion fourirer de x

    X=1/(1+j*w); %Se define una variable ifourier(X,t) %Declara la funcion fourier de x,t

    syms n %Declara una variable simbolica n X=1/(1+j*w);%Se define una variable ifourier(X,n) %Declara la funcion fourier de x,n

    %F{exp(-t)*u(t)} syms t w %Declara dos variables simbolicas t w x=exp(-t)*heaviside(t); %Define la funcion escalon X=fourier(x,w) %Declara la funcion fourier de x,w

    %F{1} x=1;%Se define una variable fourier(x,w) %Declara la funcion fourier de x,w syms s %Declara una variable simbolica s fourier(x,s) %Declara la funcion fourier de x,s fourier(x) %Declara la funcion fourier de x

  • 7.) %Fourier Transfrom properties % convolution %x1(t)=u(t)-u(t-2) and x2(t)=u(t)-u(t-4) % F^-1{X1(w)X2(w)} syms t w %Se definen dos variables simbolicas t w x1=heaviside(t)-heaviside(t-2); %Se define una resta de escalones x2=heaviside(t)-heaviside(t-4); %Se define una resta de escalones X1=fourier(x1,w); %Se define la funcion fourirer X2=fourier(x2,w); %Se define la funcion fourirer right =ifourier(X1*X2,t); ezplot(right,[0 8]); %Dibuja o grafica en intervalos adecuados

    % convolution of x1(t) with x2(t) figure %Abre una nueva ventana de grafico t1=0:.01:2; %Se define un vector con su inicio, incremento y fin t2=2.01:.01:4; %Se define un vector con su inicio, incremento y fin x1=[ones(size(t1)) zeros(size(t2))]; %Se declara un vector de componentes

    una matriz de unos de tamao t1 y una matriz de ceros de tamao t2 x2=ones(size([t1 t2])); %Se define una matriz de unos del tamao del

    vector [t1 t2] y=conv(x1,x2)*.01; %Se define la funcion convolucion plot(0:.01:8,y); %Dibuja o grafica seales continuas

    8.) %Symmetry %x(t)=exp(-2t)u(t) % X(w) syms t w %Define dos variables simbolicas t w x=exp(-2*t) *heaviside(t); %Define la funcion exponente multiplicada por

    un escalon X=fourier(x,w); %Define la funcion transformada de fourier de las

    variables simbolicas anteriormente decalaradas

    % Re{X(w)}+jIm{X(w)} Xre=real(X); %Muestra la parte real de x Xim=imag(X); %Muestra la parte imaginaria de x Right=Xre+j*Xim; %Se define una variable

    % Re{X(-w)} X_w=subs(X,w,-w); %Reemplaza todas las vairbales sombolicas por x,w,-w Left=real(X_w) %muestra la parte deal de la variable anteriormente

    definida % Re{X(w)} Right=real(X) %Muestra la parte real de x

    % Im{X(-w)} Left=imag(X_w); %Muestra la parte imaginaria de la variable X_w % -Im{X(w)} Right=-imag(X); %Muestra la parte imaginaria negativa de x A=Left-Right; %Se define una variable A=subs(A,conj(w),w); %Se reemplazan las variables simbolicas por a,

    conj(w), w simplify(A) %Se simplifica el valor obtenido en la variable A % X(-w) X_w=subs(X,w,-w) %Se reemplazan las variables simbolicas por X,w,-w

  • % conj(X(w)) %Define la conjugada de X(w) Xc=conj(X); %Define la conjugada de (x) Xc=subs(Xc,conj(w),w) %Reemplaza las variables simbolicas por xc,

    conj(w), w

    9.) %Parseval's Theorem %x(t)=exp(-t^2) syms t w %Define las variables simbolicas t w x=exp(-t^2); %Define la funcion exponente Et=int((abs(x))^2,t,-inf,inf) ; %Define la funcion integral eval(Et) %Evalua et X=fourier(x,w); %define la funcion transformda de Fourier de x,w Ew=(1/(2*pi))*int((abs(X))^2,w,-inf,inf); %Define la multiplicacion de

    una funcion exponencial con una integral eval(Ew) %Evalua Ew

    %x(t)=exp(-t)u(t) x=exp(-t) *heaviside(t); %Define la multiplicacion de la funcion

    exponencial por la funcion escalon Et=int((abs(x))^2,t,-inf,inf) %Define la funcion integral X=fourier(x,w); %Define la funcion transformada de fourier de x,w Integ= int((abs(X))^2,w,-inf,inf); %Define la funcion integral Ew=(1/(2*pi))*Integ; %Se decalra una variable eval(Ew) %Se evalua Ew

    10.) % DTFT of a discrete time signal x[n] %x[n]=0.8^n , 0

  • figure %Abre una nueva ventana de grafico ezplot(abs(X),[-5*pi 5*pi]); %Dibuja o grafica en intervalos adecuados title('Magnitude of DTFT in 5 periods') %Le coloca un titulo a la grafica ylim([0 5.8]) %Define los limites del eje y figure %abre una nueva ventana de grafico w1=-5*pi:.01:5*pi; %Define un vector con su inicio, incremento y fin XX=subs(X,w,w1); %Reemplaza las variables simbolicas por X,w,w1 plot(w1,angle(XX)); %Dibuja o grafica seales continuas xlim([-5*pi 5*pi]) %Define los limites del eje x title(' Phase of DTFT in 5 periods') %Le coloca un titulo a la grafica

    %x[n]=0.8^n u[n] figure %Abre una nueva ventana de grafico syms n w %Define las variables simbolicas n w x=0.6^n %Define una variable X=symsum(x*exp(-j*w*n),n,0,inf) %Define una suma de series exponenciales

    complejas respecto a n w1=-pi:.01:pi;%Define un vector con su inicio, incremento y fin X_=subs(X,w,w1); %reemplaza las variables simbolicas por X,w,w1 plot(w1,abs(X_)); %Dibuja o grafica seales continuas legend('|X(\omega)|') %Le coloca una etiqueta a la grafica xlim([-pi pi]) %Define los limites del eje x figure %Abre una nueva ventana de grafico plot(w1,angle(X_)); %Dibuja o grafica seales continuas xlim([-pi pi]) %define los limites del eje x legend('\angle X(\omega)') %Le coloca una etiqueta a la grafica

  • 11.) % Parseval's Theorem %x[n]=0.6^n u[n] syms n w %Define las variables simbolicas n w a=0.6; %Le asigna un valor numerico a la variable a x=a^n; %Se define una variable E=symsum(abs(x)^2,n,0,inf); %Realiza una sumatoria en series con respecto

    a n E=eval(E) %Evalua E X=1/(1-a*exp(-j*w)); %Se define una funcion exponencial compleja Esd=abs(X)^2; %Indica el valor absoluto de la variable definida

    anteriormente E=1/(2*pi)*int(Esd,w,-pi,pi); %Define la funcion integral multipplicada

    por una variable E=eval(E) %Evalua E

    12.) % Discrete Fourier Transform X(k) % DFT of x[n]=[1,2,2,1], n=0,1,2,3 x=[1 2 2 1]; %Define un vector de componentes 1 2 2 1 N=length(x); %Asigna a N la longitud del vector x for k=0:N-1 %Se define un ciclo para donde se indica el tamao de un

    vector con su inicio y fin for n=0:N-1 %Se define otro ciclo for donde se indica el tamo de un

    vector con su inicio y fin X(n+1)=x(n+1)*exp(-j*2*pi*k*n/N); %Se define la funcion exponente end %Se finaliza uno de los ciclos para Xk(k+1)=sum(X); %Se asigna el valor de la suma de los elementos del

    vector X end %Se finaliza uno de los ciclos para Xk mag=abs(Xk); %Define el valor absoluto de Xk stem(0:N-1,mag); %Dibuja o grafica seales discretas legend ('|X_k|') %Le asigna una etiqueta a la grafica xlim([-.5 3.5]); %Define los limites del ej x ylim([-.5 6.5]); %Define los limites del eje y

  • figure %abre una nueva ventana de grafico phas=angle(Xk); %Se define la funcion que muestra el angulo de fase de Xk stem(0:N-1,phas); %Dibuja o grafica seales discretas legend ('\angle Xk') %Le coloca una etiqueta a la grafica xlim([-.4 3.4]); %Define los limites del eje x ylim([-3.5 3]); %Define los limites del eje y

    % Polar form mag.*exp(j*phas) %Muestra la multiplicacion de variables anteriormente

    definidas % Re{X(k)} figure %Abre una nueva ventana de grafico re=real(Xk); %Muestra la parte real de Xk stem(0:N-1,re); %Dibuja o grafica seales discretas xlim([-.4 3.4]); %Define los limites del eje x ylim([-1.5 6.5]); %Define los limites del eje y legend ('real Xk') %Le coloca una etiqueta a la grafica

  • % Im{X(k)} figure %Abre una nueva ventana de grafico im=imag(Xk); %Muestra la parte imaginaria de Xk stem(0:N-1,im); %Dibuja o grafica seales discretas xlim([-.4 3.4]); %Define los limites del eje x ylim([-1.5 1.5]); %Define los limites del eje y legend ('imag Xk') %Le coloca una etiqueta a la grafica re+j*im %Se define un numero complejo

    % Re{X(k)} for k=0:N-1 %Se inicia un ciclo for donde se da el tamao de un vector

    con su inicio y fin for n=0:N-1 %Se inicia un ciclo for donde se da el tamao de un vector

    con su inicio y fin Xre(n+1)=x(n+1)*cos(2*pi*k*n/N); %Se define la multiplicacion entre

    una variable y la funcion coseno end %Se finaliza un ciclo for Xr(k+1)=sum(Xre); %Se define la sumatoria de la variable Xre end %Se finaliza un ciclo for Xr % Im{X(k)} Xim=zeros(size(x)) %Se define una matriz de ceros de tamao x N=length(x); %LE asigna a N la longitud del vector x for k=1:N-1 %Se inicia un ciclo for donde se define un vector con su

    inicio y fin for n=0:N-1 %Se inicia un ciclo for donde se define un vector con su

    inicio y fin Xima(n+1)=x(n+1)*sin(2*pi*k*n/N); %Se define la multiplicacion entre

    una variable y la fucion seno end %Se finaliza un ciclo for Xim(k+1) = -sum(Xima); %Se define la sumatoria de la variable Xima end %Se finaliza un ciclo for Xim

    13.) % Inverse DFT of X(k)=[6, -1-j,0,-1+j], k=0,1,2,3 clear; %Elimina todas las variables anteriormente utilizadas de la

    memoria Xk=[6, -1-j,0,-1+j]; %Define un vector de componentes 6, -1-j,0,-1+j N=length(Xk); %Le asigna a N la longitud del vector Xk

  • for n=0:N-1 %Se inicia un ciclo for donde se define el tamao de un

    vector for k=0:N-1 %Se inicia un ciclo for donde se define el tamao de un

    vector xn(k+1)=Xk(k+1)*exp(j*2*pi*n*k/N); %Se define la multiplicacion de una

    variable con la funcion exponente end %Se finaliza un ciclo for x(n+1)=sum(xn); %Se define la suma en series de la variable xn end %Se finaliza un ciclo for x=(1/N)*x %Se define una variable

    14.) % Fast Fourier Transform of the sequence x=[1 2 3],n=0,1,2 x=[1 2 3]; %Se define un vector de componentes 1 2 3 Xk1=fft(x) %Se define la funcion transformada discrea de fourier Xk2=dft(x) %Se define la transformda discreta de fourier como una

    secuencia de x

    15.) % Parseval's identity

    % average power of x(t)=sin(t) syms t %Se define una variable simbolica t x=sin(t); %Se define la funcion seno de t T=2*pi; %Se define una variable T t0=0; %Se define una variable t0 P=(1/T)*int(abs(x)^2,t0,t0+T); %Se define la funcion integral

    multiplicada por una variable P=eval(P) %Evalua P

    w=2*pi/T; %Se define una variable en este caso la frecuencia k=-6:6; %Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t), t,t0,t0+T) %Se define la funcion integral

    multiplicada por una variable eval(a) %Evalua a P=sum((abs(a)).^2); %Se define la funcion sumatoria eval(P) %Evalua p

    a0=(1/T)*int(x,t0,t0+T); %Se define la funcion integral multiplicada por

    una constante P=a0^2+ 2*sum((abs(a(7:13)).^2)); %Se defune la funcion sumatoria eval (P) %Se evalua P

    % average power of x(t)=t , -1

  • P=sum((abs(a)).^2); %Se define la funcion sumatoria eval(P) %Evalua P

    k=-8:8; %Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t), t,t0,t0+T);%Se define la funcion integral

    multiplicada por una variable P=sum((abs(a)).^2); %Se define la funcion sumatoria eval(P) %Evalua P

    k=-20:20; %Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t), t,t0,t0+T);%Se define la funcion integral

    multiplicada por una variable P=sum((abs(a)).^2); %Se define la funcion sumatoria eval(P) %Evalua P

    k=-100:100; %Se define un vector con su inicio y fin a=(1/T)*int(x*exp(-j*k*w*t),t,t0,t0+T);%Se define la funcion integral

    multiplicada por una variable P=sum((abs(a)).^2);%Se define la funcion sumatoria eval(P) %Evalua P

    16.) % Relationship between DFT and DTFT. n=0:7; %Se define un vector con su inicio y fin x=0.9.^n; %Se define una variable syms w %Se define una variable simbolica w Xdtft=sum(x.*exp(-j*w*n)); %Se define la funcion sumatoria

    N=8; %Se define una variable N k=0:N-1; %Se define un vector con su inicio y fin wk=2*pi*k/N; %Se define una variable XXdtft=subs(Xdtft,w,wk); %Reemplaza las variables simbolicas por

    Xdftf,w,wk XXdtft.' X=fft(x) %Se define la funcion transformada discreta de fourier X.'

    17.) % Relationship between DFT and Fourier Transform

    T=.1; %Se define la variable T N=128; %Se define la variable N t=0:1/(N*T):2; %Se define un vector con su inicio y fin x=2-3*t; %Se define una variable Xk=fft(x,N); %Se define la funcion transformada discreta de Fourier

    k=0:N-1; %Se define un vector con su inicio y fin wk=2*pi*k/(N*T); %Se define una variable Xwk=(N*T*(1-exp(-j*2*pi*k/N))./(j*2*pi*k)).*Xk; %Se define una variable

    donde se usa la funcion exponencial

    syms t w %Se declaran dos variables simbolicas t w x=(2-3*t)*(heaviside(t)- heaviside(t-2)); %Se define una resta de

    escalones multiplicada por una variable

  • X=fourier(x,w); %Se define la funcion transformada de Fourier en x,w

    ezplot(abs(X),[0 wk(N)]); %Dibuja o grafica en los intervalos adecuados hold on %Mantiene la grafica para ser modificada sin tener que genera

    otro comando de plotaje plot(wk,abs(Xwk),':o') %Dibuja o grafica seales continuas hold off %Deja de mantener la grafica legend('X(\Omega)','X(\Omega_k)') %Le coloca una etiqueta a la grafica ylim([0 4]) %Define los limites del eje y title(' CTFT and DFT ') %Le coloca un titulo a la grafica