MATLAB sobre generar y analizar señales ruidosas

1

Tengo una tarea sobre Señales y Sistemas. Soy completamente nuevo en MATLAB, por lo que necesito ayuda extrema en la siguiente tarea:

Genere una señal ruidosa con componentes sinusoidales definidos a 100 Hz y 300 Hz (3er armónico)

a) Calcule (disminuya) su tiempo y la variación espectral
b) Calcular la resolución de frecuencia (deltaf)
c) Diseñe un filtro de paso bajo para eliminar el tercer armónico y comprobar su rendimiento.

Necesito el código y los gráficos para hacer esta tarea. Cualquier ayuda es apreciada. Gracias.

    
pregunta eren

1 respuesta

4

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.

respondido por el Serge

Lea otras preguntas en las etiquetas