6
Processamento Digital de Sinais
CEFET/RJ
1
Processamento Digital de Sinais
IFPB
5
Processamento Digital de Sinais
IFPB
49
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
Texto de pré-visualização
4 25 pontos Para a resposta em frequência abaixo responda os seguinte itens Hejω 1 ω π4 3π4 π a 10 ponto Calcule a resposta ao impulso ideal hn do filtro b 10 ponto Projete um filtro FIR de sexta ordem utilizando uma janela de Hamming c 05 ponto Forneça uma realização com número mínimo de atrasos e multiplicadores 2 25 pontos Utilizando apenas blocos componentes básicos projete um filtro que aproxime a resposta em frequência da figura abaixo com f1 2000 Hz f2 2500 Hz f3 5000 Hz f4 8000 Hz f5 12000 Hz fs 50000 Hz Hf f Hz f1 f2 f3 f4 f5 1 Resposta em frequência desejada e cálculo analítico de hidealn A figura mostra que a magnitude desejada Hdejω é Hdω 4ωπ 0 ω π4 1 π4 ω 3π4 4π ωπ 3π4 ω π 0 caso contrário Pressupõese que o filtro seja real e par no tempo ou seja fase linear Assim a resposta ao impulso ideal hidealn corresponde à Transformada Inversa de Fourier hidealn 12π ππ Hdω ejωn dω 1π 0π Hdω cosωn dω onde usamos o fato de Hdω ser par e real Portanto hidealn 1π 0π4 4ωπ cosωn dω π43π4 cosωn dω 3π4π 4π ωπ cosωn dω 11 Forma integral ou numérica Em muitos projetos de filtro FIR basta amostrar numericamente essa integral ou usar métodos de janelamento diretamente no domínio da frequência Contudo se quisermos uma expressão analítica fechada podemos resolver cada integral Dividindo em termos hidealn 1π 0π4 4π ω cosnω dω π43π4 cosnω dω 4π 3π4π π ω cosnω dω A integral de ω cosnω pode ser feita por partes x cosax dx x sinaxa cosaxa² const Para I1 de 0 até π4 I1 4π 0π4 ω cosnω dω 4π ω sinnωn cosnωn² 0π4 1n² onde o termo final advém da subtração de cosnωn² em 0 Simplificando chegamos a I₁ 4π π4 sinnπ4 n cosnπ4 n² 1 Para I₂ from π4 to 3π4 cosnω dω a integral de cosnω é sinnωn Portanto I₂ 1n sin3πn4 sinπn4 Para I₃ fazse a mudança de variável ω π u aproveitando que cosnπ u cosnπ cosnu e usando cosnπ 1ⁿ No fim obtémse I₃ 4π 1ⁿ from 0 to π4 u cosnu du 4π 1ⁿ π4 sinnπ4 n cosnπ4n² 1 Somando I₁ I₂ I₃ e multiplicando por 1π chegase a um resultado fechado porém com termos que dependem de 1ⁿ Em suma para n 0 hidealn 1π I₁ I₂ I₃ 1π 4π I₀n 4π 1ⁿ I₀n I₂ onde I₀n π4 sinnπ4n cosnπ4n² 1 I₂ 1n sin3πn4 sinπn4 Para n 0 devese avaliar diretamente a integral hideal0 1π 0 to π4 4ωπ dω π4 to 3π4 1 dω 3π4 to π 4π ωπ dω 1π π8 π2 π8 34 Conclusão hideal0 34 hidealn expressão acima n 0 34 n 0 Naturalmente em implementações FIR usualmente truncamos e janelamos hidealn b Projeto de um FIR ordem 6 usando janela de Hamming cálculo na mão Para projetar um FIR de ordem M 6 isto é 7 coeficientes a partir de hidealn fazse 1 Escolher um recorte de M2 até M2 no impulso ideal 2 Multiplicar ponto a ponto por uma janela ex Hamming para suavizar as bordas e reduzir os lóbulos de ripples 3 Deslocar se preciso para obter um filtro causal com índices de 0 a M Passo 1 valores de hidealn em torno de zero Para M 6 temos M 1 7 amostras O centro fica em n 0 Assim definimos índices 3 2 1 0 1 2 3 Sabemos que hideal0 075 Para 1 e 3 as integrais dão valor zero por simetrias pois os termos se cancelam De fato podese mostrar que hideal1 0 e hideal3 0 Para 2 obtémse um valor negativo cerca de 02026 Explicitamente via integração peça a peça ou fórmulas já deduzidas resulta hideal3 0 hideal2 02026 hideal1 0 hideal0 075 hideal1 0 hideal2 02 Como hidealn é par simétrico basta calcular para n 0 e espelhar para n 0 Passo 2 Multiplicação por Janela de Hamming A janela de Hamming de comprimento 7 M 1 7 é wk 054 046 cos2πkM k 06 ou seja M6 no denominador Para cada k definimos o coeficiente bk como bk hidealk 3 wk Isto é estamos centrando a janela de modo que o índice zero do impulso ideal coincida com k 3 A tabela a seguir ilustra o cálculo k n k 3 hidealn wk Hamming bk 0 3 0 008 0 008 0 1 2 02026 031 0063 2 1 0 077 0 3 0 075 100 075 4 1 0 077 0 5 2 02026 031 0063 6 3 0 008 0 Logo o vetor de coeficientes do FIR ordem 6 fica b 0 0063 0 075 0 0063 0 Passo 3 Forma Causal Em muitos softwares como MATLAB já se rotula b0 como o termo que multiplica xn b1 como xn 1 etc Então nosso FIR é yn Σ from k0 to 6 bk xn k Ou seja yn 075 xn 3 0063 xn 1 0063 xn 5 Notar que b2 0 e b4 0 etc c Realização com número mínimo de atrasos e multiplicadores Observando os valores acima b0 b6 0 b1 b5 0063 b2 b4 0 b3 075 Isso mostra que apenas dois coeficientes são não nulos b1 0063 que aparece duas vezes e b3 075 Portanto yn 0063 xn1 xn5 075 xn3 Para implementar com menos hardware em DSP ou em bloco de somasmultiplicadores basta usar 5 atrasos em série para chegar até xn 5 a mesma constante 0063 multiplicando xn 1 e xn 5 e somando outro multiplicador com 075 para xn 3 Isso efetivamente usa 2 multiplicadores e 5 atrasos É a forma FIR de fase linear mínima em termos de multiplicadores Comentário sobre ordens maiores Para ordens maiores M 50 80 100 200 etc fazer tudo na mão isto é calcular cada amostra de hidealn e multiplicar por cada valor da janela tornase inviável O procedimento contudo é exatamente o mesmo 1 Definir n M 2 M 2 2 Calcular hidealn por aproximação numérica ou expressões 3 Multiplicar por wHammingn 4 Reposicionar índices se quiser algo causal de 0 até M No MATLAB funções como fir2 e fir1 ou mesmo firpm encapsulam essa lógica internamente fazem as amostragens e a inversa de Fourier numérica facilitando muito Código MATLAB completo para M 50 80 100 200 Segue um script que 1 Gera a curva trapezoidal de 0 a π 2 Usa fir2M freqnorm magnitude window com janela de Hamming 3 Plota Hejω em escala linear e em dB 1 2 Projeto de f i l t r o FIR trapezoidal via janela de Hamming f i r 2 3 4 c l e a r c l c c l o s e a l l 5 6 Escolha de ordens poderia i n c l u i r 6 tamb m mas aqui iremos maiores 7 Mvalues 50 80 100 2 0 0 8 9 Grelha de f r e q u n c i a s para e s p e c i f i c a r Hdomega 5 10 L 1000 N mero de pontos 11 wgrid linspace 0 pi L F r e q u n c i a s de 0 a pi 12 Hdes zeros 1 L 13 14 Monta a curva trapezoidal 15 f o r i 1L 16 w wgrid i 17 i f w pi 4 18 Hdes i 4w pi Sobe l i n e a r de 0 a 1 19 e l s e i f w 3 pi 4 20 Hdes i 1 Trecho plano 21 e l s e 22 Hdes i 4 pi w pi Desce de 1 a 0 23 end 24 end 25 26 N o r m a l i z a o 01 para uso em f i r 2 27 freqnorm wgrid pi 28 29 f o r M Mvalues 30 31 Janela de Hamming de tamanho M1 32 wHamming hammingM1 33 34 Projeto FIR pelo m t o d o freq sampling janela 35 b f i r 2 M freqnorm Hdes wHamming 36 37 Resposta em f r e q u n c i a de 0 a 2 pi usamos whole 38 mas s plotamos de 0 a pi 39 Hfreq wplot freqz b 1 1024 whole 40 Hfreq Hfreq 1512 41 wplot wplot 1512 42 43 Plot escala l i n e a r 44 f i g u r e 45 subplot 2 1 1 46 plot wplot abs Hfreq LineWidth 12 47 grid on 48 xlabel omega radamostra I n t e r p r e t e r latex 49 ylabel H e j omega I n t e r p r e t e r latex 50 t i t l e F i l t r o FIR trapezoidal Ordem M num2str M Hamming I n t e r p r e t e r latex 51 52 Plot escala dB 53 subplot 2 1 2 54 plot wplot 20 log10 abs Hfreq 1e12 LineWidth 12 55 grid on 56 xlabel omega radamostra I n t e r p r e t e r latex 57 ylabel Magnitude dB I n t e r p r e t e r latex 58 end Listing 1 Script MATLAB para projeto FIR trapezoidal via janela de Hamming 6 Projeto de Filtro Digital com Trˆes Bandas de Passagem 19 de fevereiro de 2025 1 Introducao A abordagem consiste em utilizar apenas filtros passabaixa LPF e operacoes aritmeticas subtracao e soma para compor Dois filtros passafaixa BPF cada um obtido pela diferenca de dois LPFs Um filtro passaalta HPF obtido por 1 LPF A soma desses trˆes blocos fornece a resposta em frequˆencia desejada que passa Uma primeira banda entre 2000 Hz e 2500 Hz Uma segunda banda entre 5000 Hz e 8000 Hz Uma terceira banda para frequˆencias acima de 12000 Hz 2 Conceitos Basicos e Estrategia de Projeto 21 Utilizando Filtros PassaBaixa LPF Para construir filtros com caracterısticas mais complexas podemos usar filtros LPF basicos como blocos de construcao Os conceitos utilizados sao Filtro PassaFaixa BPF Sejam dois LPFs com frequˆencias de corte fL e fH com fL fH A diferenca entre as respostas desses filtros gera um passafaixa BPFfL fH LPFfH LPFfL Observacoes Para f fL ambos os LPFs passam a frequˆencia logo a subtracao resulta em zero Para fL f fH o LPF com corte em fH passa a frequˆencia enquanto o de fL ja a atenua produzindo uma saıda nao nula Para f fH ambos atenuam resultando novamente em uma saıda proxima de zero 1 Filtro PassaAlta HPF Utilizando o complemento do LPF temos HPFfc 1 LPFfc Ou seja para frequˆencias muito abaixo de fc o LPF tem ganho unitario e o HPF anula essa contribuicao para f maiores que fc o LPF zera e o HPF fornece ganho unitario 22 Aplicacao as Bandas de Interesse Definindo as seguintes frequˆencias f1 2000 Hz e f2 2500 Hz para a Banda 1 f3 5000 Hz e f4 8000 Hz para a Banda 2 f5 12000 Hz para a Banda 3 passa frequˆencias acima de f5 Os filtros serao montados da seguinte forma BPF1 LPFf2 LPFf1 BPF2 LPFf4 LPFf3 HPF 1 LPFf5 A resposta final e dada por Hfinalz BPF1z BPF2z HPFz 3 Diagrama de Blocos O diagrama abaixo ilustra a abordagem LPFf2 Hlpf2 Entrada Saıda LPFf1 BPF1 Hlpf2 Hlpf1 LPFf4 Entrada Soma Final 2 LPFf3 BPF2 Hlpf4 Hlpf3 Entrada Soma Final LPFf5 1z HPF 1 LPFf5 4 Projeto dos Filtros Basicos LPF Utilizaremos filtros FIR projetados por janelamento janela de Hamming utilizando a funcao fir1 do MATLAB 41 Frequˆencia de Corte Normalizada Se fs e a frequˆencia de amostragem e fc a frequˆencia de corte desejada a frequˆencia normalizada e ωc fc fs2 2fc fs No MATLAB ωc deve estar entre 0 e 1 onde 1 equivale a π radamostra 42 Projeto do LPF com fir1 Um exemplo de codigo para um LPF de ordem N e 1 N 100 Ordem do filtro 2 wc fcfs2 F r e q u n c i a de corte normalizada 3 blpf alpf fir1N wc low hammingN1 Listing 1 Projeto de um LPF com ordem N Como o filtro e FIR os coeficientes de retroalimentacao sao alpf 1 5 Montagem dos Filtros Compostos 51 PassaFaixa BPF Para cada banda passafaixa definimos hbpfn hlpffHn hlpffLn Assim para as duas bandas BPF1 de 2000 Hz a 2500 Hz hbpf1n hlpf2500n hlpf2000n BPF2 de 5000 Hz a 8000 Hz hbpf2n hlpf8000n hlpf5000n 3 52 PassaAlta HPF O filtro passaalta e obtido por hhpfn δn hlpf12000n onde δn e o impulso unitario Em um filtro FIR de tamanho N 1 o vetor impulso possui o valor 1 na posicao central e zeros nas demais posicoes 53 Filtro Final A resposta final do filtro e a soma dos trˆes blocos hfinaln hbpf1n hbpf2n hhpfn 6 Exemplo Completo em MATLAB A seguir um codigo completo que implementa o projeto 1 Projeto de filtro com t r s bandas de passagem 2 clear close all clc 3 4 1 E s p e c i f i c a e s 5 fs 50000 F r e q u n c i a de amostragem Hz 6 f1 2000 f2 2500 Banda 1 2000 Hz a 2500 Hz 7 f3 5000 f4 8000 Banda 2 5000 Hz a 8000 Hz 8 f5 12000 Banda 3 F r e q u n c i a s 12000 Hz 9 10 N1 100 Ordem do filtro FIR 11 12 C l c u l o das f r e q u n c i a s normalizadas 0 a 1 13 wc1 f1fs2 14 wc2 f2fs2 15 wc3 f3fs2 16 wc4 f4fs2 17 wc5 f5fs2 18 19 2 Projeto dos LPFs usando a f u n o fir1 com janela de Hamming 20 hlpf1 fir1N1 wc1 low hammingN11 21 hlpf2 fir1N1 wc2 low hammingN11 22 hlpf3 fir1N1 wc3 low hammingN11 23 hlpf4 fir1N1 wc4 low hammingN11 24 hlpf5 fir1N1 wc5 low hammingN11 25 26 3 Montagem dos Filtros Compostos 27 Passa faixa 1 2000 a 2500 Hz 28 hbpf1 hlpf2 hlpf1 29 30 Passa faixa 2 5000 a 8000 Hz 31 hbpf2 hlpf4 hlpf3 32 33 Passa alta 12000 Hz 34 delta zeros1 N11 35 midindex floor N11 2 1 ndice central do filtro FIR 36 deltamidindex 1 37 hhpf5 delta hlpf5 38 39 4 Filtro Final Soma dos t r s blocos 4 40 hfinal hbpf1 hbpf2 hhpf5 41 42 5 C l c u l o das Respostas em F r e q u n c i a 43 Nfreq 2048 44 Hbpf1 w freqzhbpf1 1 Nfreq fs 45 Hbpf2 freqzhbpf2 1 Nfreq fs 46 Hhpf5 freqzhhpf5 1 Nfreq fs 47 Hfinal w freqzhfinal 1 Nfreq fs 48 49 6 Plot da Resposta em F r e q u n c i a Escala Linear 50 figure 51 subplot 211 52 plotw absHbpf1 b LineWidth 12 hold on 53 plotw absHbpf2 r LineWidth 12 54 plotw absHhpf5 g LineWidth 12 55 xlabel F r e q u n c i a Hz 56 ylabelMagnitude 57 titleFiltros Auxiliares Escala Linear 58 legendBPF1 2000 2500 Hz BPF2 5000 8000 Hz HPF 12000 Hz 59 grid on 60 61 subplot 212 62 plotw absHfinal k LineWidth 15 63 xlabel F r e q u n c i a Hz 64 ylabelMagnitude 65 titleFiltro Final Escala Linear 66 grid on 67 68 7 Plot da Resposta em F r e q u n c i a Escala dB 69 figure 70 subplot 211 71 plotw 20 log10absHbpf11e 12 b LineWidth 12 hold on 72 plotw 20 log10absHbpf21e 12 r LineWidth 12 73 plotw 20 log10absHhpf51e 12 g LineWidth 12 74 xlabel F r e q u n c i a Hz 75 ylabelMagnitude dB 76 titleFiltros Auxiliares Escala dB 77 legendBPF1 2000 2500 Hz BPF2 5000 8000 Hz HPF 12000 Hz 78 grid on 79 80 subplot 212 81 plotw 20 log10absHfinal1e 12 k LineWidth 15 82 xlabel F r e q u n c i a Hz 83 ylabelMagnitude dB 84 titleFiltro Final Escala dB 85 grid on Listing 2 Codigo MATLAB para o projeto do filtro 7 Conclusao Utilizando a decomposicao do filtro em blocos basicos foi possıvel projetar um filtro com trˆes bandas de passagem A BPF e obtida pela subtracao de dois LPFs com diferentes frequˆencias de corte O HPF e obtido subtraindo um LPF de um bloco unitario impulso 5 A resposta final e a soma dos trˆes blocos permitindo que as frequˆencias desejadas sejam passadas enquanto as demais sao atenuadas 6
6
Processamento Digital de Sinais
CEFET/RJ
1
Processamento Digital de Sinais
IFPB
5
Processamento Digital de Sinais
IFPB
49
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
1
Processamento Digital de Sinais
IFPB
Texto de pré-visualização
4 25 pontos Para a resposta em frequência abaixo responda os seguinte itens Hejω 1 ω π4 3π4 π a 10 ponto Calcule a resposta ao impulso ideal hn do filtro b 10 ponto Projete um filtro FIR de sexta ordem utilizando uma janela de Hamming c 05 ponto Forneça uma realização com número mínimo de atrasos e multiplicadores 2 25 pontos Utilizando apenas blocos componentes básicos projete um filtro que aproxime a resposta em frequência da figura abaixo com f1 2000 Hz f2 2500 Hz f3 5000 Hz f4 8000 Hz f5 12000 Hz fs 50000 Hz Hf f Hz f1 f2 f3 f4 f5 1 Resposta em frequência desejada e cálculo analítico de hidealn A figura mostra que a magnitude desejada Hdejω é Hdω 4ωπ 0 ω π4 1 π4 ω 3π4 4π ωπ 3π4 ω π 0 caso contrário Pressupõese que o filtro seja real e par no tempo ou seja fase linear Assim a resposta ao impulso ideal hidealn corresponde à Transformada Inversa de Fourier hidealn 12π ππ Hdω ejωn dω 1π 0π Hdω cosωn dω onde usamos o fato de Hdω ser par e real Portanto hidealn 1π 0π4 4ωπ cosωn dω π43π4 cosωn dω 3π4π 4π ωπ cosωn dω 11 Forma integral ou numérica Em muitos projetos de filtro FIR basta amostrar numericamente essa integral ou usar métodos de janelamento diretamente no domínio da frequência Contudo se quisermos uma expressão analítica fechada podemos resolver cada integral Dividindo em termos hidealn 1π 0π4 4π ω cosnω dω π43π4 cosnω dω 4π 3π4π π ω cosnω dω A integral de ω cosnω pode ser feita por partes x cosax dx x sinaxa cosaxa² const Para I1 de 0 até π4 I1 4π 0π4 ω cosnω dω 4π ω sinnωn cosnωn² 0π4 1n² onde o termo final advém da subtração de cosnωn² em 0 Simplificando chegamos a I₁ 4π π4 sinnπ4 n cosnπ4 n² 1 Para I₂ from π4 to 3π4 cosnω dω a integral de cosnω é sinnωn Portanto I₂ 1n sin3πn4 sinπn4 Para I₃ fazse a mudança de variável ω π u aproveitando que cosnπ u cosnπ cosnu e usando cosnπ 1ⁿ No fim obtémse I₃ 4π 1ⁿ from 0 to π4 u cosnu du 4π 1ⁿ π4 sinnπ4 n cosnπ4n² 1 Somando I₁ I₂ I₃ e multiplicando por 1π chegase a um resultado fechado porém com termos que dependem de 1ⁿ Em suma para n 0 hidealn 1π I₁ I₂ I₃ 1π 4π I₀n 4π 1ⁿ I₀n I₂ onde I₀n π4 sinnπ4n cosnπ4n² 1 I₂ 1n sin3πn4 sinπn4 Para n 0 devese avaliar diretamente a integral hideal0 1π 0 to π4 4ωπ dω π4 to 3π4 1 dω 3π4 to π 4π ωπ dω 1π π8 π2 π8 34 Conclusão hideal0 34 hidealn expressão acima n 0 34 n 0 Naturalmente em implementações FIR usualmente truncamos e janelamos hidealn b Projeto de um FIR ordem 6 usando janela de Hamming cálculo na mão Para projetar um FIR de ordem M 6 isto é 7 coeficientes a partir de hidealn fazse 1 Escolher um recorte de M2 até M2 no impulso ideal 2 Multiplicar ponto a ponto por uma janela ex Hamming para suavizar as bordas e reduzir os lóbulos de ripples 3 Deslocar se preciso para obter um filtro causal com índices de 0 a M Passo 1 valores de hidealn em torno de zero Para M 6 temos M 1 7 amostras O centro fica em n 0 Assim definimos índices 3 2 1 0 1 2 3 Sabemos que hideal0 075 Para 1 e 3 as integrais dão valor zero por simetrias pois os termos se cancelam De fato podese mostrar que hideal1 0 e hideal3 0 Para 2 obtémse um valor negativo cerca de 02026 Explicitamente via integração peça a peça ou fórmulas já deduzidas resulta hideal3 0 hideal2 02026 hideal1 0 hideal0 075 hideal1 0 hideal2 02 Como hidealn é par simétrico basta calcular para n 0 e espelhar para n 0 Passo 2 Multiplicação por Janela de Hamming A janela de Hamming de comprimento 7 M 1 7 é wk 054 046 cos2πkM k 06 ou seja M6 no denominador Para cada k definimos o coeficiente bk como bk hidealk 3 wk Isto é estamos centrando a janela de modo que o índice zero do impulso ideal coincida com k 3 A tabela a seguir ilustra o cálculo k n k 3 hidealn wk Hamming bk 0 3 0 008 0 008 0 1 2 02026 031 0063 2 1 0 077 0 3 0 075 100 075 4 1 0 077 0 5 2 02026 031 0063 6 3 0 008 0 Logo o vetor de coeficientes do FIR ordem 6 fica b 0 0063 0 075 0 0063 0 Passo 3 Forma Causal Em muitos softwares como MATLAB já se rotula b0 como o termo que multiplica xn b1 como xn 1 etc Então nosso FIR é yn Σ from k0 to 6 bk xn k Ou seja yn 075 xn 3 0063 xn 1 0063 xn 5 Notar que b2 0 e b4 0 etc c Realização com número mínimo de atrasos e multiplicadores Observando os valores acima b0 b6 0 b1 b5 0063 b2 b4 0 b3 075 Isso mostra que apenas dois coeficientes são não nulos b1 0063 que aparece duas vezes e b3 075 Portanto yn 0063 xn1 xn5 075 xn3 Para implementar com menos hardware em DSP ou em bloco de somasmultiplicadores basta usar 5 atrasos em série para chegar até xn 5 a mesma constante 0063 multiplicando xn 1 e xn 5 e somando outro multiplicador com 075 para xn 3 Isso efetivamente usa 2 multiplicadores e 5 atrasos É a forma FIR de fase linear mínima em termos de multiplicadores Comentário sobre ordens maiores Para ordens maiores M 50 80 100 200 etc fazer tudo na mão isto é calcular cada amostra de hidealn e multiplicar por cada valor da janela tornase inviável O procedimento contudo é exatamente o mesmo 1 Definir n M 2 M 2 2 Calcular hidealn por aproximação numérica ou expressões 3 Multiplicar por wHammingn 4 Reposicionar índices se quiser algo causal de 0 até M No MATLAB funções como fir2 e fir1 ou mesmo firpm encapsulam essa lógica internamente fazem as amostragens e a inversa de Fourier numérica facilitando muito Código MATLAB completo para M 50 80 100 200 Segue um script que 1 Gera a curva trapezoidal de 0 a π 2 Usa fir2M freqnorm magnitude window com janela de Hamming 3 Plota Hejω em escala linear e em dB 1 2 Projeto de f i l t r o FIR trapezoidal via janela de Hamming f i r 2 3 4 c l e a r c l c c l o s e a l l 5 6 Escolha de ordens poderia i n c l u i r 6 tamb m mas aqui iremos maiores 7 Mvalues 50 80 100 2 0 0 8 9 Grelha de f r e q u n c i a s para e s p e c i f i c a r Hdomega 5 10 L 1000 N mero de pontos 11 wgrid linspace 0 pi L F r e q u n c i a s de 0 a pi 12 Hdes zeros 1 L 13 14 Monta a curva trapezoidal 15 f o r i 1L 16 w wgrid i 17 i f w pi 4 18 Hdes i 4w pi Sobe l i n e a r de 0 a 1 19 e l s e i f w 3 pi 4 20 Hdes i 1 Trecho plano 21 e l s e 22 Hdes i 4 pi w pi Desce de 1 a 0 23 end 24 end 25 26 N o r m a l i z a o 01 para uso em f i r 2 27 freqnorm wgrid pi 28 29 f o r M Mvalues 30 31 Janela de Hamming de tamanho M1 32 wHamming hammingM1 33 34 Projeto FIR pelo m t o d o freq sampling janela 35 b f i r 2 M freqnorm Hdes wHamming 36 37 Resposta em f r e q u n c i a de 0 a 2 pi usamos whole 38 mas s plotamos de 0 a pi 39 Hfreq wplot freqz b 1 1024 whole 40 Hfreq Hfreq 1512 41 wplot wplot 1512 42 43 Plot escala l i n e a r 44 f i g u r e 45 subplot 2 1 1 46 plot wplot abs Hfreq LineWidth 12 47 grid on 48 xlabel omega radamostra I n t e r p r e t e r latex 49 ylabel H e j omega I n t e r p r e t e r latex 50 t i t l e F i l t r o FIR trapezoidal Ordem M num2str M Hamming I n t e r p r e t e r latex 51 52 Plot escala dB 53 subplot 2 1 2 54 plot wplot 20 log10 abs Hfreq 1e12 LineWidth 12 55 grid on 56 xlabel omega radamostra I n t e r p r e t e r latex 57 ylabel Magnitude dB I n t e r p r e t e r latex 58 end Listing 1 Script MATLAB para projeto FIR trapezoidal via janela de Hamming 6 Projeto de Filtro Digital com Trˆes Bandas de Passagem 19 de fevereiro de 2025 1 Introducao A abordagem consiste em utilizar apenas filtros passabaixa LPF e operacoes aritmeticas subtracao e soma para compor Dois filtros passafaixa BPF cada um obtido pela diferenca de dois LPFs Um filtro passaalta HPF obtido por 1 LPF A soma desses trˆes blocos fornece a resposta em frequˆencia desejada que passa Uma primeira banda entre 2000 Hz e 2500 Hz Uma segunda banda entre 5000 Hz e 8000 Hz Uma terceira banda para frequˆencias acima de 12000 Hz 2 Conceitos Basicos e Estrategia de Projeto 21 Utilizando Filtros PassaBaixa LPF Para construir filtros com caracterısticas mais complexas podemos usar filtros LPF basicos como blocos de construcao Os conceitos utilizados sao Filtro PassaFaixa BPF Sejam dois LPFs com frequˆencias de corte fL e fH com fL fH A diferenca entre as respostas desses filtros gera um passafaixa BPFfL fH LPFfH LPFfL Observacoes Para f fL ambos os LPFs passam a frequˆencia logo a subtracao resulta em zero Para fL f fH o LPF com corte em fH passa a frequˆencia enquanto o de fL ja a atenua produzindo uma saıda nao nula Para f fH ambos atenuam resultando novamente em uma saıda proxima de zero 1 Filtro PassaAlta HPF Utilizando o complemento do LPF temos HPFfc 1 LPFfc Ou seja para frequˆencias muito abaixo de fc o LPF tem ganho unitario e o HPF anula essa contribuicao para f maiores que fc o LPF zera e o HPF fornece ganho unitario 22 Aplicacao as Bandas de Interesse Definindo as seguintes frequˆencias f1 2000 Hz e f2 2500 Hz para a Banda 1 f3 5000 Hz e f4 8000 Hz para a Banda 2 f5 12000 Hz para a Banda 3 passa frequˆencias acima de f5 Os filtros serao montados da seguinte forma BPF1 LPFf2 LPFf1 BPF2 LPFf4 LPFf3 HPF 1 LPFf5 A resposta final e dada por Hfinalz BPF1z BPF2z HPFz 3 Diagrama de Blocos O diagrama abaixo ilustra a abordagem LPFf2 Hlpf2 Entrada Saıda LPFf1 BPF1 Hlpf2 Hlpf1 LPFf4 Entrada Soma Final 2 LPFf3 BPF2 Hlpf4 Hlpf3 Entrada Soma Final LPFf5 1z HPF 1 LPFf5 4 Projeto dos Filtros Basicos LPF Utilizaremos filtros FIR projetados por janelamento janela de Hamming utilizando a funcao fir1 do MATLAB 41 Frequˆencia de Corte Normalizada Se fs e a frequˆencia de amostragem e fc a frequˆencia de corte desejada a frequˆencia normalizada e ωc fc fs2 2fc fs No MATLAB ωc deve estar entre 0 e 1 onde 1 equivale a π radamostra 42 Projeto do LPF com fir1 Um exemplo de codigo para um LPF de ordem N e 1 N 100 Ordem do filtro 2 wc fcfs2 F r e q u n c i a de corte normalizada 3 blpf alpf fir1N wc low hammingN1 Listing 1 Projeto de um LPF com ordem N Como o filtro e FIR os coeficientes de retroalimentacao sao alpf 1 5 Montagem dos Filtros Compostos 51 PassaFaixa BPF Para cada banda passafaixa definimos hbpfn hlpffHn hlpffLn Assim para as duas bandas BPF1 de 2000 Hz a 2500 Hz hbpf1n hlpf2500n hlpf2000n BPF2 de 5000 Hz a 8000 Hz hbpf2n hlpf8000n hlpf5000n 3 52 PassaAlta HPF O filtro passaalta e obtido por hhpfn δn hlpf12000n onde δn e o impulso unitario Em um filtro FIR de tamanho N 1 o vetor impulso possui o valor 1 na posicao central e zeros nas demais posicoes 53 Filtro Final A resposta final do filtro e a soma dos trˆes blocos hfinaln hbpf1n hbpf2n hhpfn 6 Exemplo Completo em MATLAB A seguir um codigo completo que implementa o projeto 1 Projeto de filtro com t r s bandas de passagem 2 clear close all clc 3 4 1 E s p e c i f i c a e s 5 fs 50000 F r e q u n c i a de amostragem Hz 6 f1 2000 f2 2500 Banda 1 2000 Hz a 2500 Hz 7 f3 5000 f4 8000 Banda 2 5000 Hz a 8000 Hz 8 f5 12000 Banda 3 F r e q u n c i a s 12000 Hz 9 10 N1 100 Ordem do filtro FIR 11 12 C l c u l o das f r e q u n c i a s normalizadas 0 a 1 13 wc1 f1fs2 14 wc2 f2fs2 15 wc3 f3fs2 16 wc4 f4fs2 17 wc5 f5fs2 18 19 2 Projeto dos LPFs usando a f u n o fir1 com janela de Hamming 20 hlpf1 fir1N1 wc1 low hammingN11 21 hlpf2 fir1N1 wc2 low hammingN11 22 hlpf3 fir1N1 wc3 low hammingN11 23 hlpf4 fir1N1 wc4 low hammingN11 24 hlpf5 fir1N1 wc5 low hammingN11 25 26 3 Montagem dos Filtros Compostos 27 Passa faixa 1 2000 a 2500 Hz 28 hbpf1 hlpf2 hlpf1 29 30 Passa faixa 2 5000 a 8000 Hz 31 hbpf2 hlpf4 hlpf3 32 33 Passa alta 12000 Hz 34 delta zeros1 N11 35 midindex floor N11 2 1 ndice central do filtro FIR 36 deltamidindex 1 37 hhpf5 delta hlpf5 38 39 4 Filtro Final Soma dos t r s blocos 4 40 hfinal hbpf1 hbpf2 hhpf5 41 42 5 C l c u l o das Respostas em F r e q u n c i a 43 Nfreq 2048 44 Hbpf1 w freqzhbpf1 1 Nfreq fs 45 Hbpf2 freqzhbpf2 1 Nfreq fs 46 Hhpf5 freqzhhpf5 1 Nfreq fs 47 Hfinal w freqzhfinal 1 Nfreq fs 48 49 6 Plot da Resposta em F r e q u n c i a Escala Linear 50 figure 51 subplot 211 52 plotw absHbpf1 b LineWidth 12 hold on 53 plotw absHbpf2 r LineWidth 12 54 plotw absHhpf5 g LineWidth 12 55 xlabel F r e q u n c i a Hz 56 ylabelMagnitude 57 titleFiltros Auxiliares Escala Linear 58 legendBPF1 2000 2500 Hz BPF2 5000 8000 Hz HPF 12000 Hz 59 grid on 60 61 subplot 212 62 plotw absHfinal k LineWidth 15 63 xlabel F r e q u n c i a Hz 64 ylabelMagnitude 65 titleFiltro Final Escala Linear 66 grid on 67 68 7 Plot da Resposta em F r e q u n c i a Escala dB 69 figure 70 subplot 211 71 plotw 20 log10absHbpf11e 12 b LineWidth 12 hold on 72 plotw 20 log10absHbpf21e 12 r LineWidth 12 73 plotw 20 log10absHhpf51e 12 g LineWidth 12 74 xlabel F r e q u n c i a Hz 75 ylabelMagnitude dB 76 titleFiltros Auxiliares Escala dB 77 legendBPF1 2000 2500 Hz BPF2 5000 8000 Hz HPF 12000 Hz 78 grid on 79 80 subplot 212 81 plotw 20 log10absHfinal1e 12 k LineWidth 15 82 xlabel F r e q u n c i a Hz 83 ylabelMagnitude dB 84 titleFiltro Final Escala dB 85 grid on Listing 2 Codigo MATLAB para o projeto do filtro 7 Conclusao Utilizando a decomposicao do filtro em blocos basicos foi possıvel projetar um filtro com trˆes bandas de passagem A BPF e obtida pela subtracao de dois LPFs com diferentes frequˆencias de corte O HPF e obtido subtraindo um LPF de um bloco unitario impulso 5 A resposta final e a soma dos trˆes blocos permitindo que as frequˆencias desejadas sejam passadas enquanto as demais sao atenuadas 6