Matlab - Duda tranformada de fourier (comando FFT)

   
Vista:

Duda tranformada de fourier (comando FFT)

Publicado por Alberto (5 intervenciones) el 13/06/2017 19:17:02
Hola buenas,

He estado utilizando el comando fft de Matlab para representar el espectro de frecuencias de unos datos de tensión que tengo. Para ello he buscado en la información que te da el programa para utilizar este comando y basicamente he copiado y pegado lo que ponía cambiando alguna que otra cosa. Mi duda viene en los vectores P1 y P2, que no entiendo muy bien. La cosa es que los resultados que me da no concuerdan con lo que deberían dar y tengo el presentimiento de que al copiar y pegar el script puede que se este haciendo algo mal. También puede ser que tenga todo correcto y entonces el problema venga de mis datos. Os agradezco de antemano la ayuda y os dejo aqui el script, así como los dos vectores que utilizo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
L=length(t);
T=834e-6;
Fs=1/T;
Y=fft(Vn)
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
plot(f,P1)
 
 
axis([0 600 0 80])
xlabel('Frecuancia [Hz]')
ylabel('Tensión [V]')
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

Duda tranformada de fourier (comando FFT)

Publicado por JOSE JEREMIAS CABALLERO (4442 intervenciones) el 13/06/2017 22:05:18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear all
load Datos
L=length(t);
T=834e-6;
Fs=1/T;
Y=fft(Vn)
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
plot(f,P1)
 
axis([0 600 0 80])
xlabel('Frecuancia [Hz]')
ylabel('Tensión [V]')
whos
.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.
.
-0.0095 + 0.0001i
  -0.0089 + 0.0003i
  -0.0090 - 0.0005i
  Name         Size              Bytes  Class     Attributes
 
  Fs           1x1                   8  double
  L            1x1                   8  double
  P1        1194x1                9552  double
  P2        2386x1               19088  double
  T            1x1                   8  double
  Vn        2386x1               19088  double
  Y         2386x1               38176  double    complex
  f            1x1194             9552  double
  t         2386x1               19088  double

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar