Práctica 4 Transformada de Fourier y Convolución de Señales
Short Description
Descripción: 07.04.2010...
Description
Pr´actica No.04 Transformada de Fourier y Convoluci´on de Se˜ nales ´ FUNDAMENTOS TEORICOS El t´ermino convoluci´ on significa ”voltear”. La convoluci´on es una herramienta muy importante para el ingeniero, porque proporciona un medio para ver y caracterizar sistemas f´ısicos. Por ejemplo, se usa para encontrar la respuesta y(t) de un sistema a una excitaci´on x(t), conociendo la respuesta del impulso del sistema h(t). Esto se logra a trav´es de la integral de convoluci´ on, definida como, Z ∞ y(t) = x(λ) h(t − λ) d(λ) (1) −∞
o simplemente y(t) = x(t) ∗ h(t)
(2)
donde λ es una variable muda (impl´ıcita) y el asterisco denota la convoluci´on. La ecuaci´on (1) o la (2) establecen que la salida es igual a la entrada convolucionada con la respuesta ante un impulso unitario. El proceso de convoluci´ on es conmutativo: y(t) = x(t) ∗ h(t) = h(t) ∗ x(t) o sea
Z
∞
Z
∞
x(λ) h(t − λ) dλ =
y(t) = −∞
h(λ) x(t − λ) dλ −∞
Esto implica que el orden en el que las dos funciones se convolucionan es irrelevante. Se ver´a brevemente c´ omo aprovechar esta propiedad conmutativa cuando se lleva a cabo el c´alculo gr´afico de la integral de convoluci´ on. La convoluci´ on de dos se˜ nales consiste en invertir una de las se˜ nales en el tiempo, desplaz´ andola y multiplic´ andola punto a punto por la segunda se˜ nal, e integrando el producto. La ecuaci´ on general de la integral de convoluci´on est´a dada en la ecuaci´on (1); y se aplica a cualquier 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, Z ∞ Z ∞ 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 anterior se convierte en Z t y(t) = h(t) ∗ x(t) = x(λ) h(t − λ) d(λ) (3) 0
´ LEYES Y PROPIEDADES DE LA CONVOLUCION A continuaci´ on, se listan las leyes y algunas propiedades de la integral de convoluci´on.
1. Conmutativa.
x(t) ∗ h(t) = h(t) ∗ x(t)
2. Distributiva.
f (t) ∗ [x(t) + y(t)] = f (t) ∗ x(t) + f (t) ∗ y(t)
3. Asociativa.
f (t) ∗ [x(t) ∗ y(t)] = [f (t) ∗ x(t)] ∗ y(t) 1
∞
Z 4.
f (λ) δ(t − λ) dλ = f (t)
f (t) ∗ δ(t) = −∞
5. 6.
f (t) ∗ δ(t − to ) = f (t − to ) Z ∞ 0 f (λ) δ 0 (t − λ) dλ = f 0 (t) f (t) ∗ δ (t) = −∞
Z 7.
∞
Z
f (t) ∗ u(t) =
∞
f (λ) u(t − λ) dλ = −∞
f (λ) dλ −∞
Antes de aprender a evaluar la integral de convoluci´on en la ecuaci´on (3), se considerar´a el v´ınculo entre la transformada de Fourier y la integral de convoluci´ on. Demostraci´ on Dadas las funciones x(t) y h(t) con transformadas de Fourier X(ω) y H(ω), respectivamente, su convoluci´ on es [ecuaciones (1) y (2)] t
Z y(t) = h(t) ∗ x(t) =
h(λ) x(t − λ) dλ 0
Calculando la transformada de Fourier de ambos lados se obtiene: Z
∞
Z
∞
Y (ω) = = [h(t) ∗ x(t)] =
h(λ) x(t − λ) dλ
−∞
e−jωt dt
−∞
Intercambiando el orden de integraci´ on y factorizando h(λ), el cual no depende de t, se produce Z
∞
Y (ω) =
Z
∞
x(t − λ) e
h(λ) −∞
−jωt
dt dλ
−∞
Para la integral dentro de los corchetes, sea τ = t − λ de modo que t = τ + λ y dt = dτ . Entonces, Z
∞
Y (ω) =
Z
∞
x(τ ) e−jω(τ +λ) dτ dλ −∞ Z ∞ −jωλ h(λ) e dλ x(τ ) e−jωτ dτ = H(ω)X(ω) h(λ)
−∞ ∞
Z =
−∞
−∞
Esta es una relaci´ on importante, ya que es la raz´on principal para emplear la transformada de Fourier en el an´ alisis de sistemas. De la u ´ltima expresi´ on, podemos asegurar que,
Y (ω) = = [h(t) ∗ x(t)] = H(ω)X(ω)
(4)
como se esperaba; la ecuaci´ on (4) indica que la convoluci´ on en el dominio temporal corresponde a la ´ multiplicaci´ on en el dominio de la frecuencia (PROPIEDAD DE CONVOLUCION). Para ilustrar la propiedad de convoluci´ on, sup´ongase que h(t) y x(t) son pulsos rectangulares id´enticos, como se muestra en la figura 4.1(a) y 4.1(b). Recu´erdese que las transformadas de Fourier de los pulsos rectangulares son las funciones de muestreo, como se muestra en la figura 4.1(c) y 4.1(d). Seg´ un la propiedad de convoluci´ on, el producto de las funciones muestra (o tambi´en, llamada sinc)debe proporcionar la convoluci´on de los pulsos 2
Figura 4.1 Ilustración gráfica de la propiedad de convolución.
E.O. Brigham, The Fast Fourier Transform [Englewood Cliffs, NJ: Prentice Hall, 1974], p.60
3
DESARROLLO
Figura 4.2
1. Graficar el espectro de la función mostrada en la Figura 4.2. a) Usando el resultado 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) xlabel('ω') ylabel('F(ω)') title('Espectro de la señal f(t)')
GRUPO: 4BV2
%Intervalo %Transformada de Fourier del análisis %Graficación del espectro
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
GRUPO: 4BV2
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)') %Hasta aquí, se define y se grafica la 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)); %Cálculo de la transformada de Fourier (normalizada) %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) %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)
( )
Figura 4.6
Figura 4.7 Derivada 1a de f(t)
La transformada de Fourier se encuentra si se 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
( )
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 ω=-8:pi/100:8; %Intervalo para graficar Fw=6.*((sin(ω)).^2./ω.^2); %(Transformada de Fourier) Función obtenida analíticamente
6
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) 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 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 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
Para
, la integral de convolución es:
(2) Ahora, para
, porque no hay se traslapan las señales.
, la integral de convolución es: (Figura B)
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 ∫ (
(5) Por último, para señales. (Figura E)
)( )
, la integral de convolución es:
, debido a que no se superponen las
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)); %Para construir la gráfica de la función x(t) tam1=100; tam2=301; tam3=501; 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) %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) %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; %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.2) %Gráfica de la convolución. xlabel('t') ylabel('y(t)') 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 de Circuitos 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 Digital and Analog Communication Systems”, 3rd. Ed., Oxford University Press, New York, 1998; págs. 97 a 99. [3] [4]
LATHI, B. P., “Introuccion a la Teoría y Sistemas de Comunicación”, LIMUSA Gpo. Noriega Editores, México, 2003; págs. 87 a 94. HSU, HWEI P., “Análisis de Fourier”, 1ra. Edición, Pearson Eduación, México, 1998.
13
View more...
Comments