Você está na página 1de 7

UNIVERSIDADE FEDERAL DA INTEGRAÇÃO LATINO-AMERICANA

EFI0039 – PROCESSAMENTO DIGITAL DE SINAIS (2019/2)


Prof. Dr. Marco Roberto Cavallari – marco.cavallari@unila.edu.br

ESTUDANTE: Karen Estefany Mantilla Urquijo DATA: 06/12/2019


TEMA: Filtros Digitais IIR de Butterworth por transformação bilinear

Especificações para um filtro passa-baixos:


• Faixa de passagem: 0 ≤ ω ≤ ωp = 0,3π rad/amostra,
• Faixa de rejeição: 0,5π rad/amostra = ωr ≤ ω ≤ π rad/amostra,
• Atenuação mínima na faixa de rejeição: 60 dB,
• Queda máxima na faixa de passagem δp = 0,001.

Especificações no tempo discreto:

Expressamos a atenuação mínima na faixa de rejeição em termos de δ:


60
Α = −20𝑙𝑜𝑔10 (𝛿𝑟 ) = 60𝑑𝐵 → 𝛿𝑟 = 10−20 = 0,001

𝛿𝑟 = 𝛿𝑝 = 𝛿

Logo o sistema em tempo discreto é dado por:

1 − 0,001 ≤ |𝐻(𝑒 −𝑗𝜔 )| ≤ 1, 0 ≤ ω ≤ 𝜔𝑝 = 0,3𝜋 𝑟𝑎𝑑


𝑎𝑚𝑜𝑠𝑡𝑟𝑎

|𝐻(𝑒 −𝑗𝜔 )| ≤ 0,001, 0,5𝜋 𝑟𝑎𝑑 = 𝜔𝑟 ≤ ω ≤ 𝜋 𝑟𝑎𝑑


𝑎𝑚𝑜𝑠𝑡𝑟𝑎 𝑎𝑚𝑜𝑠𝑡𝑟𝑎

1. Aplique pre-distorção da escala da frequência na transformação das especificações


ao tempo continuo.

Usando o método bilinear temos que:

Ω = tan(𝜔/2)

𝜔𝑝 0,3𝜋
para 𝜔𝑝 = 0,3𝜋 temos que Ω𝑝 = tan ( 2 ) = tan ( ) = 0,51 → Ω𝑝 = 0,51𝑟𝑎𝑑/𝑠.
2

Analogamente,

𝜔 0,5𝜋
para 𝜔𝑟 = 0,5𝜋 temos que Ω𝑝 = tan ( 2𝑟 ) = tan ( )=1 → Ω𝑟 = 1𝑟𝑎𝑑/𝑠.
2
2. Complementando a transformação das especificações ao tempo continuo, determine
as restrições de atenuação sobre a função característica.

Finalmente, a transformação ao tempo contínuo é:

1 − 0,001 ≤ |𝐻𝑐 (𝑗Ω)| ≤ 1, 0 ≤ Ω ≤ Ω𝑝 = 0,51𝑟𝑎𝑑/𝑠

|𝐻𝑐 (𝑗Ω)| ≤ 0,001, 1𝑟𝑎𝑑/𝑠 = Ω𝑟 ≤ Ω ≤ ∞

3. Baseando-se nas respostas anteriores, determine a ordem N da aproximação de


Butterworth e a frequência de corte Ωc.

A ordem N é dada pela equação:


2
1 2 1
𝑙𝑜𝑔 [(( ) − 1) / (( ) − 1)]
𝛿𝑟 1 − 𝛿𝑝
𝑁=
2𝑙𝑜𝑔(Ω𝑟 /Ω𝑝 )

1 2 1 2
𝑙𝑜𝑔 [((0,001) − 1) / ((1 − 0,001) − 1)]
𝑁= = 14,87
2𝑙𝑜𝑔(1/0,51)

Aproximando para cima 𝑁 ≈ 15 → 2𝑁 ≈ 30

Como o N escolhido é um pouco maior que o necessário, as especificações da Ωc podem


ser atendidas ou excedidas em Ωp ou em Ωr.

Para satisfazer as especificações exatamente em Ωp obtemos que


Ω𝑝 0,51𝑟𝑎𝑑/𝑠
Ω𝑐 = = = 0,32𝑟𝑎𝑑/𝑠
2 2
2𝑁 1 30 1
√(( ) − 1) √((
𝛿𝑟 0,001) − 1)

Para satisfazer as especificações exatamente em Ωr obtemos que


Ω𝑟 1𝑟𝑎𝑑/𝑠
Ω𝑐 = = = 1,23𝑟𝑎𝑑/𝑠
2 2
2𝑁 1 30 1
√(( ) − 1) √((
1 − 𝛿𝑝 1 − 0,001) − 1)

Agora escolhendo qualquer Ωc entre os dois números acima, podendo ser uma média
0,32+1.23
entre eles = 0,77 → Ω𝑐 = 0,77 𝑟𝑎𝑑/𝑠 .
2

