Moving Average Filter Simulink


Criado em quarta-feira, 08 de outubro de 2008 20:04 Última atualização em quinta-feira, 14 de março de 2013 01:29 Escrito por Batuhan Osmanoglu Acessos: 40793 Média móvel em Matlab Muitas vezes eu me encontro na necessidade de promediar os dados que tenho para reduzir o ruído um pouco pouco. Eu escrevi algumas funções para fazer exatamente o que eu quero, mas os matlabs criados na função de filtro funcionam muito bem também. Aqui vou escrever sobre a média de dados 1D e 2D. O filtro 1D pode ser realizado usando a função de filtro. A função de filtro requer pelo menos três parâmetros de entrada: o coeficiente de numerador para o filtro (b), o coeficiente de denominador para o filtro (a) e os dados (X), é claro. Um filtro de média em execução pode ser definido simplesmente por: Para dados 2D, podemos usar a função Matlabs filter2. Para obter mais informações sobre como funciona o filtro, você pode digitar: Aqui está uma implementação rápida e suja de um filtro de média móvel 16 por 16. Primeiro precisamos definir o filtro. Como tudo o que queremos é contribuição igual de todos os vizinhos, podemos usar apenas a função. Nós dividimos tudo com 256 (1616), pois não queremos alterar o nível geral (amplitude) do sinal. Para aplicar o filtro, podemos simplesmente dizer o seguinte. Abaixo estão os resultados para a fase de um interferograma SAR. Neste caso, Range está no eixo Y e o Azimuth é mapeado no eixo X. O filtro tinha 4 pixels de largura em Gama e 16 pixels de largura em Azimuth. Documentação Objeto Salvando e carregando saveObjectImpl define quais valores de propriedade e estado são salvos em um arquivo MAT quando você chama salvar 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 System e os valores de estado 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. Objeto do sistema Uso 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 esse método. No caso do MovingAverageFilter. Existe 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. Esta 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

Comments

Popular Posts