Sunteți pe pagina 1din 9

Nombre: Henry Nio Rodrguez Cdigo: 285982

ESPECTRO DE POTENCIA DE UNA SEAL ESCALONADA


En este texto se presenta el procedimiento para la obtencin del espectro de potencia de una seal cuadrada o escalonada usando MATLAB, primero se hallaran los n-coeficientes de la serie de Fourier con exponencial compleja, de all se obtuvieron las magnitudes y las fases de las componentes armnicas de la seal para luego plotear el espectro de potencia. De igual forma, se reconstruy la seal con el fin de rectificar si los coeficientes obtenidos son correctos. 1. Definicion de la seal
%Definicin la seal EXPANSION = 10; A = 20; %Amplitud T = 10; %Perodo Wo = 2 * pi / T; %Frecuencia fundamental e = 5; %Ancho de la seal x = -e / 2 : 0.1 : e / 2; y( 1 : size( x, 2 ) ) = A; x1 = e / 2 : 0.1 : 1.5 * e; y1( 1 : size( x1, 2 ) ) = 0; x = [x x1]; y = [y y1]; plot( x , y );

En la figura 1 se muestra nicamente un perodo de la seal, vemos que matemticamente se debe definir como una funcin a trozos y de perodo T como se muestra a continuacin: ( ) ( ) Con el fin de trabajar la seal en el software MATLAB se da unos valores aleatorios a cada una de las variables y de una vez se obtiene la tan importante frecuencia fundamental.

Figura 1. Grfica de la seal cuadrada 2. Serie de Fourier con exponencial compleja

Co = ( 1 / T ) * trapz( x, y ); Ao = Co; for n = 1 : EXPANSION c( n ) = ( 1 / T ) * trapz( x, y .* exp( -1i * n * Wo * x ) ); con( n ) = conj( c( n ) ); %Complejo conjugado A( n ) = 2 * abs( c( n ) ); %Magnitud theta( n ) = angle( c( n ) ); %ngulo en radianes end

trapz : Integracin numrica por el mtodo de los trapezoides, apta para integracin de vectores del mismo tamao. conj: Devuelve el conjugado del nmero complejo que recibe. abs: Retorna el mdulo del nmero complejo que recibe.

angle: Retorna el ngulo de fase del nmero complejo que recibe. Como vemos lo nico que se hace en las lneas de cdigo es operar las ecuaciones de la serie de Fourier, e utilizarlos para llegar a los coeficientes de la forma compacta y que es de inters para el campo de la ingeniera. Las ecuaciones son las siguientes:

( )

( )

( )

Ahora, la relacin entre estos coeficientes y los necesarios para graficar el espectro de potencia es la siguiente:

3. Coeficientes para graficar el espectro de potencia La potencia media de una seal en trminos de los coeficientes de Fourier est definida por la siguiente ecuacin:

%**********************ESPECTRO DE POTENCIA************************** Po = Ao ^ 2; for n = 1 : EXPANSION P( n ) = ( A( n ) .^ 2 ) / 2; end for n = 1 : EXPANSION W( n ) = n * Wo; end W = [0 W]; P = [Po P]; subplot( 1 , 2 , 2 ); stem( W , P ); xlabel( 'n-esima frecuencia' ); ylabel( 'Potencia' ); title( 'Espectro de potencia' );

Una vez ejecutadas estas lneas de cdigo daremos por concluido el objetivo del problema, el espectro de potencia de la seal correspondiente a una expansin a 10 trminos se muestra en la figura 2. La frecuencia est en radianes por segundo. Con respecto a los resultados podemos afirmar que la potencia est concentrada en el valor DC y los primeros armnicos de la seal, esto se debe a que si se realiza una anlisis analtico se puede observar que la amplitud de la componente n-sima, nWo, es solo (1/n). En la literatura se encuentra la siguiente ecuacin para la serie de Fourier de una seal cuadrada, ( ) ( )

En el grfico tambin se puede percibir que la magnitud de todos los mltiplos pares de Wo es nula, y que en los impares se presenta un comportamiento decreciente conforme lo es la sucesin (1/n).

Figura 2. Espectro de potencia de la seal 4. Reconstruccin de la seal


%Reconstruccin de la seal utilizando exponenciales complejas f( 1 : size( x , 2 ) ) = 0;

