Pr´ Practica a ´ acti cctica tica ca No.04 No.0 No .04 4 Transformada de Fourier y Convoluci´on on de Se˜ nales nales ´ FUNDAMENTOS FUNDAMENTOS TEORICOS
El t´ermino ermi no convoluci´ convol uci´on significa significa ”voltear”. ”voltear”. La convoluci convoluci´´on on es una herramienta muy importante para el ingeniero ingeniero,, porque proporciona proporciona un medio medio para ver y caracteri caracterizar zar sistemas f´ f´ısicos. ısicos. Por ejemplo, ejemplo, se usa para encontrar la respuesta y (t) de un sistema a una excitaci´on on x(t), conociendo la respuesta del impulso del sistema h(t). Esto se logra a trav´ trav´es es de la integral de convoluci´ on , definida como, ∞
y (t) =
x(λ) h(t − λ) d(λ)
(1)
−∞
o simplemente y (t) = x(t) ∗ h(t)
(2)
donde λ es una variable muda (impl ( impl´ ´ıcita) y el asterisco a sterisco denota la convoluci´on. La ecuaci´on on (1) o la (2) establecen que la salida salida es igual a la entrada entrada convoluc convolucionad ionada a con la respuesta respuesta ante un impulso impulso unitario. unitario. El proceso de convoluci´on on es conmutativo : y(t) = x(t) ∗ h(t) = h(t) ∗ x(t) o sea
∞
y(t) =
∞
x(λ) h(t − λ) dλ =
−∞
h(λ) x(t − λ) dλ
−∞
Esto implica implica que el orden en el que las dos funciones funciones se convol convolucion ucionan an es irrelev irrelevant ante. e. Se ver´a brevemente c´omo omo aprovechar esta propiedad conmutativa cuando se lleva a cabo el c´alculo gr´afico afico de la integral de convoluci´on. on. La convoluc convoluci´ i´ on de dos dos se˜ nale naless consi onsist ste e en inve invert rtir ir una una de las las se˜ nale naless en el tiemp tiempo, o, desplaz´ andola y multiplic´ andola punto a punto por la segunda se˜ nal, e integrando el producto. La ecuaci´on on general de la integral de convoluci´on est´a dada en la ecuaci´on on (1); y se aplica aplica a cualqu cualquier ier sistema lineal. Sin embargo, , la integral de convoluci´on se puede simplificar si se supone que un sistema tiene dos propiedades. Primero, si x(t) = 0 para t < 0, entonces, ∞
y (t) =
∞
x(λ) h(t − λ) d(λ) =
x(λ) h(t − λ) d(λ)
0
−∞
Segundo, si la respuesta al impulso del sistema es causal (es decir, h(t) = 0 para t > 0), entonces h(t − λ) = 0, para t − λ < 0, o bien, λ > t; de manera que la ecuaci´on on anterior se convierte en t
y (t) = h(t) ∗ x(t) =
x(λ) h(t − λ) d(λ)
0
´ LEYES Y PROPIED PROPIEDADES ADES DE LA CONVOLUCI CONVOLUCION
A continuaci´on, on, se listan las leyes y algunas propiedades de la integral de convoluci´on. 1.
Conmutativa.
2.
Distributiva.
3.
Asociativa.
x(t) ∗ h(t) = h(t) ∗ x(t) f (t) ∗ [x(t) + y (t)] = f (t) ∗ x(t) + f (t) ∗ y (t) f (t) ∗ [x(t) ∗ y (t)] = [ f (t) ∗ x(t)] ∗ y (t)
1
(3)
∞
4.
f (t) ∗ δ (t) =
f (λ) δ (t − λ) dλ = f (t)
−∞
5.
f (t) ∗ δ (t − to ) = f (t − to ) ∞
6.
( )=
f (λ) δ (t − λ) dλ = f (t)
f (t) ∗ δ t
−∞ ∞
7.
∞
f (t) ∗ u(t) =
f (λ) u(t − λ) dλ =
−∞
f (λ) dλ
−∞
Antes de aprender a evaluar la integral de convoluci´on en la ecuaci´on on (3), se considerar´a el e l v´ınculo ıncu lo entre la transformada de Fourier y la integral de convoluci´ on . Demostraci´ on on
Dadas las funciones x(t) y h(t) con transformadas de Fourier X (ω) y H (ω), respectivamente, su convoluci´on on es [ecuaciones (1) y (2)] t
y (t) = h(t) ∗ x(t) =
h(λ) x(t − λ) dλ
0
Calculando la transformada de Fourier de ambos lados se obtiene: ∞
Y (ω ) =
[h(t) ∗
∞
x(t)] =
−∞
h(λ) x(t − λ) dλ
−∞
e−jωt dt
Intercambiando el orden de integraci´on on y factorizando h(λ), el cual no depende de t, se produce ∞
Y (ω ) =
∞
h(λ)
−∞
−jωt
x(t − λ) e
dt
−∞
dλ
Para la integral dentro de los corchetes, sea τ = t − λ de modo que t = τ + λ y dt = dτ . Entonces, ∞
( )=
Y ω
−∞
∞
h(λ)
−jω
x(τ ) e
−∞
∞
=
(τ +λ)
dτ
dλ
∞
h(λ) e
−jωλ
dλ
−∞
x(τ ) e−jωτ dτ = H (ω )X (ω )
−∞
Esta es una relaci´on on importante, ya que es la raz´on principal para emplear la transformada de Fourier en el an´ alisis de sistemas. De la ´ultima alisis ultima expresi´on, on, podemo po demoss asegurar asegurar que,
Y (ω ) =
[h(t) ∗
x(t)] = H (ω )X (ω )
(4)
on en el dominio temporal corresponde a la como se esperaba; la ecuaci´on on (4) indica que la convoluci´ ´ . multiplicaci´ on en el dominio de la frecuencia (PROPIEDAD DE CONVOLUCI ON). ON) Para ilustrar la propiedad de convoluci´on, sup´ongase ongase que h(t) y x(t) son pulsos rectangulares rectangu lares id´enticos, enticos, como se muestra en la figura 4.1(a) y 4.1(b). Recu´ erdese erdese que las transformadas de Fourier de los pulsos rectangulares son las funciones funciones de muestreo muestreo,, como se muestra muestra en la figura 4.1(c) y 4.1(d). 4.1(d). Seg´un un la propiedad de convoluci´on, on, el producto de las funciones muestra (o tambi´ tambi´en, en, llamada sinc)debe proporcionar la convoluci´on on de los pulsos 2
Figura 4.1 Ilustración gráfica de la propiedad de convolución. convolución. E.O. Brigham, The Fast Fourier Transform [Englewood Transform [Englewood Cliffs, NJ: Prentice Hall, 1974], p.60
3
DESARROLLO 1.
Figura 4.2
Graficar el espectro de la función mostrada en la Figura 4.2. a) Usando el resultado analítico. analítico. b) Usando la función fft.
Solución a)
La función está definida de la siguiente manera
Obtenemos la transformada de Fourier de f (t )
∫ ∫ ∫ [ ] [ ]
Código en MATLAB®
Ahora, introducimos esta función en MATLAB y graficamos en un determinado intervalo %AUTOR: ZERON HERNANDEZ ALEJANDRO RAUL %EJERCICIO 1a clear all clc close all w=-20:pi/100:20; Fw=(j.*w.*20.*((sin(w)).^2) )./(w.^2); anterior plot(w,abs(Fw),’LineWidth’, 2)
GRUPO: 4BV2
%Intervalo %Transformada de Fourier del análisis %Graficación del espectro
xlabel('ω') ylabel('F(ω)') title('Espectro de la señal f(t)')
4
Figura 4.3 Espectro de Frecuencias de la señal f(t), a partir de la función F(ω) calculada analíticamente y graficada en MATLAB
b)
Para este inciso, nos pide que utilicemos la función fft(f,n) de MATLAB [ Fast Fourier Transform ]. Para ello se define, primeramente, la función f(t) y después se calcula el espectro con la función mencionada y se grafica F(ω). Pero es preciso aclarar que el vector de valores de espectro se tuvieron que reacomodar para obtener un espectro semejante a la figura 4.3. (Dicha gráfica que se generó, se muestra en la Fig. 4.4).
Código de MATLAB® %AUTOR: ZERON HERNANDEZ ALEJANDRO RAUL %EJERCICIO 1b clear all clc close all t=-3:.01:3; f=zeros(size(t)); tam1=100; tam2=301; tam3=501; for k=tam1:tam2 f(k)=5; end for k=tam2:tam3 f(k)=-5; end plot(t,f) axis([-3 3 -6 6]) xlabel('t') ylabel('f(t)') title('Función f(t)') t = -6:.1:5.9; tam_1=length(t);tam_2=length(t)/2; for k=1:tam_2 f(k)=5; end for k=tam_2+1:(2*tam_2) f(k)=-5; end F=abs(fft(f./27,tam_1)); F=abs(fft(f./27, tam_1)); %Reordenar los puntos en el eje X. Fx=F; F(tam_2+1:tam_1)=Fx(1:tam_2); F(1:tam_2)=Fx(tam_2+1:tam_1); figure(2) plot(t,F)
GRUPO: 4BV2
%Hasta aquí, se define y se grafica la función f(t)
%Cálculo de la transformada de Fourier (normalizada)
%Gráfica del espectro de frecuencias F(ω)
xlabel('Frecuencia ω') ylabel('F(ω)')
title('Espectro de Frecuencia de f(t)')
5
Figura 4.4 Función f(t)
Figura 4.5 Espectro de Frecuencias F(ω) mediante la función fft(f,n) de MATLAB
2.
Repetir (1) para la señal mostrada en la Figura 4.6. Solución. a)
Definimos la función f(t)
La transformada de Fourier se encuentra si se Figura 4.7 Derivada 1a de f(t) utiliza, de manera directa su ecuación general, sin embargo, es mucho más fácil calcularla utilizando la propiedad de diferenciación en el tiempo . Así que, la primera derivada de la función f (t ) es Figura 4.6
Y su segunda derivada es
Figura 4.8 Derivada 2a de f(t)
Al obtener la transformada de Fourier en ambos lados,
) ( Código en MATLAB®
Introducimos ésta función en MATLAB y observemos la gráfica generada. (Figura 4.9) %ZERON HERNANDEZ ALEJANDRO RAUL GRUPO: 4BV2 %EJERCICIO 2a clear all clc close all %Intervalo para graficar ω=-8:pi/100:8; Fw=6.*((sin( ω)).^2./ ω.^2); %(Transformada de Fourier) Función obtenida analíticamente
6
plot(w,Fw,'LineW idth',2.1) plot(w,Fw,'LineWidth',2.1) axis([-8 8 0 7]) xlabel('Frecuencia ω') ylabel('F( ω)') title('Espectro de f(t)')
%Gráfica del espectro de f(t)
Figura 4.10 Espectro de frecuencia de f(t), utilizando la respuesta analítica.
b)
Ahora utilizando la función fft(f,n) de MATLAB se escribió este código y se observan las gráficas.
Código en MATLAB® %ZERON HERNANDEZ ALEJANDRO RAUL %EJERCICIO 2b clear all clc close all t1=-2:.01:0; t2=0:.01:2; y1=(3/2).*t1+3; y2=(-3/2).*t2+3; plot(t1,y1,'LineWidth',2.3) hold on axis([-2.1 2.1 0 3.1]) plot(t2,y2,'LineWidth',2.3) xlabel('t') ylabel('f(t)') title('Función f(t)')
GRUPO: 4BV2
%Se definió y graficó la función f(t)
t=-10:.1:9.9; tam1=length(t); tam2=length(t)/2; for k=1:tam2 f(k)=(3/2)*t(k)+3; end for k=tam2+1:(2*tam2) k=tam2+1:(2*tam2) f(k)=(-3/2)*t(k)+3; end F=abs(fft(f./150,tam1)); %Reordenamos las abcisas Fx=F; F(tam2+1:tam1)=Fx(1:tam2); F(1:tam2)=Fx(tam2+1:tam1); figure(2) plot(t,F,'LineWidth',2.2); axis([-8 8 0 7]) xlabel('w') ylabel('F(w)') title('Espectro de Frecuencia')
%Se graficó el espectro de frecuencia F(w) usando fft
7
Figura 4.11 Gráfica de la señal f(t)
Figura 4.12 Espectro de frecuencias F(ω), mediante la
función fft(f,n) de MATLAB
Obsérvese que el espectro de frecuencias utilizando utilizando la función fft(f,n) de MATLAB y acomodando el vector de valores dados por ésta función, se obtuvo una señal semejante a la que se generó con la transformada de Fourier que se calculó analíticamente. 3.
Usando la función conv(a,b) de MATLAB®, graficar la convolución de las señales mostradas en la Figura 4.13 y Figura 4.14.
Figura 4.13 Función h(t)
Figura 4.14 Función x(t)
Justificar el resultado generado con c on MATLAB® Solución.
Para obtener la solución a la integral de convolución, se siguieron la serie de pasos que se marcaron en la sección de FUNDAMENTOS TEÓRICOS. Observe las siguientes gráficas, para entender mejor el proceso de convolución.
Estas son las señales originales a convolucionar.
8
(1) Se reflejó la función h(t), con respecto al eje de las ordenadas, para obtener la nueva función h(- λ). Y como se va a desplazar a lo largo del eje λ, y superponer con la función x(λ) que es x(t) mantenida fija, la función se definirá como h(t- λ). Por tanto, obtenemos el primer valor de la integral de convolución. (Figura A)
Figura A
, la integral de convolución es: , porque no hay se traslapan las señales. (2) Ahora, para , la integral de convolución es: (Figura B) Para
Figura B
∫ ∫
(3) Entonces, para , la integral de convolución es como se muestra en la Figura C. Nótese que mientras va saliendo la función desplazada h(t- λ) del pulso positivo de la función x(λ), también se va superponiendo con el pulso negativo de la misma función, por tanto, se tienen que evaluar 2 integrales de convolución.
9
Figura C
∫ ∫ (4) Así, para
, la integral de convolución es como se muestra en la Figura D.
Figura D
∫
, la integral de convolución es: , debido a que no se superponen las
(5) Por último, para señales. (Figura E)
Figura E
Por tanto, la señal de salida y(t) del sistema mediante la convolución de las señales x(t) y h(t) es:
10
Ingresando esta función definida a trozos en MATLAB®, se generó la siguiente gráfica: (Figura 4.15)
Ahora, se utilizará la función conv(f1,f2), de MATLAB para hallar la convolución de funciones. CODIGO DE MATLAB® %AUTOR: ZERON HERNANDEZ ALEJANDRO RAUL GRUPO: 4BV2 %EJERCICIO 3 clear all clc close all t=-2:0.01:4; %Se define un rango de graficación x=zeros(size(t)); x=zeros(size(t)); %Para construir la gráfica de la función x(t) tam1=100; tam2=301; tam3=501; h=zeros(size(t)); h=zeros(size(t)); %Para construir la gráfica de la función h(t) tam4=300; tam5=501; tam6=601; for k=tam4:tam5 h(k)=1; end figure(1) plot(t,h,'r','LineWidth',2) plot(t,h,'r','LineWidth',2) %Gráfica de la señal h(t) axis([-2 4 -1 2]) xlabel('t') ylabel('h(t)') title('Función h(t)') for k=tam1:tam2 x(k)=1; end for k=tam2:tam3 x(k)=-1; end figure(2) plot(t,x,'LineWidth',2) plot(t,x,'LineWidth',2) %Gráfica de la señal x(t) axis([-2 4 -2 2]) xlabel('t') ylabel('x(t)') title('Función x(t)') figure(3) y=conv(h,x)/100; y=conv(h,x)/100; %Vector de Convolución NORMALIZADO u=length(y); j=12/u; c=0:j:12-j; %Rango de graficación en el eje de abcisas plot(c-5,y,'g','LineWidth',2. plot(c-5,y,'g','LineWidth',2.2) 2) %Gráfica de la convolución. xlabel('t') ylabel('y(t)') title('Convolución title('Convolución de x(t)*h(t)')
11
Las gráficas que se generaron fueron las siguientes.
Figura 4.16 Función h(t) definida en MATLAB
Figura 4.17 Función x(t) definida en MATLAB
Figura 4.18 Convolución x(t)*h(t) utilizando la función conv(f1,f2) de MATLAB®
Como podemos observar, en la figura 4.18, con la función conv(a,b) se obtuvo la misma gráfica de convolución que se hayó de forma analítica.
OBSERVACIONES Y COMENTARIOS En los ejercicios 1 y 2, se tuvo que normalizar la transformada de Fourier dada por la función fft(f) de MATLAB, debido a que esta función, en realidad trata valores discretos de tiempo, siendo en sí la transformada Discreta de Fourier. Por tal motivo, toma muestras pequeñas y discretas, que después se graficaron. En el último ejercicio, también se tuvo que normalizar la convolución obtenida con la función conv(a,b) de MATLAB, a causa de que los valores se exceden de magnitud, por tal motivo, se modificó el código para disminuir dichos valores, y obtener lo más próximo al resultado analítico desarrollado.
12
CONCLUSIONES
Podemos decir que la transformada rápida de Fourier FFT en MATLAB es una herramienta eficaz para calcular la transformada de Fourier, pero en realidad, es la transformada discreta de Fourier (tiempos discretos) de una señal. En sí, la transformada de Fourier ayuda a calcular el espectro de frecuencias de una señal que nos ayudará en el tratamiento de señales. También, es importante destacar que la convolución de señales es una herramienta fundamental para entender y aplicar el concepto de “modulación”, y que mejor que MATLAB contenga una función indispensable para todo ingeniero que estudie el tratamiento de señales, dicha función es conv(a,b).
REFERENCIAS
[1] CHARLES, K. ALEXANDER & SADIKU, MATHEW N. O., “Fundamentos “Fundamentos de Circuit os os Eléctricos”, 3ra. Edición, McGraw-Hill, México, 2007. Cap. 15 (págs. 697 a 700) y Cap. 18 Transformada de Fourier págs. 821 a 824. [2] LATHI, B.P., “Modern “Modern Digital and Analog Communication Systems ”, ”, 3rd. Ed., Oxford University Press, New York, 1998; págs. 97 a 99. [3]
[4]
LATHI, B. P., “Introuccion “Introuccion a la Teoría y Sistemas de Comunicación ”, Comunicación ”, LIMUSA Gpo. Noriega Editores, México, 2003; págs. 87 a 94. HSU, HWEI P., “Análisis “Análisis de Fourier ”, ”, 1ra. Edición, Pearson Eduación, México, 1998.
13