lar - Dados
Filtros digitais com resposta ao impulso finita. Pergunta

Filtros digitais fisicamente viáveis ​​operam em tempo real; os seguintes dados podem ser usados ​​para gerar um sinal de saída no i-ésimo momento discreto no tempo:

1. Valores do sinal de saída no horário atual; também um certo número de amostras anteriores do sinal de entrada: x(i-1), x(i-2), x(i-m);

2. Um certo número de amostras anteriores do sinal de saída: y(i-1), y(i-2), y(i-n).

Os inteiros m e n determinam a ordem do filtro digital. Os filtros são classificados dependendo de como as informações sobre o estado passado do sistema são usadas.

Filtros FIR ou filtros não recursivos operando de acordo com o seguinte algoritmo.

M – ordem do filtro.

Um filtro não recursivo realiza ponderação e soma de amostras anteriores do sinal de entrada. Amostras de saída anteriores não são usadas.

H(z) – função do sistema.

A função do sistema possui m zeros e um pólo, em z=0.

O algoritmo operacional de um filtro FIR digital é mostrado na Fig.

Os principais elementos do filtro são blocos de atraso de amostras de valor em 1 intervalo de amostragem.

Blocos de escala que realizam multiplicação digital por fatores de ponderação. Da saída dos blocos de escala, o sinal entra no somador, onde o sinal de saída é calculado.

Esse esquema estrutural não é elétrico, mas serve como uma representação gráfica do algoritmo de processamento de sinal em um computador. Os dados de saída e entrada para tal algoritmo são matrizes de números.

Vamos aplicar a transformada Z inversa às funções do sistema e encontrar a resposta ao impulso:

(filtrar resposta ao impulso).

A resposta ao impulso de um filtro FIR contém um número finito de elementos e o filtro é sempre estável.

Nós vamos encontrar resposta de frequência realizando a substituição

T=1/fs – intervalo de amostragem.

Consideremos o mais simples dos filtros digitais - filtros com parâmetros constantes.

O sinal de entrada do filtro digital é fornecido na forma de uma sequência de valores numéricos, seguindo em intervalos (Fig. 4.1, a). Quando cada próximo valor do sinal é recebido no filtro digital, o próximo valor do sinal de saída é calculado. Os algoritmos de cálculo podem ser muito diversos; durante o processo de cálculo, além do último valor do sinal de entrada, pode ser utilizado

valores anteriores dos sinais de entrada e saída: O sinal de saída de um filtro digital também é uma sequência de valores numéricos seguindo um intervalo de. Este intervalo é o mesmo para todo o dispositivo processamento digital sinais.

Arroz. 4.1. Sinal na entrada e saída do filtro digital

Portanto, se aplicarmos o sinal mais simples na forma de um único pulso à entrada de um filtro digital (Fig. 4.2, a)

então na saída obtemos um sinal na forma de uma sequência discreta de valores numéricos, seguindo em intervalos

Por analogia com os circuitos analógicos convencionais, chamaremos esse sinal de resposta de resposta ao impulso do filtro (Fig. 4.2, b). Ao contrário da resposta ao impulso de um circuito analógico, a função é adimensional.

Arroz. 4.2. Impulso unitário e resposta ao impulso de um filtro digital

Vamos alimentar um filtro arbitrário na entrada sinal discreto arroz. 4.1, a), que é um conjunto de valores discretos

Sob a ação do primeiro elemento, uma sequência multiplicada por é formada na saída do filtro; sob a ação, uma sequência é multiplicada por e deslocada para a direita por um valor, etc. sequência onde

Assim, o sinal de saída é definido como a convolução discreta do sinal de entrada e a resposta ao impulso. Nesse aspecto, os filtros digitais são semelhantes aos circuitos convencionais, onde o sinal de saída é igual à convolução do sinal de entrada e à resposta ao impulso.

A fórmula (4.1) é um algoritmo de filtragem digital. Se a resposta ao impulso de um filtro é descrita por uma sequência com um número finito de termos, então o filtro pode ser implementado na forma de um circuito mostrado na Fig. 4.3. Aqui a letra indica os elementos de atraso do sinal por tempo (por célula); -elementos que multiplicam o sinal pelo coeficiente correspondente.

