Próximo: La base de Haar  Arriba: Página de Inicio  Previo:  Transformada de Fourier


La Transformada de Gabor

La transformada de Gabor realiza un análisis de la señal tal que es capaz de representar en cada instante de tiempo, las componentes de la señal, de trata pues de un dominio tiempo-frecuencia (Fig. A5).


Figure

Figura A5 -- Dominio Tiempo-frecuencia


Gabor analiza la señal seleccionando intervalos temporales, tal como se muestra en la Fig. A6.


Figure

Fig. A6 -- Selección de ventanas temporales (según Gabor)


Matemáticamente, la transformada de Gabor se expresa:


    G(MATH


A continuación se presentan las señales anteriores (Figs. A3 y A4) en este dominio en la Fig. A7:


Figure

Fig. A7 -- Transformadas de Gabor de x1(t) y x2(t)

Ahora es posible localizar la respuesta frecuencial en el tiempo, pero existe una incertidumbre en la localización. Este fenómeno se aprecia en la Figura A8, para el caso de una señal como la siguiente:

    x3(t)=if(t<60.10MATH


Figure

Fig. A8 -- Función x3(t)


Y su transformada (Figura A9)


Figure

Fig. A9 -- Transformada de Gabor de x3(t)


En la Fig. A9 se puede apreciar incertidumbre en el plano tiempo-frecuencia, cuando se produce una variación de frecuencia. Ello es debido a que la resolución depende del tamaño de la ventana escogida para el análisis. Intervalos mayores permiten una buena resolución en frecuencia, ventanas estrechas una correcta localización temporal. Se ha de establecer un compromiso entre la incertidumbre temporal o la frecuencial, que dependerá de cada tipo de aplicación.


function stft(a1)


% ********** Función de Matlab para hallar la STFT **********************

% Halla la transformada de Forurier de Corto Tiempo

% Entrada: a1 es el coeficiente de dilatacion de la ventana exploradora

% Funcion a transformar

n=12; % exponente del numero total de muestras: 2^n

f1=700; f2=200; % frecuencia de la señal

for i=1:2^n,

if i<2^(n-1), V(i)=sin(2*pi*f1*(i-1)/2^(n)); else V(i)=sin(2*pi*f2*(i-1)/2^(n));end

end

Nw=32; % ancho de la ventana

i=1:Nw;w(i)=exp(-a1/2*((i-1)-Nw/2).^2); % vector ventana de Nw elementos

for i=0:2^n-1,

VV(i+1)=V(i+1)*w(mod(i,Nw)+1);

end

% el vector VV tiene los productos de la ventana por cada tramo del vector datos

i=0; while i<2^n,

j=0; while j<Nw

A(floor(i/Nw)+1, j+1)=VV(i+1);i=i+1;j=j+1;

end

end

for i=1:2^n/Nw,

for j=1:Nw, B(j)=A(i,j); end

C=abs(fft(B))/sqrt(Nw);

for j=1:Nw, F(i,j)=C(j); end

end

surf(F)

save c:\aa1.txt F -ascii


     
Próximo: La base de Haar  Arriba: Página de Inicio  Previo:  Transformada de Fourier