50
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL DEPARTAMENTO DE ENGENHARIA ELÉTRICA ENG04006 SISTEMAS E SINAIS TRABALHO DE MATLAB 6 – FILTROS ANALÓGICOS E DIGITAIS AUGUSTO SIMON – 143312 – Turma C ANDREY HENKE – 125180 – Turma C Professora: LUCÍOLA CAMPESTRINI PORTO ALEGRE, Dezembro de 2011.

FILTROS ANALÓGICOS E DIGITAIS

Embed Size (px)

Citation preview

Page 1: FILTROS ANALÓGICOS E DIGITAIS

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

DEPARTAMENTO DE ENGENHARIA ELÉTRICA

ENG04006 – SISTEMAS E SINAIS

TRABALHO DE MATLAB 6 – FILTROS ANALÓGICOS E DIGITAIS

AUGUSTO SIMON – 143312 – Turma C

ANDREY HENKE – 125180 – Turma C

Professora:

LUCÍOLA CAMPESTRINI

PORTO ALEGRE, Dezembro de 2011.

Page 2: FILTROS ANALÓGICOS E DIGITAIS

INTRODUÇÃO

Objetiva-se com este trabalho projetar filtros analógicos e digitais, passa-

baixa, passa-faixa e passa-alta, seguindo uma tabela de parâmetros propostos.

Um filtro passa-altas é um filtro que permite a passagem das frequências

altas com facilidade, porém atenua (ou reduz) a amplitude das frequências abaixo

de frequência de corte. A magnitude de atenuação para cada frequência varia de

filtro para filtro. O filtro passa-altas possui um princípio de funcionamento oposto

ao do filtro passa-baixas. Ele é muito utilizado para bloquear as frequências baixas

não desejadas em um sinal complexo enquanto permite a passagem das

frequências mais altas. As frequências são consideradas 'altas' ou 'baixas' quando

estão acima ou abaixo da frequência de corte, respectivamente.

O conceito de filtro passa-baixas existe de muitas formas diferentes,

incluindo os circuitos eletrônicos, algoritmos digitais para trabalhar com conjuntos

de dados, barreiras acústicas, trabalhos com imagens, entre outros.

Um exemplo de um filtro passa-faixa analógico é o circuito

RLC (um circuito resistor-indutor-capacitor). Estes filtros também podem ser

obtidos através da combinação entre um filtro passa-baixas e um filtro passa-altas.

Será aqui então verificado, depois de realizado o projeto dos filtros, tanto no

domínio frequência como no domínio tempo, o que ocorre com um sinal depois de

filtrado.

Esta análise será realizada utilizando como sinal a ser filtrado um arquivo

de áudio. As ferramentas utilizadas serão gráficos comparativos e comandos do

matlab, como o sound, o que permitirá na prática a percepção da mudança nas

características de frequência e volume de um sinal filtrado.

Page 3: FILTROS ANALÓGICOS E DIGITAIS

1. EXERCÍCIO 1

Um aluno resolveu montar seu próprio conjunto de som em casa. Para isso,

comprou na Alberto Bins 3 alto-falantes diferentes, sendo um deles para

frequências baixas (f < 500Hz), um para frequências médias (500 < f < 5000Hz) e

outro para frequências altas (f > 5kHz). A fim de obter-se uma entrada adequada

para cada um deles, este aluno resolveu projetar 3 filtros de Butterworth (um

passa-baixas, um passa-faixa e um passa-altas) e verificar o resultado final de seu

projeto através do Matlab. As especificações de cada um dos filtros são dadas na

Tabela 1 e estão relacionadas à magnitude em dB apresentada pelo filtro em cada

faixa de frequência. A partir das especificações abaixo e do arquivo .wav disponível

na página da disciplina pede-se:

Tabela 1 - Dados dos filtros

Figura 1 - Filtro passa-baixa

Page 4: FILTROS ANALÓGICOS E DIGITAIS

Figura 2 - Filtro passa-baixa

1.1.a. Projetar os filtros analógicos que atendam às 3 especificações da

Tabela 1, mostrando passo-a-passo como esse projeto foi feito (escolha da ordem

do filtro, função de transferência, etc). Fazer o projeto utilizando a formulação para

|𝐻(𝑗𝑤)|2, conforme apresentado na Figura 1, e para |𝐻(𝑗𝑤)|, conforme

apresentado na Figura 2. Apresentar o diagrama de polos e zeros e a resposta em

frequência de cada um dos filtros, avaliando se os filtros projetados atendem os

requisitos especificados;

Transformando a variação máxima na faixa de passagem e o máximo ganho

na faixa de rejeição em valores absolutos, temos que quando a frequência do sinal

for ωP, ele deverá ter no mínimo 95% de sua magnitude ao quadrado. Quando a

frequência do sinal for ωS, ele deverá ter no máximo 5% da sua magnitude ao

quadrado. Definimos 1 − γ e μ como sendo as magnitudes limites de |H(jω)|2,

sendo 1 − γ o limite superior, e μ o limite inferior do filtro. Logo γ = 0.05 e μ =

0.05 .

1.1.a.1. Projeto do Filtro Passa-Baixas

Para projetar um filtro com estas características, faz-se:

Page 5: FILTROS ANALÓGICOS E DIGITAIS

ωP = 2πfp1 = 600π rad s⁄

ωS = 2πfS1 = 1500π rad s⁄

Tendo ωP (frequência de corte da faixa de passagem) e ωS (frequência de

corte da faixa de rejeição), partiu-se para o projeto do filtro passa-baixas.

A seguir definiu-se a ordem do filtro de Butterworth a ser utilizado e o valor

de ωc (frequência de corte). As fórmulas abaixo definem estes critérios dos filtros

de Butterworth:

1 − γ =1

1 + (ωp

ωc)2N [1]

μ =1

1 + (ωS

ωc)2N [2]

Isolando ωp na equação [1], e ωS na equação [2], e fazendo ωp ωS⁄ , ficamos

com:

ωp

ωS=(

γ1 − γ)

12N⁄

(1 − μμ )

12N⁄= [

γμ

(1 − γ)(1 − μ)]

12N⁄

Desta forma, torna-se possível eliminar a variável ωc dos cálculos atuais, o

que possibilita a obtenção do valor de N. Fazendo o logaritmo nos dois lados da

equação:

𝑙𝑜𝑔 (𝜔𝑝

𝜔𝑆) = 𝑙𝑜𝑔 ([

𝛾𝜇

(1 − 𝛾)(1 − 𝜇)]

12𝑁⁄

)

Page 6: FILTROS ANALÓGICOS E DIGITAIS

N = log (

γμ(1 − γ)(1 − μ)

)

2log (ωp

ωS)

Substituindo os valores de γ, μ, ωS, ωp:

N ≅ 3,21

Utilizando |𝐻(𝑗𝑤)|, conforme apresentado na Figura 2, deixam de ser

utilizadas as variáveis γ e μ e passam a ser utilizadas as 𝜖 e 𝛿, no seguinte cálculo:

