Monday 10 July 2017

Simulink Bloco De Filtro Móvel Médio


Sou novo no Simulink. Eu quero fazer a média dos dados recebidos (que vem depois de alguns intervalos) de um bloco. Por exemplo, dados emoldurados contínuos de 42 amostras estão fora de um bloco. Juntamente 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. Eu quero fazer a média dos mesmos dados da categoria. Como o primeiro quadro é de cat1, então, depois de 4 quadros, o quadro cat1 vem de novo. Agora, como devo fazer uma média desse novo quadro com o anterior, eu quero fazer isso para todas as categorias. Por favor, ajude-me nisso. Perguntou 26 de março às 13:35 Uma solução rápida e suja seria implementar um arraylista 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 medidas. Se você quiser apenas a média do quadro atual e do quadro anterior, você pode simplesmente fazer o meio (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 (ligue para av1, av2, etc.) e computa av1 alphaav1 (1-alpha) 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 26 de março 14 em 17: 39Como posso medir um valor médio de um sinal contínuo em Simulink A resposta a esta pergunta é dependendo da sua frequência de comutação ou frequência de ondulação. Você pode usar os métodos acima mencionados, desde que conheça a frequência da ondulação. Mesmo um filtro passa-baixa simples também pode funcionar. Mas se você está lidando com freqüência de comutação variável (como o controle de corrente de histerese), então você precisa de um filtro adaptável. Tente pesquisar palavras-chave como filtro de média móvel adaptável e freqüência variável. Jafar Sadeghi middot Universidade de Sistan e Baluchestan, simplesmente, integre-o por um bloco de 1s e, em seguida, divida por hora de sinal (relógio) usando um bloco de divisão. Objeto Objeto Salvar e Carregar saveObjectImpl define quais valores de propriedade e estado são salvos em um arquivo MAT quando você chama Salve nesse objeto. Se você não definir um método saveObjectImpl para sua classe de objeto System, somente propriedades públicas e propriedades com o atributo DiscreteState serão salvas. Salve o estado de um objeto somente se o objeto estiver bloqueado. Quando você carrega o objeto salvo, o objeto é carregado nesse estado bloqueado. Neste objeto do Sistema, os coeficientes do filtro são salvos se o objeto estiver bloqueado. LoadObjectImpl define o tipo de propriedade do objeto e os valores do estado do sistema carregados quando você carrega um arquivo MAT. LoadObjectImpl deve corresponder ao seu saveObjectImpl para garantir que todas as propriedades e dados salvos sejam carregados. Nota: Você deve configurar o Access protegido para este método. Uso do objeto do sistema no MATLAB Este exemplo usa o objeto System para remover o ruído de uma seqüência de pulso ruidosa. O comprimento do filtro médio móvel é de 30 amostras. Se você estiver usando o dspdemo. MovingAverageFilter predefinido. Substitua esse nome por MovingAverageFilter no construtor da classe, por exemplo, movingAverageFilter dspdemo. MovingAverageFilter (WindowLength, 30). Métodos de personalização do Simulink Você precisa definir mais alguns métodos para poder usar o objeto System em um bloco do sistema MATLAB do Simulink. Esses métodos não são necessários se você usar o objeto System apenas no MATLAB. GetOutputSizeImpl retorna os tamanhos de cada porta de saída. Para objetos do Sistema com uma entrada e uma saída e onde você deseja que os tamanhos de entrada e saída sejam iguais, você não precisa implementar este método. No caso do MovingAverageFilter. Há uma entrada e saída e o tamanho de cada uma é o mesmo. Portanto, remova esse método da definição de classe de MovingAverageFilter. GetDiscreteStateSpecificationImpl retorna o tamanho, o tipo de dados e a complexidade de uma propriedade. Essa propriedade deve ser uma propriedade de estado discreto. Você deve definir esse método se seu objeto System tiver propriedades de estado discreto e for usado no bloco MATLAB System. Neste exemplo, o método é usado para definir a propriedade do Estado. Escolha o seu país

No comments:

Post a Comment