Código para encontrar la señal principal mediante el filtro de la función max

Les dejo uno de los ejemplos que me enviaron para hacer la evaluación.


% 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

Related Posts Plugin for WordPress, Blogger...