O diagrama mostrado na Fig. 4.3, não é diagrama elétrico filtro digital; este diagrama representa imagem gráfica algoritmo de filtragem digital e mostra a sequência de operações aritméticas realizadas durante o processamento do sinal.

Arroz. 4.3. Circuito de filtro digital não recursivo

Para filtros digitais que processam sinais na forma de sequências numéricas abstratas, o conceito de “atraso de tempo” não é totalmente correto. Portanto, elementos que atrasam o sinal em uma célula são geralmente marcados em circuitos de filtros digitais com um símbolo que indica o atraso do sinal na linguagem das transformações. A seguir iremos aderir a esta notação.

Voltemos ao circuito do filtro digital mostrado na Fig. 4.3, Tais filtros, onde apenas os valores do sinal de entrada são usados ​​para cálculo, são chamados de simples ou não recursivos.

O algoritmo de filtro não recursivo é fácil de escrever se a resposta ao impulso do filtro for conhecida. Para implementação prática O algoritmo requer que a resposta ao impulso contenha um número finito de termos. Se a resposta ao impulso contém um número infinito de termos, mas seu valor diminui rapidamente, então você pode limitar-se a um número finito de termos, descartando aqueles cujos valores são pequenos. Se os elementos da resposta ao impulso não diminuírem de valor, o algoritmo de filtro não recursivo torna-se irrealizável.

Arroz. 4.4. -corrente

Como exemplo, considere o filtro digital mais simples, semelhante ao circuito (Fig. 4.4). A resposta ao impulso do circuito tem a forma

Para escrever a resposta ao impulso do filtro digital correspondente, a expressão deve ser substituída por Porém, a resposta ao impulso de um circuito tem uma dimensão, e a resposta ao impulso de um filtro digital deve ser adimensional. Portanto, omitimos o multiplicador na expressão (4.2) e escrevemos a resposta ao impulso do filtro digital na forma

Tal resposta ao impulso contém infinitos termos, mas seu valor diminui de acordo com uma lei exponencial, e podemos nos limitar a termos, escolhendo tais que

Agora podemos escrever a expressão para o sinal na saída do filtro

Esta expressão também é um algoritmo de filtro digital. O diagrama deste filtro é mostrado na Fig. 4.5.

A segunda abordagem para analisar processos em filtros digitais é semelhante ao método do operador para analisar circuitos analógicos convencionais, só que em vez da transformada de Laplace, é usada a transformada -.

Arroz. 4.5. Circuito de um filtro digital não recursivo semelhante a um circuito

Vamos definir um parâmetro de filtro digital semelhante à função de transferência circuito elétrico. Para fazer isso, aplique uma transformação à resposta ao impulso de um filtro digital:

A função é chamada de função de filtro do sistema.

De acordo com a expressão (4.1), o sinal na saída do filtro digital é igual à convolução discreta do sinal de entrada e à resposta ao impulso do filtro. Aplicando o teorema da convolução a esta expressão, obtemos que a transformação do sinal de saída é igual à transformação do sinal de entrada multiplicada pela função de filtro do sistema:

Assim, a função do sistema desempenha o papel da função de transferência de um filtro digital.

Como exemplo, vamos encontrar a função do sistema de um filtro digital de primeira ordem semelhante a um circuito:

O terceiro método de análise da passagem de sinais através de filtros digitais é semelhante ao método clássico de equações diferenciais. Vamos considerar este método usando cadeias de pedidos como exemplo.

O mais simples circuito analógico A 1ª ordem é um circuito (ver Fig. 4.4), cuja passagem de sinais é descrita pela equação diferencial

Para um circuito discreto equação diferencial(4.8) deve ser escrita uma equação de diferença, onde os sinais de entrada e saída são especificados para momentos discretos de tempo, e em vez da derivada deve aparecer a diferença dos valores dos sinais adjacentes. Para um circuito discreto de 1ª ordem, a equação de diferenças pode ser escrita de uma forma bastante geral

Vamos aplicar a transformação à equação

onde encontramos a função de filtro do sistema

A fórmula (4.10) é uma expressão bastante geral para função do sistema Filtro digital de 1ª ordem. Quando coincide com a expressão obtida anteriormente (4.7) para a função do sistema de um filtro digital equivalente a um circuito.

Vamos encontrar um algoritmo de filtragem digital correspondente à função do sistema (4.10). Para fazer isso, resolvemos a equação (4.9) para

