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).
Figura A5 -- Dominio
Tiempo-frecuencia
Gabor analiza la señal seleccionando intervalos
temporales, tal como se muestra en la Fig. A6.
Fig. A6 -- Selección de
ventanas temporales (según Gabor)
Matemáticamente, la transformada de Gabor se expresa:
G(
A continuación se presentan las señales anteriores
(Figs. A3 y A4) en este dominio en la Fig. A7:
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.10
Fig. A8 -- Función
x3(t)
Y su transformada (Figura A9)
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