% Inicio del código
%% ejemplo del uso de las funciones FFT y MAX para limpiar una señal
%% con ruido
%% 12 sept 2011
% limpieza de la memoria
clc
clear
close all
% Señales con ruido
x=0:1/255:1;
y= 10*sin(2*pi*29*x)+ ...
3*sin(2*5*x)+ ...
2.5*sin(rand*25*2*pi*x)+...
3.5*cos(rand*155*2*pi*x)+...
2.5*sin(300*pi*x);
% Transformada de Fourier simple
Y=fft(y);
[a,b]=max(Y);
%indiceAmplitudmax=b;
% haciendo el vector con ceros
Y1=Y*0;
% sustituyendo en el espacio del indice el numero complejo que representa
% el maximo
Y1(b)=(a);
%tomando unicamente la parte real de la parte inversa de la transformada de
%Fourier. La parte imaginaria no nos da más información en esta parte
inversa= real(ifft(Y1));
% visualizando en la misma grafica la señal con ruido y limpia
hold on
plot(x,y,'r');
plot(x,inversa, 'k')
hold off
% Fin del código
Pregunta para pensar:
¿qué implica en la señal de principal (color negro) que sea un número complejo el máximo del espectro en la Transformada de Fourier?, ¿acaso son son dos señales? o ¿cambios de fase?.
No hay comentarios:
Publicar un comentario