Um diagrama equivalente deste algoritmo é mostrado na Fig. 4.6. Comparado a um filtro não recursivo (ver Fig. 4.5), uma espécie de “cadeia” foi adicionada aqui opinião", o que significa que os valores do sinal de saída são usados ​​​​em subsequentes

Arroz. 4.6. Circuito de um filtro digital recursivo semelhante a um circuito

cálculos. Filtros desse tipo são chamados de recursivos.

O algoritmo (4.11) corresponde a um filtro completamente equivalente ao filtro não recursivo considerado anteriormente. Mas para determinar um valor do sinal de saída usando o algoritmo de filtro não recursivo (4.4), é necessário realizar operações, e ao usar o algoritmo de filtro recursivo (4.11), apenas duas operações são necessárias. Esta é a principal vantagem dos filtros recursivos. Além disso, os filtros recursivos permitem o processamento do sinal com maior precisão, pois permitem uma implementação mais correta da resposta ao impulso sem descartar sua “cauda”. Os filtros recursivos permitem implementar algoritmos que não podem ser implementados usando filtros não recursivos. Por exemplo, com um filtro operando de acordo com o circuito da Fig. 4.6, é essencialmente um acumulador-integrador ideal e possui uma resposta ao impulso da forma. Um filtro com tal característica não pode ser implementado usando um esquema não recursivo.

Os exemplos considerados mostram que não faz sentido usar algoritmos não recursivos para criar filtros digitais com longa resposta ao impulso. Nestes casos, é mais adequado utilizar filtros recursivos.

A área de aplicação de algoritmos não recursivos é a implementação de filtros digitais com resposta ao impulso contendo um pequeno número de termos. Um exemplo é o diferenciador mais simples, cujo sinal de saída é igual ao incremento do sinal de entrada:

O circuito desse filtro digital é mostrado na Fig. 4.7.

Arroz. 4.7. Circuito do diferenciador digital mais simples

Consideremos agora um filtro digital geral, que é descrito pela equação

Esta equação pode ser considerada tanto como uma equação diferencial de ordem quanto como um algoritmo de filtragem digital se for reescrita de forma diferente, ou seja,

Arroz. 4.8. Circuito de filtro de ordem digital recursivo

O algoritmo (4.13) corresponde ao circuito mostrado na Fig. 4.8. Vamos encontrar a função do sistema desse filtro. Para fazer isso, aplique a transformação à equação:

A expressão (4.14) permite estabelecer uma ligação entre as flutuações dos elementos do circuito do filtro e o funcionamento do sistema. Os coeficientes no numerador da função do sistema determinam os valores dos coeficientes para

(na parte não recursiva do filtro), e os coeficientes no denominador determinam a parte recursiva do filtro.

Tudo começou quando um amigo de um amigo de um amigo precisou de ajuda com esses mesmos filtros. Pelos meios Jedi, rumores sobre isso chegaram até mim, cancelei a inscrição nos comentários do post no link. Pareceu ajudar. Bom, eu espero.

Essa história despertou em mim lembranças do terceiro, ou algo parecido, curso, quando eu mesmo fiz o DSP, e me levou a escrever um artigo para todos aqueles que se interessam pelo funcionamento dos filtros digitais, mas que naturalmente se assustam com o excesso. -as principais fórmulas e desenhos psicodélicos (já não estou falando de livros didáticos).

Em geral, na minha experiência, a situação dos livros didáticos é descrita pela conhecida frase de que às vezes não dá para ver a floresta por causa das árvores. E isso quer dizer que, quando imediatamente começam a assustar você com a transformada Z e as fórmulas de divisão de polinômios, que muitas vezes são maiores que duas placas, o interesse pelo assunto seca extremamente rapidamente. Começaremos com uma expressão simples, felizmente, para entender o que está acontecendo não é necessário descrever expressões longas e complexas.

Então, primeiro, alguns conceitos básicos simples.

1. Resposta ao impulso.

Digamos que temos uma caixa com quatro pinos. Não temos ideia do que tem dentro, mas sabemos com certeza que os dois terminais da esquerda são a entrada e os dois da direita são a saída. Vamos tentar aplicar nele um pulso muito curto e de amplitude muito grande e ver o que acontece na saída. Bem, não está claro o que há dentro deste quadripolo, porque não está claro como descrevê-lo, mas pelo menos veremos algo.

