Monday 29 May 2017

Movendo Média Filtro Xilinx


Eu tenho uma pergunta relacionada com a média contínua de ADCs valor A abordagem que eu usei é média contínua de exemplo 256 amostras O valor adcaout mostrado no código abaixo que eu recebo em meus incrementos GUI lentamente Como um exemplo, se eu estou esperando 100mA valor, Minha GUI mostra 4mA, 8mA, 15mA e, finalmente, depois de 2 minutos eu fico com 100mA de valor estável Eu quero ver o 100mA diretamente na minha GUI de adcaout em vez de valores de incremento e estabilizar depois de algum tempo Outra questão é que, Rápido para que eu não tenho que esperar por 3 minutos para receber estável 100 mA de adcaout O clk relógio no design digital abaixo é de 20 MHz O relógio para receber valores ADC na placa FPGA é 15 KHz .-- o arquivo está abaixo . Seu código é modificado como segue. A saída final que eu estou vendo na minha GUI é slvvalue1 e slvvalue2.How sobre isso em reset ou em qualquer outro tempo, se você quiser, atribua o valor de datain para todos os elementos em sua matriz palco Isso deve Instantaneamente Sua média para o valor atual. O exemplo abaixo mostra o código completo para uma calculadora de média móvel Minha sugestão é que você estudá-lo até que você entende Então, tente usá-lo em seu projeto Finalmente, e só depois de ter um circuito básico de trabalho , Você pode alterá-lo para satisfazer suas limitações de dados de restrições de projeto, número de amostras, intervalo de inteiros, uso de assinado vs inteiro etc. Finalmente, se você quiser usar o código acima para manter duas médias separadas para dois sinais distintos, basta instanciar A entidade de média duas vezes. Editar Como eu entendo de seus comentários, você pode precisar de uma entrada extra para definir a média instantaneamente para o valor de entrada atual Nesse caso, você pode usar uma entrada de carga como mostrado abaixo. . Aritmética Rápida em FPGA Usando o Aparelho Binário Redundante. A representação binária redundante RBR tem muitas vantagens sobre a representação binária tradicional Este artigo tenta demonstrar a utilidade de RBR em FPGA O desempenho e caractere Um sistema de conversão mais rápido do RBR para o complemento de dois s e o filtro FIR de média móvel também são demonstrados. A representação binária redundante RBR é um sistema numérico que Usa mais bits do que o necessário para representar um único dígito binário de modo que a maioria dos números tenha várias representações RBR é diferente dos sistemas numéricos binários usuais, incluindo dois s complementar, que usam um único bit para cada dígito Muitas das propriedades RBR s diferem das do binário regular Sistemas de representação O mais importante é que RBR permite a adição sem usar um carry típico, mas torna a operação lógica bit a bit mais lenta Normalmente, cada bit tem um sinal que não é necessariamente o mesmo que o sinal do número representado Quando os dígitos têm sinais, RBR também é assinado Representação de dígitos 1.RBR é um sistema de notação de valor de lugar 2 No RBR, os dígitos são pares de bits, isto é, para a véspera O valor representado por um dígito RBR pode ser encontrado usando uma tabela de tradução Esta tabela indica o valor matemático de cada par de bits possíveis. Como na representação binária convencional, o valor inteiro de uma dada representação é um Soma ponderada dos valores dos dígitos O peso começa em 1 para a posição mais à direita e sobe um fator de 2 para cada posição seguinte Geralmente, o RBR permite valores negativos Não há bit de sinal único que diga se um número representado por RBR é positivo Ou negativo A maioria dos inteiros tem várias representações possíveis em um RBR. Um valor inteiro pode ser convertido de volta do RBR usando a seguinte fórmula, onde n é o número de dígito e dk é o valor interpretado do k-ésimo dígito, onde k começa em 0 na posição mais à direita. Nota utilizada. A seguinte representação binária redundante é utilizada neste artigo. Tabela 1 Exemplo de tabela de conversão binária redundante. Esta notação tem vantagens não encontradas em outros re Representação binária dundant É possível encontrar facilmente o aditivo inverso de um valor lançando todos os bits do valor representado usando NOT gates Isto permite construir adicionador subtracter unidade mais facilmente 8.Addition Unit. Addition em redundante representação binária pode ser feito em constante Tempo contrário à adição em dois s complemento notação Isso pode ser explicado pelo fato de que o carry tem de se propagar através de toda a largura da unidade de adição Isso não implica que a adição é sempre mais rápido em RBR do que é dois s complementar representação, Mas que a adição será eventualmente mais rápida em RBR com largura de bit crescente porque o atraso da unidade de adição de complemento s s é proporcional ao log n onde n é a largura de bit 3.Resultados Xilinx. Tendo em mente, é interessante comparar o desempenho Da unidade de adição binária típica e da unidade de adição binária redundante considerando a sua largura de bit Os resultados seguintes foram obtidos utilizando Altera e Xilinx platform. F Figura 2 Retardo combinatório para o adicionador binário redundante no Xilinx Virtex 5.Tabela 2 Redundante atraso do adicionador binário em plataformas Xilinx. Esses resultados mostram que a representação binária redundante se torna mais rápida que a representação de dois complementos na plataforma Xilinx quando os operandos se tornam maiores do que 32 bits A pedra angular das operações aritméticas, pode-se esperar que resultado semelhante será obtido para outras operações aritméticas No entanto, ele vem com o custo de usar cerca de duas vezes mais LUT resource. Results Altera. Figure 3 atraso Combinatorial para redundante sumador binário em Altera Stratix III. EP3SE80F1152C2 Dois s complement. Table 3 atraso Combinatorial para redundante binary adicionador em Altera Stratix III. Performance da unidade de somador RBR é muito melhor na Altera Plataforma O somador RBR é sempre mais rápido do que o normal s s complemento adicionador Isso pode ser explicado por O fato de que a arquitetura Stratix III FPGA é muito melhor em sete entradas para uma função combinatória de saída 4. Subtração é a mesma que a adição exceto que o aditivo inverso de um do operando precisa ser encontrado Essencialmente, a subtração é a adição de um do operando ao aditivo inverso do outro operando. Usando a notação usada Neste artigo, o inverso aditivo de um valor é facilmente encontrado ao inverter cada bit de um operando. Unidade de multiplicação. A unidade de multiplicação avaliada aqui é composta de muitas unidades de somador dispostas em uma árvore. A unidade de multiplicação não é pipelined embora poderia facilmente ser Primeiramente, os parciais são calculados multiplicando-se cada dígito de um operando com cada dígito do outro operando usando a aritmética usual 5.Tabela 5 Retardo combinatório na unidade de multiplicação em Xilinx Virtex 5.O atraso na unidade multiplicadora como visto na Figura 4 e na Tabela 5 É proporcional a log n em que n é a largura de bit dos operandos Esta é uma característica inerente à árvore de somador usada no projeto da unidade multiplicadora. O desempenho de um R A unidade multiplicadora da BR começa a ser interessante quando a unidade multiplicadora tem uma largura de bit maior do que 32 bits. Quando este é o caso, o atraso do multiplicador torna-se menor do que o atraso do circuito multiplicador especializado de FPGAs Xilinx. No entanto, Por exemplo, uma unidade multiplicadora de RBR de 64 bits poderia ser implementada como um pipeline de 6 estágios, adicionando um flip-flop D entre cada nível da árvore de somadores, assim Utilizando mais recursos do FPGA Considerando isso, espera-se que a freqüência seja seis vezes maior Este projeto seria interessante para um processador que usaria apenas a representação binária redundante. xc5vlx85-3ff676 Número redundante de LUT. xc4vlx80-12ff1148 Número redundante de LUT . Tabela 6 Recursos utilizados pela unidade multiplicadora RBR no Xilinx Virtex. Results Altera. This unidade de multiplicação não funciona bem em comparação com a unidade de multiplicação integrada Na plataforma Altera Isso era de se esperar porque Stratix III FPGA têm unidade de multiplicação dedicada hardwired com suporte nativo até 36 bits 6.Figura 5 Atraso na unidade de multiplicação Altera. EP3SE80F1152C2 Dois s Complement. Table 7 Atraso na unidade de multiplicação Altera. Redundante binário para binário Conversor. O conversor aqui apresentado utiliza Xilinx e Altera especializada transportar circuito de propagação para acelerar binário redundante para conversão binária A idéia básica é converter o número binário redundante para dois dois s complementar número que, em seguida, pode ser adicionado com qualquer complemento s complemento 7 Permite usar os recursos FPGA de forma mais eficiente e é na maioria das vezes mais rápido do que um conversor binário binário para binário regular usando um adder. X sequencial sendo um número binário redundante, é possível convertê-lo para 2 número de complemento dois s. Esses 3 números Precisa ser adicionado usando padrão de dois s complemento adicionador Um único adicionador é necessário uma vez que pode ser adicionado como um carry in Assim, o anúncio especializado Der circuito de FPGAs pode ser usado para fazer a conversão de RBR para representação binária. Figura 6 Atraso em RBR para dois s unidade de conversão de complemento na plataforma Xilinx. Table 9 Recursos usados ​​por RBR para conversor binário em Xilinx platform. Specialized baseado adicionador conversores presentes , Para operandos de até 128 bits, os melhores desempenhos em termos de velocidade e recursos utilizados. FIR Filter Moving Average. FIR filtros são usados ​​em uma variedade de aplicações de comunicação FIR filtro pode ser representado como uma série de operação aritmética Porque a melhor velocidade aritmética pode Ser alcançado com RBR em FPGA, é esperado um aumento na velocidade do filtro FIR O filtro FIR estudado aqui é a média móvel. A saída é a soma das n últimas entradas é implementada como um buffer circular. Durante cada ciclo é lido um valor eo O novo valor de entrada é escrito na cabeça do buffer circular O filtro de média móvel também pode ser expresso recursivamente da seguinte maneira. O último valor é armazenado em um registrador de modo que b E calculado usando a fórmula acima durante o próximo ciclo Durante cada ciclo, precisamos adicionar e subtrair a uma unidade de adição e uma unidade de subtração são usados ​​para calcular o próximo valor de. Figura 8 Atraso máximo do filtro médio móvel na plataforma Xilinx. Tabela 11 O atraso máximo do filtro de média móvel no Altera EP3SE80F1152C2. O resultado da unidade binária redundante é notável Mais notavelmente, a plataforma Xilinx 5 executa em tempo quase constante usando o binário redundante. O resultado mostrado acima mostra que a representação binária redundante é útil para acelerar Operação aritmética mesmo em FPGA A adição, subtração e multiplicação têm sido mostrar para ser mais rápido quando RBR é usado, mas algum dia apenas para bit largura de 64 bits e superior No entanto, esta velocidade vem a um custo que é muitas vezes aceitável considerando a natureza tempo crítico de Filtro digital Também é tolerável usar RBR em apenas um subconjunto de um circuito grande considerando que RBR para dois s complementar conversão é relativamente rápido wh En feito adequadamente Estudo adicional em circuito maior usando RBR seria interessante Fácil lugar e operação de rota são esperados devido à natureza simétrica de RBR apparatus. Source Code. I por este meio liberar este código fonte sob GPL. Você pode baixá-lo here. The fonte é Em VHDL é um filtro de média móvel é um somador RBR é um subtrator RBR somador é um multiplicador RBR é RBR para dois s complementar conversor é um complemento de dois s para RBR converter. Works cited.1 Panami, Behrooz Generalized Signed Numeração Número Sistemas A Unificação do Quadro para Representações Numerais Redundantes TRANSPOSIÇÕES IEEE EM COMPUTADORES, VOL 39, NO 1 pp 89-98 2 Wikipédia Posicionais Notação Online Citado agosto 18, 2008 3 Pai, Yu-Ting e Chen, Yu-Kumg O mais rápido carregar lookahead ader Electronic Design, Teste e Aplicações Segunda Oficina Internacional IEEE, 2004 4 Altera Stratix II 8-Input Fracturable LUT no ALM Altera Web site Online Citado 20 de agosto de 2008 5 Guoping Wang, Murad Ozaydin, Monte Tull Divisor de alto desempenho Usando a representação binária redundante IEEE 2002 6 Projeto de sistema DSP em dispositivos Stratix III Altera Online Cited 6 de outubro de 2008 7 Iljoo Choo, RG Deshmukh Um novo esquema de conversão de um número binário redundante para dois s Complemento Número binário para arquitetura paralela IEEE 2001 8 Systematic Design De Filtros Recursivos Pipelined Lapointe, Marcel, Huynh, Huu Tue e Fortier, Paul sl TRANSACÇÕES IEEE EM COMPUTADORES, 1993.Compartilhe esta página. Primeira DSP usando ISE. Professors que são novos para usar FPGAs e gostaria de entender os detalhes da implementação De alta velocidade DSP comunicações digitais usando FPGAs. Basic DSP princípios de amostragem, quantitativa, freqüência de tempo domain. Knowledge de usar o software de simulação DSP e / ou hardware implementações. A consciência de comunicações digitais e modernas DSP de alta velocidade aplicações e problemas. Skills Gained. After concluir este Workshop, você será capaz de. Compreender os fundamentos de comprimentos de palavras de ponto fixo e questões relacionadas. Saiba como cont Rol e lidar com arredondamento, truncamento, wrap-around e aritmética de saturação em FPGAs. Understand as muitas opções de implementação aritmética para multiplicar e outras operations. Know como projetar e trabalhar com Rotação Coordenada Digital Computer CORDIC desenhos para cálculos trigonométricos. Conheça as características E arquiteturas das fatias DSP48x do Virtex e Spartan FPGAs. Know como usar o Xilinx System Generator Simulink software para DSP design. Be capaz de executar todo o fluxo de projeto ISE software para sistemas DSP e examples. Implementar exemplos em tempo real DSP sobre o FPGA usando codecs de saída de entrada de áudio. Entender as razões e métodos para implementar alta velocidade cascata Integrator-Comb CIC filtros. Conhecer os métodos para a implementação de Osciladores Numericamente Controlado NCOs. Be capaz de construir um transceptor QAM usando vários componentes FPGA núcleo. Entender como configurar PLLs de Loops de Fase-Bloqueados e portões tardios para sincronização. Entender o uso do algoritmo QR para Mínimos quadrados e implementação de algoritmo adaptativo. Curso Overview. The DSP para FPGA history. Lab 1 Usando System Generator, ISE e ChipScope Tools. Use Xilinx System Generator dentro do ambiente Mathworks Simulink para implementar DSP simples multiplicação adicionar circuitos de atraso e, em seguida, sintetizar, colocar e Rota e inspecionar a planta de alguns projetos simples ChipScope será usado com um exemplo que funciona na placa de FPGA. Arithmetic e CORDIC implementations. Lab 2 Multiplicadores, Adders, divisores e CORDICs. Consider as muitas maneiras de implementar um multiplicador DSP48, coeficiente constante , Distribuídos, deslocam e adicionam, etc, e igualmente olha projetos do divisor, e implementações de CORDIC para o cálculo do seno, do coseno, da magnitude e de outros cálculos trigonometric. Digital Filters em FPGAs. Filter Retiming e Pipelining Methods. Lab 3 . Olhe para projetos de filtro em forma paralela e serial, e também várias técnicas e métodos para pipelining, multicanal f E implementar filtros eficientes e de baixo custo, com especial referência aos filtros de decimação e interpolação. Os exemplos de áudio incluirão filtragem de ruído usando a placa FPGA. CIC e Moving Average Filters. Lab 4 CIC Implementação de filtros. Problemas de crescimento de comprimento de palavra, down-sampling de decimation, correção de droop e aplicações em transmissores e receptores de front-end de rádio também implementar filtro recebem cadeias com CICs, passe baixo, meia banda e outras implementações de filtro eficiente. Numerally Controlled Oscilators NCOs. NCO Receiver Synchronization. Laboratório 5 Oscilador Desenho e Implementação. Implementação de osciladores controlados numericamente usando métodos de tabela de pesquisa e configuração apropriada Spurious Free Faixa Dinâmica SFDR e exatidão de freqüência Considere também Xilinx núcleos para NCOs ou Direct Digital Synthesis DDS e também usando osciladores baseados em CORDIC e marginalmente Osciladores IIR estáveis. Modulador de amplitude em quadratura QAM Tx e Rx. Lab 6 QAM Transceptor Design. Um transmissor e receptor de modulação em quadratura será implementado para modular dados para uma portadora IF em torno de 3MHz, em seguida, receber usando uma implementação de receptor em quadratura Este laboratório irá integrar a implementação de NCOs padrão Filtros digitais, CICs, sincronizadores em um único design. Adaptive Processamento de Sinal, Mínimos Quadrados e QR. Lab 7 QR Algoritmo Implementação. Uma 5x5 matrix QR algoritmo será implementado para mínimos quadrados, linear sistema solvers e adaptação geral DSP implementações A demonstração Do uso do QR para a identificação do sistema será configurado no laboratório, e um design baseado em CORDIC completo sintetizado e colocado e encaminhado será concluída Isso representa um alto valor, implementação de alta complexidade. Quick Links.

No comments:

Post a Comment