Você está na página 1de 12

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CENTRO DE ENGENHARIAS
CURSO DE ENGENHARIA ELÉTRICA
DISCIPLINA: ANÁLISE DE SINAIS E SISTEMAS
DOCENTE: ISAAC BARROS TAVARES DA SILVA
ALUNO: CARLOS HENRIQUE ROCHA DOS SANTOS

TRABALHO UNIDADE 3

Aplicar o filtro passa-baixa ideal no sinal sen(377t) e comparar com o filtro


Butterworth:
• Passa-baixa ideal em sen(377t):
% Filtro passa-baixa aplicado na função sen(377t)
clear all;
close all;
clc;

%Definindo as variáveis
f=60;
Fs=180;
Ts=1/Fs;

%Dados da função
t = 0:0.001:1; %Intervalo de tempo e passo utilizado
x = sin(2*pi*f*t); %Definindo função sen(377t)
N1 = round(1/Ts);
n1 = 0:N1;
x1 = sin(2*pi*f*n1*Ts');
subplot(3,1,1);
plot(t,x)
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal original de sen(377t)')
grid on
axis([0,1,-1.5,1.5]);

%Sinal discretizado
subplot(3,1,2);
stem(n1*Ts,x1,'.')
xlabel ('n')
ylabel ('x(n)')
title('Sinal discretizado')
grid on
axis([0,1,-1.5,1.5]);

%Sinal reconstruído utilizando o filtro passa-baixa ideal


xr = x1*sinc(Fs*(ones(length(n1),1)*t-(n1*Ts)'*ones(1,length(t))));
%Função reconstruida
subplot(3,1,3);
plot(t,xr);
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal filtrado com o passa-baixa ideal')
grid on
axis([0,1,-1.5,1.5]);
Sendo o sen(377t) aproximadamente Sen (2*pi*60*t), temos a frequência de 60
Hz, assim tomando a frequência de amostragem 4 vezes maior que a da função original
temos Fs=180. Assim podemos mostrar abaixo o processo de amostragem e a
recuperação do sinal usando um filtro passa baixa ideal.

Gráficos gerados:

Gráficos ampliados para melhor observação:


• Butterworth em sem(377t):
% Filtro Butterworth aplicado na função sen(377t)
close all;
clear all;
clc;

%Definindo as variáveis
f = 60;
Fs = 180;
Ts = 1/Fs;

%Dados da função
t = 0:0.001:1; %Intervalo de tempo e passo utilizado
x = sin(2*pi*f*t); %Definindo função sen(377t)
N1 = round(1/Ts);
n1 = 0:N1;
x1 = sin(2*pi*f*n1*Ts');
subplot(3,1,1);
plot(t,x)
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal original de sen(377t)')
grid on
axis([0,1,-1.5,1.5]);

%Sinal discretizado
subplot(3,1,2);
stem(n1*Ts,x1,'.')
xlabel ('n')
ylabel ('x(n)')
title('Sinal discretizado')
grid on
axis([0,1,-1.5,1.5]);

%Sinal reconstruído utilizando o Butterworth


[b a] = butter(1,0.7,'low');
xr = filter(b,a,x); %Função reconstruida
subplot(3,1,3)
plot(t,xr)
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal filtrado com o Butterworth')
grid on
ylim([-1.2 1.2]);

Assim como no filtro passa baixa tomamos o sen(377t) aproximadamente Sen


(2*pi*60*t), assim temos a frequência de 60 Hz, tomando a frequência de amostragem 4
vezes maior que a da função original temos Fs=180. Assim podemos mostrar abaixo o
processo de amostragem e a recuperação do sinal usando um filtro butterworth.
Gráficos gerados:

Gráficos ampliados para melhor observação:


Aplicar os dois filtros (passa-baixas ideal e Butterworth) na função ret(t):
• Passa-baixa ideal em ret(t):
% Filtro passa-baixa ideal aplicado na função ret(t)
clear all;
close all;
clc;

%Definindo as variáveis
f = 1;
T = 1/f;
Fs = 1000;
Ts = 1/Fs;

%Dados da função
t = -1:0.001:1; %Intervalo de tempo e passo utilizado
x = rectangularPulse(t/T); %Aplicando o degrau na função
N1 = round(1/Ts);
n1 = -N1:N1;
x1 = rectangularPulse(n1*Ts');
subplot(3,1,1);
plot(t,x)
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal original de ret(t)')
grid on
axis([-1,1,-2,2]);

%Sinal discretizado
subplot(3,1,2);
stem(n1*Ts,x1,'.')
xlabel ('n')
ylabel ('x(n)')
title('Sinal discretizado')
grid on
axis([-1,1,-2,2]);

%Sinal reconstruído utilizando o passa-baixa ideal


xr = x1*sinc(Fs*(ones(length(n1),1)*t-(n1*Ts)'*ones(1,length(t))));
%Função reconstruida
subplot(3,1,3);
plot(t,xr);
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal filtrado com o passa-baixa ideal')
grid on
axis([-1,1,-2,2]);

Agora o processo de amostragem é feito em uma função ret(t) onde será utilizado
o filtro passa baixa para a recuperação do sinal.
Gráficos gerados:

Gráficos ampliados para melhor observação:


• Butterworth em ret(t):
% Filtro Butterworth aplicado na função ret(t)
close all;
clear all;
clc;

%Definindo as variáveis
f = 1;
Fs = 1000;
Ts = 1/Fs;
T = 1/f;

%Dados da função
t = -1:0.001:1; %Intervalo de tempo e passo utilizado
x = rectangularPulse(t/T); %Aplicando o degrau na função
subplot(3,1,1);
plot(t,x)
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal original de ret(t)')
grid on
axis([-1,1,-1.5,1.5]);

%Sinal discretizado
subplot(3,1,2);
N1 = round(1/Ts);
n1 = -N1:N1;
x1 = rectangularPulse(n1*Ts');
stem(n1*Ts,x1,'.')
xlabel ('n')
ylabel ('x(n)')
title('Sinal discretizado')
grid on
axis([-1,1,-1.5,1.5]);

%Sinal reconstruído utilizando o Butterworth


[b a] = butter(1,0.7,'low');
xr = filter(b,a,x); %Função reconstruida
subplot(3,1,3)
plot(t,xr)
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal filtrado com o Butterworth')
grid on
ylim([-1.2 1.2]);

Agora o processo de amostragem é feito em uma função ret(t) onde será utilizado
o filtro butterworth para a recuperação do sinal.
Gráficos gerados:

Gráficos ampliados para melhor observação:


Aplicar os dois filtros também em uma função dente de serra:
• Passa-baixa ideal em uma função dente de serra:
% Filtro passa-baixa ideal aplicado em uma função dente de serra
clear all;
close all;
clc;

%Definindo as variáveis
wm=380; %Frequência da função x(t) em Hertz
t=0:0.001:1; %Intervalo de tempo e passo utilizado
x=sawtooth(wm*t); %função dente de serra x(t)
subplot(3,1,1);
plot(t,x)
axis([0,0.1,-1.5,1.5]);
xlabel ('tempo (s)')
ylabel ('Amplitude')
title ('Sinal original da função dente de serra x(t)')
grid on

%Sinal discretizado
ws=10*wm; %Frequência de amostragem
Ts=(2*pi/ws); %Periodo de amostragem
fs=1/Ts;
n1=-ws:ws;
x1=sawtooth(wm*n1*Ts); %função discretizada
subplot(3,1,2);
stem(n1*Ts,x1,'.')
axis([0,0.1,-1.5,1.5]);
xlabel ('n')
ylabel ('x(n)')
title('Sinal discretizado')
grid on

%Sinal reconstruído utilizando o filtro passa-baixa ideal


xr=x1*sinc(fs*(ones(length(n1),1)*t-(n1*Ts)'*ones(1,length(t))));
%Função reconstruida
subplot(3,1,3);
plot(t,xr);
axis([0,0.1,-1.5,1.5]);
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal filtrado com o passa-baixa ideal')
grid on

Agora o processo de amostragem é feito em uma função do tipo dente de serra


onde será utilizado o filtro butterworth para a recuperação do sinal.
Gráficos gerados:

Gráficos ampliados para melhor observação:


• Butterworth em uma função dente de serra:
% Filtro Butterworth ideal aplicado em uma função dente de serra
clear all;
close all;
clc;

%Definindo as variáveis
wm=380; %Frequência da função x(t) em Hertz
t=0:0.001:1; %Intervalo de tempo e passo utilizado
x=sawtooth(wm*t); %função dente de serra x(t)
subplot(3,1,1);
plot(t,x)
axis([0,0.1,-1.5,1.5]);
xlabel ('tempo (s)')
ylabel ('Amplitude')
title ('Sinal original da função dente de serra x(t)')
grid on

%Sinal discretizado
ws=10*wm; %Frequência de amostragem
Ts=(2*pi/ws); %Periodo de amostragem
fs=1/Ts;
n1=-ws:ws;
x1=sawtooth(wm*n1*Ts); %função discretizada
subplot(3,1,2);
stem(n1*Ts,x1,'.')
axis([0,0.1,-1.5,1.5]);
xlabel ('n')
ylabel ('x(n)')
title('Sinal discretizado')
grid on

%Sinal reconstruído utilizando o filtro


[b a]=butter(1,0.7,'low'); %Função do filtro Butterworth´passa baixa
de ordem 1
xr=filter(b,a,x); %Função reconstruida
subplot(3,1,3)
plot(t,xr)
axis([0,0.1,-1.5,1.5]);
xlabel ('tempo (s)')
ylabel ('Amplitude')
title('Sinal discretizado')
grid on

Agora o processo de amostragem é feito em uma função do tipo dente de serra


onde será utilizado o filtro butterworth para a recuperação do sinal.
Gráficos gerados:

Gráficos ampliados para melhor observação:

Você também pode gostar