Aqui deve ser dito que um pulso curto (em geral, infinitamente curto) de amplitude grande (em geral, infinita) em teoria é chamado de função delta. Aliás, o engraçado é que a integral disso sem fim função é igual a um. Esta é a normalização.

Então, o que vimos na saída da rede quadripolar, aplicando a função delta à entrada, é chamado Resposta de impulso este quadripolo. Por enquanto, porém, não está claro como isso nos ajudará, mas vamos apenas lembrar o resultado obtido e passar para o próximo conceito interessante.

2. Convolução.

Resumindo, a convolução é uma operação matemática que se resume a integrar o produto de funções:

Como você pode ver, está indicado por um asterisco. Você também pode ver que durante a convolução uma função é executada em sua ordem “para frente” e passamos pela segunda “de trás para frente”. É claro que, no caso discreto, que é mais valioso para a humanidade, a convolução, como qualquer integral, se transforma em soma:

Pareceria algum tipo de abstração matemática enfadonha. No entanto, na verdade, um pacote é talvez o fenômeno mais mágico deste mundo, perdendo apenas em espanto para o nascimento de uma pessoa, com a única diferença de que a maioria das pessoas descobre de onde vêm as crianças, pelo menos com a idade de dezoito anos, enquanto sobre o que é uma convolução e por que ela é útil e surpreendente, uma grande parte da população da Terra não tem absolutamente nenhuma ideia durante toda a vida.

Portanto, o poder desta operação reside no fato de que se f for qualquer sinal de entrada arbitrário e g for a resposta ao impulso de uma rede de quatro portas, então o resultado da convolução dessas duas funções será semelhante ao que faríamos. obtenha passando o sinal f através desta rede de quatro portas.

Ou seja, a resposta ao impulso é um elenco completo de todas as propriedades da rede de quatro portas em relação ao efeito de entrada, e a convolução do sinal de entrada com ela permite restaurar o sinal de saída correspondente. Na minha opinião, isso é simplesmente incrível!

3. Filtros.

Você pode fazer muitas coisas interessantes com resposta ao impulso e convolução. Por exemplo, se o sinal for de áudio, você pode organizar reverb, echo, chorus, flanger e muito, muito mais; você pode diferenciar e integrar... Em geral, você pode criar qualquer coisa. Para nós agora, o mais importante é que, claro, os filtros também podem ser facilmente obtidos por convolução.

O próprio filtro digital é a convolução do sinal de entrada com uma resposta ao impulso correspondente ao filtro desejado.

Mas, é claro, a resposta ao impulso deve ser obtida de alguma forma. É claro que já descobrimos como medi-lo acima, mas em tal tarefa há pouco sentido nisso - se já montamos o filtro, por que medir qualquer outra coisa, podemos usá-lo como está. E, além disso, o valor mais importante dos filtros digitais é que eles podem ter características inatingíveis (ou muito difíceis de alcançar) na realidade - por exemplo, fase linear. Portanto, não há como medir aqui, basta contar.

4. Obtenção de resposta ao impulso.

Nesse ponto, na maioria das publicações sobre o tema, os autores começam a despejar montanhas de transformações Z e frações de polinômios no leitor, confundindo-o completamente. Não farei isso, apenas explicarei brevemente do que se trata tudo isso e por que na prática não é muito necessário para o público progressista.

Digamos que decidimos o que queremos de um filtro e criamos uma equação que o descreve. A seguir, para encontrar a resposta ao impulso, você pode substituir a função delta na equação derivada e obter a desejada. O único problema é como fazer isso, porque a função delta está no tempo Ó a região é dada por um sistema astuto e, em geral, existem todos os tipos de infinitos. Portanto, nesta fase tudo se revela terrivelmente difícil.

É aqui que eles se lembram de que existe uma transformação de Laplace. Por si só, não é meio quilo de passas. A única razão pela qual isso é tolerado na engenharia de rádio é precisamente o facto de que, no espaço do argumento para o qual esta transformação é uma transição, algumas coisas se tornam realmente mais simples. Em particular, a mesma função delta que nos deu tantos problemas no domínio do tempo é expressa com muita facilidade - aí está apenas uma!

A transformada Z (também conhecida como transformada de Laurent) é uma versão da transformada de Laplace para sistemas discretos.