=

𝑙𝑜𝑔 ((2𝜖 − 𝜖2)𝛿

(1 − 𝜖)2(1 − 𝛿 ))

2𝑙𝑜𝑔 (𝜔𝑝𝜔𝑆)

Similar aos limites para o caso anterior, temos para o limite superior

1 − ϵ = 0.974675388 , logo ϵ = 0.025324612 e para o limite inferior δ =

0.223614519. Os valores de ωP e ωS são iguais ao caso anterior sendo

ωP = 600π rad s e ⁄ ωS = 1500π rad s⁄ .

Logo:

N ≅ 3,21

Como os valores de N derivam da mesma formulação, devem ser iguais e um

número inteiro. Atribui-se a N então o inteiro 4. Assim, a ordem do filtro de

Butterworth que deve ser utilizada é 4.

Voltando às equações [1] e [2], calcula-se agora o valor de ωc. Isolando-o em

ambas, e substituindo valores, ficamos com:

ωc =ωp

1−γ)12N⁄ [1] ∴ ωc ≅ 2723 rad s⁄

ωc =ωS

(1−μ

μ)1/2N [2] ∴ ωc ≅ 3261 rad s⁄

Page 7: FILTROS ANALÓGICOS E DIGITAIS

Para a segunda formulação:

ωc =ωp

((2ϵ − ϵ2)(1 − ϵ)2

)

12N⁄ ∴ ωc ≅ 2723 rad s⁄

𝜔𝑐 =𝜔𝑆

(1 − 𝛿 𝛿

)1/2𝑁

∴ 𝜔𝑐 ≅ 3261 𝑟𝑎𝑑 𝑠⁄

Pode-se utilizar qualquer valor entre estes dois. Foi escolhido então

𝜔𝑐 = 2990 𝑟𝑎𝑑 𝑠⁄ , de forma a equilibrar variação máxima na faixa de passagem e o

máximo ganho na faixa de rejeição.

Assim, a função de transferência para o filtro de Butterworh, com N=4 e

𝜔𝑐 = 2990 𝑟𝑎𝑑 𝑠⁄ é:

𝐻(𝑠) =𝜔𝑐

4

𝑠4 + 2,6131𝜔𝑐𝑠3 + 3,4142𝜔𝑐2𝑠2 + 2,6131𝜔𝑐3𝑠 + 𝜔𝑐4

𝐻(𝑠) ≅7,993 1013

𝑠4 + 7813𝑠3 + 3,052 107𝑠2 + 6,985 101 𝑠 + 7,993 1013

𝑙𝑡𝑟𝑜 𝑎𝑠𝑠𝑎 𝑎 𝑎𝑠 𝑑 𝑟𝑑 4

1.1.a.2. Resposta em Frequência do Filtro Passa-Baixas

Através dos comandos utilizados no software Matlab, apresentados abaixo,

definiu-se um polinômio no domínio s para o filtro de Butterworth. Definiu-se o

filtro passa baixas na variável “Hpb”. A função “bode” fornece a resposta em

frequência do filtro passa-baixas, vista na figura 3.

s=tf('s'); hpb=(7.993e13)/(s^4+7813*s^3+3.052e7*s^2+6.985e10*s+7.993e13); bode(hpb,{1e-2 1e8}); grid

Page 8: FILTROS ANALÓGICOS E DIGITAIS

Figura 3 - Filtro passa-baixa

Como visto na figura 3, as frequências inferiores a 300 Hz, 1884,96 rad/s, e

superiores a 750 Hz, 18844,96 rad/s, não sofrem atenuações que não extrapolam

as especificações do filtro.

Em fp = 300 H , a magnitude do sinal é aproximadamente 0,987. Em

f = 750 H , a magnitude do sinal é 0,175. Como no projeto a magnitude era

elevada ao quadrado, se elevarmos 0,987 ao quadrado, teremos aproximadamente

0,974, ou seja, maior que o mínimo projetado, que era 0,95. Se elevarmos 0,175 ao

quadrado, teremos aproximadamente 0,03, menor que o máximo projetado, que

era 0,05. Ou seja, o filtro corresponde ao projetado inicialmente.

1.1.a.3. Diagrama de Polos e Zeros do Filtro Passa Baixas

Através dos comandos de Matlab:

pzmap(hpb,'r'); grid [p z]=pzmap(hpb)

Page 9: FILTROS ANALÓGICOS E DIGITAIS

A primeira linha gera o gráfico. A segunda nos retorna a localização dos

polos e zeros do filtro.

Obtemos o seguinte gráfico:

Onde “X” representam pólos. Como podemos ver, há quatro pólos neste

filtro, localizados em:

𝑠 = −1143,7 + 𝑗2762,6

𝑠 = −1143,7 − 𝑗2762,6

𝑠 = −2762,8 + 𝑗1143,5

𝑠 = −2762,8 − 𝑗1143,5

Notamos a ausência de zeros neste filtro. Isto se deve ao fato de que no filtro

passa baixas não há necessidade de ganho antes da frequência 𝜔𝑝.

Page 10: FILTROS ANALÓGICOS E DIGITAIS

1.1.a.4. Projeto do Filtro Passa-Altas:

Para fazer o filtro passa-altas, começamos fazendo um protótipo de passa-baixas,

com as características do passa-altas proposto, e então transformamos o protótipo

em um passa-altas, através da seguinte mudança de variável: 𝑠

.

Fazemos então da seguinte maneira:

Gráfico do Modelo Protótipo de Passa-Baixas

Quando a freqüência do sinal for 𝜔𝑆, ele deverá ter no mínimo 90% de sua

magnitude ao quadrado. Quando a freqüência do sinal for 𝜔 , ele deverá ter no

máximo 10% da sua magnitude ao quadrado.

Para criarmos um filtro com estas características, fazemos o seguinte:

𝜔 = 2 𝑝 = 15000 𝑟𝑎𝑑 𝑠⁄

𝜔𝑆 = 2 𝑆 = 6000 𝑟𝑎𝑑 𝑠⁄

Estamos utilizando a notação invertida das freqüências, pois em um passa

altas a freqüência de corte da faixa de passagem é em 15000 𝑟𝑎𝑑 𝑠⁄ , e a

freqüência de corte da faixa de rejeição é 6000 𝑟𝑎𝑑 𝑠⁄ .

Page 11: FILTROS ANALÓGICOS E DIGITAIS

Tendo 𝜔𝑆 e 𝜔𝑝, partimos para o projeto do filtro passa-baixas. Os passos são

iguais aos que fizemos para o passa baixas. Para não termos problemas com os

logaritmos, continuamos dividindo a freqüência mais baixa pela mais alta, ou seja,

neste caso,

.

𝜔𝑆𝜔𝑝

=(

𝛾1 − 𝛾)

12𝑁⁄

(1 − 𝜇𝜇 )

12𝑁⁄= [

𝛾𝜇

(1 − 𝛾)(1 − 𝜇)]

