Está en la página 1de 6

%%%%%COEFICIENTE DE LA SERIE DE FOURIER%%%% clear all; %elimina variables utilizadas entras rutinas n= 8; %numero de teminos de la serie(entero, >0),excluido av k=1:n;

%coficientes de la serie (expresiones algebraicas en funcin de K) av=7*pi; %(constante real) ak=(6./k).*sin((4/3)*pi*k); bk=(6./k).*(1-cos((4/3)*pi*k)); T0=0.12566; %Periodo de la funcin (>0) np=4 ; %numero de periodos a representar(enteros,>0) %base de tiempos tinicial= 0; %instante inicial del primer periodo inicial= tinicial-(np/2)*T0; final=-inicial; puntos =1000; t=linspace(inicial,final,puntos); %calculo de modulos y fases 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('Modulo', '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('Espinoza Yancce Cristian:Componentes de fourier', 'FontName', 'Times', 'Fontsize',25); %Representacion de 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/T0)*t +fase(k)) k=k+1 end plot(t,senyal, 'g', 'LineWidth',3); 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 varibles utilizadas en la rutina

%%%FILTRO PASO BAJO%%% clear all; %elimina variables utilizadas en otras rutinas %rango de frecuencia d1=0; d2=6; puntos =10000; w=logspace(d1, d2, puntos); R=1; L=0.001; s=i*w; H=(R/L)./(s+(R/L)); modulo= abs(H); atenuacion= -20*log10(modulo); fase= (180/pi)*unwrap(angle(H)); Hc= max(modulo)/sqrt(2); bandapaso= find(modulo>=Hc); n= length(bandapaso); wc=w(n); subplot(3, 1, 1); semilogx(w, modulo, 'r','LineWidth', 3); grid on; xlabel('Frecuencia angular (rad/s)','FontName','Times','Fontsize', 14); ylabel('Mdulo','FontName','Times','Fontsize',14); axis([w(1), w(puntos), -(1/4)*max(modulo), (3/2)*max(modulo)]); set(gca,'xtick',[w(1) wc w(puntos)],'FontName','Times','Fontsize',12); set(gca,'ytick',[0 Hc max(modulo)],'FontName','Times','Fontsize',12); title('Espinoza Yancce Cristian:filtro paso bajo','FontName','Times','Fontsize',24); subplot(3, 1, 2); semilogx(w, atenuacion, 'b', 'LineWidth', 3); grid on; xlabel('Frecuencia angular(rad/s)', 'FontName', 'Times', 'Fontsize', 14); ylabel('atenuacion', 'FontName', 'Times', 'Fontsize', 14); axis([w(1), w(puntos), min(atenuacion), max(atenuacion)]); set(gca, 'xtick', [w(1) wc w(puntos)], 'FontName', 'Times', 'Fontsize', 12); set(gca, 'ytick', [0 atenuacion(n)], 'FontName', 'Times', 'Fontsize', 12); subplot(3, 1, 3); semilogx(w, fase, 'r', 'LineWidth',3); grid on; xlabel('Frecuencia angular (rad/s)', 'FontName', 'Times', 'Fontsize', 14); ylabel('Fase ()','FontName','Times','Fontsize', 14); axis([w(1), w(puntos), -(3/2)*max(abs(fase)), (3/2)*max(abs(fase))]); set(gca, 'xtick', [w(1) wc w(puntos)], 'FontName', 'Times', 'Fontsize', 12); clear all;

%%%%% FILTO PASO ALTO %%%%% clear all; % Elimina variables utilizadas en otras rutinas % Rango de frecuencias d1 = 0; d2 = 6; puntos = 10000; w = logspace (d1, d2, puntos); % Funcion de trannsferencia R = 1; L = 0.001; s = i*w; H = s./(s + (R/L)); % calculos modulo = abs(H); atenuacion = -20*log10(modulo); fase = (180/pi)*unwrap(angle(H)); Hc = max(modulo)/sqrt(2); bandapaso = find(modulo<=Hc); n = length(bandapaso); wc = w(n); % Representacion grafica subplot(3, 1, 1); semilogx(w, modulo, 'r', 'LineWidth', 3); 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)]); set(gca, 'xtick', [w(1) wc w(puntos)], 'FontName', 'Times', 'Fontsize', 12); set(gca, 'ytick', [0 Hc max(modulo)], 'FontName', 'Times', 'Fontsize', 12); title('Espinoza Yancce Cristian: Filtro paso alto', 'FontName', 'Times', 'Fontsize', 25); subplot(3, 1, 2); semilogx(w, atenuacion, 'g', 'LineWidth', 3); grid on; xlabel('Frecuencia angular (rad/s)', 'FontName', 'Times', 'Fontsize', 14); ylabel('atenuacion', 'FontName', 'Times', 'Fontsize', 14); axis([w(1), w(puntos), min(atenuacion), max(atenuacion)]); set(gca, 'xtick', [w(1) wc w(puntos)], 'FontName', 'Times', 'Fontsize', 12); set(gca, 'ytick', [0 atenuacion(n)], 'FontName', 'Times', 'Fontsize', 12); subplot(3, 1, 3); semilogx(w, fase, 'black', 'LineWidth', 3); grid on; xlabel('Frecuencia angular (rad/s)', 'FontName', 'Times', 'Fontsize', 14); ylabel('Fase ()', 'FontName', 'Times', 'Fontsize', 14); axis([w(1), w(puntos), -(3/2)*max(abs(fase)), (3/2)*max(abs(fase))]); set(gca, 'xtick', [w(1) wc w(puntos)], 'FontName', 'Times', 'Fontsize', 12); clear all, %Elimina las variables utilizadas en la rutina

También podría gustarte