for k = 1 : size( x , 2 ) for n = 1 : EXPANSION f( k ) = f ( k ) + c( n ) .* exp( 1i * n * Wo * x( k ) ) + con( n ) .* exp( -1i * n * Wo * x( k ) ) ; end end for i = 1 : size( x , 2 ) f( i ) = f( i ) + Co; end plot( x , f , 'r' ); xlabel( 'Tiempo' ); ylabel( 'Amplitud' ); title( 'Funcin a trozos' ); %Reconstruccin de la seal utilizando la forma compacta w( 1 : size( x , 2 ) ) = 0; for k = 1 : size( x, 2 ) for n = 1 : EXPANSION w( k ) = w ( k ) + A( n ) .* cos( n * Wo * x( k ) - theta( n ) ); end end for i = 1 : size( x, 2 ) w( i ) = w( i ) + Ao; end

Este paso se hizo con el fin de verificar la veracidad del espectro de potencia obtenido, las grficas observadas se muestran en la figura 3, la seal reconstruida se superpone a la original. La variable EXPANSION, es la que nos permite tener un control total sobre el nmero de iteraciones o coeficientes que se van a calcular.

Expansin a 2 trminos

Expansin a 5 trminos

Expansin a 10 trminos

Expansin a 100 trminos

Expansin a 500 trminos Figura 3. Diferentes aproximaciones de la funcin

5. Cdigo completo para ejecucin

1. clear all 2. clc 3. %Definicin de la seal 4. EXPANSION = 500; 5. A = 20; %Amplitud 6. T = 10; %Perodo 7. Wo = 2 * pi / T; %Frecuencia fundamental 8. e = 5; %Ancho de la seal 9. x = -e / 2 : 0.01 : e / 2; 10. y( 1 : size( x, 2 ) ) = A; 11. x1 = e / 2 : 0.1 : 1.5 * e; 12. y1( 1 : size( x1, 2 ) ) = 0; 13. x = [x x1]; 14. y = [y y1]; 15. subplot( 1 , 2 , 1 ); 16. plot( x , y ); 17. hold on; 18. %Coeficientes de Fourier 19. Co = ( 1 / T ) * trapz( x, y ); 20. Ao = Co; 21. for n = 1 : EXPANSION 22. c( n ) = ( 1 / T ) * trapz( x, y .* exp( -1i * n * Wo * x
) );

23. 24. 25. 26. 27.

con( n ) = conj( c( n ) ); A( n ) = 2 * abs( c( n ) ); theta( n ) = angle( c( n ) );

%Complejo conjugado %Magnitud %ngulo en radianes

end %Reconstruccin de la seal utilizando exponenciales complejas 28. f( 1 : size( x , 2 ) ) = 0; 29. for k = 1 : size( x , 2 ) 30. for n = 1 : EXPANSION f( k ) = f ( k ) + c( n ) .* exp( 1i * n * Wo * x( k ) ) + con( n ) .* exp( -1i * n * Wo * x( k ) ) ; 31. end 32. end 33. for i = 1 : size( x , 2 ) 34. f( i ) = f( i ) + Co; 35. end 36. plot( x , f , 'r' ); 37. xlabel( 'Tiempo' ); 38. ylabel( 'Amplitud' ); 39. title( 'Funcin a trozos' ); 40. %Reconstruccin de la seal utilizando la forma compacta 41. w( 1 : size( x , 2 ) ) = 0; 42. for k = 1 : size( x, 2 ) 43. for n = 1 : EXPANSION w( k ) = w ( k ) + A( n ) .* cos( n * Wo * x( k ) theta( n ) );

44. 45. 46. 47. 48. 49.

end end for i = 1 : size( x, 2 ) w( i ) = w( i ) + Ao; end %**********************ESPECTRO DE POTENCIA************************** 50. Po = Ao ^ 2; 51. for n = 1 : EXPANSION 52. P( n ) = ( A( n ) .^ 2 ) / 2; 53. end 54. for n = 1 : EXPANSION 55. W( n ) = n * Wo; 56. end 57. W = [0 W]; 58. P = [Po P]; 59. subplot( 1 , 2 , 2 ); 60. stem( W , P ); 61. xlabel( 'n-esima frecuencia' ); 62. ylabel( 'Potencia' ); 63. title( 'Espectro de potencia' );