Tuesday 6 June 2017

Simulink Moving Average Filter Block


Eu sou novo em Simulink. Eu quero fazer a média dos dados de entrada (que vem após alguns intervalos) de um bloco. Por exemplo, os dados emoldurados contínuos de 42 amostras estão fora de um bloco. Junto com os dados emoldurados, há outra saída (tag) que informa que esses framesamples pertencem a qual categoria. As tags são números de 1-6. A saída é aleatória. Quero média a mesma categoria de dados. Como a primeira moldura é de cat1, então depois de 4 quadros frame cat1 novamente vem. Agora, como eu deveria média este novo quadro com o anterior Eu quero fazer isso para todas as categorias. Por favor, me ajude neste. Perguntou Mar 26 14 at 13:35 Uma solução rápida e suja seria implementar um arraylist para cada categoria. Inicialize a lista com NaNs e mantenha um contador para a última amostra de cada categoria. Usando a função média você pode obter a média de todas as medições. Se você quiser apenas a média do quadro atual e do quadro anterior, você pode simplesmente dizer (cat1 (n1) cat1 (n11)) onde cat1 é o arraylist para quadros da categoria 1 e n1 é o índice do quadro anterior em cat1 . Se você quer uma média móvel ponderada para uma implementação em tempo real, crie uma variável média para cada categoria (chamar av1, av2, etc.) e compute av1 alphaav1 (1-alfa) cat1 (n11) (onde alfa é o peso atribuído Para a média anterior (alphalt1) e cat1 (n11) é a nova medida) sempre que uma frame cat1 entra. Respondido Mar 26 14 at 17: 39 Média Móvel Ponderada (Obsoleto) Nota: O bloco Weighted Moving Average é obsoleto. Este bloco foi removido da biblioteca Discrete no R2008a e substituído pelo bloco do filtro FIR discreto. No entanto, os modelos existentes que contêm o bloco Weighted Moving Average continuar a trabalhar para compatibilidade com versões anteriores. Utilize o bloco Filtro FIR Discreto em novos modelos. Considere o uso da função slupdate para substituir a Média Móvel Ponderada pelo Filtro FIR Discreto em modelos existentes. As amostras de bloco Weighted Moving Average e mantém as entradas N mais recentes, multiplica cada entrada por um valor especificado (dado pelo parâmetro Weights) e as empilha em um vetor. Este bloco suporta tanto modos single-inputs single-output (SISO) como single-inputmulti-output (SIMO). Para o modo SISO, o parâmetro Weights é especificado como um vetor de linha. Para o modo SIMO, os pesos são especificados como uma matriz onde cada linha corresponde a uma saída separada. Você pode optar por especificar ou não o tipo de dados eo dimensionamento dos pesos na caixa de diálogo com o parâmetro Gain data type. O parâmetro condição inicial fornece os valores iniciais para todas as horas que precedem a hora de início. Você especifica o intervalo de tempo entre amostras com o parâmetro Sample time. O bloco Weighted Moving Average primeiro multiplica suas entradas pelo parâmetro Weights, converte esses resultados para o tipo de dados de saída usando os modos de arredondamento e estouro especificados e, em seguida, executa a soma. Suporte a tipo de dados O bloco Weighted Moving Average suporta todos os tipos de dados numéricos suportados pelo Simulink x00AE, incluindo os tipos de dados de ponto fixo. Parâmetros Especifique os pesos da média móvel de uma linha por saída. O parâmetro Weights é convertido de duplas para o tipo de dados especificado off-line usando round-to-mais próximo e saturação. Especifique os valores iniciais para todas as horas que precedem a hora de início. O parâmetro condição inicial é convertido de duplas para o tipo de dados de entrada off-line usando round-to-mais próximo e saturação. Especifique o intervalo de tempo entre as amostras. Para herdar o tempo de amostragem, defina esse parâmetro como -1. Consulte Especificar tempo de exemplo na documentação on-line para obter mais informações. Tipo de dados de saída Especifique o tipo de dados de saída. Você pode configurá-lo como: Uma regra que herda um tipo de dados, por exemplo, Herdar: Herdar por meio de propagação posterior O nome de um objeto de tipo de dados, por exemplo, um objeto Simulink. NumericType Uma expressão que é avaliada como um tipo de dados, por exemplo , Fixdt (1,16,0) Clique no botão Mostrar assistente de tipo de dados para exibir o Assistente de tipo de dados. O que ajuda a definir o parâmetro Tipo de dados de saída. Bloquear a escala de saída contra as alterações feitas pela ferramenta de escala automática Selecione para bloquear a escala das saídas contra alterações pela Ferramenta de ponto fixo. Modo de arredondamento de inteiros Modo de arredondamento para a saída de ponto fixo. Para obter mais informações, consulte Arredondamento. Saturação de máximo ou mínimo quando ocorrem sobrefluxos Se selecionado, o ponto fixo transborda saturar. Caso contrário, eles envolvem. Especifique o tipo de dados do parâmetro Weights. Você pode configurá-lo para: Uma regra que herda um tipo de dados, por exemplo, Herdar: Herdar via regra interna O nome de um objeto de tipo de dados, por exemplo, um objeto Simulink. NumericType Uma expressão que é avaliada como um tipo de dados, por exemplo , Fixdt (1,16,0) Clique no botão Mostrar assistente de tipo de dados para exibir o Assistente de tipo de dados. Que ajuda a definir o parâmetro de tipo de dados Gain. (Veja Especificar Tipos de Dados Usando o Assistente de Tipo de Dados para mais informações.) Suponha que você queira configurar este bloco para duas saídas (modo SIMO) onde a primeira saída é dada por y 1 (k) a 1 x22C5 u (k) b 1 x22C5 U (k x2212 1) c 1 x22C5 u (k x2212 2) a segunda saída é dada por y 2 (k) a 2 x 22 C 5 u (k) b 2 x 22 C 5 u (k x 2212 1) e os valores iniciais de u (k - 1) e u (k - 2) são dadas por ic1 e ic2. respectivamente. Para configurar o bloco Weighted Moving Average para este caso, você deve especificar o parâmetro Weights como a1 b1 c1 a2 b2 c2 em que c2 0 eo parâmetro condição inicial como ic1 ic2. CaracterísticaDocumentação Moving Average Método 8212 Método de média vertical Janela deslizante (padrão) Ponderação exponencial Janela deslizante 8212 Uma janela de comprimento O comprimento da janela se move sobre os dados de entrada ao longo de cada canal. Para cada amostra a janela se move, o bloco calcula a média sobre os dados na janela. Ponderação exponencial 8212 O bloco multiplica as amostras por um conjunto de factores de ponderação. A magnitude dos fatores de ponderação diminui exponencialmente à medida que a idade dos dados aumenta, nunca atingindo zero. Para calcular a média, o algoritmo soma os dados ponderados. Especifique o comprimento da janela 8212 Sinalizador para especificar o comprimento da janela em (padrão) desativado Quando você seleciona essa caixa de seleção, o comprimento da janela deslizante é igual ao valor especificado em Comprimento da janela. Quando você desmarca essa caixa de seleção, o comprimento da janela deslizante é infinito. Neste modo, o bloco calcula a média da amostra atual e todas as amostras anteriores no canal. Comprimento da janela 8212 Comprimento da janela deslizante 4 (padrão) positivo escalar inteiro O comprimento da janela especifica o comprimento da janela deslizante. Este parâmetro aparece quando você seleciona a caixa de seleção Especificar comprimento da janela. Esquecendo o fator 8212 Fator de ponderação exponencial 0,9 (padrão) real escalar real na faixa (0,1 Este parâmetro se aplica quando você define o Método para Ponderação exponencial Um fator de esquecimento de 0,9 dá mais peso aos dados mais antigos do que um fator de esquecimento de 0,1 Simples usando 8212 Tipo de simulação a ser executada Geração de código (padrão) Execução interpretada Simulação Usando código C gerado. A primeira vez que você executa uma simulação, Simulink x00AE gera código C. O código C é reutilizado para simulações subseqüentes, desde que o modelo não mude. Esta opção requer tempo de inicialização adicional, mas fornece mais rápido Simulação de modelo usando o interpretador MATLAB x00AE Esta opção reduz o tempo de inicialização, mas tem velocidade de simulação mais lenta do que o código geração . Mais Sobre Algoritmos Método de Janela Deslizante No método de janela deslizante, a saída para cada amostra de entrada é a média da amostra atual e das amostras anteriores de Len - 1. Len é o comprimento da janela. Para calcular as primeiras saídas Len - 1, quando a janela ainda não tem dados suficientes, o algoritmo preenche a janela com zeros. Como exemplo, para calcular a média quando a segunda amostra de entrada chega, o algoritmo preenche a janela com Len - 2 zeros. O vector de dados, x. É então as duas amostras de dados seguido de Len - 2 zeros. Quando você define a propriedade SpecifyWindowLength como false. O algoritmo escolhe um comprimento de janela infinito. Neste modo, a saída é a média móvel da amostra atual e todas as amostras anteriores no canal. Método de ponderação exponencial No método de ponderação exponencial, a média móvel é calculada recursivamente utilizando estas fórmulas: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1w N. x03BB) xx00AF N x2212 X03BB) x N x x00AF N. x03BB 8212 Média móvel na amostra atual x N 8212 Dados atuais amostra de entrada x x00AF N x2212 1. x03BB 8212 Média móvel na amostra anterior 955 8212 Fator w N. x03BB 8212 Fator de ponderação aplicado à amostra de dados corrente (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Efeito dos dados anteriores sobre a média Para a primeira amostra, onde N 1, o algoritmo escolhe w N. x03BB 1. Para a próxima amostra, o fator de ponderação é atualizado e utilizado para calcular a média, de acordo com a equação recursiva. À medida que a idade dos dados aumenta, a magnitude do factor de ponderação diminui exponencialmente e nunca atinge zero. Em outras palavras, os dados recentes têm mais influência na média atual do que os dados mais antigos. O valor do fator de esquecimento determina a taxa de variação dos fatores de ponderação. Um fator de esquecimento de 0,9 dá mais peso aos dados mais antigos do que um fator de esquecimento de 0,1. Um fator de esquecimento de 1,0 indica memória infinita. Todas as amostras anteriores recebem um peso igual. Objetos do sistema Selecione seu país

No comments:

Post a Comment