Académique Documents
Professionnel Documents
Culture Documents
MATLAB
En la clase estudiamos el enfoque analtico para la determinacin de la
transformada de Fourier de una seal de tiempo continuo. En este tutorial
se utilizan mtodos numricos para encontrar la transformada de Fourier
de seales en tiempo continuo con MATLAB .
x(t)
1
2
Xjf4sinc4f
Esto se puede encontrar utilizando la tabla de transformadas de Fourier.
Podemos utilizar MATLAB para trazar esta transformacin. MATLAB tiene una
funcin sinc incorporado. Sin embargo, la definicin de la funcin sinc
MATLAB es ligeramente diferente a la utilizada en la clase y en la
transformada de Fourier tabla. En MATLAB:
sinc(x)
sin ( x)
x
> f=-5:.01:5;
> X=4*sinc(4*f);
> plot(f,X)
En este caso, la transformada de Fourier es una funcin puramente real. Por lo tanto,
podemos trazar como se muestra arriba. En general, las transformadas de Fourier son
funciones complejas y tenemos que trazar el espectro de amplitud y fase por separado.
Esto se puede hacer mediante los siguientes comandos:
>> plot(f,abs(X))
>> plot(f,angle(X))
Tenga en cuenta que el ngulo es cero o . Esto refleja los valores positivos
y negativos de la
funcin de transformacin.
X ( jf )
x(t) e j 2 ft dt
X ( jf )
1e j 2 ft dt
2
> clear
> f=0;
> t=-2:.01:2;
> trapz(t,exp(j*2*pi*f*t)) ans
=
4.0000
>>clear
>>t=2:.01:2;
>>k=0;
>>forf=5:.01:5
k=k+1;
X(k)=trapz(t,exp(j*2*pi*f*t));
end
>>f=5:.01:5;
>>plot(f,X)
>>clear
>>N=250;
>>ts=.0002;
>>t=[0:N1]*ts;
>>x=cos(2*pi*100*t)+cos(2*pi*500*t);
>>plot(t,x)
>>k=0;
>>forf=0:1:800
k=k+1;
X(k)=trapz(t,x.*exp(j*2*pi*f*t));
end
>>f=0:800;
>>plot(f,abs(X))
Como era de esperar los picos en el espectro se encuentran entre 100 y 500
Hz. Tericamente, esperamos ver las funciones de impulso a estas dos
frecuencias en cero y en otras frecuencias. Esto no es lo que observamos.
Esto es porque el cdigo de MATLAB slo aproxima la transformada. Hay
tres elementos que hacen que los resultados se aproximen.
La secuencia utilizada para calcular la transformada es una versin
muestreada de una seal continua. El valor del intervalo de muestreo (Ts) y
el nmero de muestras tomadas (N) afectan a la aproximacin.
Adems, el comando trapz est utilizando una suma para aproximar la
integral. Podemos
observar los efectos del intervalo de muestreo y nmero de muestras
cambiando sus valores.
Por ejemplo, si aumentamos el intervalo de muestreo en un factor de 10 (a
0.002) y disminuimos el nmero de muestras a 25 (lo que todava cubren el
intervalo de tiempo total de la misma gama), y repetimos el cdigo MATLAB
anterior obtenemos: