Está en la página 1de 7

6.2. Generar mediante un archivo .

m (su equivalente en octave) una señal senoidal de amplitud


A, de frecuencia f ; añadirle ruido blanco con una amplitud de B , y hacer pasar a esta señal por
los filtros creados en el punto 6.1. Mostrar la señal antes y después del filtro, y notar la
diferencia entre cada caso. Mostrar la variación del espectro en frecuencia y la densidad
espectral de potencia.
Realizamos el archivo .m en matlab:
clear;
clc;
disp('-------Filtrado de una señal-------')
%Datos
t = 0:0.001:1; % Vector de tiempo
n=4;
fc=2000;
fs=2.5*fc;
wn=fc/(fs/2);
f=input('Ingrese la frecuencia: ' ); %FRECUENCIA
A=input('Ingrese la amplitud: ');%AMPLITUD
x=A*sin(2*pi*t*f);%ONDA SINUSOIDAL
%AÑADIMOS EL RUIDO
B=input('Ingrese la amplitud del ruido: ');
ruido=B*rand(size(t));
yy=x+ruido;
yyy=fft(yy,1024);
frecuencias=((0:1023)/1023);
%FILTRO PASABAJO
[num den]=butter(n,wn,'low');
ft=tf(num,den);
[h w]=freqz(num,den);
%FILTRAMOS CON FILTRO PASABAJO
sefil=filter(num,den,yy);
SEF=fft(sefil,1024);
%GRAFICOS
figure(1)
subplot(3,2,1)
plot(yy)
title('Señal con ruido');
subplot(3,2,2)
plot(sefil)
title('Señal filtrada');
subplot(3,2,3)
plot(frecuencias,imag(yyy));
title('Espectro de frecuencia de señal con ruido');
subplot(3,2,4)
plot(frecuencias,imag(SEF))
title('Espectro de frecuencia de señal filtrada');
subplot(3,2,5)
plot(frecuencias,imag(yyy).^2);
title('Densidad espectral de señal con ruido');
subplot(3,2,6)
plot(frecuencias,imag(SEF).^2)
title('Densidad espectral de señal filtrada');
%FILTRO PASAALTO
n=20;
fc=20000;
fs=2.5*fc;
wn=fc/(fs/2);
[num den]=butter(n,wn,'high');
ft=tf(num,den);
[h w]=freqz(num,den);
%FILTRAMOS CON FILTRO PASAALTO
sefil=filter(num,den,yy);
SEF=fft(sefil,1024);
%GRAFICOS
figure(2)
subplot(3,2,1)
plot(yy)
title('Señal con ruido');
subplot(3,2,2)
plot(sefil)
title('Señal filtrada');
subplot(3,2,3)
plot(frecuencias,imag(yyy));
title('Espectro de frecuencia de señal con ruido');
subplot(3,2,4)
plot(frecuencias,imag(SEF))
title('Espectro de frecuencia de señal filtrada');
subplot(3,2,5)
plot(frecuencias,imag(yyy).^2);
title('Densidad espectral de señal con ruido');
subplot(3,2,6)
plot(frecuencias,imag(SEF).^2)
title('Densidad espectral de señal filtrada');
%FILTRO PASABANDA
fc=8500;
fs=2.5*fc;
wn=fc/(fs/2);
[num den]=butter(n,wn,'s');
ft=tf(num,den);
[h w]=freqz(num,den);
%FILTRAMOS CON FILTRO PASABANDA
sefil=filter(num,den,yy);
SEF=fft(sefil,1024);
%GRAFICOS
figure(3)
subplot(3,2,1)
plot(yy)
title('Señal con ruido');
subplot(3,2,2)
plot(sefil)
title('Señal filtrada');
subplot(3,2,3)
plot(frecuencias,imag(yyy));
title('Espectro de frecuencia de señal con ruido');
subplot(3,2,4)
plot(frecuencias,imag(SEF))
title('Espectro de frecuencia de señal filtrada');
subplot(3,2,5)
plot(frecuencias,imag(yyy).^2);
title('Densidad espectral de señal con ruido');
subplot(3,2,6)
plot(frecuencias,imag(SEF).^2)
title('Densidad espectral de señal filtrada');
Mostramos las variaciones de los espectos:

FILTRO PASA BAJO