12𝑁⁄

= 𝑙𝑜𝑔 (

𝛾𝜇(1 − 𝛾)(1 − 𝜇)

)

2𝑙𝑜𝑔 (𝜔𝑆𝜔𝑝)

Substituindo os valores de 𝛾, 𝜇, 𝜔𝑆, 𝜔𝑝:

≅ 2,4

Para a segunda formulação:

=

𝑙𝑜𝑔 ((2𝜖 − 𝜖2)𝛿

(1 − 𝜖)2(1 − 𝛿 ))

2𝑙𝑜𝑔 (𝜔 𝜔𝑝)

Page 12: FILTROS ANALÓGICOS E DIGITAIS

Similar aos limites para o caso anterior temos para o limite superior

1 − 𝜖 = 0.948683298 logo 𝜖 = 0.051316701 e para o limite inferior 𝛿 =

0.316227766. Os valores de 𝜔 e 𝜔𝑆 são iguais ao caso anterior sendo 𝜔 =

15000 𝑟𝑎𝑑 𝑠 ⁄ 𝜔𝑆 = 6000 𝑟𝑎𝑑 𝑠⁄ .

Logo:

≅ 2,4

Como os valores de N derivam da mesma formulação, devem ser iguais e um

número inteiro, portanto, arredondaremos para próximo inteiro, ou seja, 3. Assim,

a ordem do filtro de Butterworth que deve ser utilizada é 3.

Calcularemos agora os valores de 𝜔𝑐, da mesma maneira que fizemos para o

filtro passa baixas, atentando para o fato de as freqüências estarem trocadas:

𝜔𝑐 =

(

1− )12 ⁄ ∴ 𝜔𝑐 ≅ 27185 𝑟𝑎𝑑 𝑠⁄

𝜔𝑐 =𝜔𝑝

(1 − 𝜇𝜇 )

1/2𝑁 ∴ 𝜔𝑐 ≅ 32673 𝑟𝑎𝑑 𝑠⁄

Para a segunda formulação:

𝜔𝑐 =𝜔

((2𝜖 − 𝜖2)(1 − 𝜖)2

)

12𝑁⁄ ∴ 𝜔𝑐 ≅ 27185 𝑟𝑎𝑑 𝑠⁄

𝜔𝑐 =𝜔𝑝

(1 − 𝛿 𝛿

)1/2𝑁

∴ 𝜔𝑐 ≅ 32673 𝑟𝑎𝑑 𝑠⁄

Devemos utilizar qualquer valor entre estes dois. Utilizaremos 𝜔𝑐 =

29990 𝑟𝑎𝑑 𝑠⁄ .

Assim, um protótipo passa baixas, para um filtro de Butterworh, com N=3:

Page 13: FILTROS ANALÓGICOS E DIGITAIS

𝐻(𝑠) =1

𝑠3 + 2𝑠2 + 2𝑠 + 1

Queremos um filtro passa altas, então substituímos no protótipo passa

baixas a variável “s” por 𝜔𝑐 𝑠⁄ . Assim, com 𝜔𝑐 = 29990:

𝐻(𝑠) =1

(𝜔𝑐 𝑠⁄ )3 + 2(𝜔𝑐 𝑠⁄ )2 + 2(𝜔𝑐 𝑠⁄ ) + 1

𝐻(𝑠) ≅𝑠3

𝑠3 + 59980𝑠2 + 1,799 109𝑠 + 2,697 1013

𝑙𝑡𝑟𝑜 𝑎𝑠𝑠𝑎 𝑙𝑡𝑎𝑠 𝑑 𝑟𝑑 3

1.1.a.5. Resposta em Frequência do Filtro Passa Altas:

No MATLAB digitamos as seguintes linhas:

s=tf('s');

hpa=(s^3)/(s^3+59980*s^2+1.799e9*s+2.697e13);

bode(hpa,{1e-1 1e9});

grid

Obtemos o seguinte gráfico:

Page 14: FILTROS ANALÓGICOS E DIGITAIS

Para frequências baixas, o filtro atenua o sinal. Para frequências altas o sinal

não é atenuado.

Para vermos se os parâmetros que definimos no início do projeto estão

corretos, faremos algumas alterações dentro da janela onde o diagrama de Bode

está plotado. São as mesmas alterações feitas para o passa baixas.

Colocaremos o “Data Cursor” sobre os pontos onde a frequência é 3 kHz e

7,5 kHz:

Page 15: FILTROS ANALÓGICOS E DIGITAIS

Em 𝑝 = 3 𝐻 , a magnitude do sinal é aproximadamente 0,256. Em

= 7,5 𝐻 , a magnitude do sinal é 0,96. Como no projeto a magnitude era

elevada ao quadrado, se elevarmos 0,256 ao quadrado, teremos aproximadamente

0,065, ou seja, menor que o máximo projetado, que era 0,1. Se elevarmos 0,96 ao

quadrado, teremos aproximadamente 0,92, maior que o mínimo projetado, que era

0,9.

Ou seja, o filtro corresponde ao projetado inicialmente.

1.1.a.6. Diagrama de Polos e Zeros do Filtro Passa Altas:

Digitando no MATLAB:

pzmap(hpa,’r’);grid

[p z]=pzmap(hpa)

Obtemos o seguinte gráfico:

Page 16: FILTROS ANALÓGICOS E DIGITAIS

Onde “X” representam pólos e “O” representam zeros. Como podemos ver,

há um zero com multiplicidade três em 𝑠 = 0, e três pólos distintos neste filtro,

localizados em:

𝑠 = −29980

𝑠 = −15000 − 𝑗25973

𝑠 = −15000 + 𝑗25973

Notamos agora presença de um zero com multiplicidade três. Isto se deve

ao fato de que no filtro passa altas, as freqüências mais baixas vão sendo cada vez

menos atenuadas, na medida que crescem em direção à freqüência 𝜔𝑝 não há

necessidade de ganho antes da frequência 𝜔𝑝. Os pólos servem para diminuir a

influência dos zeros gradativamente até chegar em 𝜔𝑝 com nenhuma atenuação.

1.1.A.7. Filtro Passa-Faixa:

Para fazer o filtro passa-faixa, devemos projetar dois filtros: um passa

baixas, e outro passa altas, assim como fizemos nos dois filtros anteriores. Quando

Page 17: FILTROS ANALÓGICOS E DIGITAIS

tivermos os dois filtros prontos, multiplicamos um pelo outro e assim teremos o

filtro passa faixa.

Esboço do Passa-Baixas

Quando a freqüência do sinal for 𝜔 , ele deverá ter no mínimo 95% de sua

magnitude ao quadrado. Quando a freqüência do sinal for 𝜔𝑆, ele deverá ter no

máximo 5% da sua magnitude ao quadrado.

Esboço do Protótipo Passa-Baixas

Page 18: FILTROS ANALÓGICOS E DIGITAIS

Quando a freqüência do sinal for 𝜔𝑆, ele deverá ter no mínimo 95% de sua

