Baixe o app para aproveitar ainda mais
Prévia do material em texto
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE CURSO SUPERIOR DE TECNOLOGIA EM TELEMÁTICA RESUMO DO CAPÍTULO 6 DO LIVRO: DIGITAL SIGNAL PROCESSING USING MATLAB Aluno: Rodolfo Bolconte Donato Disciplina: Processamento Digital de Sinais Campina Grande, 18 de Julho de 2018 2 1. Capítulo 6 – Implementação de Filtros de Tempo Discreto 1.1. Elementos Básicos Como nossos filtros são sistemas LTI, precisamos dos três elementos a seguir para descrever estruturas de filtros digitais. 1. Somador: Este elemento possui duas entradas e uma. Observe que a adição de três ou mais sinais é implementada por somadores de duas entradas sucessivas; 2. Multiplicador: Este é um elemento de entrada única e saída única. A multiplicação por 1 é entendida e, portanto, não explicitamente mostrada; 3. Elemento de atraso (shifter ou memória): este elemento atrasa o sinal que passa através dele por uma amostra. Ele é implementado usando um registrador de deslocamento. Usando esses elementos básicos, pode-se agora descrever várias estruturas dos filtros IIR e FIR. Figura 1: Os 3 Elementos Básicos. 1.2. Estruturas de Filtros IIR A função do sistema de um filtro IIR é dada por onde bn e an são os coeficientes do filtro. Assumimos sem perda de generalidade que a0 = 1. A ordem de tal filtro IIR é chamada N se aN ≠ 0. A representação da equação de diferença de um filtro IIR é expressa por Três estruturas diferentes podem ser usadas para implementar um filtro IIR: 1. Forma direta: Nesta forma, a equação da diferença é implementada diretamente como dada. Existem duas partes neste filtro, a parte média móvel e a parte recursiva (ou equivalentemente, as partes do numerador e denominador). Portanto, esta implementação leva a duas versões: forma direta I e estruturas de forma direta II; 2. Forma Cascata: Nesta forma, a função do sistema H(z) na equação é fatorada em seções menores de 2ª ordem, chamadas biquads. A função do sistema é então representada como 3 um produto dessas biquads. Cada biquad é implementado de forma direta, e toda a função do sistema é implementada como uma cascata de seções biquad; 3. Forma paralela: é semelhante à forma em cascata, mas após a fatoração, uma expansão parcial da fração é usada para representar H(z) como uma soma de seções menores de segunda ordem. Cada seção é novamente implementada de forma direta, e toda a função do sistema é implementada como uma rede paralela de seções. Os filtros IIR são geralmente descritos usando a versão de forma racional (ou a estrutura de forma direta) da função do sistema. 1.2.1. Forma Direta Como o nome sugere, a equação de diferença é implementada como determinada usando atrasos, multiplicadores e somadores. Para fins de ilustração, seja M = N = 4. Então a equação da diferença é A estrutura da forma direta I implementa cada parte da função racional H(z) separadamente com uma conexão em cascata entre elas. A parte do numerador é uma linha de atraso seguida pela parte do denominador, que é uma linha de atraso de retorno. Portanto, há duas linhas de atraso separadas nessa estrutura e, portanto, requer oito elementos de atraso. Podemos reduzir essa contagem de elemento de atraso ou eliminar uma linha de atraso trocando a ordem na qual as duas partes estão conectadas na cascata. Agora as duas linhas de atraso estão próximas umas das outras, conectadas por um ramo de ganho unitário. Portanto, uma linha de atraso pode ser removida, e essa redução leva a uma estrutura canônica chamada estrutura de forma direta II. Deve-se notar que ambas as formas diretas são equivalentes do ponto de vista de entrada-saída. Internamente, no entanto, eles têm sinais diferentes. 1.2.2. Estrutura Transposta Uma estrutura equivalente à forma direta pode ser obtida usando um procedimento chamado transposição. Nesta operação, três etapas são executadas: 1. Todas as direções da seta do caminho estão invertidas; 2. Todos os nós de ramificação são substituídos por nós somadores e todos os nós somadores são substituídos por nós de ramificação; 3. Os nós de entrada e saída são trocados. A estrutura resultante é chamada estrutura de forma direta transposta. 4 Figura 2: Estruturas da Forma Direta Normal e Transposta. 1.2.3. Forma em Cascata Nesta forma, a função do sistema H(z) é escrita como um produto de seções de 2ª ordem com coeficientes reais. Isso é feito fatorando os polinômios do numerador e do denominador em suas respectivas raízes e, em seguida, combinando um par complexo de raízes conjugadas ou quaisquer duas raízes reais em polinômios de 2ª ordem. No restante deste capítulo, assumimos que N é um inteiro par. Então, onde K é igual a N/2, e Bk,1, Bk,2, Ak,1 e Ak,2 são números reais representando os coeficientes das seções de 2ª ordem com Y1(z) = b0X(z); YK+1 (z) = Y(z) é chamado a seção kº biquad. A entrada para a seção do kº é a saída da seção (k - 1)º biquad, e a saída do kº biquad é a entrada para o (k +1)º biquad. Agora cada seção de biquad Hk(z) pode ser implementada na forma direta II. O filtro inteiro é então implementado como uma cascata de biquads. 1.2.4. Forma Paralela Nesta forma, a função do sistema H(z) é escrita como uma soma de seções de 2ª ordem usando expansão de fração parcial. 5 onde K é igual a N/2, e Bk,0, Bk,1, Ak,1 e Ak,2 são números reais representando os coeficientes das seções de 2ª ordem. A seção de segunda ordem com é a kº racional própria da biquad. A entrada do filtro está disponível para todas as seções biquad, bem como para a seção polinomial, se M ≥ N (que é uma parte FIR). A saída dessas seções é somada para formar a saída do filtro. Agora cada seção de biquad Hk(z) pode ser implementada na forma direta II. Devido à soma das subseções, uma estrutura paralela pode ser construída para realizar H(z). 1.3. Estruturas de Filtros FIR Um filtro de resposta ao impulso de duração finita tem uma função de sistema da forma Consequentemente, a resposta do impulso h(n) é E a representação da equação de diferença é que é uma convolução linear de suporte finito. 6 A ordem do filtro é M - 1, e o comprimento do filtro (que é igual ao número de coeficientes) é M. As estruturas de filtro FIR são sempre estáveis e são relativamente simples comparadas às estruturas IIR. Além disso, os filtros FIR podem ser projetados para ter uma resposta de fase linear, o que é desejável em algumas aplicações. Vamos considerar as quatro estruturas a seguir: 1. Forma direta: Nesta forma, a equação de diferença é implementada diretamente como dada; 2. Forma Cascata: Nesta forma, a função do sistema H(z) é fatorada em fatores de 2ª ordem, que são então implementados em uma conexão em cascata; 3. Forma da Fase Linear: Quando um filtro FIR tem uma resposta de fase linear, sua resposta ao impulso exibe certas condições de simetria. Nesta forma, exploramos essas relações de simetria para reduzir as multiplicações em cerca de metade; 4. Formulário de Amostragem de Frequência: Esta estrutura é baseada na DFT da resposta ao impulso h(n) e leva a uma estrutura paralela. Também é adequado para uma técnica de projeto baseada na amostragem da resposta de frequência H(ejω). 1.3.1. Forma Direta A equação de diferença é implementada como uma linha de atraso. Seja M = 5 (isto é, um filtro FIR de 4ª ordem); então 1.3.2. Forma em Cascata Esta forma é semelhante à da forma IIR. A função do sistema H(z) é convertida em produtos de seções de 2ª ordem com coeficientes reais. Essas seções são implementadas de forma direta e o filtro inteiro como umacascata de seções de 2ª ordem. onde K é igual a M/2, e Bk,1 e Bk,2 são números reais representando os coeficientes das seções de 2ª ordem. Figura 3: Forma em Cascata para M = 7. 7 1.3.3. Forma em Fase Linear Para filtros seletivos de frequência (por exemplo, filtros passa-baixa) é geralmente desejável ter uma resposta de fase que seja uma função linear de frequência; isto é, nós queremos onde β = 0 ou ± π/2 e α é uma constante. Para um filtro FIR causal com resposta ao impulso acima do intervalo [0, M −1], a condição de fase linear impõe as seguintes condições de simetria na resposta ao impulso h(n): Uma resposta ao impulso que satisfaz h(n) = h(...) é chamada de resposta impulsiva simétrica, e a h(n) = -h(...) é chamada de resposta impulsiva antisimétrica. Essas condições de simetria podem agora ser exploradas em uma estrutura chamada forma de fase linear. 1.3.4. Forma de Amostragem de Frequência Nesta forma, usamos o fato de que a função do sistema H(z) de um filtro FIR pode ser reconstruída a partir de suas amostras no círculo unitário. As amostras são de fato os valores DFT do ponto M {H(k), 0 ≤ k ≤ M - 1} da resposta ao impulso do ponto M, h(n). Portanto nós temos H(z) = Z[h(n)] = Z[IDFT{H(k)}] Usando este procedimento, obtemos Isso mostra que o DFT H(k), em vez da resposta de impulso h(n) (ou a equação da diferença), é usado nessa estrutura. Observe também que o filtro FIR tem uma forma recursiva similar a um filtro IIR porque contém tanto pólos quanto zeros. O filtro resultante é um filtro FIR, uma vez que os pólos WM-k são cancelados pelas raízes 1 – z-M = 0 Como um filtro FIR é quase sempre um filtro de valor real, é possível obter uma realização alternativa na qual apenas a aritmética real é usada. Essa realização é derivada usando as propriedades de simetria do DFT e do fator. 1.4. Estruturas de Filtros Lattice O filtro de rede é amplamente utilizado no processamento de voz digital e na implementação de filtros adaptativos. É uma forma preferida de realização sobre outras estruturas de filtro FIR ou IIR, pois na análise de fala e na síntese de fala o pequeno número de coeficientes permite que um grande número de formantes seja modelado em tempo real. O Lattice All-Zero é a representação do filtro FIR do filtro de Lattice, enquanto que a escada de Lattice é a representação do filtro IIR. 8 1.4.1. Filtros de Lattice All-Zero Um filtro FIR de comprimento M (ou ordem M - 1) tem uma estrutura de Lattice com M − 1 estágios. Cada estágio do filtro tem uma entrada e uma saída que são relacionadas pelas equações recursivas de ordem onde os parâmetros Km, m = 1,2, ..., M - 1, chamados de coeficientes de reflexão, são os coeficientes do filtro de rede. Se os valores iniciais de fm(n) e gm(m) forem ambos o valor escalado (escalado por K0) da entrada do filtro x(n), então a saída do filtro de rede do estágio (M - 1) corresponde à saída de um filtro FIR de ordem (M - 1); Figura 4: Filtro Lattice All-Zero. isso é, Se o filtro FIR é dado pela forma direta e se denotarmos o polinômio AM − 1(z) por então os coeficientes do filtro de rede {Km} podem ser obtidos pelo seguinte algoritmo recursivo 9 Observe que esse algoritmo falhará se |Km| = 1 para qualquer m = 1, ..., M - 1. Claramente, esta condição é satisfeita por filtros FIR de fase linear desde Portanto, os filtros FIR de fase linear não podem ser implementados usando estruturas de Lattice. 1.4.2. Filtros de Lattice All-Pole Uma estrutura de Lattice para um filtro IIR é restrita a uma função de sistema multipolar. Pode ser desenvolvido a partir de uma estrutura de rede FIR. Uma função do sistema all-pole pode ser dada por Cada estágio do filtro tem uma entrada e uma saída que são relacionadas pelas equações recursivas de ordem: onde os parâmetros Km, m = 1,2, ..., M - 1, são os coeficientes de reflexão da rede de pólos inteiros, exceto para K0, que é igual a 1. 1.4.3. Filtro de Lattice-Ladder Um filtro IIR geral contendo ambos os pólos e zeros pode ser realizado como uma estrutura do tipo Lattice usando uma rede de todos os pólos como o bloco de construção básico. Considere um filtro IIR com função do sistema 10 onde, sem perda de generalidade, assumimos que N ≥ M. Uma estrutura de tipo Lattice pode ser construída realizando primeiro uma rede de todos os pólos com coeficientes Km, 1 ≤ m ≤ N, e então adicionando uma parte Ladder tomando a saída como uma combinação linear ponderada de {gm(n)}, para M = N. O resultado é um filtro IIR de pólo-zero que tem a estrutura Lattice-Ladder. Sua saída é dada por onde {Cm} são chamados de coeficientes Ladder que determinam os zeros da função do sistema H(z). Pode ser mostrado que {Cm} são dados por 1.5. Visão Geral dos Efeitos Numéricos de Precisão Finita Até agora, consideramos projetos e implementações de filtros digitais nos quais tanto os coeficientes de filtro quanto as operações de filtro, como adições e multiplicações, foram expressos usando números de precisão infinita. Quando sistemas de tempo discreto são implementados em hardware ou software, todos os parâmetros e operações aritméticas são implementados usando números de precisão finita e, portanto, seu efeito é inevitável. Considere um filtro digital típico implementado como uma estrutura de forma direta II. Quando a representação de precisão finita é usada em sua implementação, há três possíveis considerações que afetam a qualidade geral de sua saída. Nós temos que: 1. quantize os coeficientes do filtro, {ak, bk}, para obter suas representações finitas de comprimento de palavra, {^ak, ^bk}; 2. quantize a sequência de entrada, x(n) para obter ^x(n), e; 3. considere toda a aritmética interna que deve ser convertida em suas próximas melhores representações. Assim, a saída, y(n), também é um valor quantizado ^y(n). Isso nos dá uma nova realização de filtro, ^ H(z). Esperamos que isso o novo filtro ^ H(z) e sua saída ^ y(n) são o mais próximo possível do filtro original H(z) e a saída original y(n). 1.6. Representação dos Números Em computadores, os números (valores reais ou valores complexos, números inteiros ou frações) são representados usando dígitos binários (bits), que tomam o valor de um 0 ou um 1. A aritmética de tamanho de palavra finita necessária para processar esses números é implementada usando 11 duas abordagens diferentes, dependendo da facilidade de implementação e da precisão, bem como do intervalo dinâmico necessário no processamento. A aritmética de ponto fixo é fácil de implementar, mas tem apenas um alcance dinâmico fixo e precisão (ou seja, números muito grandes ou números muito pequenos). A aritmética de ponto flutuante, por outro lado, tem uma ampla faixa dinâmica e uma precisão variável (em relação à magnitude de um número), mas é mais complicada de implementar e analisar. Como um computador pode operar somente em uma variável binária (por exemplo, um 1 ou um 0), números positivos podem ser representados diretamente usando números binários. Surge o problema de como representar os números negativos. Há três formatos diferentes usados em cada uma dessas aritméticas: formato de magnitude de sinal, formato de complemento de um e formato de dois complementos. Ao discutir e analisar essas representações, consideraremos principalmente um sistema de números binários contendo bits. No entanto, essa discussão e análise também são válidas para qualquer sistema de numeração de base - por exemplo, o sistema hexadecimal, octal ou decimal. Na discussão a seguir, primeiro começaremos com a aritmética inteira com sinal de ponto fixo. Uma representação binária de B bits de um inteiro x é dada por
Compartilhar