Monday 27 November 2017

Moving Average Labview Subvi


Trabalhando com. m Arquivos no LabVIEW para processamento de sinal baseado em texto, análise e matemática Data de publicação: 06, 2014 113,45 5 Imprimir Este tutorial fornece vários exercícios passo a passo que o apresentam ao usar o software NI LabVIEW para trabalhar com. m scripts de arquivos para matemática baseada em texto, processamento de sinal e análise. Este tutorial também explora LabVIEW MathScript, o recurso LabVIEW que oferece esse recurso. Nota: LabVIEW MathScript está disponível nos Sistemas de desenvolvimento completo e profissional no LabVIEW 8.0 a 8.6. No LabVIEW 2009, LabVIEW MathScript torna-se o Módulo LabVIEW MathScript RT. Você não pode executar VIs de versões anteriores do LabVIEW que contenham Nó MathScript até que você instale e ative o Módulo MathScript RT. Este tutorial não oferece uma extensa introdução ao ambiente de desenvolvimento LabVIEW. Consulte o tutorial sobre Introdução ao Instrumento Virtual LabVIEW (relacionado abaixo) para uma visão geral geral do LabVIEW. Índice 1. Trabalhando com arquivos. m no LabVIEW Embora o LabVIEW seja um ambiente de desenvolvimento construído em torno de uma linguagem de programação gráfica, o 160LabVIEW também permite que você crie arquivos. m e work160 com matemática baseada em texto. Uma maneira de trabalhar com matemática baseada em texto no LabVIEW é através de uma interface de nó de script. Os nós de script combinam arquivos. m com base em texto com a programação gráfica tradicional do LabVIEW. Os nós de script são regiões de entrada de texto redimensionáveis ​​que você pode adicionar aos diagramas de bloco do LabVIEW. Um tipo de nó de script, o nó de script MATLAB, chama o software160MATLAB para executar scripts. Você deve ter uma cópia licenciada do software MATLAB instalado no seu computador para usar os nós do script MATLAB porque os nós do script invocam o servidor do script do software MATLAB para executar scripts escritos na sintaxe do idioma MATLAB. Você também pode criar scripts no LabVIEW com LabVIEW MathScript. LabVIEW MathScript é um idioma baseado em texto que você pode usar para escrever funções e scripts para uso na Janela LabVIEW MathScript ou Nó MathScript. Os Nódulos MathScript podem processar muitos dos seus scripts baseados em texto criados em um MATLAB ou ambiente compatível. No entanto, como o mecanismo MathScript RT Module não suporta todas as funções suportadas pelo software MATLAB, algumas funções em seus scripts existentes podem não ser suportadas. Você pode implementar tais funções com um Nó de Fórmula ou outro nó de script. Você pode usar160 o LabVIEW Application Builder e o MathScript para criar aplicativos autônomos e bibliotecas compartilhadas que incluem funcionalidade definida em arquivos. m. Você pode interagir com o MathScript de várias maneiras diferentes. Use a janela LabVIEW MathScript para uma interface interativa na qual você pode carregar, salvar, desenvolver e executar scripts de arquivo. m. Use o nó MathScript para utilizar o ambiente de programação gráfica no LabVIEW e para implantar scripts de arquivo. m como parte do aplicativo a160stand-alone. A seção a seguir oferece uma breve passagem da janela LabVIEW MathScript .160 As últimas seções neste tutorial discutem o nó MathScript. MATLAB é uma marca comercial registrada da The MathWorks, Inc. Todas as outras marcas registradas são propriedade de seus respectivos proprietários. 2. Working160 na janela LabVIEW MathScript A janela Getting Started aparece quando você inicia o LabVIEW. Use esta janela para criar novos VIs e projetos, selecione entre os arquivos LabVIEW recentemente abertos, encontre exemplos e inicie a Ajuda do LabVIEW. Você também pode acessar informações e recursos para ajudá-lo a aprender sobre o LabVIEW, como manuais específicos, tópicos de ajuda e recursos no site da National Instruments. Abrindo a janela LabVIEW160MathScript Selecione ToolsMathScript Window para exibir a janela LabVIEW MathScript. A janela LabVIEW MathScript inclui uma janela de comando no canto inferior esquerdo. Digite o seguinte comando160 na janela de comando e pressione a tecla 60Enter62: observe que o resultado do comando que você digitou aparece na janela de saída. Localizado logo acima da janela de comando. O resultado deste comando é um vetor de dez elementos, onde os elementos160 começam em 1 e terminam em 10 com um tamanho de passo de 1. Localize as abas marcadas como Variáveis. Roteiro . E História no canto superior direito da janela LabVIEW MathScript. Clique na guia Variáveis ​​para160 para exibir a página Variáveis. Esta página exibe uma lista de todas as variáveis ​​que você define e visualiza variáveis ​​selecionadas. Observe que a lista de variáveis ​​contém uma entrada para o vetor t que você definiu na etapa 2. Clique no t na lista de variáveis ​​para exibir o conteúdo de t 160 no painel de visualização localizado no canto inferior direito da janela LabVIEW MathScript. Digite os seguintes comandos160 na janela de comando. Pressione a tecla 60Enter62 no final de cada linha. Depois de pressionar a tecla 60Enter62, o LabVIEW exibe cada comando na janela de saída. O LabVIEW não exibe a saída160 para cada comando, porque o ponto-e-volta160 no final de cada linha direciona o LabVIEW para suprimir a saída 160. Na página Variáveis, clique na variável local y. Em seguida, modifique as opções de exibição na página Variáveis ​​para160visualizar o conteúdo da variável y como um gráfico ou como elementos numéricos, conforme mostrado na figura a seguir. Você também pode usar essas diferentes visualizações para modificar o conteúdo da variável. Trabalhando com Scripts Multi-Line O exercício anterior demonstrou como usar a Janela de Comando para inserir comandos e visualizar a saída para esses comandos. O exercício também mostrou como configurar e modificar os conteúdos das variáveis160. O exercício a seguir mostra como usar o Editor de scripts para inserir scripts de várias linhas e criar scripts maiores e mais envolvidos. Complete as seguintes etapas para criar um script de várias linhas, execute o script, e, em seguida, exiba os resultados em vários formatos de exibição diferentes. Clique na guia Script para exibir a página Script. Copie160 e cole o seguinte script de arquivo no Script Editor na página Script. Observe que o script inclui sinais de porcentagem () que precedem as linhas de comentários. Use esses comentários para incluir a documentação de ajuda para o script. 160 Este exemplo calcula e grafica os gráficos BER teóricos para dois tipos de sistemas de comunicação (BPSK e QPSK) EboverNoindB 0:14 Objetivos do eixo x do enredo EbNo10. (EboverNoindB.10) PSK é anti-padrão xant sqrt (2.EbNo) QPSK é ortogonal xorth sqrt (EbNo) Use a função erfc como equivalente à função Q Qant 0.5erfc (xantsqrt (2)) Qorth 0.5erfc (xorthsqrt (2)) Trace a primeira semilogia do resultado (EboverNoindB, Qant) Mantenha o mesmo gráfico em Gráfico traçar a segunda grade em espera no semilogia (EboverNoindB, Qorth, r--) v eixo do eixo (v (1: 2) 10-6 .1) xlabel (EbN0 em dB) ylabel (Probabilidade de erro de bit) aguentar Legenda (Antipodal, Ortogonal) Click160 o botão Executar para executar o script, como mostrado na figura a seguir. O exemplo de script traça o valor teórico da taxa de erro de bits (BER) de um sistema de comunicação digital com dois esquemas de modulação digital diferentes. Este exemplo invoca várias funções internas para matemática, formatação de gráficos e outras tarefas. O MathScript inclui funções integradas para uma variedade de tarefas, incluindo categorias como matemática avançada, aproximação, áudio, matemática básica, operações bit a bit, operações booleanas, comandos de utilidade, operadores relacionais, aquisição de dados, processamento de sinal digital, design de filtro digital, digital Implementação de filtros, geometria combinatória, interface com bibliotecas compartilhadas (DLLs), álgebra linear, sistemas lineares, operações de matriz, criação de membros, modelagem de correção, ODE, otimização, traçado, operações polinomiais, construções de programação, funções de reescalonamento, operações de conjunto, manipulação de cordas, suporte Funções, funções temporizadas, funções de temporização, transformações, funções trigonométricas, análise de vetores, geração de formas de onda e geração de janelas. Além das funções incorporadas de MathScript, você também pode definir funções em arquivos. m. Conclua as seguintes etapas para definir uma função em um arquivo. m. Delete160all160commands na página do Script Editor. Então, copie e cole o seguinte script no Editor de scripts. O script define uma função chamada160 rad2deg. Esta função converte um parâmetro de entrada de rad para graus e retorna o resultado na saída de deg. Function deg rad2deg (rad) Este é um comentário Esta função converte de radianos em graus. Deg rad.180.pi Clique no botão Salvar160para salvar160 a função as160 rad2deg. m no diretório LabVIEW Data. Por padrão, o LabVIEW pesquisa o LabVIEW Data 160directory160 para funções definidas pelo usuário e scripts definidos pelo usuário. NOTA: use a página MathScript: Search Paths Options para configurar a lista de caminho de pesquisa padrão para MathScript. Selecione FileLabVIEW MathScript Properties para exibir a caixa de diálogo160 LabVIEW MathScript Properties e selecione MathScript: Search Paths da categoria list para exibir esta página. Na janela de comando. Insira os seguintes comandos e pressione a tecla 60Enter62 após cada comando. Calculando a 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 registros de deslocamento. O registro de deslocamento superior é inicializado com um elemento e, continuamente, adiciona o valor anterior com o novo valor. Este registro de deslocamento mantém o total das últimas medições x. Depois de dividir os resultados da função de adicionar com o valor pré-selecionado, o VI calcula o valor médio móvel. O registro de deslocamento de baixo contém uma matriz com a dimensão Média. Este registro 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 de elemento de substituição dentro do loop while e ele inicializa a matriz antes de entrar no loop. Este VI foi criado no LabVIEW 6.1. Bookmark amp ShareAdvantages e desvantagens do uso de SubVI Reentrant em LabVIEW FPGA Programação Problema: Posso ter um subVI reentrante no FPGA Como funciona? O que são os trade-offs do uso de subVI reentrantes versus não reentrantes No LabVIEW, um VI ou subVI está em falta Para ser não reentrante. Quando um subVI é reentrante, uma nova instância é aberta na memória cada vez que o subVI é chamado no diagrama de blocos. No caso de um subVI não reentrante, apenas uma instância é aberta na memória e todos os chamadores acessam esta instância. Na programação do LabVIEW FPGA, o padrão para um VI ou subVI está reentrante. Se um subVI reentrante é chamado várias vezes em um VI, cada instância ocupa recursos de hardware separados do dispositivo FPGA. Se um subVI não reentrante for usado, independentemente de ser chamado várias vezes em paralelo ou apenas uma vez em um VI, apenas um espaço é criado e usado para esse subVI. Razões para usar subVIs não reentrantes: para economizar espaço de hardware (imobiliário) e recursos no FPGA. VIs não reentrantes só usam um único espaço em hardware. Se o espaço for um problema no seu aplicativo FPGA, você pode colocar o código duplicado reutilizável em um subVI não reentrante para economizar espaço e minimizar o uso de recursos. SubVI não reentrante pode ser usado para armazenar e transferir dados entre loops independentes. Como o mesmo conjunto de portas é usado por todos os chamadores do subVI, os valores da última chamada do subVI estão disponíveis para o próximo chamador. Razões para usar subVI reentrantes: há apenas uma instância do subVI sendo usado em um VI. Quando existe apenas uma instância de um subVI, não faz diferença o que você escolher. Então, deixe-o como o padrão. Você tem o mesmo subVI em dois ou mais loops independentes. Deixar os subVIs não reentrantes em laços paralelos pode fazer com que os loops tenham que esperar um ao outro sempre que o subVI seja chamado ao mesmo tempo ou chamado enquanto ainda está sendo executado. Isso pode causar jitter indesejável e diminuir a execução. A velocidade é importante e você não está atingindo o limite de utilização de recursos no FPGA. Seu programa é relativamente pequeno, mas precisa manter o determinismo em altas freqüências. Os threads paralelos precisam ter sua própria instância do subVI para que nenhum dado seja transferido de uma chamada do subVI para o próximo. Mais informações podem ser encontradas nos artigos de ajuda do LabVIEW FPGA listados abaixo.

No comments:

Post a Comment