Saturday 26 August 2017

Labview Fpga Moving Average


Cálculo da média móvel Este VI calcula e exibe a média móvel, usando um número pré-selecionado. Primeiro, o VI inicializa dois registradores de deslocamento. O registro de deslocamento superior é inicializado com um elemento e, em seguida, adiciona continuamente o valor anterior com o novo valor. Esse registrador de deslocamento mantém o total das últimas medidas x. Depois de dividir os resultados da função de adição com o valor pré-selecionado, o VI calcula o valor da média móvel. O registro de deslocamento inferior contém uma matriz com a dimensão Média. Este registo de deslocamento mantém todos os valores da medição. A função de substituição substitui o novo valor após cada loop. Este VI é muito eficiente e rápido porque usa a função replace element dentro do loop while e inicializa a matriz antes de entrar no loop. Este VI foi criado no LabVIEW 6.1. Eu tenho um problema com o meu filtro, o filtro de média móvel ponderada exponencial (ordem IIR 1.st). Do livro: Entendendo o processamento de sinal digital (Lyons Richard) Eu tenho a seguinte fórmula de cálculo da frequência 3dB (fc) de alfa. Alpha é o parâmetro para controlar o filtro. Equação diferencial de filtro: ynxnalpha (1 - alfa) yn-1 Relação entre fc e alfa: cos alfa (2fcfs) - 1 sqrtcos (2fcfs) - 4cos (2fcfs) 3 Se eu agora escolher uma freqüência 3dB de 0,0794Hz (Fs94Hz) Para uma primeira ordem de IIR, o tempo de subida (ta) da resposta stepresposta (de 10 a 90) é: ta2, 2TC, o que resulta em ta 4,4s. Mas se eu simular a resposta passo, o meu tempo de ascensão é cerca de 3 vezes deste valor em 14s. Eu não posso explicar por que a resposta passo do meu filtro difere tanto. Para o meu filtro de média móvel, o tempo de subida calculado e simulado é igual. Eu tenho o vi que é realizado no FPGA anexado. Talvez alguém possa encontrar um erro. (Veja também filtro alfa ou filtro RC) Sua freqüência de amostragem (fs) está correta Se o tempo do loop não coincidir, isso explicaria. Seus tipos de dados parecem bons (para obter alfa dentro de 1). Mas gostaria de sugerir uma pequena alteração na implementação. Tal como está, é um pouco propenso a arredondamento à deriva, porque (1-alfa) é repetidamente multiplicado pelo yn-1. Um método um pouco mais confiável é dizer yn yn-1 (alfa (xn-yn-1)). A diferença é sutil, mas me dá melhores resultados muitas vezes. E elimina um multiplicar. By the way, reinterpretar o número faz a mesma coisa que o seu converso de FXP para bool, em seguida, de volta. É um pouco menos confuso, no entanto. Estou um pouco intrigado com o loop temporizado que nunca rola. Será que forçar tempo dessa forma (eu assumi que wouldnt, então nunca usado eu uso o temporizador Loop vez). CLD Usuário desde rev 8.6. Mensagem 2 de 13 (1,045 Exibições) Re: exponentia l passo médio passo resposta fpga 10-01-2015 02:05 AM - editada 10-01-2015 02:17 AM obrigado pela sua resposta. 1, eu provar minha freqüência de amostragem com o temporizador de loop. Minha entrada é 425.532 carrapatos que é igual a 94 Hz. Este tickrate é confirmado por ticks EWMA. --gt Talvez alguém possa testar o código e me diga 2, eu encontrei sua abordagem na seção truques e tipps do livro de Lyons. Eu terei uma tentativa, mas poderia você explicar o círculo fora de derivar um pouco eu sou completamente novo nesta área. Existe uma vantagem adicional de eliminar um multiplicador, exceto recursos? A resposta de freqüência, resposta de impulso e resposta de passo é a mesma? 3 Se eu apenas bitshift, eu sou um tipo usado para este método Não tenho certeza se a função reinterprate usa menos recursos. Mas obrigado por notá-lo. 4, O ciclo cronometrado itera cada 425.532 tiques uma vez. Portanto, com uma freqüência de 94Hz, um valor é computado pelo código, já que o código dentro do loop temporizado precisa apenas de uma iteração. Ou estou enganando sua pergunta Não tenho certeza de quais outras informações você precisa. Eu tento comparar a resposta de passo de uma média móvel com uma média móvel exponencial (EWMA). Na verdade eu só quero confirmar a teoria. Como eu mencionei acima para obter uma constante de tempo de 2s a uma taxa de amostragem de 94Hz, alfa tem que ser 0,00169. O tempo de subida da resposta ao passo de 10 a 90 do valor final difere da teoria. Tempo de subida deve ser 4,4s com constante de tempo 2s mas eu recebo quase 14s se eu executar o meu código no FPGA. Eu confirmei que com alpha 0,00169, meu código leva 1297samples para obter de 0,1 a 0,9 (valor final é 1, valor inicial 0). Como você pode ver no meu código eu verificar o tempo de loop com o indicador ewma carrapatos para confirmar a taxa de amostragem do SCTL. Alguém pode confirmar as amostras 1297 que são necessárias em alfa 0,00169 Porque eu acho que eu preciso de muitas amostras para atingir o 0,9 valor. Já implementei a versão EWMA sugerida a partir da primeira resposta. O mesmo problema aqui. Mensagem 5 de 13 (995 Views) Re: exponentia l passo médio passo resposta fpga 10-01-2015 08:13 AM - editado 10-01-2015 08:15 AM 1, eu provar a minha frequência de amostragem com o temporizador de loop. Minha entrada é 425.532 carrapatos que é igual a 94 Hz. Este tickrate é confirmado por ticks EWMA. --gt Talvez alguém possa testar o código e me diga 2, eu encontrei sua abordagem na seção truques e tipps do livro de Lyons. Eu terei uma tentativa, mas poderia você explicar o círculo fora de derivar um pouco eu sou completamente novo nesta área. Existe uma vantagem adicional de eliminar um multiplicador, exceto recursos? A resposta de freqüência, resposta de impulso e resposta de passo é a mesma? 3 Se eu apenas bitshift, eu sou um tipo usado para este método Não tenho certeza se a função reinterprate usa menos recursos. Mas obrigado por notá-lo. 4, O ciclo cronometrado itera cada 425.532 tiques uma vez. Portanto, com uma freqüência de 94Hz, um valor é computado pelo código, já que o código dentro do loop temporizado precisa apenas de uma iteração. Ou estou mal entendendo sua pergunta Eu usei uma planilha para simular, e obter quase exatamente a mesma resposta (1299 ciclos para ir de 0,1 a 0,9). As planilhas são uma ferramenta útil para testar cálculos. 1. Certo. Eu nunca usei o Single-Cycle-Timed-Loop (SCTL) com o T escrito para a parada. Seria forçar as funções de matemática para ser de ciclo único, mas não tenho certeza se isso é qualquer vantagem. Eu só queria ter certeza de que o tempo foi confirmado, e é. 2. O round-off drifting provavelmente não vai aparecer a menos que sua entrada é pequena (menos de 0,1). Vejo agora que você tem 40 bits (39 à direita do decimal) para o feedback. Isso leva um pouco de FPGA para se multiplicar, mas não vai ter round-off questões. Outras partes só tinham 18 bits (17 à direita do decimal), então alfa (0.00169 - .000007) vezes uma entrada de 0,1 teria sido 0,000169 - 0,000007, ou erro 7). Mas que multiplicar também é 40 bits, então você shouldnt ver quaisquer problemas. Normalmente, a saída yn tem menos bits e arredondará no último bit. Mas porque é em um loop multiplicando por 1-alfa cada vez, o round-off às vezes se acumula cada laço até que ele é grande o suficiente para afetar os resultados de adição. É difícil de explicar, mas minha regra geral é que eu espero um erro igual ao menor bit dividido por alfa, usando o método original, ou cerca de metade que usint o um método de multiplicação. As respostas serão quase idênticas, exceto por uma pequena diferença. A maior vantagem é salvar o espaço FPGA (e compilar o tempo). E você pode reduzir seu número de bits um pouco para economizar ainda mais. 3. Eles são basicamente idênticos. E ambos os métodos são livres em FPGA. Os bits arent mudaram, então nenhuma lógica é necessária eles são simplesmente relabeled. 4. Eu acho que você respondeu bem. Geralmente, neste momento, eu ajustaria o alfa até que meus resultados combinassem o que eu quis, e mova-se sobre. Eu odeio não entender um desajuste, mas geralmente não tenho tempo para mergulhar nele. Mas, por causa da ciência, vamos considerar que sua fórmula pode ser falho. Eu acho que você pode estar usando uma fórmula para uma contínua decadência exponencial (e-ttau), e não para uma decadência exponencial discreta ((1-alfa) i). É mais fácil olhar para isto como uma função de passo de 1 para 0. Nesse caso, yn (para ngt0) é yn (1-alfa) (n). Podemos encontrar n para yn 0,9, como nlog1-alfa (0,9) 62 e n para yn 0,1, como 1361, para uma diferença de 1299. CLD Usuário desde rev 8.6. Obrigado pela sua resposta detalhada. Sobre a questão com o tempo de subida, acho que encontrei o erro. Você pode estar certo de que a fórmula não está correta, ou o que é mais provavelmente mal interpretado por mim e colocado no contexto errado. Quando eu estava andando de bicicleta do trabalho, lembrei-me de uma função útil de labview: coeficientes de filtragem de filtro. vi Aqui você só tem que definir tauTC e fs e calcula o nomeador eo denominador para média móvel exponencial e média móvel. Como o nomeador é alfa eu poderia comparar o resultado com a fórmula que eu usei e houve uma grande diferença. Labview usa a seguinte fórmula: alfa1-exp (-1 (fsTC)). Com esta fórmula TC2s é igual a alfa0,0053. E com este alfa minha simulação funciona Risetime 4,4s Citando você: Geralmente, neste momento, eu iria ajustar alfa até que meus resultados correspondessem ao que eu queria, e seguir em frente. Eu adoraria fazer o mesmo, mas como esta é minha tese de mestrado eu tenho que resolver tais coisas Agora de volta para as questões de arredondamento. Eu entendo, que valores pequenos são um problema maior. Como este filtro é usado em um Lock In, os valores vão ser REALMENTE pequenos. Mas eu já testei no nosso dispositivo de medição e ele funciona, por isso vou testar sua versão também, mas se eu não tiver problemas, eu acho que eu mantê-lo em 40bits. Simular a seguinte configuração causou um erro de 2.3. Usando 57 bits reduziu o erro para menos de 1. Eu acho que 40bits deve ser suficiente. E quanto aos recursos, não tenho preocupações. Embora usando um myrio no final eu ainda tenho um monte de DSP Slices para a multiplicação e 10 FlipFlops livre. Então eu acho que este tópico está resolvido. Obrigado pela sua grande ajuda e pensamentos interessantes. Cool Estou contente por seu trabalho, agora. Eu cresci na era sem fatias DSP em FPGAs, e menor contagem de células, por isso ainda tendem a pensar nesses termos. Eu ainda prefiro gastar 25 minutos de programação para obter os meus tempos de compilação para baixo, no entanto. Ive teve casos onde eu corte tempo de compilação de 90 minutos para 45 minutos, otimizando um pouco. Com um poderoso servidor para compilar, isso é menos importante. Uma dessas otimizações é reduzir contagens de bits onde eu puder, especialmente para multiplicações. Por exemplo, alfa é 160 e para 0,0053, você também pode usar 12-4 (contagem inteira negativa). Você também pode ser capaz de eliminar um monte de bits superiores de sua entrada. 5 minutos para escolher a menor contagem de bits pode facilmente salvar 2-10 minutos para cada compilação. Minha segunda otimização é reduzir multiplica, mas com uma fatia DSP, isso não é tão importante. Eu não consigo encontrar boa documentação sobre as fatias DSP (se você tiver algum, por favor poste links), mas como eu entendo, se você multiplicar números maiores (contagem de bits), ele precisa de várias fatias, e talvez tempo para combinar os resultados. E mais um truque: escolha um alfa com um valor binário simples, como 1256 (você escolheu cerca de 1189), e mude fs até obter o alisamento desejado. Em seguida, use uma constante para alfa. Multiplicar por uma constante 1256 é livre no FPGA (apenas desloca os bits). Por falar nisso, fazer alfa constante pode otimizar o multiplica bastante. Dependendo do smarts do otimizador, ele pode alterá-lo para um conjunto de adicionadores em vez disso. As entradas do painel frontal são ótimas para que as coisas funcionem, mas as constantes otimizam muito melhor. CLD Usuário desde rev 8.6. Se você média 16 vezes mais amostras (fs 16x o que era), você deve incluir mais 4 bits em seu feedback. Você já tem pleanty, de modo que não pode ser importante a menos que você vá muito mais rápido. Caso contrário, aumentar fs é provavelmente bom. Se a entrada tem ruído de baixa freqüência, sobre a amostragem não ajuda a eliminar isso em tudo. No entanto, o ruído de alta frequência diminui com a sobre-amostragem. Se, por exemplo, o ruído acima de 10Hz for -5dB (ou seja, 10-5 vezes a amplitude do sinal que você gosta), e você amostra em 20Ss, você provavelmente vai pegar -5dB em suas leituras iniciais. Se o seu -3dB (fc) também é 10Hz, então você vai acabar com cerca de -8dB ruído deixado em seu sinal. Se você tomar 200Ss, grupos médios de 10, então passar essas médias para o filtro, você não vai ajudar o ruído em 10Hz (você estava medindo 10Hz ruído sem efeitos de amostragem), mas vai reduzir o ruído acima de 100Hz por cerca de um fator de perto de (Mas não realmente) 10. Há umas classes inteiras do semestre que discutem porque, como, etc. A versão curta é esta: Cada amostra é a soma do sinal que você quer eo ruído. Se você adicionar 10 amostras, você recebe 10x o sinal desejado ea soma de 10 ruídos. A natureza do ruído determina o que você obtém quando você adiciona as 10 amostras de ruído. Ruído gaussiano adiciona uma maneira (algo como: se 83 de amostras estão abaixo de X, a soma tem 83 somas abaixo de 1,1X, ou algo parecido). O ruído linear adiciona outra maneira. E repetir padrões adicionar outra maneira. Assim, sem saber exatamente o que o ruído é, ninguém pode responder com certeza, exceto que a média de várias amostras provavelmente ajuda, e quase nunca dói. Há também a questão do aliasing. Se você tem uma interferência senoidal de 60Hz, a -3dB, e você amostra em 10.001Ss (sempre assumir que os relógios não coincidirá com presicely), você obterá algo como 0.006Hz em -3dB adicionado ao seu sinal, e seu filtro não vai removê-lo . Mas colidindo sua taxa de amostra para 100.001Ss, colocará a interferência em cerca de 40Hz, então seu filtro deve eliminá-lo. A média de 10 amostras de cada vez é um tipo de filtro (caixa). Se você olhar para ele em um domínio de freqüência, você pode ver que algumas freqüências mais altas são deslocadas para freqüências mais baixas de uma forma estranha, e nem todos são reduzidos. Se você média 4000 Ss, 100 de cada vez, você obterá uma média de 40 vezes por segundo. Com a interferência de 60Hz, você receberá cerca de 13 tanto ruído, deslocado para 20Hz, que não vai filtrar, bem como 60Hz teria. Portanto, seria melhor usar o filtro EWMA na maior taxa de amostragem. Do que para a média de blocos de entradas, então filtre isso. E a média é (provavelmente) melhor do que apenas usando uma taxa de amostragem mais lenta. Se você tem um adaptador de entrada com built-in filtros eletrônicos, isso é ainda melhor, e não há necessidade de amostra mais de 2X a freqüência de filtros. CLD Usuário desde rev 8.6.LabVIEW Digital Filter Design Toolkit 8.2.1 Leia-me O LabVIEW Digital Filter Design Toolkit 8.2.1 trata de problemas de instalação com o Windows Vista x64 Edition, a versão de 64 bits, que estão presentes no Digital Filter Design Toolkit 8.2. Se você tiver o Digital Filter Design Toolkit 8.2 instalado, primeiro você deve desinstalar essa versão antes de instalar o Digital Filter Design Toolkit 8.2.1. Este arquivo contém informações para apresentá-lo ao Digital Filter Design Toolkit. Este arquivo também fornece recursos de ajuda que você pode usar enquanto trabalha com o kit de ferramentas. O arquivo contém as seguintes informações que você precisa entender. O Digital Filter Design Toolkit fornece uma coleção de ferramentas de projeto de filtro digital para complementar o LabVIEW Full ou Professional Development System. O Digital Filter Design Toolkit ajuda você a projetar filtros digitais sem exigir que você tenha conhecimento avançado de processamento de sinal digital ou técnicas de filtragem digital. Com o Digital Filter Design Toolkit, você pode projetar, analisar e simular os filtros digitais de ponto flutuante e de ponto fixo. Sem o conhecimento prévio sobre programação no LabVIEW, você pode usar os VIs Expressos de Design de Filtro Digital para interagir graficamente com as especificações do filtro para projetar filtros digitais apropriados. O Digital Filter Design Toolkit fornece VIs que você pode usar para projetar um filtro de resposta de impulso finito digital (FIR) ou filtro de resposta de impulso infinito (IIR), analisar as características do filtro digital, alterar a estrutura de implementação do filtro digital e processar dados Com o filtro digital. Além do suporte de ponto flutuante, o Digital Filter Design Toolkit fornece um conjunto de VIs que você pode usar para criar um modelo de filtro digital de ponto fixo, analisar as características do filtro digital de ponto fixo, simular o desempenho do fixo E gerar código C de ponto fixo, código LabVIEW inteiro ou código FPGA (LabVIEW field-programmable gate array) para um alvo de ponto fixo específico. O Digital Filter Design Toolkit fornece VIs para o design de filtros digitais de múltiplos volumes. Você pode usar os VIs para projetar e analisar um filtro multi-estágio de ponto único ou multi-estágio. Em seguida, você pode usar o filtro multirate projetado para processar dados. O Digital Filter Design Toolkit também fornece um conjunto de VIs que você pode usar para criar, analisar e simular um filtro de ponto fixo multirate. Você pode gerar o código LabVIEW FPGA a partir do filtro multi-ponto fixo projetado para um destino NI IO reconfigurável (RIO). Além de ferramentas gráficas para o design de filtros digitais, o Digital Filter Design Toolkit também fornece funções MathScript compatíveis com o LabVIEW MathScript. Essas funções MathScript permitem projetar filtros em um ambiente baseado em texto. Para usar o Kit de ferramentas de design de filtros digitais, você deve ter o LabVIEW 8.2 ou posterior, Sistema de desenvolvimento completo ou profissional do National Instruments, instalado no computador host. Nota: Se você quiser usar o Digital Filter Design Toolkit para gerar o código LabVIEW FPGA a partir de um filtro de ponto fixo, você deve ter o Módulo LabVIEW FPGA da National Instruments e o software NI-RIO instalados com o LabVIEW. Certifique-se de que instala o Módulo FPGA e o software NI-RIO antes de instalar o Digital Filter Design Toolkit. Se você já tiver o Digital Filter Design Toolkit instalado, desinstale o Digital Filter Design Toolkit antes de instalar o FPGA Module eo software NI-RIO. Conclua as etapas a seguir para instalar o Digital Filter Design Toolkit. Antes da instalação, verifique se o computador atende às seguintes condições: Uma versão compatível do LabVIEW está instalada. Nenhuma versão anterior do Digital Filter Design Toolkit, incluindo versões beta, está instalada. O LabVIEW não está em execução. Nota: Se você quiser usar o Digital Filter Design Toolkit para gerar o código LabVIEW FPGA a partir de um filtro de ponto fixo, verifique se o módulo FPGA e o software NI-RIO estão instalados. Insira o CD do LabVIEW Digital Filter Design Toolkit. Execute o programa setup. exe. Siga as instruções que aparecem na tela. O Digital Filter Design Toolkit 8.2.1 inclui correções de bugs, mas não fornece novos recursos. O Digital Filter Design Toolkit 8.2 incorpora as seguintes novas funcionalidades: Design de Filtro Digital Funções MathScript Utilize as funções MathScript Design do Filtro Digital para projetar filtros digitais com o MathScript LabVIEW em um ambiente baseado em texto. Ferramentas de Design de Filtro de Ponto Fixo Melhorado O Kit de Desenho de Filtro Digital 8.2 melhora a usabilidade dos VIs de Ferramentas de Ponto Fixo. Esses VIs podem ajudá-lo a projetar um filtro de ponto fixo com apenas algumas entradas necessárias. Você também pode usar esses VIs para refinar o design do filtro. O Digital Filter Design Toolkit 8.2 categoriza os coeficientes do filtro em dois grupos: coeficientes do filtro a k e coeficientes do filtro b v. Estes dois grupos de coeficientes de filtro utilizam intervalos de valores diferentes. Esta alteração permite quantificar eficientemente os coeficientes do filtro usando um número limitado de bits. Melhorada geração de código de filtro de ponto fixo O Digital Filter Design Toolkit 8.2 aprimora a geração de código de filtro de ponto fixo e suporta mais modelos de filtro de ponto fixo, como aqueles com coeficientes de 32 bits. Você pode especificar um modelo de filtro de ponto fixo para executar multiplicações I32xI16 ou I32xI32, além de multiplicações I16xI16. Você também pode gerar um bloco de filtro que pode processar sinais multicanais. O Digital Filter Design Toolkit organiza o código LabVIEW gerado nos arquivos do projeto LabVIEW (.lvproj) para que você possa integrar o filtro em outro projeto. Para a geração de código LabVIEW FPGA, o Digital Filter Design Toolkit 8.2 melhora o mecanismo de armazenamento de coeficientes de filtro e os estados internos dos filtros digitais. O novo mecanismo armazena os estados internos de um filtro nos itens de memória do código LabVIEW FPGA gerado. Para filtros FIR, este mecanismo armazena os coeficientes de filtro FIR em tabelas de consulta. Ao processar sinais multicanal, o código LabVIEW FPGA pode compartilhar os coeficientes de filtro e os recursos lógicos de controle de filtragem entre os vários canais. Rational Resampling Multirate Filter Support O Digital Filter Design Toolkit 8.2 fornece suporte para o design, análise e implementação de filtros de multi-filtragem de reamostragem racional, além de filtros de decimação e interpolação. A reamostragem racional é útil para interagir com sistemas de processamento de sinal digital (DSP) que operam a taxas diferentes. Por exemplo, você pode usar a reamostragem racional para converter um sinal de 48 kHz de um sistema de áudio profissional para um sinal de 44,1 kHz para um CD de áudio. VIs Expressos de Design de Filtros Multi-tar Utilize os VIs Multirate FIR Design, Multistage Multirate Filter e Multirate CIC Design Express para projetar filtros FIR multirate, filtros multi-estágio multirate e filtros multirate cascata integrais (CIC) interativamente. Suporte de projeto de filtro multi-ponto fixo Use os VIs de ferramentas de ponto fixo multi-ponto para quantificar, modelar e simular filtros de ponto fixo multi-tar. Fixed-Point Multirate Filter Suporte à geração de código FPGA Use o gerador de código DFD FXP MRate e os VIs do gerador de código DFD FXP NStage MRate para gerar o código LabVIEW FPGA a partir de filtros de ponto fixo multirate. Você pode gerar código para aplicações de filtragem de um canal e multicanal. Você também pode gerar código de ambos os filtros de multi-estágio e multi-estágio. Fixed-Point Moving Average Filter Suporte à geração de código FPGA Use o VI Gerador de código móvel DFD FXP para gerar o código LabVIEW FPGA a partir de filtros de média móvel de ponto fixo (MA). O código LabVIEW FPGA gerado a partir de um filtro de ponto fixo MA ajuda a executar a filtragem MA eficiente em um sinal de entrada usando poucos recursos de hardware. Utilize os VIs de utilitários para desenhar as equações de função de transferência, ganho de pólo zero e diferença nos controles de imagem. Filtro Salvar e Carregar de Ferramentas de Arquivo de Texto Use o DFD Salvar em Arquivo de Texto e o DFD Salvar MRate em VIs ​​de Arquivo de Texto para salvar filtros, incluindo filtros de multitarea, como arquivos de texto. Você pode obter as estruturas de filtro, ordens de filtro e coeficientes de filtro dos arquivos de texto. Em seguida, você pode copiar os coeficientes de filtro dos arquivos de texto e usar os coeficientes em outras aplicações. Use o Carregamento DFD do VI de Texto para carregar um filtro de um arquivo de texto. Você não pode usar este VI para carregar um filtro multirate. O Digital Filter Design Toolkit 8.2 fornece mais de 100 exemplos que demonstram como realizar certas tarefas usando os VIs e funções de design do filtro digital. Esses exemplos incluem tutoriais iniciados e estudos de caso aprofundados. Versão 8.2.1 (438APUX0) O Digital Filter Design Toolkit 8.2.1 corrige um problema em que a função MathScript de firminphase não consegue calcular corretamente o fator espectral de fase mínima de um filtro de resposta de impulso finito (FIR) de fase linear. Versão 8.2 O Digital Filter Design Toolkit 7.5 não tinha restrições sobre o número de estágios ou o atraso diferencial de um filtro CIC. O Digital Filter Design Toolkit 8.2 restringe o número de estágios de um filtro CIC para o intervalo 1, 8 e restringe o valor de atraso diferencial para 1 ou 2. Se você desejar usar um filtro projetado com o Digital Filter Design Toolkit 7.5, o Digital Filter Design Toolkit 8.2 pode relatar o filtro como um objeto de filtro inválido. Se você encontrar essa situação, salve o filtro como um arquivo binário no Digital Filter Design Toolkit 7.5 e, em seguida, use o Digital Filter Design Toolkit 8.2 para carregar o filtro do arquivo binário. O Digital Filter Design Toolkit 7.5 definiu a freqüência de amostragem de um filtro multirate como a freqüência de amostragem máxima no filtro multirate. O Digital Filter Design Toolkit 8.2 define a freqüência de amostragem de um filtro de multi-filtragem como a freqüência de amostragem de entrada no filtro multi-tar. Portanto, se você quiser usar um filtro de interpolação projetado com o Digital Filter Design Toolkit 7.5, primeiro você deve alterar a freqüência de amostragem do filtro de interpolação da freqüência de amostragem máxima para a freqüência de amostragem de entrada. Esta alteração não afeta os filtros de decimação e de mudança de taxa. No Digital Filter Design Toolkit 8.2, o DFD FXP Modelagem para CodeGen Express VI não está na paleta Fixed-Point Tools. Use o DFD FXP Quantize Coef VI para quantificar os coeficientes de um filtro e o DFD FXP Modeling VI para criar um modelo de filtro de ponto fixo. No Digital Filter Design Toolkit 7.5, as saídas de resposta de magnitude e de resposta de fase da Resposta de Freqüência de MRate de DFD VI foram clusters. No Digital Filter Design Toolkit 8.2, essas saídas são matrizes de clusters. Versão 8.2.1 Além dos problemas conhecidos no Digital Filter Design Toolkit 8.2. O Digital Filter Design Toolkit 8.2.1 contém o seguinte novo problema conhecido: Como as fontes padrão no Windows Vista são diferentes das fontes padrão em versões anteriores do Windows, você pode notar problemas cosméticos, como seqüências de texto sobrepostas ou truncadas, em VIs E caixas de diálogo do LabVIEW. Para corrigir esse problema, altere o tema do sistema operacional para o Windows Classic na caixa de diálogo Configurações do Tema e reinicie o LabVIEW. Selecione Start0187Control Panel0187Appearance and Personalization e clique em Alterar o tema para exibir a caixa de diálogo Configurações do tema. Os VIs de análise de filtro podem levar muito tempo para analisar um filtro com uma ordem alta. O DFD Remez Design VI pode levar muito tempo para projetar um filtro FIR com uma alta ordem. O projeto de norma DFD Least Pth Norm VI pode levar um longo tempo para concluir projetos que tenham algoritmos iterativos. O Digital Filter Design Toolkit 8.2 não permite zeros com zero no Pole-Zero Placement Express VI. Se você especificar um zero com valor zero, o Express VI força o zero zero para um zero não-zero. Ao projetar um filtro de ponto fixo, você deve configurar os quantificadores. Cada quantizador contém um booleano assinado que especifica se deve tratar o número de entrada como um número assinado. O Digital Filter Design Toolkit 8.2 suporta somente números assinados. As características de um filtro podem mudar se ocorrerem erros numéricos durante a conversão entre os coeficientes de filtro de diferentes estruturas de filtro. Quando você converte a estrutura de um filtro, o filtro com a nova estrutura pode ser completamente diferente do filtro original. Se você encontrar essa situação, tente usar uma estrutura diferente. Talvez seja necessário compilar os VIs de exemplo do Filtro Digital que demonstram como usar o código LabVIEW FPGA gerado nos projetos do LabVIEW. Consulte a Ajuda do LabVIEW. Acessível através da seleção de Help0187Search na Ajuda do LabVIEW a partir do menu suspenso no LabVIEW, para obter informações sobre como usar o Digital Filter Design Toolkit. Você pode acessar os exemplos para o Digital Filter Design Toolkit, selecionando Help0187Find Examples para exibir o NI Example Finder e, em seguida, navegar para a pasta Toolkits and Modules0187Digital Filter Design. Você também pode clicar no link Localizar Exemplos na seção Exemplos da janela Introdução para exibir o Localizador de Exemplo do NI. Você pode modificar um VI de exemplo para ajustar um aplicativo, ou você pode copiar e colar de um ou mais exemplos em um VI que você cria. Você também pode encontrar exemplos para o Digital Filter Design Toolkit no diretório labviewexamplesDigital Filter Design. 0169 200682112007 National Instruments Corporation. Todos os direitos reservados. De acordo com as leis de direitos autorais, esta publicação não pode ser reproduzida ou transmitida sob qualquer forma, eletrônica ou mecânica, incluindo fotocópia, gravação, armazenamento em um sistema de recuperação de informações ou tradução, total ou parcial, sem o prévio consentimento por escrito da National Instruments Corporação. National Instruments, NI, ni. E LabVIEW são marcas comerciais da National Instruments Corporation. Consulte a seção Termos de Uso do nilegal para obter mais informações sobre as marcas comerciais da National Instruments. Outros nomes de produtos e empresas aqui mencionados são marcas comerciais ou nomes comerciais de suas respectivas empresas. Para patentes que cobrem os produtos da National Instruments, consulte o local apropriado: Help0187Patentes em seu software, o arquivo patents. txt em seu CD ou nipatents.

No comments:

Post a Comment