Sunday 16 July 2017

Média Em Movimento Versus Convolução


Usando o MATLAB, como posso encontrar a média móvel de 3 dias de uma coluna específica de uma matriz e acrescentar a média móvel a essa matriz, estou tentando calcular a média móvel de 3 dias de baixo para o topo da matriz. Eu forneci o meu código: Dada a seguinte matriz a e máscara: tentei implementar o comando conv, mas recebo um erro. Aqui está o comando conv que eu tentei usar na 2ª coluna da matriz a: A saída que eu desejo é dada na seguinte matriz: Se você tiver alguma sugestão, eu apreciaria muito. Obrigado Para a coluna 2 da matriz a, eu estou informando a média móvel de 3 dias da seguinte forma e colocando o resultado na coluna 4 da matriz a (I renomeou a matriz a como 39desiredOutput39 apenas para ilustração). A média de 3 dias de 17, 14 e 11 é de 14 a média de 3 dias de 14, 11, 8 é 11, a média de 3 dias de 11, 8, 5 é de 8 e a média de 3 dias de 8, 5, 2 é 5. Não há valor nas 2 linhas inferiores para a 4ª coluna porque a computação para a média móvel de 3 dias começa na parte inferior. A saída 39valid39 não será mostrada até pelo menos 17, 14 e 11. Espero que isso faça sentido ndash Aaron 12 de junho 13 às 1:28 Em geral, isso ajudaria se você mostrar o erro. Neste caso, você está fazendo duas coisas erradas: primeiro sua convolução precisa ser dividida por três (ou o comprimento da média móvel) Em segundo lugar, observe o tamanho de c. Você não pode simplesmente se encaixar em c. A maneira típica de obter uma média móvel seria usar o mesmo: mas isso não se parece com o que você deseja. Em vez disso, você é obrigado a usar algumas linhas: o Guia de cientistas e engenheiros para processamento de sinal digital por Steven W. Smith, Ph. D. Capítulo 17: Filtros personalizados A convolução não desejada é um problema inerente na transferência de informações analógicas. Por exemplo, tudo o que se segue pode ser modelado como uma convolução: imagem embaçada em uma câmera instável, ecos em chamadas telefônicas de longa distância, largura de banda finita de sensores analógicos e eletrônicos, etc. Deconvolution é o processo de filtragem de um sinal para compensar Uma convolução indesejada. O objetivo da deconvolução é recriar o sinal tal como existia antes da ocorrência da convolução. Isto requer geralmente as características da convolução (isto é, o impulso ou a resposta de frequência) a serem conhecidas. Isso pode ser distinguido da desconconversão cega. Onde as características da convolução parasitária não são conhecidas. A desconvolução cega é um problema muito mais difícil que não possui solução geral, e a abordagem deve ser adaptada à aplicação específica. A descoberta é quase impossível de entender no domínio do tempo. Mas bastante direto no domínio da freqüência. Cada sinusóide que compõe o sinal original pode ser alterado em amplitude e ou fase à medida que passa através da convolução indesejada. Para extrair o sinal original, o filtro de deconvolução deve desfazer essas mudanças de amplitude e fase. Por exemplo, se a convolução muda uma amplitude de sinusoides em 0,5 com uma mudança de fase de 30 graus, o filtro de deconvolução deve amplificar a sinusoide em 2.0 com uma mudança de fase de -30 graus. O exemplo que usamos para ilustrar a deconvolução é um detector de raios gama. Conforme ilustrado na Fig. 17-3, este dispositivo é composto por duas partes, um cintilador e um detector de luz. Um cintilador é um tipo especial de material transparente, como o iodeto de sódio ou o germanato de bismuto. Esses compostos alteram a energia em cada raio gama em uma breve explosão de luz visível. Esta luz é então convertida em um sinal eletrônico por um detector de luz, como um tubo de fotodiodo ou fotomultiplicador. Cada impulso produzido pelo detector parece ser um exponencial unilateral. Com algum arredondamento dos cantos. Esta forma é determinada pelas características do scintillator usado. Quando um raio gama deposita sua energia no cintilador, átomos próximos são excitados para um nível de energia mais elevado. Esses átomos desexcitam aleatoriamente. Cada um produzindo um único fóton de luz visível. O resultado líquido é um pulso de luz cuja amplitude decai em algumas centenas de nanosegundos (para iodeto de sódio). Uma vez que a chegada de cada raio gama é um impulso. O impulso de saída do detector (isto é, o exponencial unilateral) é a resposta de impulso do sistema. A Figura 17-4a mostra pulsos gerados pelo detector em resposta a raios gama que chegam aleatoriamente. A informação que gostaríamos de extrair deste sinal de saída é a amplitude de cada pulso, que é proporcional à energia do raio gama que o gerou. Esta é uma informação útil porque a energia pode contar coisas interessantes sobre o raio gama. Por exemplo, pode fornecer informações médicas sobre um paciente, contar a idade de uma galáxia distante, detectar uma bomba na bagagem da linha aérea, etc. Tudo seria bom se apenas um raio de exposição ocasional fosse detectado, mas geralmente não é esse o caso. Conforme mostrado em (a), dois ou mais pulsos podem se sobrepor, deslocando a amplitude medida. Uma resposta a este problema é deconvolver o sinal de saída dos detectores, tornando os pulsos mais estreitos para que ocorra menos acumulação. Idealmente, gostaríamos que cada pulso pareça com o impulso original. Como você pode suspeitar, isso não é possível e devemos nos contentar com um pulso de comprimento finito, mas significativamente mais curto do que o pulso detectado. Este objetivo está ilustrado na Fig. 17-4b. Mesmo que o sinal do detector tenha suas informações codificadas no domínio do tempo. Grande parte da nossa análise deve ser feita no domínio da freqüência. Onde o problema é mais fácil de entender. A Figura 17-5a é o sinal produzido pelo detector (algo que sabemos). A figura (c) é o sinal que desejamos ter (também algo que conhecemos). Este pulso desejado foi arbitrariamente selecionado para ter a mesma forma que uma janela Blackman, com um comprimento de cerca de um terço do pulso original. Nosso objetivo é encontrar um kernel de filtro, (e), que quando convolvido com o sinal em (a), produz o sinal em (c). Na forma da equação: se um e c. E dado um e c. Encontre e. Se esses sinais fossem combinados por adição ou multiplicação em vez de convolução, a solução seria fácil: a subtração é usada para desagregar e a divisão é usada para se de-multiplicar. A convolução é diferente, não existe uma simples operação inversa que possa ser chamada deconvolução. A convolução é muito desordenada para ser desfeita manipulando diretamente os sinais do domínio do tempo. Felizmente, esse problema é mais simples no domínio da frequência. Lembre-se, a convolução em um domínio corresponde à multiplicação no outro domínio. Referindo-se novamente aos sinais na Fig. 17-5: se b vezes f d. E dado b e d. Encontre f. Este é um problema fácil de resolver: a resposta de freqüência do filtro, (f), é o espectro de freqüência do pulso desejado, (d), dividido pelo espectro de freqüência do pulso detectado, (b). Como o pulso detectado é assimétrico, ele terá uma fase diferente de zero. Isso significa que uma divisão complexa deve ser usada (ou seja, uma fase de amplitude de amplitude dividida por outra fase de amplitude de amplitude). Caso você tenha esquecido, o Capítulo 9 define como executar uma divisão complexa de um espectro por outro. O kernel de filtro necessário, (e), é encontrado a partir da resposta de freqüência pelo método de filtro personalizado (IDFT, shift, truncate, amp multiplicar por uma janela). Há limites para a melhoria que a deconvolução pode fornecer. Em outras palavras, se você ganha ganância, as coisas vão desmoronar. Obter ganancioso neste exemplo significa tentar fazer o pulso desejado excessivamente estreito. Vamos ver o que acontece. Se o pulso desejado for mais estreito, seu espectro de freqüência deve conter mais componentes de alta freqüência. Como esses componentes de alta freqüência possuem uma amplitude muito baixa no pulso detectado, o filtro deve ter um ganho muito alto nessas freqüências. Por exemplo, (f) mostra que algumas frequências devem ser multiplicadas por um fator de três para atingir o pulso desejado em (c). Se o pulso desejado for mais estreito, o ganho do filtro de deconvolução será ainda maior em altas freqüências. O problema é que pequenos erros são muito implacáveis ​​nessa situação. Por exemplo, se alguma frequência for amplificada em 30, quando apenas 28 forem necessários, o sinal desconhecido será provavelmente uma bagunça. Quando a deconvolução é empurrada para maiores níveis de desempenho, as características da convolução indesejada devem ser compreendidas com maior precisão e precisão. Sempre são desconhecidos em aplicações do mundo real, causadas por vilões como: ruído eletrônico, derrame de temperatura, variação entre dispositivos, etc. Essas incógnitas estabelecem um limite sobre o bom funcionamento da deconvolução. Mesmo que a convolução indesejada seja perfeitamente compreendida, ainda existe um fator que limita o desempenho da deconvolução: o ruído. Por exemplo, a maioria das convoluções indesejadas assume a forma de um filtro passa-baixa, reduzindo a amplitude dos componentes de alta freqüência no sinal. Deconvolution corrige isso ampliando essas freqüências. No entanto, se a amplitude desses componentes cai abaixo do ruído inerente do sistema, a informação contida nessas frequências é perdida. Nenhuma quantidade de processamento de sinal pode recuperá-lo. Se foi para sempre. Adios Goodbye Sayonara Tentando recuperar esses dados só amplificará o ruído. Como caso extremo, a amplitude de algumas frequências pode ser completamente reduzida para zero. Isso não apenas oblitera a informação, ele tentará fazer com que o filtro de deconvolução tenha um ganho infinito nessas freqüências. A solução: conceba um filtro de deconvolução menos agressivo e coloca limites sobre quanto ganho é permitido em qualquer uma das freqüências. Quão longe você pode ir Como é ganancioso é muito ganancioso Isso depende totalmente do problema que você está atacando. Se o sinal é bem comportado e com baixo ruído, uma melhoria significativa provavelmente pode ser feita (pense um fator de 5-10). Se o sinal muda ao longo do tempo, não é especialmente bem compreendido, ou é barulhento, você também não fará muito bem (pense um fator de 1-2). A deconvolução bem-sucedida envolve uma grande quantidade de testes. Se funcionar em algum nível, tente ir mais longe, você saberá quando ele se desfaz. Nenhuma quantidade de trabalho teórico permitirá que você ignore esse processo iterativo. Deconvolution também pode ser aplicada em sinais codificados de domínio de freqüência. Um exemplo clássico é a restauração de gravações antigas do famoso cantor de ópera, Enrico Caruso (1873-1921). Essas gravações foram feitas com equipamentos muito primitivos por padrões modernos. O problema mais significativo é a ressonância do longa buzina de gravação tubular usada para reunir o som. Sempre que o cantor atinge uma dessas freqüências de ressonância, a intensidade da gravação aumenta abruptamente. A deconvolução digital melhorou a qualidade subjetiva dessas gravações reduzindo os pontos altos na música. Nós apenas descreveremos o método geral para uma descrição detalhada, veja o artigo original: T. Stockham, T. Cannon e R. Ingebretsen, Deconvolution Blind Through Digital Signal Processing, Proc. IEEE. Vol. 63, abril de 1975, pp. 678-692. A Figura 17-6 mostra a abordagem geral. O espectro de frequência do sinal de áudio original é ilustrado em (a). A figura (b) mostra a resposta de freqüência do equipamento de gravação, uma curva relativamente suave, exceto para vários picos de ressonância afiada. O espectro do sinal gravado, mostrado em (c), é igual ao espectro verdadeiro, (a), multiplicado pela resposta de freqüência desigual, (b). O objetivo da deconvolução é contrariar a convolução indesejada. Em outras palavras, a resposta de freqüência do filtro de deconvolução, (d), deve ser o inverso de (b). Ou seja, cada pico em (b) é cancelado por um mergulho correspondente em (d). Se este filtro fosse perfeitamente projetado, o sinal resultante teria um espectro, (e), idêntico ao do original. É a captura: o equipamento de gravação original foi descartado e sua resposta em freqüência (b) é um mistério. Por outras palavras, trata-se de um problema de deconvolução cega, dado apenas (c), como podemos determinar (d) Os problemas de desconvolução cega são geralmente atacados fazendo uma estimativa ou suposição sobre os parâmetros desconhecidos. Para lidar com este exemplo, o espectro médio da música original é suposto combinar o espectro médio da mesma música realizada por um atual cantor usando equipamentos modernos. O espectro médio é encontrado pelas técnicas do Capítulo 9: quebre o sinal em um grande número de segmentos, tome a DFT de cada segmento, converta-se em forma polar e, em seguida, aumente as magnitudes em conjunto. No caso mais simples, a resposta de freqüência desconhecida é tomada como o espectro médio da gravação antiga, dividida pelo espectro médio da gravação moderna. (O método utilizado por Stockham et al. É baseado em uma técnica mais sofisticada chamada processamento homomórfico, fornecendo uma melhor estimativa das características do sistema de gravação) .29 Setembro, 2013 Média móvel pela convolução O que é a média móvel e o que é bom Para Como a média móvel é feita usando a convolução A média móvel é uma operação simples usada geralmente para suprimir o ruído de um sinal: estabelecemos o valor de cada ponto para a média dos valores em sua vizinhança. Por uma fórmula: Aqui x é a entrada e y é o sinal de saída, enquanto o tamanho da janela é w, supostamente estranho. A fórmula acima descreve uma operação simétrica: as amostras são retiradas de ambos os lados do ponto real. Abaixo está um exemplo da vida real. O ponto em que a janela é colocada é realmente vermelho. Valores fora de x devem ser zeros: para brincar e ver os efeitos da média móvel, dê uma olhada nesta demonstração interativa. Como fazê-lo por convolução Como você pode ter reconhecido, o cálculo da média móvel simples é semelhante à convolução: em ambos os casos, uma janela é deslizada ao longo do sinal e os elementos na janela são resumidos. Então, tente dar o mesmo ao usar a convolução. Use os seguintes parâmetros: A saída desejada é: Como primeira abordagem, vamos tentar o que obtem ao convolver o sinal x pelo seguinte k kernel: a saída é exatamente três vezes maior do que o esperado. Também pode ser visto que os valores de saída são o resumo dos três elementos na janela. É porque durante a convolução a janela é deslizada, todos os elementos nele são multiplicados por um e depois resumidos: yk 1 cdot x 1 cdot x 1 cdot x Para obter os valores desejados de y. A saída deve ser dividida por 3: por uma fórmula que inclua a divisão: Mas não seria o ideal para fazer a divisão durante a convolução. Aqui vem a idéia ao reorganizar a equação: então usaremos o seguinte k kernel: desta forma, vamos Obtenha o resultado desejado: Em geral: se queremos fazer uma média móvel por convolução com um tamanho de janela de w. Devemos usar o seguinte k kernel: uma função simples que faz a média móvel é: um exemplo de uso é:

No comments:

Post a Comment