Ou seja, aplicando a transformada de Laplace (ou transformada Z, conforme necessário) à função que descreve o filtro desejado, substituindo um no resultante e transformando novamente, obtemos a resposta ao impulso. Parece fácil, qualquer um pode tentar. Não vou arriscar, porque, como já mencionei, a transformada de Laplace é uma coisa dura, principalmente a inversa. Vamos deixar isso como último recurso e procuraremos mais alguns maneiras simples conseguir o que você procura. Existem vários deles.

Em primeiro lugar, podemos recordar outro fato surpreendente da natureza - as características amplitude-frequência e impulso estão relacionadas entre si pela boa e familiar transformada de Fourier. Isso significa que podemos extrair qualquer resposta de frequência ao nosso gosto, obter dela a transformada inversa de Fourier (contínua ou discreta) e obter a resposta ao impulso do sistema que a implementa. Isso é simplesmente incrível!

Isto, no entanto, não será isento de problemas. Em primeiro lugar, a resposta ao impulso que obteremos provavelmente será infinita (não entrarei em explicações sobre o porquê; é assim que o mundo funciona), então teremos que tomar uma decisão volitiva para interrompê-la em algum momento (definindo é igual a zero além desse ponto). Mas isso não vai acontecer assim - a consequência disso, como seria de esperar, será a distorção da resposta de frequência do filtro calculado - ele ficará ondulado e o corte de frequência ficará desfocado.

Para minimizar esses efeitos, várias funções de janela de suavização são aplicadas à resposta ao impulso reduzida. Como resultado, a resposta de frequência geralmente fica ainda mais turva, mas as oscilações desagradáveis ​​​​(especialmente na banda passante) desaparecem.

Na verdade, após tal processamento obtemos uma resposta ao impulso funcional e podemos construir um filtro digital.

O segundo método de cálculo é ainda mais simples - as respostas ao impulso dos filtros mais populares há muito são expressas para nós em forma analítica. Resta substituir seus valores e aplicar a função de janela ao resultado ao seu gosto. Então você nem precisa considerar nenhuma transformação.

E, claro, se o objetivo é emular o comportamento de um circuito específico, você pode obter sua resposta ao impulso no simulador:

Aqui apliquei um pulso de 100.500 volts (sim, 100,5 kV) com duração de 1 μs na entrada do circuito RC e obtive sua resposta ao impulso. É claro que isso não pode ser feito na realidade, mas no simulador esse método, como você pode ver, funciona muito bem.

5. Notas.

O que foi dito acima sobre o encurtamento da resposta ao impulso aplica-se, é claro, aos chamados. filtros de resposta ao impulso finito (filtros FIR/FIR). Eles possuem um conjunto de propriedades valiosas, incluindo fase linear (sob certas condições para a construção da resposta ao impulso), o que garante a ausência de distorção do sinal durante a filtragem, bem como estabilidade absoluta. Existem também filtros infinitos de resposta ao impulso (filtros IIR/IIR). Eles consomem menos recursos em termos de cálculos, mas não apresentam mais as vantagens listadas.

No próximo artigo espero ver um exemplo simples de implementação prática de um filtro digital.



 


Ler:



Solução de problemas de mouse

Solução de problemas de mouse

Ah, esses computadores, sempre há algo para fazer. Na época em que em vez da Internet existia o BBS (Bulletin Board System), substituindo os atuais...

Como definir e configurar um lembrete no iPhone Como definir um lembrete no iPhone 8

Como definir e configurar um lembrete no iPhone Como definir um lembrete no iPhone 8

Um dos recursos mais antigos do iPhone, que nem todo proprietário do gadget usa, é um lembrete de aniversários e datas memoráveis....

Como entrar na conta pessoal de um militar sem registro - instruções

Como entrar na conta pessoal de um militar sem registro - instruções

Um funcionário hoje tem a oportunidade de utilizar um recurso cómodo e oficial na Internet, que lhe permitirá visualizar rapidamente os seguintes dados:...

Entrada pessoal no gabinete do militar sem registro, por número pessoal

Entrada pessoal no gabinete do militar sem registro, por número pessoal

A partir de meados de 2012, o contracheque, ou seja, todo o dinheiro repassado ao militar fica exposto na seção apropriada em...

imagem de feed RSS