Matlab - Transformada rápida de Fourier

 
Vista:

Transformada rápida de Fourier

Publicado por Alberto (5 intervenciones) el 10/01/2019 10:58:34
Buenas, tengo una determinada señal en dominio de tiempo, conozco que dentro de esa señal existe una frecuencia (1.3Hz) que debe ser eliminada, para ello utilizo el código de MathWorks de fft, con el cual llego al dominio de frecuencias y soy capaz de modificar y eliminar esa frecuencia, sin embargo no logro volver a ver esa señal que tenía en un principio en dominio del tiempo una vez he limpiado la frecuencia no deseada, he intentado usando ifft pero no obtengo un resultado lógico, puesto que al introducirle números reales devuelve números complejos. ¿Habría otra manera de hacerlo mediante ifft o mediante algún otro método? Gracias, dejo aquí lo que tengo realizado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
%%%%FOURIER
Fs = 15;            %Sampling frequency (Hz)                    
T = 1/Fs;         %Sampling period       
L = 256;            %Length of signal (msec)
t = (0:L-1)*T;      %Time vector
X = frecuencianormalizada;
 
%espectro bilateral P2, espectro unilateral P1 basado en P2 
Y = fft(X);
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;
 
%MODIFICACION EN FRECUENCIAS
%eliminar frecuencias cercanas a 1.3
pos=find(f>1.2 & f<1.4);
modf=P1;
modf(pos)=0;
%inversa de Fourier
tt = (0:128);
inversa=ifft(modf);
inversa2=abs(inversa);
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