Exemplo de design de filtro farrow multinúso

author-image

Por

Este exemplo demonstra como usar o Intel® FPGA DSP Builder Advanced Blockset (DSPB-AB) para implementar um filtro de conversão de taxa de amostra de vários canais com base em uma estrutura farrow.

A conversão de taxa de amostra tem uma ampla variedade de aplicações, como comunicações sem fio, imagens médicas e aplicações militares. Em vez de implementar a decomposição da polifase, o filtro de resamplagem de Farrow usa polinômios de baixa ordem para realizar a mesma funcionalidade, o que resulta em economias lógicas significativas. É particularmente eficiente para processar vários canais ou múltiplos caminhos de dados paralelos, onde todos os canais ou caminhos de dados exigem o mesmo conjunto de coeficientes de filtro.

Neste exemplo, construímos um filtro de conversão de taxa de amostras farrow usando blocos primitivos DSPB-AB. Em particular, demonstramos como aproveitar o recurso de dobramento do DSPB-AB. O recurso dobrável do DSPB-AB realiza automaticamente o compartilhamento de recursos e o re-uso de hardware com base nos parâmetros de sistema especificados pelo usuário.

O diagrama de bloco funcional de um filtro Farrow é mostrado na Figura 1. Todos os módulos são projetados usando blocos primitivos no DSPB-AB.

Figura 1. Diagrama do bloco do filtro Farrow

O símbolo r é usado para quantificar a diferença de fase de amostragem entre a entrada atual e a amostra de saída desejada. O valor é normalizado entre 0 e 1. Para cada amostra de saída, você pode calcular r usando a seguinte fórmula:

r = (Output_time – Input_time)* Input_Sampling_Frequency

Nesta demonstração, usamos um algoritmo recursivo para calcular r para cada amostra de saída:

Fórmula

onde n é um inteiro indicando o número de amostras ou selo de tempo dedicado. C1 é definido como a parte fracionada do inverso do fator de mudança de taxa

E

Características

Esta demonstração tem os seguintes recursos:

  • Suporta tanto a dizimação quanto a interpolação.
  • Suporta quase qualquer fator de mudança de taxa de amostra racional
  • Suporta até 16 canais, embora você possa modificar facilmente o design para suportar mais canais
  • Suporta parametrização por meio de um script de configuração
  • Suporta fácil modificação da ordem do filtro de resamplagem (polinomial) estendendo o comprimento das linhas de atraso da torneira
  • Fornece scripts de inicialização e pós-simulação para configurar parâmetros e comparar e verificar saídas
  • Suporta dobrável automático, permitindo multiplexação de divisão de tempo em multiplicadores, adutores e outros recursos de hardware

Nota 1: Para a versão 9.1, o design exige que a taxa de clock FPGA seja um número inteiro múltiplo da taxa de amostra de entrada e da taxa de amostra de saída. Em releases futuros, a taxa de amostra de saída não precisa dividir a taxa FPGA de clock. Portanto, ele pode, teoricamente, suportar alterações irracionais de taxa de reposição também. Não há alterações estruturais para a taxa de amostra diferente que suporta.

Nota 2: Todos os canais devem ser processados por um caminho de dados (ou seja, um único fio no design DSPB-AB). Se você tiver um grande número de canais, você deve aumentar sua FPGA de clock de modo que você não tenha que dividir os canais de dados em vários caminhos de dados paralelos. Para suportar vários fios ou vários caminhos de dados, você precisa modificar o bloco de alinhamento de dados, que não está coberto neste exemplo.

Para obter mais informações sobre o projeto de filtros de resamplagem no DSPB-AB, consulte AN 623: Usando o DSP Builder Advanced Blockset para implementar filtros de resamplagem (PDF).

Baixe os arquivos usados neste exemplo:

Os arquivos no download .zip incluem:

  • farrowm.mdl— arquivo de design DSPB-AB para o filtro de mudança de taxa de amostra Farrow de vários canais
  • setup_farrowm.m— script MATLAB* para configurar inicialização e parâmetros de farrow.mdl
  • stop_farrowm.m— script MATLAB para planejar a saída do filtro farrow e compará-la com a forma de onda de entrada

Para obter mais informações sobre recursos relacionados usados neste exemplo de projeto, acesse:

Links relacionados

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.