magnitude ao quadrado. Quando a freqüência do sinal for 𝜔 , ele deverá ter no

máximo 5% da sua magnitude ao quadrado.

1.1.a.8. 1° Filtro – Passa Baixas:

O filtro passa baixas irá deixar passar freqüências menores que 3 kHz

( 𝑝 = 3 𝐻 )e atenuará as maiores que 7,5 kHz( = 7,5 𝐻 ).

Para criarmos um filtro com estas características, fazemos o seguinte:

𝜔 = 2 𝑝 = 6000 𝑟𝑎𝑑 𝑠⁄

𝜔𝑆 = 2 𝑆 = 15000 𝑟𝑎𝑑 𝑠⁄

Como os valores de 𝜔 e 𝜔𝑆 são dez vezes maiores que os do projeto do

filtro passa-baixas que já fizemos, assim como os valores de 1 − 𝛾 e 𝜇 são os

mesmos, podemos dizer que

≅ 3,21, 𝑜𝑢 𝑠 𝑗𝑎, = 4

Os valores de 𝜔𝑐serão também 10 vezes maiores que os do primeiro filtro,

assim:

𝜔𝑐 =

(

1− )12 ⁄ [1] ∴ 𝜔𝑐 ≅ 27236 𝑟𝑎𝑑 𝑠⁄

𝜔𝑐 =𝜔𝑆

(1 − 𝜇𝜇

)1/2𝑁

[2] ∴ 𝜔𝑐 ≅ 32613 𝑟𝑎𝑑 𝑠⁄

Devemos utilizar qualquer valor entre estes dois. Utilizaremos 𝜔𝑐 =

29900 𝑟𝑎𝑑 𝑠⁄ .

Page 19: FILTROS ANALÓGICOS E DIGITAIS

Da mesma forma que para outra formulação usada no passa-baixas 1 − 𝜖 e

𝛿:

≅ 3,21, 𝑜𝑢 𝑠 𝑗𝑎, = 4

𝜔𝑐 =𝜔

((2𝜖 − 𝜖2)(1 − 𝜖)2

)

12𝑁⁄ ∴ 𝜔𝑐 ≅ 27236 𝑟𝑎𝑑 𝑠⁄

𝜔𝑐 =𝜔𝑝

(1 − 𝛿 𝛿

)1/2𝑁

∴ 𝜔𝑐 ≅ 32613 𝑟𝑎𝑑 𝑠⁄

Assim, o filtro de Butterworh, com N=4 e 𝜔𝑐 = 29900 𝑟𝑎𝑑 𝑠⁄ é:

𝐻(𝑠) =𝜔𝑐

4

𝑠4 + 2,6131𝜔𝑐𝑠3 + 3,4142𝜔𝑐2𝑠2 + 2,6131𝜔𝑐3𝑠 + 𝜔𝑐4

𝐻1(𝑠) ≅7,993 1017

𝑠4 + 7,813 104𝑠3 + 3,052 109𝑠2 + 6,985 1013𝑠 + 7,993 1017

𝑙𝑡𝑟𝑜 𝑎𝑠𝑠𝑎 𝑎 𝑎𝑠 𝑑 𝑟𝑑 4

1.1.a.9. 2° Filtro – Protótipo Passa Baixas para o filtro Passa Altas:

O filtro passa altas irá deixar passar freqüências menores que 750 Hz

( 𝑝 = 750 𝐻 )e atenuará as menores que 300 Hz ( = 300 𝐻 ). Sendo

𝛾 = 0.05, 𝜇 = 0.05, 𝜖 = 0.025324612 𝛿 = 0.223614519 como n o filtro passa-

baixas.

Para criarmos um filtro com estas características, fazemos o seguinte:

𝜔 = 2 𝑝 = 1500 𝑟𝑎𝑑 𝑠⁄

𝜔𝑆 = 2 𝑆 = 600 𝑟𝑎𝑑 𝑠⁄

Projetando este passa altas da mesma maneira que o outro passa altas,

teremos:

Page 20: FILTROS ANALÓGICOS E DIGITAIS

= 𝑙𝑜𝑔 (

𝛾𝜇(1 − 𝛾)(1 − 𝜇)

)

2𝑙𝑜𝑔 (𝜔𝑆𝜔𝑝)

≅ 3,21 ∴ = 4

𝜔𝑐 =

(

1− )12 ⁄ ∴ 𝜔𝑐 ≅ 2723 𝑟𝑎𝑑 𝑠⁄

𝜔𝑐 =𝜔𝑝

(1 − 𝜇𝜇 )

1/2𝑁 ∴ 𝜔𝑐 ≅ 3261 𝑟𝑎𝑑 𝑠⁄

Da mesma forma para a outra formulação:

=

𝑙𝑜𝑔 ((2𝜖 − 𝜖2)𝛿

(1 − 𝜖)2(1 − 𝛿 ))

2𝑙𝑜𝑔 (𝜔 𝜔𝑝)

≅ 3,21 ∴ = 4

𝜔𝑐 =𝜔

((2𝜖 − 𝜖2)(1 − 𝜖)2

)

12𝑁⁄ ∴ 𝜔𝑐 ≅ 2723 𝑟𝑎𝑑 𝑠⁄

𝜔𝑐 =𝜔𝑝

(1 − 𝛿 𝛿

)1/2𝑁

∴ 𝜔𝑐 ≅ 3261 𝑟𝑎𝑑 𝑠⁄

Devemos utilizar qualquer valor entre estes dois. Utilizaremos 𝜔𝑐 =

2990 𝑟𝑎𝑑 𝑠⁄ .

Assim, um protótipo passa baixas, para um filtro de Butterworh, com N=4:

𝐻(𝑠) =1

𝑠4 + 2,6131𝑠3 + 3,4142𝑠2 + 2,6131𝑠 + 1

Queremos um filtro passa altas, então substituímos no protótipo passa

baixas a variável “s” por 𝜔𝑐 𝑠⁄ . Assim, com 𝜔𝑐 = 2990:

𝐻(𝑠) =1

(𝜔𝑐𝑠 )

4

+ 2,6131 (𝜔𝑐𝑠 )

3

+ 3,4142 (𝜔𝑐𝑠 )

2

+ 2,6131 (𝜔𝑐𝑠 ) + 1

Page 21: FILTROS ANALÓGICOS E DIGITAIS

𝐻2(𝑠) ≅𝑠4

𝑠4 + 7813𝑠3 + 3,052 107𝑠2 + 6,985 101 𝑠 + 7,993 1013

Multiplicando 𝐻1(𝑠) por 𝐻2(𝑠)

𝐻(𝑠) =7,993 1017𝑠4

𝑠8 + 8,594 104𝑠7 + 3,693 109𝑠6 + 9,615 1013𝑠5 + 1,444 1018𝑠4 + 8,596 1021𝑠3 + 2,952 1025𝑠2 + 6,141 1028𝑠 + 6,388 1031

