Você está na página 1de 9

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Curso: Mestrado em Eng. Elétrica – Semestre: 01/2022


Disciplina: Sinais e Sistemas
Aluna: Karine de Freitas Teixeira

Atividade 03

A atividade é para ser realizada utilizando o spyder ou softwares similares e o tinkercad. O


objetivo da atividade é filtrar um sinal composto por uma senoide com amplitude igual a 1 e
frequência igual a 1Hz mais uma onda quadrada com amplitude igual a 1 e frequência igual a
5Hz e mais uma onda triangular com amplitude igual a 1 e frequência igual a 10Hz com filtros
digitais, sendo 1 IIR e o outro FIR.

Conforme supracitado, o sinal a ser filtrado é dado pela soma de três sinais, os quais estão apresentados
na Fig. 1. O primeiro sinal é composto por uma onda senoidal com frequência de 1 Hz. O segundo
sinal é uma onda quadrada com frequência de 5 Hz, e o terceiro sinal é uma onda triangular com
frequência de 10 Hz.

Fig.1: Sinal a ser filtrado e sua composição

O sinal que se deseja recuperar é onda senoidal de 1Hz. Avaliando o espectro de frequência do sinal
de entrada, conforme apresentado na Fig.2. Observa-se que as frequências mais representativas desse
sinal são 1 Hz, 5 Hz, 10 Hz e 15 Hz. Como se deseja filtrar a sina de 1 Hz, a frequência de corte do
filtro deve estar entre: 1 𝐻𝑧 < 𝑓𝑐 < 5 𝐻𝑧.
Fig.2: Espectro de frequência do sinal de entrada

A frequência de corte é definida como a frequência correspondente a uma atenuação de 3 dB. Assim,
quanto mais próximo 𝜔𝑐 for de 1 Hz mais atenuado será o sinal de saída, no entanto, a característica
do sinal deverá ser mais similar àquela do sinal que se deseja recuperar, isto é, a senoide de 1 Hz.
Enquanto, quanto mais distante de 1 Hz for 𝜔𝑐 o sinal será menos atenuado, no entanto, a espera-se
que característica do sinal recuperado seja mais distante da senoide de 1 Hz, uma vez que, maior será
a banda de passagem do filtro e menos atenuada será a componente referente a onda de 5 Hz.

Desse modo, a frequência de corte escolhida para o filtro foi:

𝑓𝑐 = 1,5 𝐻𝑧
𝜔𝑐 = 1,5𝑥2𝜋

I. Projeto e Simulação no Matlab

a) Filtro IIR passa baixas:


Para o filtro IIR os seguintes critérios foram estabelecidos:
• Ordem do filtro: n = 2;
• Número de amostras = n+1;
• Maior frequência do sinal: fh = 10Hz
π 1
• Período de amostragem: T ≤ 2πfh → T ≤ 2.10 → T ≤ 0,05s → T = 0,01

A função de transferência no domínio discreto de um filtro IIR é da forma:


Para o projeto deste filtro, foi utilizado a função de transferência no domínio de Laplace, obtida
na atividade 3, para um filtro Butterworth de segunda ordem, cuja frequência de corte é 1,5 Hz a qual
segue abaixo:

9,42482
𝐻(𝑠) =
(𝑠 2 + √2𝑥9,4248𝑠 + 9,42482

A partir da transformação bilinear (função própria do Matlab) esse sinal foi discretizado e foi
obtido H(z), a resposta filtrada pode ser visualizada na figura abaixo:

Fig.3: Sinal filtrado

b) Filtro FIR passa-baixas


A função H(z) de um filtro FIR é uma simplificação da função de um filtro IIR, para os filtros
FIR, no denominador, todos os coeficientes são nulos, exceto ak em que k corresponde a ordem do
filtro. Nesse caso, para implementação foi utilizada uma função própria do Matlab para projeto do
filtro. O resultado é apresentado nas figuras 4 e 5.
Para o filtro FIR, apenas para uma melhor visualização, foi projetado um filtro de ordem 3, o
qual será implementado no Tinkercad, e um filtro de ordem 100. Ao aumentar a ordem do filtro,
observa-se que mais a função de transferência do filtro aproxima-se daquela de um filtro ideal.
Fig. 4: Sinal Filtrado para n = 3

Fig. 5: Sinal Filtrado, n = 100


c) Código

d) % PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA


% Curso: Mestrado em Eng. Elétrica – Semestre: 01/2022
% Disciplina: Sinais e Sistemas
% Aluna: Karine de Freitas Teixeira
%
% Atividade 03

clc
clear all
close all

Ts = 0.01; %periodo de amostragem


fs = 1/Ts;
Ti = 0;
Tf = 2;
dT = Ts;
t = Ti:dT:Tf;

% Sinal 1: senoide com amplitude igual a 1 e frequência igual a 1Hz


freq1 = 1;
w1 = 2*pi*freq1;
sinal_1 = sin(w1*t);

% Sinal 2: onda quadrada com amplitude igual a 1 e frequência igual a 5Hz


freq2 = 5;
w = 2*pi*freq2;
sinal_2=0;

% Determinaçao do sinal a partir da série de fourier


for n = 1:20000

f = 2*(1-(-1)^n)/(n*pi).*sin(n*w*t);
sinal_2 = sinal_2+f;

end

% Sinal 3: onda triangular com amplitude igual a 1 e frequência igual a 10Hz


