Friday 8 September 2017

Moving Average Scilab


Filtro médio móvel (filtro MA) Carregando. O filtro de média móvel é um filtro simples de passagem baixa FIR (Finite Impulse Response) comumente usado para suavizar uma série de datasigns amostrados. É preciso M amostras de entrada de cada vez e leva a média dessas M-amostras e produz um único ponto de saída. É uma estrutura simples de LPF (Low Pass Filter) que é útil para cientistas e engenheiros para filtrar o componente ruidoso indesejado dos dados pretendidos. À medida que o comprimento do filtro aumenta (o parâmetro M), a suavidade da saída aumenta, enquanto as transições acentuadas nos dados são tornadas cada vez mais contundentes. Isso implica que este filtro possui uma excelente resposta ao domínio do tempo, mas uma resposta de freqüência fraca. O filtro MA executa três funções importantes: 1) Demora os pontos de entrada M, calcula a média desses pontos M e produz um único ponto de saída 2) Devido aos cálculos de computação envolvidos. O filtro introduz uma quantidade definida de atraso 3) O filtro atua como um filtro de passagem baixa (com resposta de domínio de freqüência fraca e uma resposta de domínio de tempo bom). Código Matlab: o código Matlab seguinte simula a resposta do domínio do tempo de um filtro M-point Moving Average e também traça a resposta de freqüência para vários comprimentos de filtro. Resposta de Domínio de Tempo: no primeiro gráfico, temos a entrada que está entrando no filtro de média móvel. A entrada é ruidosa e nosso objetivo é reduzir o ruído. A próxima figura é a resposta de saída de um filtro de média móvel de 3 pontos. Pode deduzir-se da figura que o filtro de média móvel de 3 pontos não fez muito na filtragem do ruído. Aumentamos os toques de filtro para 51 pontos e podemos ver que o ruído na saída reduziu muito, o que é retratado na próxima figura. Aumentamos as torneiras até 101 e 501 e podemos observar que mesmo - embora o ruído seja quase zero, as transições são desviadas drasticamente (observe a inclinação de cada lado do sinal e compare-os com a transição ideal da parede de tijolos em Nossa contribuição). Resposta de frequência: a partir da resposta de freqüência, pode-se afirmar que o roll-off é muito lento ea atenuação da faixa de parada não é boa. Dada esta atenuação da faixa de parada, claramente, o filtro de média móvel não pode separar uma faixa de freqüências de outra. Como sabemos que um bom desempenho no domínio do tempo resulta em desempenho fraco no domínio da freqüência e vice-versa. Em suma, a média móvel é um filtro de suavização excepcionalmente bom (a ação no domínio do tempo), mas um filtro de passagem baixa excepcionalmente ruim (a ação no domínio da freqüência) Links externos: Livros recomendados: Primary SidebarMaster Scilab 1 O que é o Scilab 2 Sobre este documento 3 Download e instalação do Scilab 4 O ambiente Scilab 5 Scilab Ajuda 6 Scripts 7 Operações da matriz 8 Traçado 9 Funções de dinâmica e controle 9.1 Simulação de funções de transferência de tempo contínuo 9.2 Resposta de freqüência de funções de transferência de tempo contínuo 9.3 Simulação de discreto - funções de transferência de tempo 9.4 Resposta de freqüência de funções de transferência de tempo discreto 9.5 Simulação de modelos de espaço de estado de tempo contínuo 9.6 Discretizando sistemas de tempo contínuo 9.7 Derivando funções de transferência de modelos de espaço de estado 9.8 Combinação de modelos: série, paralelo e feedback 9.9 Frequência Análise de resposta e simulação de sistemas de feedback (controle) 9.10 Controlador ótimo LQ (linear quadratic) 9.11 Kalman Filtro ganha 1 O que é Scilab Citado da página inicial do Scilab no scilab. org: o Scilab é um pacote de software científico gratuito para computação numérica que oferece um poderoso ambiente de computação aberta para aplicações científicas e de engenharia. O Scilab é um software de código aberto. Desde 1994 distribuiu-se livremente juntamente com o código-fonte através da Internet. Atualmente, é usado em ambientes educacionais e industriais em todo o mundo. O Scilab inclui centenas de funções matemáticas com a possibilidade de adicionar interativamente programas de vários idiomas (C, C, Fortran). Tem estruturas de dados sofisticadas (incluindo listas, polinômios, funções racionais, sistemas lineares), um intérprete e uma linguagem de programação de alto nível. O Scilab é bastante semelhante ao Matlab, e a gama de funções é comparável. O maior benefício do Scilab é, claro, que é gratuito :-). Além disso, o Scilab é fácil e rápido de instalar (e você não precisa reiniciar seu PC antes de começar a usá-lo). Scilab também é semelhante a Octave, que também é livre Octave é mais parecido com o Matlab do que com o Scilab. Um problema com a Octave foi que o planejamento de dados é mais pesado na Octave do que no Scilab. (Você pode ter o Scilab e o Octave instalados :-) Uma coisa legal sobre o Scilab é que você obtém o Scicos automaticamente instalado quando você instala o Scilab. A Scicos é uma ferramenta de simulação baseada em diagramas de blocos, semelhante ao módulo de simulação Simulink e LabVIEW. 2 Sobre este documento Este tutorial orienta você nos passos para o domínio do Scilab. Escrevi este documento porque não encontrei um tutorial apropriado na página inicial do Scilab. Eu suponho que você faça todas as atividades nas caixas azuis, como aqui: Atividades são mostradas em caixas azuis como esta. Envie comentários ou sugestões para melhorar este tutorial por e-mail para finn. haugenhit. no. 3 Download e instalação do Scilab O arquivo de instalação, que é um arquivo. exe, está disponível para download no scilab. org. Depois de ter baixado este arquivo exe, abra (execute) e siga as instruções na tela. (Não é necessário reiniciar o seu PC antes de iniciar o Scilab após a instalação). Observe que ao instalar o Scilab, você também obtém o Scicos instalado. 4 O ambiente do Scilab Para iniciar o Scilab: clique duas vezes no ícone do Scilab na área de trabalho do PC ou vá para Iniciar todos os programas Scilab scilab (não selecione o console do scilab). Iniciar o Scilab abre a janela de comando do Scilab, veja a figura abaixo. Os comandos Scilab da janela de comando do Scilab são executados na linha de comando, digitando o comando e clicando no botão Enter no teclado. Execute 11 (digite 11 na linha de comando e termine com o botão Enter). O resultado é mostrado na janela de comando (veja a figura acima). 5 Scilab Help Abra o Scilab Help clicando no botão Ajuda na barra de ferramentas (o botão com o ponto de interrogação). A janela de Ajuda é mostrada abaixo. Janela de Ajuda do Scilab Como você vê na janela de Ajuda, os comandos e funções estão organizados em várias categorias. Por exemplo, clique na categoria Funções elementares para ver as funções nessa categoria. As funções são como mostrado na figura acima. Para obter um texto de ajuda detalhado sobre uma função específica, clique nessa função. Clique na função abs (na categoria Funções elementares). O texto de ajuda detalhado para a função abs é mostrado na figura abaixo. O texto de ajuda detalhado para a função abs Você também pode procurar uma função primeiro clicando no botão Pesquisar na janela da Ajuda (o botão da lupa). Procure sine. O resultado da pesquisa é uma lista de funções relevantes, veja a figura abaixo. O resultado da busca por sine 5 Operações básicas do Scilab Normalmente você usa variáveis ​​em seus cálculos. Para criar a variável a e atribuir a ela o resultado de 11: A seguir, (Enter) não será exibido, mas presume-se que você clique no botão Enter. A resposta é mostrada na janela de comando (mas mostrado aqui). Agora, tente (lembre-se de digitar o ponto-e-vírgula): A resposta não é mostrada na janela de comando. O comando foi realmente executado, mas, devido ao ponto e vírgula, a resposta não foi mostrada. Para verificar se a variável b realmente existe: como você vê na resposta (não mostrada aqui), d existe, enquanto D não existe (desde que não criamos D). As variáveis ​​do Scilab existem no espaço de trabalho. Há duas maneiras de ver o conteúdo de um espaço de trabalho: Executando o comando que na linha de comando, que apenas lista as variáveis ​​na janela de comando. Menu Variáveis ​​do navegador de aplicativos. Que abre a janela Variáveis ​​do navegador. Execute o comando que. A resposta deve ser semelhante à que se mostra na figura abaixo. (As variáveis ​​definidas pelo usuário são mostradas entre muitas outras variáveis.) A resposta do comando que seleciona o menu Variáveis ​​do navegador de aplicativos. Isso abre a janela Variáveis ​​do navegador, veja a figura abaixo. Janela Variáveis ​​do Navegador A janela Variáveis ​​do Navegador contém na parte inferior um número de botões de utilitário (não descrito em detalhes aqui). Observe que, se você sair do Scilab, as variáveis ​​que você criou no espaço de trabalho são excluídas. Você pode salvar variáveis ​​em um arquivo usando a função salvar. No entanto, se você realmente precisa salvar variáveis ​​que são resultado de algumas expressões do Scilab, então você deve considerar escrever essas expressões em um script do Scilab em vez disso. Mais sobre scripts em breve. Existem várias maneiras de inserir números (o pi é uma constante incorporada). Aqui estão alguns exemplos ilustrativos (eu suponho que você veja os princípios desses exemplos): 0.1, 1e-1, 23, exp (1), pi A resposta é mostrada na figura abaixo. Várias maneiras de inserir números Você pode determinar como os números são exibidos na janela de comando com a função de formato, mas a representação interna do número no Scilab é independente se o formato de exibição. Não analisaremos os detalhes. Se precisar alterar o formato de exibição, consulte a Ajuda do Scilab. As funções do Scilab são vetadas, ou seja, as funções podem ser chamadas com argumentos vetoriais. (Um vetor é simplesmente uma matriz unidimensional. Voltaremos a operações vetoriais e matriciais em uma seção posterior.) No exemplo a seguir, primeiro um vetor do nome t é criado, então este vetor é usado como um argumento no Função seno (a função seno assume que o argumento é um ângulo em radianos). A resposta é mostrada na figura abaixo. O resultado da função vectorizada chamada sin (0.1t) onde t é um vetor Um script Scilab é um arquivo de texto do nome. sce contendo comandos Scilab. Você pode editar o script usando o editor incorporado do Scipad. (Os scripts também podem ter nomes. sci. O nome padrão ao salvar um fle em Scipad é. sce.) Você deve usar scripts mesmo para pequenas tarefas porque, desta forma, você tem todos os seus quotprojectsquot salvos em arquivos que são bons para documentação e também Muito conveniente quando você deseja executar todos os seus comandos depois de algumas mudanças. Agora vamos criar um script simples e depois executá-lo. Executar um script é o mesmo que executar todos os comandos (de cima para baixo no script) na linha de comando um a um. Inicie o editor Scipad selecionando o menu Editor (ou executando o comando Scipad). Em seguida, insira os comandos mostrados na figura abaixo. O editor Scipad é mostrado na figura abaixo. Observe que barras duplas () são usadas para iniciar comentários no script. Script Scilab do script. sce nome aberto no editor do Scipad Observe que você pode abrir vários scripts na mesma janela do Scipad com o menu Arquivo Novo. Salve o script com o nome script1.sce (é claro que algum outro nome pode ser usado) no diretório (pasta) C: temp ou em qualquer outro diretório que você preferir. Há duas maneiras de executar o script script1.sce: Com o menu Execute Load in Scilab no Scipad Ao executar o comando exec script1.sce na linha de comando Vamos tentar o menu Execute primeiro: Selecione o menu Executar carga no Scilab no Scipad . O resultado é mostrado na janela de comando. Scf (1) Abre (novo) figura com ID 1. (scf set current fig) plot (y) Plots y contra índices y (inteiros ao longo do eixo x) Abaixo, mostra a figura Scilab com o gráfico. Ao longo do eixo dos x são os índices do vetor y. Os índices são inteiros de 1 a 101. Antes de continuar com mais comandos de traçado, vamos dar uma olhada em alguns botões e menus na janela Gráficos. Clique no botão GED na janela da figura. Isso abre o botão clicando no botão GED, abre o Editor Gráfico, veja a figura abaixo. O editor de gráficos Com o editor de gráficos, você pode alterar as cores das linhas, o estilo da linha, adicionar rótulos ao eixo, adicionar grade, etc. As várias opções não serão descritas aqui, pois é bastante fácil investigar as possibilidades sozinho. Muitas das opções no Editor de Gráficos podem, alternativamente, ser configuradas com opções para o comando da trama. Isso será mostrado em exemplos subseqüentes. Você pode produzir vários arquivos gráficos a partir do enredo: selecione o menu Exportar arquivo na janela da figura. Isso abre a janela de diálogo Exportação mostrada abaixo. A caixa de diálogo Exportar na janela da figura Se você quiser criar um arquivo graphis para colocar em um processador de documentos, como MS Word ou Scientific Workplace, você deve selecionar Enhanced Meta File (EMF), que é um formato de vetor vetorial, o que significa que a imagem Pode ser ampliada e ainda parece nítida. No entanto, os arquivos EMF não podem ser usados ​​em documentos da Web nativos, p. Em arquivos HTML para serem exibidos em um navegador da Web. Neste caso, você deve selecionar o formato GIF (este formato não oferece gráficos vetoriais). Continuamos a olhar para mais opções para o comando plot. Suponha que vamos traçar y contra t na Figura 1, que é a mesma figura que usamos acima. Isso é feito com o argumento de comando (t, y) onde é claro que os vetores t e y têm o mesmo comprimento (mesmo número de elementos). Se você apenas usa o comando plot, o novo argumento adiciona ao gráfico anterior, mostrando duas (ou mais curvas). Normalmente, isso não é o que você deseja. Para limpar o gráfico anterior, usamos o comando clf (clear figure) antes de usar o comando plot. Limpa uma trama e traça na mesma figura: scf (1) Define a figura 1 para se tornar a figura atual clf limpa o gráfico da figura (t, y) Gráficos na figura 1 O resultado é mostrado na figura abaixo. Observe que o eixo x agora contém os valores de t. Suponha que você deseja mostrar o enredo em uma nova Figura 2 em vez da Figura 1 anteriormente: scf (2) Define a Figura 2 para se tornar o gráfico de figuras atual (t, y) Gráficos na figura 1

No comments:

Post a Comment