𝑙𝑡𝑟𝑜 𝑎𝑠𝑠𝑎 𝑎 𝑎 𝑑 𝑟𝑑 4

1.1.a.10. Resposta em Frequência do Filtro Passa Faixa:

No MATLAB digitamos as seguintes linhas:

s=tf('s');

hpf=(7.993e17*s^4)/(s^8+8.594e4*s^7+3.693e9*s^6+9.615e13*s^5+1.4

44e18*s^4+8.596e21*s^3+2.952e25*s^2+6.141e28*s+6.388e31);

bode(hpf,{1e-1 1e9});

grid;

Obtemos o seguinte gráfico:

Page 22: FILTROS ANALÓGICOS E DIGITAIS

Para frequências baixas, o filtro atenua o sinal. Para frequências altas o sinal

não é atenuado. Para uma certa faixa de freqüências o sinal se mantem sem

alterações de magnitude.

Para vermos se os parâmetros que definimos no início do projeto estão

corretos, faremos algumas alterações dentro da janela onde o diagrama de Bode

está plotado. São as mesmas alterações feitas para o passa baixas.

Colocaremos o “Data Cursor” sobre os pontos onde a frequência é 300 Hz, 750 Hz,

3 kHz e 7,5 kHz:

Em = 300 𝐻 , a magnitude do sinal é aproximadamente 0,157. Em

= 7,5 𝐻 , a magnitude do sinal é 0,175. Em 𝑝 = 750 𝐻 , a magnitude do sinal é

de aproximadamente 0,981. Em 𝑝 = 3 𝐻 , a magnitude do sinal é de

aproximadamente 0,987.

Como no projeto a magnitude era elevada ao quadrado, se elevarmos 0,157

ao quadrado, teremos aproximadamente 0,025, ou seja, menor que o máximo

Page 23: FILTROS ANALÓGICOS E DIGITAIS

projetado, que era 0,05. Se elevarmos 0,175 ao quadrado, teremos

aproximadamente 0,03, também menor que 0,05. Ao elevarmos 0,981 ao

quadrado, teremos aproximadamente 0,96, ou seja, maior que o mínimo projetado

(0,95). Ao elevarmos 0,987 ao quadrado, teremos aproximadamente 0,97, também

maior que o mínimo projetado.

Ou seja, o filtro corresponde ao projeto.

1.1.a.11. Diagrama de Polos e Zeros do Filtro Passa Faixa:

Digitando no MATLAB:

pzmap(hpf,’r’);

grid

[p z]=pzmap(hpf)

Obtemos o seguinte gráfico:

Page 24: FILTROS ANALÓGICOS E DIGITAIS

Onde “X” representam pólos, e os “O” representam zeros. Como

podemos ver, através do comando [p z]=pzmap(Hpf), há um zero com

multiplicidade quatro em 𝑠 = 0, e oito pólos distintos neste filtro, localizados em:

𝑠 = −11434 + 𝑗27626

𝑠 = −11434 − 𝑗27626

𝑠 = −27632 + 𝑗11455

𝑠 = −27632 − 𝑗11455

𝑠 = −1144 + 𝑗2763

𝑠 = −1144 − 𝑗2763

𝑠 = −2760 + 𝑗1146

𝑠 = −2760 − 𝑗1146

Notamos agora presença de um zero com multiplicidade três. Isto se deve

ao fato de que no filtro passa faixa, as freqüências mais baixas vão sendo cada vez

menos atenuadas, na medida que crescem em direção à freqüência 𝜔𝑝1 = 750 𝐻 .

Em seguida, há uma diminuição gradativa na intensidade de ganho, até que não

haja mais ganho, ou seja, passa o sinal sem nenhuma alteração. Mais adiante, há

uma série de novos pólos, que fazem com que a resposta em freqüência caia

infinitamente, ou seja, atenuando freqüências maiores que 𝜔𝑝2.

1.1.b. Discretizar a função de transferência dos filtros, utilizando a

aproximação de Tustin e utilizando o comando c2d.O período de amostragem deve

ser o inverso da frequência em que o sinal de áudio foi gravado.

1°) Filtro Passa-baixa:

No MATLAB inserimos o seguinte código:

s=tf('s');

hpb=(7.993e13)/(s^4+7813*s^3+3.052e7*s^2+6.985e10*s+7.993e13);

[dados, fsom]=wavread('D:\bigbang.wav'); %diretório padrão onde

se localiza o arquivo

hpbd=c2d(hpb,inv(fsom),'Tustin')

Page 25: FILTROS ANALÓGICOS E DIGITAIS

Com este código é declarada a variável “s” para que criar um polinômio

chamado “Hpb”, que contenha a função de transferência do filtro passa-baixa. É

armarzenada na variável “fs” o valor da freqüência de amostragem do arquivo de

som, e colocado na variável “Hpbd” o sistema discretizado, através do comando

c2d.

A seguinte expressão é obtida:

H( ) =8,675 10 7 4 + 3,47 10 6 3 + 5,205 10 6 2 + 3,47 10 6 1 + 8,675 10 7

4 − 3,837 3 + 5,525 2 − 3,537 1 + 0,8498

Sampling time: 2.0833e-005

2°) Filtro Passa-alta:

No MATLAB inserimos o seguinte código:

s=tf('s');

hpa=(s^3)/(s^3+59980*s^2+1.799e9*s+2.697e13);

[dados, fsom]=wavread('D:\bigbang.wav');

hpad=c2d(hpa,inv(fsom),'Tustin')

Com este código é declarada a variável “s” para que possamos criar um

polinômio chamado “Hpa”, que contém a função de transferência do filtro passa-

alta. É armazenada na variável “fs” o valor da frequência de amostragem do arquivo

de som, e colocado na variável “Hpad” o sistema discretizado, através do comando

c2d.

É obtida a seguinte expressão:

𝐻( ) =0,5404 4 − 1,621 2 + 1,621 1 − 0,5404

3 − 1,804 2 + 1,227 1 − 0,2918

Page 26: FILTROS ANALÓGICOS E DIGITAIS

Sampling time: 2.0833e-005

3°) Filtro Passa-faixa:

No MATLAB inserimos o seguinte código:

s=tf('s');

hpf=(7.993e17*s^4)/(s^8+8.594e4*s^7+3.693e9*s^6+9.615e13*s^5+1.4

44e18*s^4+8.596e21*s ^3+2.952e25*s^2+6.141e28*s+6.388e31);

[dados, fsom]=wavread('D:\bigbang.wav');

hpfd=c2d(hpf,inv(fsom),'Tustin')

Com este código é declarada a variável “s” para que seja criado um

polinômio chamado “Hpf”, que contém a função de transferência do filtro passa

altas. É armazenada na variável “fs” o valor da freqüência de amostragem do

arquivo de som, e colocado na variável “Hpfd” o sistema discretizado, através do

comando c2d.

É obtida a seguinte expressão:

𝐻( ) =0,003884 8 − 0,01554 6 + 0,02331 4 − 0,01554 2 + 0,00384

