KEYCEO-Design, Fabricação e Serviços de Desenvolvimento de Marcas OEM de Teclados e Mouses.
O método de projeto de filtro FIR de fase linear pelo método de função de janela
Resposta de frequência H (EJ) de qualquer filtro digital Toda a sua expansão em série Fourier é:
O coeficiente de Fourier h (n) é na verdade a resposta ao impulso do filtro digital. Uma maneira possível de obter um filtro digital de resposta ao impulso finito é interceptar a série infinita da equação (1) em séries finitas para aproximá-la, e o conhecido fenômeno de Gibbs torna o método de interceptação direta insatisfatório.
O método da função de janela usa a sequência ponderada finita w (n) chamada função de janela para modificar o coeficiente de Fourier de formal (2) para obter a sequência de resposta ao impulso finita HD (n), a saber:
W (n) é uma sequência de comprimento finito. Quando n > n-1 e N Aqui, só pegamos o filtro passa-baixa quando a resposta ao impulso é simétrica, ou seja, H (n) = H (n-1-n) (n = 0, 1, 2,... , n-1) como exemplo. A função de resposta em frequência H (EJ) do filtro passa-baixa Conforme mostrado na equação (4).
Entre eles, é a frequência normalizada para a frequência de amostragem, C é a frequência de corte normalizada.
A resposta ao impulso H (n) correspondente à equação (4) é obtida usando a fórmula da transformada inversa de Fourier, conforme mostrado na equação (5).
A janela de Hanning é selecionada como a função da janela, e a função é mostrada na equação (6).
2 projeto de circuito de hardware do filtro digital passa-baixa FIR de décima sexta ordem
A seguir, um filtro passa-baixa FIR de décima sexta ordem como exemplo para ilustrar o método de projeto e o processo do circuito de hardware.
2.1 índice de projeto e extração de parâmetros
2.1.1 índice de design
Frequência de corte: 37,5 khz
Tipo: largura de dados de entrada de baixa passagem: 8 bits
Ordem: 16 ordens largura de dados de saída: 16 bits
Extração do parâmetro 2.1.2
A função de resposta de frequência e a função de janela de Hanning do filtro passa-baixa introduzidas acima são usadas para o projeto. Os parâmetros característicos calculados do filtro passa-baixa digital FIR de 16ª ordem de fase linear que atendem ao índice de projeto são os seguintes:
2.2 projeto de circuito da unidade
O circuito de filtro digital passa-baixa FIR é dividido em expansão de bits de dados, conversor serial paralelo, banco de registradores de deslocamento, unidade de pré-adição, unidade de processamento intermediário, unidade de pós-processamento e unidade de controle. Seu diagrama de blocos de composição é mostrado na Figura 1.
2.2.1 extensão de bit de dados
A entrada do filtro digital FIR projetado aqui tem 8 bits de largura. Para evitar estouro e garantir o funcionamento normal do circuito, é adotado o método de expansão do bit de símbolo. Após a expansão do bit de símbolo, a largura total dos dados de entrada é de 9 bits.
2.2.2 conversor paralelo/serial
O conversor paralelo/serial é composto por 9 seletores 2 em 1 e 9 flip-flops d. Sua estrutura é muito simples. Sua estrutura de circuito não será descrita aqui. Seu processo de trabalho é: o conversor paralelo / serial coleta periodicamente dados de amostra de 8 bits na taxa de amostragem e envia fluxo de dados de 1 bit para o registrador de deslocamento do estágio posterior.
2.2.3 grupo de registro de turno
O grupo de registradores completa principalmente a função de deslocamento.
2.2.4 unidade de adição frontal
A principal função da unidade de preâmbulo é pré-adicionar a saída de fluxo de dados serial de 1 bit pelo registrador de deslocamento. É composto por um somador serial de 1 bit. Os chips da série XC4000 têm as duas características a seguir:
(1) Unidade básica interna CLB (módulo de lógica configurável) Inclui três geradores de função marcados com F, G e h respectivamente. Cada um dos dois geradores de função de primeiro nível F e G pode realizar qualquer função com 4 entradas. Ao mesmo tempo, eles também podem ser combinados com o gerador de função H para gerar qualquer função com 5 entradas. Além disso, o CLB também possui o recurso de que o atraso da conexão interna do CLB é menor que o da conexão externa.
(2) A série XC4000 fornece lógica CArray para acelerar o canal de transporte de somadores e contadores. Utilizando lógica de transporte rápido, somadores e contadores, possui velocidade de trabalho extremamente rápida ao ocupar o número mínimo de CLBs. Além disso, a lógica de transporte pode ser configurada de forma flexível para realizar contadores e subtratores de qualquer comprimento.
Portanto, a partir dos aspectos de melhoria da utilização do chip, taxa de fiação e redução do atraso do circuito, devemos fazer pleno uso das características dos chips da série XC4000 para fazer um projeto especial para o somador completo de 1 bit no circuito adequado às características do FPGA . O circuito na Figura 2 é o circuito somador completo de 1 bit otimizado incluindo lógica de transporte rápido adotado neste artigo, em que fmap é mapeamento de função e circuitos específicos podem ser mapeados para gerador de função F, g ou H de CLB; CY4 é uma unidade macro lógica de transporte rápido.
2.2.5 unidade de processamento intermediário
No filtro digital FIR, a unidade de processamento intermediário realiza principalmente as funções de multiplicação e acumulação de dados de saída serial de 1 bit da unidade de pré-adição. Aqui, o algoritmo distribuído baseado no método da tabela de consulta ROM é usado para projetar o circuito da unidade de processamento intermediária.
Como mencionado anteriormente, este trabalho considera apenas o caso em que a resposta ao impulso é simétrica, ou seja, os coeficientes do filtro são simétricos, portanto, o número de coeficientes independentes deve ser igual à ordem de 1/2. Para o filtro FIR de ordem 16, o número de coeficientes independentes é 8. Esses 8 coeficientes independentes são armazenados em 2 tabelas de consulta baseadas em ROM de acordo com as combinações mostradas na Tabela 1.
2.2.6 unidade de pós-processamento
A principal função da unidade de pós-processamento é arredondar os dados e obter os dados necessários do fluxo de dados. Um somador de 16 bits é necessário para completar a função de arredondamento e um gatilho D paralelo de 16 bits é necessário para obter os dados.
Unidade de controle 2.2.7
A unidade de controle é composta principalmente de contador e flip-flop D. Seu controle do circuito inclui principalmente: reset global antes que o circuito comece a funcionar, fazendo preparativos de trabalho; controlar o trabalho da unidade de entrada; fornecer alguns sinais necessários para o funcionamento normal da unidade de processamento intermediária; e fornecer o sinal de sincronização de saída (outsyn) quando o resultado de saída final for fornecido.
2.3 princípio de circuito e simulação de função
O circuito de hardware do filtro digital passa-baixa FIR de 16ª ordem projetado por xc4005epc84 da empresa Xilinx é adotado, e o diagrama esquemático do circuito da camada superior é mostrado na Figura 3.
A Figura 3 é o diagrama da camada superior do filtro digital FIR. Consulte a Tabela 2 e a tabela 3 para pinos de entrada e saída e ocupação de recursos de hardware, respectivamente.
Para verificar se o circuito projetado pode funcionar de forma contínua e correta, dados de 16 bits (sistema decimal) são continuamente inseridos, que são 100101102103104105106107, - 101, - 102, - 103, - 104, - 105, - 106, - 107. Resultados da simulação de hardware do filtro digital FIR (as primeiras 16 saídas) Conforme mostrado na Tabela 4, os resultados do cálculo do software obtidos pelo programa escrito de acordo com a literatura [4] também estão listados na Tabela 4.
A partir dos dados acima, pode-se observar que comparado com os resultados da simulação de hardware, o valor absoluto do erro é 1, portanto, pode-se considerar que o circuito de hardware do filtro funciona corretamente.
Além disso, para verificar se o filtro pode funcionar corretamente quando o valor da borda é inserido, o teste do valor da borda também é realizado. Quando os dados de entrada são de 8 bits, os dois valores de borda são 127 e -128 respectivamente, correspondendo ao hexadecimal 7F e 80. Usando esses dois grupos de dados como entrada, a saída também é comparada com os resultados do software, o que pode provar que o circuito também pode funcionar corretamente neste momento.
Quando o filtro passa-baixa digital FIR de fase linear de 16ª ordem projetado neste artigo é realizado pelo chip xc4005epc84-2, a frequência do relógio do sistema de processamento de dados é de 36 MHz, a taxa de amostragem é de 4 MHz e o erro máximo entre o resultado do cálculo e o resultado do cálculo do software é 1. Na prática, o filtro FIR pode ser facilmente modificado de acordo com diferentes requisitos de precisão para atender a diferentes requisitos de índice. os parâmetros característicos do filtro. Ao mesmo tempo, as características programáveis do dispositivo FPGA podem facilmente melhorar o circuito e melhorar ainda mais o desempenho do circuito.