Embora eu tenha uma sólida experiência no design de mecanismos de áudio e similares, sou bastante novo no campo do Design de Filtros Digitais, particularmente nos filtros IIR e FIR. Em outras palavras, estou tentando aprender o máximo possível sobre como projetar filtros e derivar suas equações de diferença. Estou começando do básico, então, por favor, tenha paciência comigo, como eu disse, estou tentando aprender.
Aqui está a minha pergunta:
Digamos que eu queira projetar um filtro passa-baixo com um limite específico - digamos 300 Hz. Qual seria a melhor maneira de derivar matematicamente a função de transferência e, em seguida, derivar a equação de diferença específica para implementar o filtro no Formulário Direto I e no Formulário Direto II (ou apenas DF-1 por enquanto ...)?
Eu tenho algum entendimento das funções de transferência e como elas se relacionam com as equações das diferenças de algum material excelente na Web, infelizmente algumas delas pressupõem um bom conhecimento prévio, por isso é mais confuso do que útil em minha busca. Acho que preciso de um exemplo mais passo a passo que me ajude a conectar os pontos.
Então, basicamente, estou procurando ajuda com um detalhamento do processo, desde a escolha da frequência de corte até a derivação da equação da diferença.
Qualquer ajuda será muito apreciada. Eu estou familiarizado com muitos dos conceitos - resposta a impulso, DFT, a matemática por trás disso, acho que preciso de mais ajuda com o conceito de transformação z e uso de pólo / zero para projetar a função de transferência do filtro e, em seguida, como é que o cutoff freq. jogar tudo isso para finalmente derivar a equação da diferença.
Como tenho a tendência de aprender melhor com o exemplo, pensei em perguntar aqui. Muito obrigado a quem encontrar tempo para me ajudar.
fonte
Respostas:
O design do filtro digital é um tópico muito amplo e maduro e - como você mencionou na sua pergunta - há muito material disponível. O que eu quero tentar aqui é iniciar e tornar o material existente mais acessível. Em vez de filtros digitais, eu deveria estar falando sobre filtros de tempo discreto, porque não considerarei o coeficiente e a quantização de sinal aqui. Você já conhece os filtros FIR e IIR e também conhece algumas estruturas de filtro, como DF I e II. No entanto, deixe-me começar com alguns princípios:
Um filtro invariável no tempo linear (LTI) não recursivo pode ser descrito pela seguinte equação de diferença
Um filtro LTI recursivo é descrito pela seguinte equação de diferença:
Os filtros podem ser projetados de acordo com as especificações no domínio do tempo (amostra) ou no domínio da frequência, ou ambos. Como você mencionou uma frequência de corte na sua pergunta, presumo que você esteja mais interessado em especificações no domínio da frequência. Nesse caso, você precisa dar uma olhada nas respostas de frequência dos sistemas FIR e IIR. A resposta de frequência de um sistema é a transformada de Fourier de sua resposta de impulso, assumindo que ele exista (o que é o caso de sistemas estáveis). A resposta de frequência de um filtro FIR é
Vamos agora dar uma olhada rápida nos métodos de design de filtro. Para filtros FIR, você pode fazer uma transformação de Fourier inversa da resposta de frequência desejada para obter a resposta de impulso do filtro, que corresponde diretamente aos coeficientes do filtro. Como você aproxima a resposta desejada por uma resposta de impulso de comprimento finito, você deve aplicar uma janela suave à resposta de impulso obtida para minimizar as oscilações na resposta de frequência real devido ao fenômeno de Gibbs. Este método é chamado método de amostragem de frequência.
Para filtros padrão simples, como os filtros passa-baixo ideal, passa-alto, passa-banda ou parada de banda (e alguns outros), você pode até calcular analiticamente a resposta exata ao impulso realizando a transformação de Fourier inversa da resposta ideal desejada:
É fácil avaliar essa integral para obter respostas desejadas constantes por partes, como é o caso dos filtros seletivos de frequência ideais. Isso fornecerá uma resposta de impulso não causal infinitamente longa, que precisa ser exibida e alterada para torná-la finita e causal. Este método é conhecido como design de janela.
Obviamente, existem muitos outros métodos de design de filtro FIR. Um método numérico importante é o famoso algoritmo de troca Parks-McClellan, que projeta filtros ótimos com ondulações constantes de banda passante e stopband. É um método de aproximação numérica e existem muitas implementações de software disponíveis, por exemplo, no Matlab e no Octave.
É claro que existem muitos métodos mais interessantes e úteis, dependendo do tipo de especificação que você possui, mas espero que isso o inicie e torne mais compreensível qualquer material encontrado. Um livro muito bom (e gratuito) que cobre alguns métodos básicos de design de filtros (e muito mais) é a Introdução ao processamento de sinais da Orfanidis. Você pode encontrar vários exemplos de design lá. Outro grande livro clássico é o Digital Filter Design de Parks and Burrus.
fonte