8 − 6,27 7 + 17,27 6 − 27,36 5 + 27,28 4 − 17,55 3 + 7,108 2 − 1,658 1 + 0,1704

Sampling time: 2.0833e‐05

c) Passar o sinal de áudio pelos 3 filtros digitais (função filter) e plotar tanto

a resposta no tempo de cada um dos sinais resultantes. Escutar os 3 sinais

resultantes e o sinal combinado utilizando a função sound.

Tendo a função de transferência discreta do filtro, é criado um arquivo lote

(.m) e digitado o seguinte código.

Page 27: FILTROS ANALÓGICOS E DIGITAIS

[dados,fsom]=wavread('D:\bigbang.wav'); dados = dados(:,1); nn=length(dados); asom = abs(fft(dados,nn))/nn; asoms = fftshift(asom); ff2 = [-nn/2:nn/2-1]*fsom/(nn);

[numpb,denpb]=tfdata(hpbd,'v'); [numpf,denpf]=tfdata(hpfd,'v'); [numpa,denpa]=tfdata(hpad,'v');

% filtrando baixas dadospb=filter(numpb,denpb,dados); asomf = abs(fft(dadospb,nn))/nn; asomsf = fftshift(asomf); figure; subplot(2,1,1) plot(ff2,asoms); axis([0 ff2(end) min(asoms) max(asoms)]) title('Sinal original dominio frequencia') subplot(2,1,2) plot(ff2,asomsf); axis([0 ff2(end) min(asomsf) max(asomsf)]) title('Sinal com filtro PB - dominio frequencia') figure; subplot(2,1,1) plot(dados) title('Sinal original - dominio tempo') subplot(2,1,2) plot(dadospb) title('Sinal com filtro PB - dominio tempo')

% filtrando faixa dadospf=filter(numpf,denpf,dados); asomf = abs(fft(dadospf,nn))/nn; asomsf = fftshift(asomf); figure; subplot(2,1,1) plot(ff2,asoms); axis([0 ff2(end) min(asoms) max(asoms)]) title('Sinal original - dominio frequencia') subplot(2,1,2) plot(ff2,asomsf); axis([0 ff2(end) min(asomsf) max(asomsf)]) title('Sinal com filtro PF - dominio frequencia') figure; subplot(2,1,1) plot(dados) title('Sinal original - dominio tempo') subplot(2,1,2) plot(dadospf) title('Sinal com filtro PF - dominio tempo')

% filtrando altas dadospa=filter(numpa,denpa,dados); asomf = abs(fft(dadospa,nn))/nn; asomsf = fftshift(asomf); subplot(2,1,1)

Page 28: FILTROS ANALÓGICOS E DIGITAIS

plot(ff2,asoms); axis([0 ff2(end) min(asoms) max(asomsf)]) title('Sinal original - dominio frequencia') subplot(2,1,2) plot(ff2,asomsf); axis([0 ff2(end) min(asomsf) max(asomsf)]) title('Sinal com filtro PA - dominio frequencia') figure; subplot(2,1,1) plot(dados) title('Sinal original - dominio tempo') subplot(2,1,2) plot(dadospa) title('Sinal com filtro PA - dominio tempo') % comparacao sinal original com o filtrado figure; subplot(2,1,1) plot(dados) title('Sinal Original, sem filtros') subplot(2,1,2) plot(dadospb+dadospf+dadospa) title('Soma dos sinais filtrados') asomf = abs(fft(dadospb+dadospf+dadospa,nn))/nn; asomsf = fftshift(asomf); figure; subplot(2,1,1) plot(ff2,asoms) axis([0 ff2(end)/2 min(asoms) max(asoms/2)]) title('Sinal original - dominiofrequencia') subplot(2,1,2) plot(ff2,asomsf) axis([0 ff2(end)/2 min(asomsf) max(asomsf/2)]) title('Sinal somado - dominio frequencia')

Filtro Passa-Baixas

Page 29: FILTROS ANALÓGICOS E DIGITAIS

Na resposta em frequência do sinal passado pelo filtro Passa Baixas é

notado que apenas as frequências próximas do zero estão presentes, o que será

diferente para os outros filtros. Já na representação no tempo é visto que o sinal se

alterou de alguma forma, mas sem maiores conclusões.

Page 30: FILTROS ANALÓGICOS E DIGITAIS

Filtro Passa-faixa

Page 31: FILTROS ANALÓGICOS E DIGITAIS

No filtro Passa Faixa a resposta de frequência se afastou do zero e não se

prolongou muito depois de 5k. Na representação no tempo é visualizada uma

alteração considerável e inclusive em relação à resposta no Tempo do filtro Passa-

baixa, sendo o do Passa Faixas menos “encorpado”.

Filtro Passa-alta

Page 32: FILTROS ANALÓGICOS E DIGITAIS

Já no filtro Passa Alta, com a escala da resposta de frequência aumentada, é

visualizado que abaixo de 5k existe um decréscimo das componentes no sentido da

frequência decrescente, e após isso as componentes seguem obedecendo ao

espectro original. Na representação no Tempo vemos que o sinal que fica após o

Passa Altas é praticamente incomparável, e o que apresenta a menor “densidade”

gráfica. Essa variação gradual entre os 3 filtros observada na representação

temporal vem do fato de que quanto maior a frequência mais espremida no tempo

ela é, por isso o PA apresenta um gráfico mais mirrado e o PB o mais encorpado

visualmente.

Abaixo é demonstrado o sinal original comparado ao que apresenta a soma

dos 3 sinais saídos dos filtros, primeiro no domingo tempo e depois no domínio

frequência. O primeiro é pouco conclusivo, pois é complicado afirmar precisão

entre os dois gráficos, porem pode-se dizer que são bem similares. Já no de

frequência os sinais têm as mesmas componentes.

Page 33: FILTROS ANALÓGICOS E DIGITAIS
Page 34: FILTROS ANALÓGICOS E DIGITAIS

1.1.d. A partir da resposta ao impulso dos filtros do item c, determinar os

coeficientes do filtro FIR, justificando a escolha do número de coeficientes. Avaliar

a resposta em frequência dos filtros empregando a janela Retangular e de

Hamming.

Utilizando-se o Método da Energia onde se calcula a energia total do filtro

IIR e posteriormente calculam-se quantas amostras são necessárias para a energia

chegar a 95% da energia total e nesse momento tem-se o filtro FIR.

Para o filtro passa-baixa:

Código do arquiva lote:

clc clear close all

s=tf('s'); hpb=(7.993e13)/(s^4+7813*s^3+3.052e7*s^2+6.985e10*s+7.993e13);

%Função de transferência do filtro passa-baixas (Contínuo)

[dados fsom]=wavread('D:\bigbang.wav'); hpbd=c2d(hpb,inv(fsom));

%Função de transferência do filtro passa-baixas (Discreto) -

Filtro IIR

hf_iir=impulse(hpbd,6e-3);

%Resposta ao impulso do filtro IIR