Señal
Señalcon
conruido
ruido Señal
Señalfiltrada
filtrada
10
10 10
10

00 00

-10 -10
-10
-10
00 500
500 1000
1000 00 500
500 1000
1000
Espectro
Espectrode
defrecuencia
frecuenciade
deseñal
señalcon
conruido
ruido Espectro
Espectrode
defrecuencia
frecuenciade
deseñal
señalfiltrada
filtrada
5000
5000 5000
5000

00 00

-5000
-5000 -5000
-5000
00 0.5
0.5 11 00 0.5
0.5 11

Densidad 6 espectral de señal con ruido 7 espectral de señal filtrada


Densidad
10
Densidad 6
10 espectral de señal con ruido 10 7 espectral de señal filtrada
Densidad
10
15
15 22

10
10
11
55

00 00
00 0.5
0.5 11 00 0.5
0.5 11

Ilustración 1: Señal filtrada con filtro pasa bajo

FILTRO PASA ALTO

Ilustración 2: Señal filtrada con filtro pasa alto

FILTRO PASA BANDA


Señal
Señalcon
conruido
ruido Señal
Señalfiltrada
filtrada
200
200
10
10

00
00

-10
-10 -200
-200
00 500
500 1000
1000 00 500
500 1000
1000

Espectro 44 frecuencia de señal filtrada


Espectrode
defrecuencia
frecuenciade
deseñal
señalcon
conruido
ruido Espectro
10 de
Espectro de frecuencia de señal filtrada
10
5000
5000 11

00 00

-5000 -1
-1
-5000
00 0.5
0.5 11 00 0.5
0.5 11

Densidad 66espectral de señal con ruido Densidad77 espectral de señal filtrada


10
Densidad
10 espectral de señal con ruido 10
Densidad
10 espectral de señal filtrada
15
15
10
10
10
10
55
55

00 00
00 0.5
0.5 11 00 0.5
0.5 11

Ilustración 3:Señal filtrada con filtro pasa banda

7.5 A la señal senoidal generada en el 6.2 y la señal de la figura 2, hallar la densidad espectral
de potencia y su espectro de sus señales respectivamente y comparar. Explicar.
Desarrollamos el archivo .m en Matlab.
clear;
clc;
disp('-------Filtrado de una señal-------')
%Datos
ti = 0:1/100:20; % Vector de tiempo
n=4;
fc=2000;
fs=2.5*fc;
wn=fc/(fs/2);
f=input('Ingrese la frecuencia: ' ); %FRECUENCIA
A=input('Ingrese la amplitud: ');%AMPLITUD
SENO=A*sin(2*pi*ti*f);%ONDA SINUSOIDAL
yy1=fft(SENO,1024);%FFT DE SEÑAL SINUSOIDAL
%FIGURA 2
p=0:1/100:20; %Vector de Tiempo
t=4;%tau
T=10; %Periódo
w0=2*pi/T; %Frecuencia fundamental
arm=450; %Armónicos a Evaluar
sum=0;
for n=[1:arm]
a0=(1/T)*A*t;
a(n)=(2*A/T)*(1/(n*w0))*(sin(n*w0*t));
b(n)=(-2*A/T)*(1/(n*w0))*(cos(n*w0*t)-1);%Coeficiente Bn
x=a(n);
y=b(n);
sum=sum+(a(n)*cos(w0*n*p)+b(n)*sin(w0*n*p));%Serie de fourier

