Upload
jordan-roa-valladares
View
19
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
(Universidad del Perú, DECANA DE AMÉRICA)
FACULTAD DE INGENIERÍA ELECTRÓNICA, ELÉCTRICA Y TELECOMUNICACIONES
CURSO : PROCESAMIENTO DIGITAL DE SEÑALES
PROFESOR : ING. FLAVIO CARRILLO
TRABAJO : INFORME DE LABORATORIO N° 4
TEMA : SERIES DE FOURIER CONTINUO Y DISCRETO.
ALUMNO : ROA VALLADARES JORDAN WILMER
N° MATRÍCULA : 11190223
LIMA - 2014
I. Introducción
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
En el siguiente informe de la vamos a estudiar una serie de transformaciones integrales, análisis de Fourier, que nos van a permitir caracterizar las señales y los sistemas desde otra perspectiva, en el llamado dominio frecuencial. Como hemos visto, la respuesta al impulso h(t) de un sistema lineal e invariante basta para caracterizar completamente éste en términos de estabilidad, causalidad o cualquier otra propiedad de interés. En el dominio frecuencial, la función de transferencia H(ω) permitirá igualmente la caracterización completa de un sistema LTI. En el dominio del tiempo, la salida de cualquier sistema se puede calcular como la convolución de su entrada con la respuesta al impulso, pero el cálculo de convoluciones es a menudo una tarea ardua. En el domino de Fourier, veremos que la salida se calcula como el simple producto de la función de transferencia por la señal de entrada, lo cual simplifica en gran medida la caracterización. Además, el análisis de Fourier permite la caracterización de las señales en términos de un concepto intuitivo como es la frecuencia.
A lo largo del desarrollo de este laboratorio, abordaremos el análisis de Fourier, dividiendo su estudio en los siguientes bloques:
Análisis de Fourier de señales continúas:
Análisis de señales de potencia (periódicas): series de Fourier en tiempo continuo.Análisis de señales de energía (aperiódicas): transformada de Fourier en tiempo continuo.
Análisis de Fourier de señales discretas:
Análisis de señales de potencia (periódicas): series de Fourier en tiempo discreto.Análisis de señales no de energía (aperiódicas): transformada de Fourier en tiempo discreto.
Estos cuatro conceptos no son independientes unos de otros, sino que están íntimamente relacionados. Como se verá en el tema de la asignatura correspondiente al muestreo, la transformada de Fourier en tiempo discreto de una señal continua muestreada está directamente relacionada con la transformada de Fourier en tiempo continuo de ésta. Si además la señal está limitada en tiempo, se pueden establecer relaciones con el desarrollo en serie de Fourier de su extensión periódica.
II. Resumen
2
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
3
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
III.Procedimiento Experimental Ejercicio 4.1
Considere la función x : [0,2 ] → R dada por x (t )=1−t /2. Un cálculo elemental muestra que los coeficientes del desarrollo en serie de Fourier de senos de x vienen dados por
bn=2
nπ.
Diseñar una función de Matlab que dibuje la suma parcial de los N primeros componentes de la serie de Fourier de senos de la función y muestrear simultáneamente la gráfica de x.
Para resolver el presente ejercicio, basta crear la siguiente función en un archivo llamado fourierseno.m. Observe la estructura del código del programa que define la función x.
function fourierseno(N)t=-2:0.005:2;sumparcial=0;b=zeros(1,N);for k=1:Nb(k)=2/(k*pi);sumparcial=sumparcial+b(k)*sin(k*t*pi/2);endx=(t<0).*(-1-t/2)+(t>=0).*(1-t/2);plot(t,x,'b',t,sumparcial,'g'),
En este ejercicio hemos obtenido explícitamente el valor de los coeficientes de Fourier de la función x. Usando Matlab podemos aproximar dichos coeficientes mediante las diferentes funciones de integración numérica entre las que destacamos quad y quadl.
Ejercicio 4.2
Considere la función periódica x : R → R tal que x(t) = t2 si −1 < t < 1. Diseñar una función de Matlab que aproxime numéricamente los N primeros coeficientes de la serie de Fourier de la función y que dibuje la suma parcial frente a x. Puesto que la función es par, tenemos que:
a0=23
, an=22∫−1
1
x ( t ) cos (nπt ) dt=2∫0
1
t 2cos (nπt )dt para n=1,2 ,…
De esta manera, la solución del problema viene dada por la siguiente función que debe ser almacenada en un archivo llamado fourier.m.
function fourier(N)t=-1:0.05:1;a=zeros(1,N);
4
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
sumparcial=1/3;for k=1:Na(k)=quadl(@fun,-1,1,1e-5,[],k);sumparcial=sumparcial+a(k)*cos(k*t*pi);endx=t.^2;plot(t,x,'r',t,sumparcial,'g'),function y=fun(tt,n)y=(tt.^2).*cos(n*pi*tt);
Nota: Obsérvese el funcionamiento de la función quadl y los parámetros de los que
depende. Recurra a help de Matlab para entender su estructura.
Ejercicio 4.3
Considere la función periódica x : R → R tal que:
Para las funciones (a) y (b), calcular los coeficientes del desarrollo en serie de Fourier de x, para un valor de A arbitrario. Diseñar una función de Matlab para cada una de las funciones que proporcione los N primeros coeficientes de la serie de Fourier de la función y que dibuje la suma parcial resultante de x.
Ejercicio 4.4Ejecutar la función obtenida en el ejercicio 4.1 para N = 4, 8, 16, 32 y verifique el fenómeno de Gibbs en t = 0. Estimar gráficamente el valor del salto. Para tal estimación, consulte previamente el help de Matlab sobre la función ginput.
Haciendo uso de la función ginput.
>> fouriersen(32),A=ginput(2) >> salto=A(2,2)-A(1,2)
Ejercicio 4.5
Ejecutar la función obtenida en el Ejercicio 4.3 con N = 4, 8, 16, 32 y verifique el fenómeno de Gibbs en t = 0. Estimar gráficamente el valor del salto.
Ejercicio 4.6
5
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Repita los Ejercicios 4.1 y 4.4 cambiando el desarrollo en serie de Fourier de senos de x por el desarrollo en serie de Fourier de cosenos analizando y comentando las diferencias observadas.
Ejercicio 4.7
Diseñar una función de Matlab que aproxime la potencia media de la función del Ejercicio 4.3. Dicha función debe depender del número de sumandos de la serie (4.15).
Ejercicio 4.8
Considere la función del ejercicio 4.3 para las funciones (a) y (b). Calcular los coeficientes cn del desarrollo en serie de Fourier compleja de x(t), para un valor de A arbitrario. Diseñar una función de Matlab para cada una de las funciones que proporcione los N primeros coeficientes de la serie de Fourier compleja y que dibuje la suma parcial resultante de x. Luego analice y relacione los valores resultantes de cn , an y bn , tanto en forma analítica como gráfico, teniendo en cuenta la frecuencia.
Ejercicio 4.9
Determinar el espectro de las siguientes señales:
(a) x[n]=cos(nπ/3)
(b)
para lo cual deberá calcular los coeficientes ck del desarrollo en serie de Fourier Discreta de x[n]. Diseñar un código en Matlab para cada una de las secuencias y que proporcione los Ck primeros coeficientes de la serie de Fourier compleja y que dibuje la gráfica resultante de x[n] y Ck.Luego analice y relacione los valores resultantes obtenidos en forma analítica como gráfico, teniendo en cuenta el periodo de la secuencia.
6
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
IV. Resultados
Ejercicio 4.1
Modificando el archivo fourierseno.m :
function fourierseno(N)
t=-2:0.005:2;sumparcial=0;b=zeros(1,N);
for k=1:Nb(k)=2/(k*pi);sumparcial=sumparcial+b(k)*sin(k*t*pi/2);
endx=(t<0).*(-1-t/2)+(t>=0).*(1-t/2); figure(1)
plot(t,x,'b',t,sumparcial,'g'),title('Suma Parcial de los 10 primeros componentes de la Serie de Fourier')ylabel('x(t)'), xlabel('t') figure(2)
stem(t,x,'b'),title('Muestreo de la Función x[n]')ylabel('x[n]'), xlabel('n') figure(3)
stem(t,sumparcial,'g'),title('Muestreo de la Suma Parcial de los 10 primeros componentes de la Serie de Fourier')ylabel('Suma Parcial'), xlabel('n')
Ejecutando el programa:
>> fourierseno(10)
7
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
8
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Coeficientes de Fourier:
Para los 10 primeros componentes:
N=10;b=zeros(1,N);x=1:N;for k=1:N; b(k)=2/(k*pi);endstem(x,b,'r');title('Coeficiente de la Serie de Fourier cuando N=10')ylabel('bn'), xlabel('n')
Ejercicio 4.2
Solución del problema, cuando N=2:
>> fourier(2)
9
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Modificando al programa:
function fourier1(N)t=-1:0.05:1;a=zeros(1,N);sumparcial=1/3;for k=1:Na(k)=quadl(@fun,-1,1,1e-5,[],k);sumparcial=sumparcial+a(k)*cos(k*t*pi);endx=t.^2;figure(1)plot(t,x,'b')title('Aproximación numérica de los N primeros coeficientes de la Serie de Fourier')ylabel('x(t)'), xlabel('t')grid onfigure(2)plot(t,sumparcial,'g'),title('Suma Parcial de los 2 primeros componentes de la Serie de Fourier')ylabel('Suma Parcial'), xlabel('t')grid on function y=fun(tt,n)y=(tt.^2).*cos(n*pi*tt);
Cuando N=2:>> fourier(2)
10
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Cuando N=5:
>> fourier(5)
11
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Cuando N=10:
>> fourier(10)
Cuando N=15:
>> fourier(15)
12
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Ejercicio 4.3
a)
Cuando N=10 y A=1:
function fourierseno(N)t=-1:0.005:1;sumparcial=0;b=zeros(1,N);
for k=1:Nb(k)=(2*(1-cos(k*pi)))/(k*pi);sumparcial=sumparcial+b(k)*sin(k*t*pi);
endx=(t<0).*(-1)+(t>=0).*(1);plot(t,x,'b',t,sumparcial,'g'),title('Suma Parcial de los 10 primeros componentes de la Serie de Fourier')ylabel('x(t)'), xlabel('t')grid on
>> fourierseno(10)
13
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
b)
Cuando N=10 y A=1:
function fourierseno(N)
t=0:0.005:2;sumparcial=0;b=zeros(1,N);for k=1:Nb(k)=(2*(1-cos(k*pi)))/(k*pi);sumparcial=sumparcial+b(k)*sin(k*t*pi);
end
t1=-0.5:0.005:1.5; x=(t1<0.5).*(1)+(0.5<t1).*(-1);
plot(t1,x,'b',t-0.5,sumparcial+0.01,'g'),title('Suma Parcial de los 10 primeros componentes de la Serie de Fourier')ylabel('x(t)'), xlabel('t')grid on
>> fourierseno(10)
14
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Ejercicio 4.4
Cuando N=4:
Cuando N=8:
Cuando N=16:
15
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Cuando N=32:
Haciendo uso de la función ginput.
>> fourierseno(32),
>> A=ginput(2)
A =
-0.0046 -0.9868 0.0138 0.9956
Primer punto:
16
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Segundo Punto:
>> salto=A(2,2)-A(1,2)
salto =
1.9825
Ejercicio 4.5
a)
Cuando N=4:
17
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Cuando N=8:
Cuando N=16:
Cuando N=32:
18
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Haciendo uso de la función ginput.
>> fourierseno(32), >> A=ginput(2)
A =
0.0023 -1.0132 0.0023 0.9868
Primer punto:
Segundo Punto:
19
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
>> salto=A(2,2)-A(1,2)
salto =
2
b)
Cuando N=4:
Cuando N=8:
20
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Cuando N=16:
Cuando N=32:
Haciendo uso de la función ginput.
>> fourierseno(32), >> A=ginput(2)
A =
0.5023 0.9868 0.5069 -0.9956
21
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Primer punto:
Segundo Punto:
>> salto= -A(2,2)+A(1,2)
salto =
1.9825
Ejercicio 4.6
22
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
>> fouriercoseno(4)
>> fouriercoseno(8)
>> fouriercoseno(16)
23
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
>> fouriercoseno(32)
>> A=ginput(2)
A =
0.0046 2.5497
0.0046 -0.9942
Primer Punto:
24
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Segundo Punto:
>> salto=-A(2,2)+A(1,2)
salto = 3.5439
Ejercicio 4.7
%Ingrese el valor de la amplitud
25
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
A=input('Ingrese el valor de la Amplitud A: ');sumparcial=0;for k=1:10000;b=((2*A*(1-cos(k*pi))./(k*pi)).^2)/2;sumparcial=sumparcial+b;end%Aprox. de la potencia mediaPotenciamedia=sumparcial
Ingrese el valor de la Amplitud A: 10 Potenciamedia = 99.9959
Ejercicio 4.8a)
%Creando funcion compleja function ejerciciocomplejo(N,A)t=-1:0.005:1;sumparcial=0;cn=zeros(1,N);%Para N>=1for k=1:Ncn=-A*i*(1-cos(pi*k))/(pi*k);sumparcial=sumparcial+cn*exp(i*k*pi*t);endsumparcial1=0%Para N<=-1for k1=-N:-1cn1=-A*i*(1-cos(pi*k1))/(pi*k1);sumparcial1=sumparcial1+cn1*exp(i*k1*pi*t);end%Graficando la función realx=(t<0).*(-1*A)+(t>=0).*(A);plot(t,x,'b',t,sumparcial+sumparcial1,'g'),grid on;title ('Serie de Fourier Compleja del Ejercicio 4.8.a');xlabel ('n')grid on;
>> ejerciciocomplejo(10, 2)
sumparcial1 =
26
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
0
b)
%Creando funcion compleja function ejerciciocomplejouno(N,A)t=-0.5:0.005:1.5;sumparcial=0;cn=zeros(1,N);%Para N>=1for k=1:Ncn=2*A*(3*sin(k*pi/2)-sin(3*pi*k/2))./(2*k*pi);%-----> Suma compleja <-----sumparcial= sumparcial+cn*exp(i*k*pi*t);end%Graficando la función realx=(t>0.5).*(-1*A)+(t<=0.5).*(A);plot(t,x,'b',t,sumparcial,'g'),shggrid on;title ('Serie de Fourier Compleja del Ejercicio 4.8.b');xlabel ('n')
>> ejerciciocomplejouno(10,2)
27
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
Ejercicio 4.9a)
function fourierdiscreto(N)x=cos((0:N-1)*pi/3);y0 = fft(x)/N;%Coeficientes Cky = fftshift(y0); eje = (-(N-1)/2:(N-1)/2);stem(eje,abs(y),'o')title('Espectro de x[n], cuando N=32')ylabel('x[n]'), xlabel('n')
>> fourierdiscreto(32)
28
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
VI. Cuestionario
1. Desarrolle el código de programa en Matlab para la serie trigonométrica siguiente:
x (t )=∑n=1
∞
( 4 A(nπ )2 )cos (nωt ) ;n : impar
tal que proporcione los N primeros coeficientes de la serie de Fourier de la función y que dibuje la suma parcial resultante de x(t).
function serietrigonometrica(N)t=-2:0.005:2;r=-2:0.005:0;s=0:0.005:2;sumparcial=0;R=zeros(1,N);for k=1:2:NR(k)=4/((k*pi)^2);sumparcial=sumparcial+R(k)*cos(k*t*pi);end
29
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
x=(r<-1).*(-r-1.5)+(r>=-1).*(r+0.5);y=(s<1).*(-s+0.5)+(s>=1).*(s-1.5);plot(r,x,'g',s,y,'y',t,sumparcial,'r')title('Serie Trigonométrica x(t)')xlabel('t'), ylabel('x(t)')
>> serietrigonometrica(4)
>> serietrigonometrica(8)
30
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
>> serietrigonometrica(12)
2. Considere la función periódica x : R → R tal que x (t )=e−2t si 0 ≤ t ≤ 1. Diseñe una función de Matlab que aproxime numéricamente los N primeros coeficientes de la serie de Fourier de la función y que dibuje la suma parcial resultante de x(t).
function fourierpregunta2(N)syms t nA=[0 1];f=[exp(-2*t)];f=sym(f);T=max(A)-min(A);wo=2*pi/(T);Ao=0;
31
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
for i=1:length(f) Ao = Ao + int(f(i),'t',A(i),A(i+1));endAo=simple(Ao/T) An=0;for i=1:length(f) An = An + int(f(i)*cos(n*wo*t),A(i),A(i+1));endAn=simple(2*An/T);Bn=0;for i=1:length(f) Bn = Bn + int(f(i)*sin(n*wo*t),A(i),A(i+1));endBn=simple(2*Bn/T);A=inline(An);B=inline(Bn); t=0:0.005:1;sumparcial=Ao;disp('N primeros coeficientes')disp('n A(n) B(n)')for k=1:N;C=[k ,A(k),B(k)]sumparcial=sumparcial+B(k)*sin(k*t*pi)+A(k)*cos(k*t*pi);endx=exp(-2*t);plot(t,x,'b',t,sumparcial,'g'),shggrid ontitle('Suma Parcial Resultante de x(t)')ylabel('x(t)'), xlabel('t')
>> fourierpregunta2(10)
Ao = 1/2 - exp(-2)/2 N primeros coeficientesn A(n) B(n)
C = 1.0000 0.0795 0.2499
C = 2.0000 0.0214 0.1342
32
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
C = 3.0000 0.0096 0.0907
C = 4.0000 0.0054 0.0684
C = 5.0000 0.0035 0.0548
C = 6.0000 0.0024 0.0457
C = 7.0000 0.0018 0.0392
C = 8.0000 0.0014 0.0343
C = 9.0000 0.0011 0.0305
C = 10.0000 0.0009 0.0275
33
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
3. Si x(t) representa el voltaje que entrega un generador de onda triangular a una carga resistiva de 10 ohmios. Hallar la potencia media disipada por la resistencia. Luego determine la potencia media de los cinco primeros armónicos presentes en la señal sobre la resistencia. El generador proporciona un voltaje pico de 10 voltios y un periodo de 10 mseg. Analice los resultados obtenidos.
%Comando para potencia mediasumpotencial=0;
forq=1:((100000+1)/2);r=2*q-1;a=((1/((r*pi))*20).^2)/20;sumpotencial=sumpotencial+ a;
endPotenciaMediaDisipada=sumpotencial
%Comando para potencia media en 5armonicossumpotencial1=0;
for q=1:((5+1)/2);r=2*q-1;a=((1/((r*pi))*20).^2)/20;sumpotencial1=sumpotencial1+ a;endPotenciaMedia5armonicos=sumpotencial1
4. Sea la función periódica x : R → R tal que x(t) = sen(πt), si 0 ≤ t ≤ 1. Diseñe una función de Matlab que aproxime numéricamente los N primeros coeficientes de la serie de Fourier Exponencial de la función y que dibuje la suma parcial resultante de x(t).
function exponencial4(N)
t = 0:0.01:1; f = 0; c = 0;
for n = -N : N
34
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
u = t>=0; c(n+N+1) = sinc(n*pi); y = c(n+N+1)*exp(-n*t).*u; f = f + y;
end
plot(t,f); title('Serie de Fourier Exponencial')xlabel('t'), ylabel('f(t)')
>> exponencial4(10)
VII. Conclusiones y Recomendaciones
Una serie de Fourier es una serie infinita que converge puntualmente a una función periódica y continua a trozos (o por partes).
Las series de Fourier constituyen la herramienta matemática básica del análisis de Fourier empleado para analizar funciones periódicas a través de la descomposición de dicha función en una suma infinita de funciones sinusoidales mucho más simples (como combinación de senos y cosenos con frecuencias enteras).
Se desarrolló la Serie de Trigonométrica y Exponencial de Fourier de señales periódicas en el dominio del tiempo continuo y discreto, de forma analítica y gráfica,
35
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS 2014-I
para analizar la señal según el número de armónicos generados, aproximándolo a la señal original.
El uso de la Serie de Fourier, es el hecho de que las señales exponenciales complejas son funciones propias de los sistemas LTI.
Cualquier señal periódica de interés práctico se puede representar en una Serie de Fourier, mediante sus armónicos y propiedades, las cuales describen cómo las diferentes características de las señales se reflejan en sus coeficientes de las Series de Fourier.
Es una aplicación usada en muchas ramas de la ingeniería, además de ser una herramienta sumamente útil en la teoría matemática abstracta.
Áreas de aplicación incluyen análisis vibratorio, acústica, óptica, procesamiento de imágenes y señales, y compresión de datos.
En ingeniería, para el caso de los sistemas de telecomunicaciones, y a través del uso de los componentes espectrales de frecuencia de una señal dada, se puede optimizar el diseño de un sistema para la señal portadora del mismo.
VIII. Bibliografía
Señales y Sistemas. Alan V. Oppenheim y Alan S. Willsky; Prentice Hall, segunda edición. 1997.
36