n=linspace(0,6e-3,length(hf_iir)); %Método da Energia

energia=0; %Energia inicial do filtro

IIR for i=1:length(hf_iir) energia=energia+(hf_iir(i))^2;

%Calcula a energia do sinal hf_iir até o instante atual

if energia<=0.95*sum(hf_iir.^2)

%Verifica se a energia acumulada do sinal até o instante atual é

menor ou igual a 95% da energia total

hf_fir(i)=hf_iir(i);

%Em caso afirmativo, a hf_iir é igual a hf_fir

else hf_fir(i)=0; %Em caso negativo, a hf_fir é

zero

end end

Page 35: FILTROS ANALÓGICOS E DIGITAIS

figure; stem(n,hf_iir); grid; title('Resposta ao Impulso do Filtro IIR');

A partir da figura verifica-se que aproximadamente em t=0.042 a energia do

sinal chega a 95% da energia total.

Como o período de amostragem é ts =1

48 e o número de coeficientes é

C =t

t =

. 42

. 2 8= 202

Filtro passa-alta

clc clear close all

s=tf('s'); hpa=(s^3)/(s^3+59980*s^2+1.799e9*s+2.697e13);

%Função de transferência do filtro passa-altas (Contínuo)

[dados fsom]=wavread('D:\bigbang.wav'); hpad=c2d(hpa,inv(fsom));

%Função de transferência do filtro passa-altas (Discreto) -

Filtro IIR

hf_iir=impulse(hpad,6e-3);

Page 36: FILTROS ANALÓGICOS E DIGITAIS

%Resposta ao impulso do filtro IIR

n=linspace(0,6e-3,length(hf_iir));

%Método da Energia

energia=0;

%Energia inicial do filtro IIR

for i=1:length(hf_iir) energia=energia+(hf_iir(i))^2;

%Calcula a energia do sinal hf_iir até o instante atual

if energia<=0.95*sum(hf_iir.^2)

%Verifica se a energia acumulada do sinal até o instante atual é

menor ou igual a 95% da energia total

hf_fir(i)=hf_iir(i);

%Em caso afirmativo, a hf_iir é igual a hf_fir

Else

hf_fir(i)=0;

%Em caso negativo, a hf_fir é zero

end end

figure; stem(n,hf_iir); grid; title('Resposta ao Impulso do Filtro IIR');

Page 37: FILTROS ANALÓGICOS E DIGITAIS

A partir da figura verifica-se que aproximadamente em t=0.00040 a energia

do sinal chega a 95% da energia total.

Como o período de amostragem é ts =1

48 e o número de coeficientes é

C =t

t =

. 4

. 2 8= 20

Filtro passa faixas

clc clear close all

s=tf('s'); hpf=(7.993e17*s^4)/(s^8+8.594e4*s^7+3.693e9*s^6+9.615e13*s^5+1.4

44e18*s^4+8.596e21*s^3+2.952e25*s^2+6.141e28*s+6.388e31);

%Função de transferência do filtro passa-altas (Contínuo)

[dados fsom]=wavread('D:\bigbang.wav'); hpad=c2d(hpf,inv(fsom));

%Função de transferência do filtro passa-altas (Discreto) -

Filtro IIR

hf_iir=impulse(hpad,6e-3);

%Resposta ao impulso do filtro IIR

n=linspace(0,6e-3,length(hf_iir));

Page 38: FILTROS ANALÓGICOS E DIGITAIS

%Método da Energia

energia=0;

%Energia inicial do filtro IIR

for i=1:length(hf_iir) energia=energia+(hf_iir(i))^2;

%Calcula a energia do sinal hf_iir até o instante atual

if energia<=0.95*sum(hf_iir.^2)

%Verifica se a energia acumulada do sinal até o instante atual é

menor ou igual a 95% da energia total

hf_fir(i)=hf_iir(i);

%Em caso afirmativo, a hf_iir é igual a hf_fir

else hf_fir(i)=0;

%Em caso negativo, a hf_fir é zero

end end

figure; stem(n,hf_iir); grid; title('Resposta ao Impulso do Filtro IIR');

Page 39: FILTROS ANALÓGICOS E DIGITAIS

A partir da figura verifica-se que aproximadamente em t=0.0013 a energia

do sinal chega a 95% da energia total.

Como o período de amostragem é ts =1

48 e o número de coeficientes é

C =t

t =

. 13

. 2 8= 62

Avaliando a resposta em frequência dos filtros empregando as janelas

Retangular e de Hamming:

- Passa-baixa

Page 40: FILTROS ANALÓGICOS E DIGITAIS

Janela Retangular

Janela de Hamming

Page 41: FILTROS ANALÓGICOS E DIGITAIS

Analisando as duas janelas percebe-se uma queda de amplitude na janela de

Hamming de aproximadamente a metade.

-Passa Altas

Janela Retangular

Page 42: FILTROS ANALÓGICOS E DIGITAIS

Janela de Hamming

Analisando as duas janelas percebe-se um aumento de amplitude na janela

de Hamming e uma dependência maior dos termos secundários na janela de

Hamming.

Page 43: FILTROS ANALÓGICOS E DIGITAIS

- Passa Faixas

Janela Retangular

Page 44: FILTROS ANALÓGICOS E DIGITAIS

Janela de Hamming

Analisando as duas janelas percebe-se uma menor dependência dos termos

secundários na janela de Hamming além da queda de amplitude.

Abaixo segue os códigos do arquivo lote para geração dos gráficos:

Arquivo Lote .m:

-Passa baixas

Janela Retangular:

s=tf('s'); hpb=(7.993e13)/(s^4+7813*s^3+3.052e7*s^2+6.985e10*s+7.993e13); [dados, fsom]=wavread('D:\bigbang.wav');

%diretório padrão onde se localiza o arquivo

hpbd=c2d(hpb,inv(fsom),'Tustin')

[amplitudeb,TT]=impulse(hpbd); fs=48000; tt=0:inv(fs):0.0042; nn=length(tt); xx=(amplitudeb(1:216).*1).';

%FFT yy1=fft(xx,nn);

%Ajuste na escala de frequencias yy2 = abs(fft(xx,nn)); yy2s = fftshift(yy2); ff = [-nn/2:nn/2-1]*fs/(nn);

%Ajuste de amplitude yy3 = abs(fft(xx,nn))/nn; yy3s = fftshift(yy3);

%Ajuste FFT amp_fft = abs(fft(xx,nn))/nn; amp_shift = fftshift(amp_fft); ff = [-nn/2:nn/2-1]*fs/(nn);

