31
Filtros IIR Luis Henrique Assump¸ ao Lolis 19 de maio de 2016 http://www.eletrica.ufpr.br/ ~ luis.lolis

Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Filtros IIR

Luis Henrique Assumpcao Lolis

19 de maio de 2016

http://www.eletrica.ufpr.br/~luis.lolis

Page 2: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Conteudo

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 2

Page 3: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 3

Page 4: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Objetivos

Testar filtros de resposta ao impulso infinita (IIR - InfiniteImpulse Response).

Aplicar diferentes jogos de coeficientes para diferentesrespostas em frequencia.

Testar diferentes janelas de filtragem.

Problemas de estabilidade e arredondamente com filtros IIR.

Luis Henrique Assumpcao Lolis Filtros IIR 4

Page 5: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Luis Henrique Assumpcao Lolis Filtros IIR 5

Page 6: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 6

Page 7: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Filtros IIR depende tanto de versoes atrasadas da entrada,quanto de versoes atrasdas da saıda:

H(z) =Y (z)

X(z)=

M∑k=0

bkz−k

N∑k=0

akz−k

Luis Henrique Assumpcao Lolis Filtros IIR 7

Page 8: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Exemplo de um segunda ordem no simulink

H(z) =y(z)

x(z)=a0 + a1z

−1 + a2z−2

b0 + b1z−1 + b2z−2

Luis Henrique Assumpcao Lolis Filtros IIR 8

Page 9: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Testando filtros IIR no MATLAB

Com a funcao “freqz”, analisar o resultado de um zero e oresultado de um polo na funcao de transferencia.

Analisar os polos e zeros das funcoes com a funcao “zplane”

a = [1− 0.8], b = [1]

a = [1], b = [1− 0.8]

Luis Henrique Assumpcao Lolis Filtros IIR 9

Page 10: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Filtros Notch

Para rejeitar uma frequencia especıfica. Ex: a oscilacao da rede(50Hz ou 60Hz).

Luis Henrique Assumpcao Lolis Filtros IIR 10

Page 11: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 11

Page 12: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Transformada bilinear

Evita o aliasing da resposta em frequencia na passagem dofiltro no tempo contınuo para o tempo discreto.

A relacao entre a frequencia contınua e discreta e definidacomo uma tangente de tal forma que ω → π para Ω→∞

Relacao s⇔ z

s =2

Td

(1− z−1

1 + z−1

), z =

1 + (Td/2)s

1− (Td/2)s

Para as frequencias:

Ω =2

Tdtan(ω/2) ω = 2 arctan(ΩTd/2) height

Luis Henrique Assumpcao Lolis Filtros IIR 12

Page 13: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Relacao entre Ω e ω na bilinear

Luis Henrique Assumpcao Lolis Filtros IIR 13

Page 14: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Etapas para o design

1 Pre-distorcao das frequencias das especificacoes.

2 Definicao do ripple maximo (quando aplicado a Chebyshev eElıptico)

3 Aplicacao da funcao de filtragem para encontrar a ordemmınima N considerando o ripple maximo para as frequenciasda banda passante e da banda de rejeicao.

4 Aplicar N e encontrar Ωc na equacao do filtro.

5 Definicao dos polos e de H(s)

6 Aplicacao da transformada bilinear.

Luis Henrique Assumpcao Lolis Filtros IIR 14

Page 15: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Exemplo de filtro butterworth de segunda ordem

Rodar o arquivo “analisar iir.m”

Testar para diferentes frequencias de amostragem, funcoes defiltragem e frequencia de amostragem.

Luis Henrique Assumpcao Lolis Filtros IIR 15

Page 16: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 16

Page 17: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

FDATOOL do Matlab

Lancar “fdatool”

Luis Henrique Assumpcao Lolis Filtros IIR 17

Page 18: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 18

Page 19: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Implementacao em C

Luis Henrique Assumpcao Lolis Filtros IIR 19

Page 20: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 20

Page 21: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Setup 1

Luis Henrique Assumpcao Lolis Filtros IIR 21

Page 22: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Setup 2

Luis Henrique Assumpcao Lolis Filtros IIR 22

Page 23: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Copiar o conteudo do projeto IIR e criar projeto no CCS.Existem 3 funcoes “main” e somente uma deve ser levada emconta para cada compilacao.Clicar com o botao direiro nos arquivos main que nao seraousados e clicar em exclude from build.

Luis Henrique Assumpcao Lolis Filtros IIR 23

Page 24: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

main.c

Gera uma serie de filtros para uso com uma entrada de linha.

Luis Henrique Assumpcao Lolis Filtros IIR 24

Page 25: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

main1.c

Gera um sweep de frequencias para analisar o impacto dediferentes filtros.

Luis Henrique Assumpcao Lolis Filtros IIR 25

Page 26: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

main3.c

Gera um filtro notch para limitar uma frequencia especıfica.

Luis Henrique Assumpcao Lolis Filtros IIR 26

Page 27: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

main4.c

Gera uma onda quadrada de N pontos para analise deresposta em frequencia no MATLAB com FFT de N pontospara diferentes filtros.

Rodar o codigo “scope.slx” para visualizar as respostas emfrequencia dos filtros.

Luis Henrique Assumpcao Lolis Filtros IIR 27

Page 28: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Alterando o modo de funcionamento com a JTAG

Na funcao “main”, Comentar a linha que atualiza o valor davariavel “step”.

//Step = LEDFlasher(10); // Takes total number of steps asargument, here 10.

Adicionar em “Watch” na perspectiva C/C++ a variavel “Step”

Luis Henrique Assumpcao Lolis Filtros IIR 28

Page 29: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Alterando “on the fly”

Rodar o codigo.

Pausar o codigo.

Trocar o valor da variavel Step.

Continuar a rodar o codigo.

Luis Henrique Assumpcao Lolis Filtros IIR 29

Page 30: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Sumario

1 Introducao

2 Filtros IIR

3 Transformada bilinear

4 Ferramentas de design de filtros

5 Implementacao em C

6 O laboratorio

7 Experimento

Luis Henrique Assumpcao Lolis Filtros IIR 30

Page 31: Filtros IIR - Professor Dr. Luis Henrique Assumpção Lolis€¦ · Exemplo de ltro butterworth de segunda ordem Rodar o arquivo \analisar iir.m" Testar para diferentes frequ^encias

Crie um filtro que respeite a seguinte mascara de filtragem:

H(jΩ)dB =

H(jΩ)dB < −40dB, 0 ≤ |Ω| ≤ 250HzH(jΩ)dB > −3dB, 300 ≤ |Ω| ≤ 3000HzH(jΩ)dB < −40dB, |Ω| ≥ 3200Hz

Trace a resposta em frequencia teorica do filtro.

Implemente o filtro no DSP.

Com o experimento de main4.c trace a resposta em frequenciaobservada na saıda do DSP.

Discuta sobre as diferencas.

Luis Henrique Assumpcao Lolis Filtros IIR 31