freq3 = 10;
w3 = 2*pi*freq3;
sinal_3 = sawtooth(w3*t,0.5);

figure(1)
subplot(4,1,1)
plot(t,sinal_1)
ylim([-1.5 1.5])
xlabel('tempo (s)')
ylabel('Amplitude')
title('Onda senoidal 1Hz')
grid on

subplot(4,1,2)
plot(t,sinal_2)
ylim([-1.5 1.5])
xlabel('tempo (s)')
ylabel('Amplitude')
title('Onda quadrada 5Hz')
grid on

subplot(4,1,3)
plot(t,sinal_3)
ylim([-1.5 1.5])
xlabel('tempo (s)')
ylabel('Amplitude')
title('Onda triangular 10Hz')
grid on

sinal = sinal_1 + sinal_2 + sinal_3 ;

subplot(4,1,4)
plot(t,sinal)
xlabel('tempo (s)')
ylabel('Amplitude')
title('Sinal')
grid on

% PROJETO DO FILTRO

% Segunda ordem
% Butterworth

fc = 1.5;
wc = 2*pi*fc;
[Z, P, K] = butter(2,wc,'s');
den = conv([1 -P(1)],[1 -P(2)]);
h = tf(K,den);

% Transformada bilinear
[numd,dend] = bilinear(K,den,fs);
Hz = tf(numd,dend,Ts)

figure(2)
lsim(Hz,sinal,t);

% Filtro FIR
ordem_filtro = 3;
banda = 3;
d = designfilt('lowpassfir','FilterOrder',ordem_filtro,...
'PassbandFrequency',fc,'StopbandFrequency',banda,...
'SampleRate',fs);

sinal_filtradoFIR = filter(d,sinal);
figure()
plot(t,sinal_filtradoFIR)
xlabel('tempo (s)')
ylabel('Amplitude')
title('Sinal filtrado FIR - n = 3')
grid on
% Filtro FIR
ordem_filtro = 100;
banda = 3;
d = designfilt('lowpassfir','FilterOrder',ordem_filtro,...
'PassbandFrequency',fc,'StopbandFrequency',banda,...
'SampleRate',fs);

sinal_filtradoFIR = filter(d,sinal);
figure()
plot(t,sinal_filtradoFIR)
xlabel('tempo (s)')
ylabel('Amplitude')
title('Sinal filtrado FIR n = 100')
grid on

Hz =

0.002078 z^2 + 0.004155 z + 0.002078


------------------------------------
z^2 - 1.867 z + 0.8753

Sample time: 0.01 seconds


Discrete-time transfer function.

II. Simulação no Tinkercad

Para verificação da resposta do filtro projetado foi, também, utilizado o Tinkercad. Para gerar o sinal
teste (composição das três ondas) foi utilizado um amplificador somador com ganho unitário. O
circuito implementado é apresentado na Fig. 12. O sinal teste e os sinais pelos quais é constituído,
podem ser vistos no osciloscópio.

Fig. 6: Circuito implementado no Tinkercad


a) Filtro IIR:
Tendo em vista que H(z) determinado no projeto do Filtro IIR para n = 2 é:

Hz =

0.002078 z^2 + 0.004155 z + 0.002078


------------------------------------
z^2 - 1.867 z + 0.8753

Sample time: 0.01 seconds


Discrete-time transfer function.

Tem -se que a equação de diferenças é:


𝑦[𝑛] = 0.002078 x[n] + 0.004155 x[n − 1] + 0.002078x[n − 2] − (− 1.867 y{n − 1]
+ 0.8753y[n − 2])

Implementando essa equação no Arduino, obteve-se a seguinte resposta:

Fig. 7: Simulação do IIR no Tinkercad

A saída pode ser vista no monitor serial do Arduino, observa-se que o resultado obtido é similar àquele
obtido na simulação computacional, por meio do Matlab, conforme esperado.

O link para acesso à simulação é:


https://www.tinkercad.com/things/giXHJ3X35ZK?sharecode=50yKoJkfG4gaDMoTZdo8Owo131v8
pZ6cJLq52hk67iM
b) Filtro FIR:
Para o filtro FIR de ordem 3 projetado, segue abaixo os valores dos coeficientes:
0.2500 0.0063 0.0063 0.2500
Sendo assim, a equação diferença para esse sistema é:

𝑦[𝑛] = 0.25 x[n] + 0.0063 x[n − 1] + 0.25x[n − 2] + 0.0063𝑥[𝑛 − 3]

Implementando essa equação no Arduino, o resultado pode ser visualizado na Fig. 8. A saída pode ser
verificada no monitor serial do Arduino.

Fig. 8: Simulação do filtro FIR no Tinkercad

Assim como no caso anterior, a saída obtida a partir do projeto no Matlab pode ser verificada na
simulação do Tinkercad, ademais, cabe comentar que à medida que se aumenta a ordem do filtro FIR
mais esse filtro se aproxima de um filtro ideal e, portanto, menos “poluído” seria o sinal filtrado, no
entanto, mais complexa seria a equação diferença a ser implementada e por isso simulou-se apenas
para n = 3.

O link para acesso à simulação é:


https://www.tinkercad.com/things/1dQfAB70dRc?sharecode=Wa3WVjhEZlkfyuY4YXQfrrKWuge
GfI3a_pQbXWa43NQ

Você também pode gostar