%plot na parte positiva do sinal figure(103); plot(ff,amp_shift); title('Resposta em Frequência Filtro Passa-Baixa Janela

Retangular'); xlabel('Frequência(rad/s)') ylabel('Amplitude') axis([0 ff(end) min(amp_shift) max(amp_shift)])

Page 45: FILTROS ANALÓGICOS E DIGITAIS

Janela de Hamming:

Arquivo Lote .m:

[amplitudeb,TT]=impulse(hpbd); fs=48000; tt=0:inv(fs):0.0045; nn=length(tt); xx=(amplitudeb(1:216).*hamming(216)).';

%FFT yy1=fft(xx,nn);

%Ajuste na escala de frequencias yy2 = abs(fft(xx,nn)); yy2s = fftshift(yy2); ff = [-nn/2:nn/2-1]*fs/(nn);

%Ajuste de amplitude yy3 = abs(fft(xx,nn))/nn; yy3s = fftshift(yy3);

%Ajuste FFT amp_fft = abs(fft(xx,nn))/nn;

amp_shift = fftshift(amp_fft); ff = [-nn/2:nn/2-1]*fs/(nn);

%plot na parte positiva do sinal figure(103); plot(ff,amp_shift); title('Resposta em Frequência Filtro Passa-Baixa Janela

Hamming'); xlabel('Frequência(rad/s)') ylabel('Amplitude') axis([0 ff(end) min(amp_shift) max(amp_shift)])

Page 46: FILTROS ANALÓGICOS E DIGITAIS

Passa-Alta

Janela Retangular

s=tf('s'); hpa=(s^3)/(s^3+59980*s^2+1.799e9*s+2.697e13); [dados, fsom]=wavread('D:\bigbang.wav'); hpad=c2d(hpa,inv(fsom),'Tustin')

[amplitudeb,TT]=impulse(hpbd); fs=48000; tt=0:inv(fs):0.0004; nn=length(tt); xx=(amplitudeb(1:20).*1).';

%FFT yy1=fft(xx,nn);

%Ajuste na escala de frequencias yy2 = abs(fft(xx,nn)); yy2s = fftshift(yy2); ff = [-nn/2:nn/2-1]*fs/(nn);

%Ajuste de amplitude yy3 = abs(fft(xx,nn))/nn; yy3s = fftshift(yy3);

%Ajuste FFT amp_fft = abs(fft(xx,nn))/nn; amp_shift = fftshift(amp_fft); ff = [-nn/2:nn/2-1]*fs/(nn);

%plot na parte positiva do sinal figure(103); plot(ff,amp_shift); title('Resposta em Frequência Filtro Passa-Alta Janela

Retangular'); xlabel('Frequência(rad/s)') ylabel('Amplitude') axis([0 ff(end) min(amp_shift) max(amp_shift)])

Page 47: FILTROS ANALÓGICOS E DIGITAIS

Janela de Hamming

[amplitudeb,TT]=impulse(hpad); fs=48000; tt=0:inv(fs):0.0004; nn=length(tt); xx=(amplitudeb(1:20).*hamming(20)).';

%FFT yy1=fft(xx,nn);

%Ajuste na escala de frequencias yy2 = abs(fft(xx,nn)); yy2s = fftshift(yy2); ff = [-nn/2:nn/2-1]*fs/(nn);

%Ajuste de amplitude yy3 = abs(fft(xx,nn))/nn; yy3s = fftshift(yy3);

%Ajuste FFT amp_fft = abs(fft(xx,nn))/nn;

amp_shift = fftshift(amp_fft); ff = [-nn/2:nn/2-1]*fs/(nn);

%plot na parte positiva do sinal figure(103); plot(ff,amp_shift); title('Resposta em Frequência Filtro Passa-Alta Janela

Hamming'); xlabel('Frequência(rad/s)') ylabel('Amplitude') axis([0 ff(end) min(amp_shift) max(amp_shift)])

Page 48: FILTROS ANALÓGICOS E DIGITAIS

-Passa faixas

Janela Retangular

s=tf('s'); hpf=(7.993e17*s^4)/(s^8+8.594e4*s^7+3.693e9*s^6+9.615e13*s^5+1.4

44e18*s^4+8.596e21*s^3+2.952e25*s^2+6.141e28*s+6.388e31); [dados, fsom]=wavread('D:\bigbang.wav'); hpfd=c2d(hpf,inv(fsom),'Tustin'); [amplitudeb,TT]=impulse(hpfd); fs=48000; tt=0:inv(fs):0.0013; nn=length(tt); xx=(amplitudeb(1:62).*1).';

%FFT yy1=fft(xx,nn);

%Ajuste na escala de frequências yy2 = abs(fft(xx,nn)); yy2s = fftshift(yy2); ff = [-nn/2:nn/2-1]*fs/(nn);

%Ajuste de amplitude yy3 = abs(fft(xx,nn))/nn; yy3s = fftshift(yy3);

%Ajuste FFT amp_fft = abs(fft(xx,nn))/nn; amp_shift = fftshift(amp_fft); ff = [-nn/2:nn/2-1]*fs/(nn);

%plot na parte positiva do sinal figure(103); plot(ff,amp_shift); title('Resposta em Frequência Filtro Passa-Faixa Janela

Retangular'); xlabel('Frequência(rad/s)') ylabel('Amplitude') axis([0 ff(end) min(amp_shift) max(amp_shift)])

Page 49: FILTROS ANALÓGICOS E DIGITAIS

Janela de Hamming

[amplitudeb,TT]=impulse(hpfd); fs=48000; tt=0:inv(fs):0.0013; nn=length(tt); xx=(amplitudeb(1:62).*hamming(62)).';

%FFT yy1=fft(xx,nn);

%Ajuste na escala de frequencias yy2 = abs(fft(xx,nn)); yy2s = fftshift(yy2); ff = [-nn/2:nn/2-1]*fs/(nn);

%Ajuste de amplitude yy3 = abs(fft(xx,nn))/nn; yy3s = fftshift(yy3);

%Ajuste FFT amp_fft = abs(fft(xx,nn))/nn; amp_shift = fftshift(amp_fft); ff = [-nn/2:nn/2-1]*fs/(nn);

%plot na parte positiva do sinal figure(103); plot(ff,amp_shift); title('Resposta em Frequência Filtro Passa-Faixa Janela

Hamming'); xlabel('Frequência(rad/s)') ylabel('Amplitude') axis([0 ff(end) min(amp_shift) max(amp_shift)])

Page 50: FILTROS ANALÓGICOS E DIGITAIS

3. CONCLUSÃO

Com a realização deste trabalho, foi possível compreender de forma clara as

possíveis utilizações dos filtros projetados, assim como sua funcionalidade.

Com os resultados obtidos, ouviu-se claramente as faixas de frequências que

não foram atenuadas, tanto com os filtros analógicos como com os digitais. E, ao

somarmos os sinais que passaram pelos filtros digitais, obtivemos uma música

aparentemente idêntica à original.

Identificamos a utilidade do uso da transformada z para filtros digitais (IIR e

FIR), assim como a transformada s para os filtros analógicos (filtros de

Butterworth). Ao obter-se o respectivo diagrama de bode para cada filtro, pode-se

verificar a coerência da função de transferência, analisando a frequência de corte e

os ganhos, tanto na faixa de passagem como na faixa de rejeição, o que

similarmente ocorreu com os filtros digitais.