Parece que ni siquiera sabes cómo empezar. Intentaré guiarte un poco.
Matlab te será muy útil. Primero, necesitas entender lo básico. Puede encontrar muchos tutoriales, por ejemplo, este: enlace
Luego, una vez que sepa cómo trabajar con el software, deberá crear un script que haga lo siguiente.
- Genere los dos componentes sinusoidales (x1 y x2) y agréguelos a x = x1 + x2.
- Genera el ruido en una matriz n de la misma longitud. Supongo que está utilizando White Gaussian Noise, por lo que puede consultar esta función: enlace
- Recibe la señal ruidosa xn.
- Calcule Xnf y Xf como los espectros de xn y x. Siempre he usado el siguiente código base, insertando los valores correctos en el "...". ¡Recuerde el teorema de muestreo de Nyquist!
Fs = ...; inct = 1/Fs; %Sampling frequency
T = ...; % T*Fs samples
N = Fs*T; % = T/inct;
t = [0:1/Fs:T-1/Fs]; % Time samples for T seconds [0,T)
f = [-Fs/2:Fs/N:Fs/2 – Fs/N]; % Frequency [-Fs/2,Fs/2)
Xf=fftshift(inct*fft(x)) %check fft and fftshift help, as well as FT theory.
-
Ahora puede diseñar el filtro en el dominio de frecuencia. Supongo que puedes ir por un filtro ideal. Puedes llamarlo Hf. Ahora, debido a la propiedad FT de convolución, Y (w) = H (w) X (w). ¡No hay necesidad de convolución!
-
Ahora comprueba el rendimiento. No sé a qué se refiere el "rendimiento", pero creo que tiene algo que ver con la señal y la potencia de ruido. Si es así, tenga en cuenta que no necesita calcular una integral. MATLAB maneja señales discretas para que pueda usar la función de suma en su lugar.