end
sum=a0+sum;
yy2=fft(sum,1024);%FFT DE SEÑAL SINUSOIDAL
frecuencias=((0:1023)/1023);
%GRÁFICAS
subplot(4,1,1)
plot(ti,SENO)
hold on
plot(p,sum);
title('COMPARACIÓN DE SEÑAL FIGURA 2 Y FIGURA 7.2');
subplot(4,1,2)
plot(frecuencias,imag(yy1).^2)
hold on
plot(frecuencias,imag(yy2).^2);
title('COMPARACIÓN DE DENSIDAD DE ESPECTRAL DE SEÑAL FIGURA 2 Y FIGURA
7.2');
subplot(4,1,3)
plot(frecuencias,abs(yy1))
hold on
plot(frecuencias,abs(yy2));
title('COMPARACIÓN DE ESPECTRO DE MAGNITUD DE SEÑAL FIGURA 2 Y FIGURA
7.2');
subplot(4,1,4)
plot(frecuencias,imag(yy1))
hold on
plot(frecuencias,imag(yy2));
title('COMPARACIÓN DE ESPECTRO DE FASE DE SEÑAL FIGURA 2 Y FIGURA 7.2');
COMPARACIÓN
COMPARACIÓNDE
DESEÑAL
SEÑALFIGURA
FIGURA22YYFIGURA
FIGURA7.2
7.2
22
11
00
-1
-1

00 22 44 66 88 10
10 12
12 14
14 16
16 18
18 20
20
COMPARACIÓN
10
55
COMPARACIÓN DE
DEDENSIDAD
DENSIDADDE
DEESPECTRAL
ESPECTRALDE
DESEÑAL
SEÑALFIGURA
FIGURA22YYFIGURA
FIGURA7.2
7.2
44 10

22

00
00 0.1
0.1 0.2
0.2 0.3
0.3 0.4
0.4 0.5
0.5 0.6
0.6 0.7
0.7 0.8
0.8 0.9
0.9 11
COMPARACIÓN
COMPARACIÓNDE
DEESPECTRO
ESPECTRODE
DEMAGNITUD
MAGNITUDDE
DESEÑAL
SEÑALFIGURA
FIGURA22YYFIGURA
FIGURA7.2
7.2
1000
1000

500
500

00
00 0.1
0.1 0.2
0.2 0.3
0.3 0.4
0.4 0.5
0.5 0.6
0.6 0.7
0.7 0.8
0.8 0.9
0.9 11
COMPARACIÓN
COMPARACIÓNDE
DEESPECTRO
ESPECTRODE
DEFASE
FASEDE
DESEÑAL
SEÑALFIGURA
FIGURA22YYFIGURA
FIGURA7.2
7.2
500
500

00

-500
-500
00 0.1
0.1 0.2
0.2 0.3
0.3 0.4
0.4 0.5
0.5 0.6
0.6 0.7
0.7 0.8
0.8 0.9
0.9 11

Ilustración 4: Comparación de señal de figura 2 y figura 6.2

7.6 Analice el efecto del filtro sobre la densidad espectral de potencia.


Efecto del filtro sobre la densidad espectral de potencia:

 Elimina el ruido que tergiversa la señal


 Ayuda en la estimación correcta de la densidad espectral de potencia.
7.7 Conclusiones y Recomendaciones.

 El análisis realizado da una visión general del comportamiento de los métodos de


análisis en el dominio del tiempo-frecuencia estudiados, por lo tanto, no necesariamente
los métodos que menos o más ventajas posean, son los mejores o peores
respectivamente, solo poseen características que dependiendo de la aplicación pueden
ser adecuados para analizar señales específicas
 Con las consideraciones de simetría, uno puede ahorrar mucho tiempo al momento de
resolver la serie de Fourier, ya que dependiendo de la simetría sus componentes a0,an y
bn pueden ser 0.
 Concluimos la importancia de uso de filtros para el filtrado de señales, y ayudarnos a
eliminar el ruido que tergiversan los mensajes.
7.8 Bibliografía.
[1]“Filtro de media móvil,” Mathworks.com, 2020.
https://la.mathworks.com/help/matlab/ref/filter.html (accessed Nov. 25, 2020).
[2]“Función de transferencia de Butterworth Lowpass,” Mathworks.com, 2020.
https://la.mathworks.com/help/signal/ref/butter.html (accessed Nov. 25, 2020).
[3]Matlab S.S, “FILTRO BUTTERWORTH en MATLAB en una señal SINUSOIDAL, pasa
ALTO, BAJO, BANDA y rechaza BANDA.,” YouTube. Aug. 17, 2020, Accessed: Nov. 25,
2020. [Online]. Available: https://www.youtube.com/watch?
v=hg9PpMZ4cv4&t=662s&ab_channel=MatlabS.S.
[4] jorge luis, “Diseño de filtros Butterworth con MATLAB paso a paso (Parte 2),” YouTube.
Dec. 04, 2017, Accessed: Nov. 25, 2020. [Online]. Available: https://www.youtube.com/watch?
v=SsJ3F7qz1T0&ab_channel=jorgeluis.

También podría gustarte