Logo o filtro Butterworth a ser projetado é da ordem 𝑁 = 15 e deve ter uma frequência
de corte Ω𝑐 = 0,77 𝑟𝑎𝑑/𝑠.
4. Projete seu filtro Butterworth em tempo continuo determinando seus zeros e polos
no MATLAB com o comando: [Z P K] = butter(N,Wc,’s’). Obtenha o mapa dos polos e
zeros do filtro projetado através dos comandos:

Hssys = tf(B,A);
figure(x);
pzmap(Hssys); sgrid;
axis equal

O mapa está de acordo com sua expectativa?


clear all; close all; clc
N = 15; OmegaC = 0.77;
[Z,P,K] = butter(N,OmegaC,'s')
[num, den] = butter(N,OmegaC,'s');
Hssys = tf(den,num);
pzmap(Hssys); sgrid;
axis equal

Command Window
Z =
0×1 empty double column vector

P =

-0.0805 + 0.7658i
-0.0805 - 0.7658i
-0.2379 + 0.7323i
-0.2379 - 0.7323i
-0.7532 + 0.1601i
-0.7532 - 0.1601i
-0.7034 + 0.3132i
-0.7034 - 0.3132i
-0.6229 + 0.4526i
-0.6229 - 0.4526i
-0.5152 + 0.5722i
-0.5152 - 0.5722i
-0.3850 + 0.6668i
-0.3850 - 0.6668i
-0.7700 + 0.0000i

K =

0.0198
Ao projetar um filtro é geralmente desejado que a resposta de frequência do filtro de
tempo discreto resultante retenha as propriedades essenciais da resposta de
frequência do filtro de tempo contínuo. Isso implica especificamente que o eixo
imaginário do plano s seja transformado na circunferência unitária do plano z. Também
que um filtro estável em tempo contínuo deve ser transformado em um filtro estável
em tempo discreto. Isso significa que se o sistema de tempo contínuo tiver apenas
polos no meio plano esquerdo do plano s, o sistema de tempo discreto deverá ter polos
apenas dentro da circunferência unitária do plano z. Pelo anterior vemos que o mapa
de polos e zeros corresponde com as exigências para o desenho de filtros.

5. Através da correspondente transformação bilinear inversa, obtenha os polos e zeros


do filtro projetado H(z) em tempo discreto. Apresente o mapa de suas localizações,
que pode ser obtido através dos comandos:

Hsys = tf(b,a,1);
figure(x)
pzmap(Hsys); zgrid
axis equal

Seu filtro e estável e de fase mínima?


clear all; close all; clc
N = 15; OmegaC = 0.77;
Ts=0.01;%Frequencia de amostragem
[Z,P,K] = butter(N,OmegaC,'s');
[zd,pd,kd] = bilinear(Z,P,K,Ts)
[num, den] = butter(N,OmegaC,'s');
z = (2+pd)./(2-pd);
zz = -ones(15,1);
k = prod(z);
den_n = den*(sum(num)/sum(den));
Hsys = tf(den_n,num,1);
pzmap(Hsys); zgrid
axis equal

Command Window
zd =

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1

pd =

-0.9933 + 0.0513i
-0.9933 - 0.0513i
-0.9829 + 0.0486i
-0.9829 - 0.0486i
-0.9504 + 0.0103i
-0.9504 - 0.0103i
-0.9534 + 0.0202i
-0.9534 - 0.0202i
-0.9584 + 0.0293i
-0.9584 - 0.0293i
-0.9651 + 0.0373i
-0.9651 - 0.0373i
-0.9734 + 0.0438i
-0.9734 - 0.0438i
-0.9494 + 0.0000i

kd =

0.7800

Um filtro é estável e de fase-mínima unicamente se todos os polos e zeros do


sistema estiveram contidos no círculo unitário, assim observando a imagem gerada
vemos que todos os polos estão contidos no círculo unitário, mas não todos os zeros,
assim conclui-se que aplicando transformação bilinear inversa o resultado será um
filtro que não tem fase mínima.
6. Calcule o fator de ganho da resposta em frequência de seu filtro H(z) para que
apresente modulo máximo unitário na faixa de passagem.

Para que o filtro apresente modulo máximo unitário na faixa de passagem a queda
máxima na faixa de passagem deve ser δp = 0 , assim o ganho será de:

Α = −20𝑙𝑜𝑔10 (𝛿) = −20𝑙𝑜𝑔10 (1) = 0𝑑𝐵

𝐴 = 0𝑑𝐵

7. Apresente o gráfico da resposta em frequência de H(z) e os gráficos amplificados das


ondulações na faixa de passagem e na faixa de rejeição. Essa resposta em frequência
parece ser de um filtro de Butterworth? Ele satisfaz as especificações?
clear all; close all; clc
N = 15; OmegaC = 0.77;
[Z,P,K] = butter(N,OmegaC,'s')
[num, den] = butter(N,OmegaC,'s');
axis equal
freqz(den,num)

𝑟𝑎𝑑
A curva 𝐴(𝑑𝐵)𝑣𝑠 𝜔 (𝜋 𝑎𝑚𝑜𝑠𝑡𝑟𝑎) apresenta o comportamento esperado por um filtro
Butterworth, cumprindo assim com as especificações para um filtro passa-baixas.

Você também pode gostar