Practica 4: Análisis básico de señales con Matlab
Enviado por Christopher • 11 de Enero de 2019 • 1.023 Palabras (5 Páginas) • 806 Visitas
...
Código de Matlab
Ti=0;%tiempo inicial
Tf=1;%tiempo final
T=Tf-Ti;%Intervalo de tiempo
f=100;%frecuencia máxima de la señal
fs=10*f;%frecuencia de muestreo fs>2f=10f=1000
Ts=1/fs;%Periodo de muestreo=1ms
N=T/Ts;%Número de muestras=1000
df=fs/N;%resolución frecuencial=1
fref1=-fs/2:df:fs/2;%Vector de frecuencias. Para le espectro bilateral
fref2=0:df:fs;%Vector de frecuencias para el espectro unilateral
t=0:Ts:Tf;%Vector de tiempo
v=20*cos(2*pi*100*t)+15*sin(2*pi*50*t);%Función a analizar
subplot(3,2,1);%Crea una matriz de gráficas 3x2. Se escoge el elemento 1,1
plot(t,v);axis([0 0.1 -60 60]);%Gráfica de la función en el dominio del tiempo
s=rand(1,length(v));%Ruido para la función
y=v.*s;%Se agrega ruido a la función
subplot(3,2,2);
plot(t,s);%Gráfica de la señal ruidosa
TFv=(abs(fft(v)))/1000;%Se aplica la DFT a la señal sin ruido y se multiplica por el factor de ajuste
subplot(3,2,3);
stem(fref1,TFv);axis([-500 500 0 10]);%Grafica de la función sin ruido en el dominio de f, en el intervalo (-fs/2,fs/2)
TFv=(abs(fft(v)))/1000;
subplot(3,2,4);
stem(fref2,TFv);axis([0 110 0 10]);%Grafica de la función sin ruido en el dominio de f, con espectro volteado
TFv=(abs(fftshift(fft(v))))/1000;
subplot(3,2,5);
stem(fref1,TFv);axis([-500 500 0 10]);%Grafica de la función sin ruido en el dominio de f, con espectro bilateral
TFy=(abs(fftshift(fft(y))))/500; %Se aplica la DFT a la señal con ruido y se multiplica por el factor de ajuste
subplot(3,2,6);
stem(fref1,TFy);axis([-500 500 0 10]);%Grafica de la función con ruido en el dominio de f, con espectro bilateral
---------------------------------------------------------------
Gráficas obtenidas
[pic 1]
La función fft() nos permite obtener el espectro de frecuencias positivo de una señal. Si se trata de graficar con el espectro bilateral (-fs/2,fs/2) se obtiene un resultado erroneo.
Si se desea obtener el espectro bilateral bilateral de una función se debe aplicar la instrucción fftshift() a fft() y graficar con el intervalo (-fs/2,fs/2).
Mientras que en el dominio del tiempo el ruido es muy notorio, en el dominio de la frecuencia casi no lo es. Esto nos permite identificar las componentes de frecuencia de la señal deseada con facilidad.
Conclusiones
- Se puede realizar el análisis tanto en el domino del tiempo como en el de la frecuencia de una señal utilizando Matlab. Para esto se emplean las funciones fft(y) y fftshift(fft(y)).
- El espectro de frecuencia de una señal nos permite identificar sus componentes de frecuencia, frecuencia fundamental y armónicos. A través de él podemos observar de que señales por las que está compuesta.
...