Matlab de média móvel em tempo real


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 quadros / amostras pertencem a qual categoria. As tags são números de 1-6. A saída é aleatória. Eu quero média a mesma categoria de dados. Como o primeiro quadro é 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 computa 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 moldura cat1 entra. Respondeu Mar 26 14 em 17: 39Simple Moving Average (SMA) em Simulink S-função im tentando calcular o SMA de diferentes saídas que eu tenho de um Simulink Real-time bloco. Theres um WMA (Weighted Moving Average) bloco na Biblioteca de Simulink que pode permitir-me, que quando acoplado à saída que eu preciso para a média, pode dá o resultado im procurando. O problema é, esta é uma ponderada não uma média móvel simples. Eu tentei colocar todos os pesos iguais a 1 (o que dá a SMA), mas para isso preciso saber o número de pontos em cada ciclo. O problema é que o número de pontos em cada ciclo varia dependendo de um determinado parâmetro no código assim que o WMA é inútil porque eu não sei o número de pontos em cada ciclo eu tentei codificá-lo manualmente, primeiro no Matlab C, ive este seguinte Código: Count0 running0 head0 j1 klength (torque) SolverFTS50e-6 Solver Fixed Time Passo em parâmetros de configuração ModelFTS1 / (6N) fixado dentro do código dependendo de N (velocidade do motor) if (Contagem lt nbmax) (J)) / nbmax jj1 Este código funciona muito bem no Matlab, mas eu precisava codificar Em um bloco S-função Simulink. Eu tentei tudo apenas para ser capaz de definir um vetor ou um ponteiro que me permite memorizar os valores da saída que precisam ser média, mas a sua apenas não funciona. Qualquer ajuda sobre a conversão deste código para um código S-função Simulink seria apreciado Você pode pensar de sua lista de observação como segmentos que você tem bookmarked. Você pode adicionar tags, autores, threads e até mesmo resultados de pesquisa à sua lista de observação. Desta forma, você pode facilmente acompanhar os tópicos que você está interessado polegadas Para ver a sua lista de observação, clique no link quotMas newsreaderquot. Para adicionar itens à sua lista de observação, clique no link quotadd para assistir listquot na parte inferior de qualquer página. Como adicionar um item à minha lista de observação Pesquisa Para adicionar critérios de pesquisa à sua lista de observação, pesquise o termo desejado na caixa de pesquisa. Clique no botão quotAdicionar esta pesquisa ao meu link de listagem de visualizações na página de resultados de pesquisa. Você também pode adicionar uma tag à sua lista de observação procurando a tag com a diretiva quottag: tagnamequot onde tagname é o nome da tag que você gostaria de assistir. Autor Para adicionar um autor à sua lista de observação, vá para a página de perfil dos autores e clique no botão quotAdicionar este autor ao meu link de lista de observação no topo da página. Você também pode adicionar um autor à sua lista de observação, indo a um tópico que o autor postou e clicando no quotAdicionar este autor ao meu link listquot do relógio. Você será notificado sempre que o autor fizer um post. Tópico Para adicionar um tópico à sua lista de observação, vá para a página de discussão e clique no link Adicionar este tópico ao meu link de lista de atalhos na parte superior da página. Sobre Newsgroups, Newsreaders e MATLAB Central O que são newsgroups Os newsgroups são um fórum mundial aberto a todos. Grupos de notícias são usados ​​para discutir uma enorme variedade de tópicos, fazer anúncios e trocar arquivos. As discussões são encadeadas ou agrupadas de uma forma que lhe permite ler uma mensagem postada e todas as suas respostas em ordem cronológica. Isto torna mais fácil seguir o fio da conversa e ver whatrsquos já foi dito antes de postar sua própria resposta ou fazer uma nova postagem. O conteúdo do grupo de notícias é distribuído por servidores hospedados por várias organizações na Internet. As mensagens são trocadas e gerenciadas usando protocolos de padrão aberto. Nenhuma entidade única ldquoownsrdquo os newsgroups. Existem milhares de newsgroups, cada um abordando um único tópico ou área de interesse. O MATLAB Central Newsreader publica e exibe mensagens no newsgroup comp. soft-sys. matlab. Como faço para ler ou publicar nos newsgroups Você pode usar o leitor de notícias integrado no site da MATLAB Central para ler e publicar mensagens neste newsgroup. MATLAB Central é hospedado por MathWorks. As mensagens enviadas através do Central Newsreader do MATLAB são vistas por todos os grupos de notícias, independentemente de como eles acessam os grupos de notícias. Há várias vantagens em usar o MATLAB Central. Uma Conta A sua conta do MATLAB Central está ligada à sua Conta MathWorks para facilitar o acesso. Use o endereço de e-mail da sua escolha O MATLAB Central Newsreader permite que você defina um endereço de e-mail alternativo como seu endereço de postagem, evitando a confusão na sua caixa postal principal e reduzindo o spam. Controle de Spam A maioria de spam do newsgroup é filtrada para fora pelo newsreader central de MATLAB. Marcação As mensagens podem ser marcadas com um rótulo relevante por qualquer usuário conectado. As tags podem ser usadas como palavras-chave para encontrar arquivos particulares de interesse ou como uma maneira de categorizar suas postagens marcadas. Você pode optar por permitir que outras pessoas visualizem suas tags e você pode exibir ou pesquisar outras tags, bem como as da comunidade em geral. Tagging fornece uma maneira de ver tanto as grandes tendências e as menores, mais obscuras idéias e aplicações. Listas de vigilância A configuração de listas de observação permite que você seja notificado das atualizações efetuadas nas postagens selecionadas por autor, segmento ou qualquer variável de pesquisa. As notificações da sua lista de observações podem ser enviadas por email (resumo diário ou imediato), exibidas em Meu leitor de notícias ou enviadas via feed RSS. Outras maneiras de acessar os grupos de notícias Use um leitor de notícias através de sua escola, empregador ou provedor de serviços de internet Pagar pelo acesso de grupos de notícias de um provedor comercial Usar Grupos do Google Mathforum. org fornece um leitor de notícias com acesso ao grupo de notícias comp. soft sys. matlab Execute seu próprio servidor. Para obter instruções típicas, consulte: slyck / ngpage2 Select Your CountryDocumentation tsmovavg saída tsmovavg (tsobj, s, lag) retorna a média móvel simples para o objeto da série temporal financeira, tsobj. Lag indica o número de pontos de dados anteriores usados ​​com o ponto de dados atual ao calcular a média móvel. A saída tsmovavg (vetor, s, lag, dim) retorna a média móvel simples para um vetor. Lag indica o número de pontos de dados anteriores usados ​​com o ponto de dados atual ao calcular a média móvel. A saída tsmovavg (tsobj, e, timeperiod) retorna a média móvel ponderada exponencial para a série de tempo financeiro objeto, tsobj. A média móvel exponencial é uma média móvel ponderada, em que timeperiod especifica o período de tempo. As médias móveis exponenciais reduzem o desfasamento aplicando mais peso aos preços recentes. Por exemplo, uma média móvel exponencial de 10 períodos pondera o preço mais recente em 18,18. Percentual Exponencial 2 / (TIMEPER 1) ou 2 / (WINDOWSIZE 1). Saída tsmovavg (vetor, e, timeperiod, dim) retorna a média móvel ponderada exponencial para um vetor. A média móvel exponencial é uma média móvel ponderada, em que timeperiod especifica o período de tempo. As médias móveis exponenciais reduzem o desfasamento aplicando mais peso aos preços recentes. Por exemplo, uma média móvel exponencial de 10 períodos pondera o preço mais recente em 18,18. (2 / (intervalo de tempo 1)). A saída tsmovavg (tsobj, t, numperiod) retorna a média móvel triangular para a série de tempo financeiro objeto, tsobj. A média móvel triangular alisa os dados. Tsmovavg calcula a primeira média móvel simples com a largura da janela de ceil (numperíodo 1) / 2. Em seguida, calcula uma segunda média móvel simples na primeira média móvel com o mesmo tamanho de janela. Saída tsmovavg (vetor, t, numperiod, dim) retorna a média móvel triangular para um vetor. A média móvel triangular alisa os dados. Tsmovavg calcula a primeira média móvel simples com a largura da janela de ceil (numperíodo 1) / 2. Em seguida, calcula uma segunda média móvel simples na primeira média móvel com o mesmo tamanho de janela. A saída tsmovavg (tsobj, w, weights) retorna a média móvel ponderada para o objeto da série temporal financeira, tsobj. Fornecendo pesos para cada elemento na janela em movimento. O comprimento do vetor de peso determina o tamanho da janela. Se fatores de peso maiores forem usados ​​para preços mais recentes e fatores menores para preços anteriores, a tendência é mais responsiva a mudanças recentes. A saída tsmovavg (vetor, w, pesos, dim) retorna a média móvel ponderada para o vetor fornecendo pesos para cada elemento na janela em movimento. O comprimento do vetor de peso determina o tamanho da janela. Se fatores de peso maiores forem usados ​​para preços mais recentes e fatores menores para preços anteriores, a tendência é mais responsiva a mudanças recentes. A saída tsmovavg (tsobj, m, numperiod) retorna a média móvel modificada para o objeto da série de tempo financeiro, tsobj. A média móvel modificada é semelhante à média móvel simples. Considere o argumento numperiod como o atraso da média móvel simples. A primeira média móvel modificada é calculada como uma média móvel simples. Os valores subseqüentes são calculados adicionando o novo preço e subtraindo a última média da soma resultante. A saída tsmovavg (vetor, m, numperiod, dim) retorna a média móvel modificada para o vetor. A média móvel modificada é semelhante à média móvel simples. Considere o argumento numperiod como o atraso da média móvel simples. A primeira média móvel modificada é calculada como uma média móvel simples. Valores subseqüentes são calculados adicionando o novo preço e subtraindo a última média da soma resultante. Dim 8212 dimensão para operar ao longo de inteiro positivo com valor 1 ou 2 Dimensão para operar ao longo, especificado como um inteiro positivo com um valor de 1 ou 2. dim é um argumento de entrada opcional, e se não for incluído como uma entrada, o padrão Valor 2 é assumido. O padrão de dim 2 indica uma matriz orientada a linha, em que cada linha é uma variável e cada coluna é uma observação. Se dim 1. a entrada é assumida como sendo um vetor de coluna ou uma matriz orientada a coluna, onde cada coluna é uma variável e cada linha uma observação. E 8212 Indicador para vetor de caracteres de média móvel exponencial A média móvel exponencial é uma média móvel ponderada, em que timeperiod é o período de tempo da média móvel exponencial. As médias móveis exponenciais reduzem o desfasamento aplicando mais peso aos preços recentes. Por exemplo, uma média móvel exponencial de 10 períodos pondera o preço mais recente em 18,18. Porcentagem Exponencial 2 / (TIMEPER 1) ou 2 / (WINDOWSIZE 1) período de tempo 8212 Comprimento do período de tempo inteiro não negativo Select Your CountryI tem um conjunto de dados para o preço do ticker na bolsa de valores: time - price. Mas os intervalos entre pontos de dados não são iguais - de 1 a 2 minutos. Qual é a melhor prática para calcular a média móvel para tal caso Como fazê-lo em Matlab eu tendem a pensar que os pesos dos pontos devem depender do intervalo de tempo que foi passado desde o ponto anterior. Será que temos função em Matlab para calcular a média móvel com pesos personalizados dos pontos pediu Jul 30 14 at 19:01 Minha resposta é bastante semelhante a lakeshs um. Mas eu vou pensar o seu problema em termos de interpolação. Em primeiro lugar, uma média móvel, ou uma média de tempo de uma função, é a integral dela ao longo de um período de tempo, dividido pelo comprimento do tempo. No seu caso, o integral pode ser visto como uma soma, uma vez que, geralmente, em cada minuto o valor da função é o mesmo. No entanto, seus dados têm intervalos de tempo desiguais. Isso pode ser visto como pontos ausentes da função. Deixe-me explicar: para cada minuto x. Você deve ter um preço f (x). Mas por algumas vezes dizer x5. F (x) é indefinido. Uma das maneiras de se livrar das descontinuidades de uma função é a interpolação - atribua algum valor aos pontos em falta, de acordo com algumas regras de cálculo. O algoritmo mais simples é manter o valor anterior, que é essencialmente idéia lakeshs. Mas o benefício de pensar neste aspecto reside na capacidade de tornar seus dados mais precisos. Pode não se aplicar a um caso de mercado de ações, mas deve ser verdade em geral, como uma temperatura de medição ou velocidade do vento, que é garantido para mudar suavemente ao longo do tempo (em vez de manter constante durante 2 minutos e de repente mudar em um segundo). Você pode usar diferentes técnicas de interpolação para polir os dados. Polimento neste sentido é ok, porque de qualquer maneira você tem que usar o conceito de média. Uma boa interpolação deve aproximar os dados de um modelo que tenha provado funcionar com o problema real. CÓDIGO - Eu ajustei o intervalo máximo a 5 minutos para mostrar a diferença enorme entre os dois métodos. Depende da sua observação e experiência para decidir qual método (ou qualquer outro) é o melhor para prever o passado. Nota: os pontos indefinidos devem ser apresentados por NaN. Mas -1 parece mais fácil de jogar. Respondeu Jul 30 14 às 20: 40A método de detecção em tempo real QRS baseado em movendo-média incorporando-se com wavelet denoising Szi-Wen Chen a ,. Hsiao-Chen Chen a. Hsiao-Lung Chan b. Um Departamento de Engenharia Eletrônica, Chang Gung University, Kwei-Shan, Tao-Yuan 333, Taiwan b Departamento de Engenharia Elétrica, Chang Gung Universidade, Kwei-Shan, Tao-Yuan 333, Taiwan Recebido 23 de agosto de 2005. Revisado 21 de novembro de 2005. Aceito em 26 de novembro de 2005. Resumo Neste artigo, é proposto um método de computação simples baseado em média móvel para detecção de QRS em tempo real. Além disso, para o pré-processamento do sinal, o nosso algoritmo de detecção também incorpora um procedimento de remoção de onda baseado em wavelets para reduzir eficazmente o nível de ruído dos dados do eletrocardiograma (ECG). A estrutura computacional geral do algoritmo proposto permite que a detecção de QRS seja realizada e implementada em tempo real com alta eficiência de tempo e memória. O desempenho do algoritmo foi avaliado em relação à Base de Dados de Arritmia MIT-BIH. Os resultados numéricos indicaram que o novo algoritmo atingiu finalmente cerca de 99,5 da taxa de detecção para a base de dados padrão e também poderia funcionar de forma fiável mesmo sob a condição de má qualidade do sinal nos dados de ECG medidos. Palavras-chave Eletrocardiograma (ECG) Medição média QRS Detecção de Wavelet Fig. 1. A fig. 2. A fig. 3. A fig. 4. A fig. 5. Autor correspondente. Tel. 886 3 2118800x5792 fax: 886 3 2118507.

Comments

Popular posts from this blog

Assistir fx com

Alfa digital forex

Binary options fund manager