1. Introdução
Na vida real e no trabalho, o ruído está em toda parte.Em muitos campos, os dados coletados em astronomia, imagens médicas e visão computacional geralmente contêm ruído. O ruído pode advir do processo de aquisição de dados ou de efeitos ambientais. Por várias razões, sempre haverá ruído, e a presença de ruído muitas vezes obscurece as informações que o próprio sinal precisa representar. Portanto, no processamento real do sinal, muitas vezes é necessário pré-processar o sinal, e a etapa mais importante do pré-processamento é a redução de ruído.
A análise de wavelet é uma nova ferramenta de processamento de sinal desenvolvida nos últimos anos.Este método é derivado da análise de Fourier.As wavelets (wavelets), ou seja, ondas em uma área pequena, têm valores diferentes de zero apenas em um intervalo muito limitado, e não como Ondas senoidais e cosseno não têm começo nem fim. A wavelet pode ser traduzida para frente e para trás ao longo do eixo do tempo, ou pode ser esticada e compactada proporcionalmente para obter wavelets de baixa e alta frequência. A função wavelet construída pode ser usada para filtrar ou comprimir o sinal, para que o sinal útil no sinal ruidoso possa ser extraído.
Segundo, o princípio de denoising wavelet
A idéia básica do denoising do limiar de wavelets proposta por Donoho é que, após o sinal ser submetido à transformação de wavelets (usando o algoritmo Mallat), os coeficientes de wavelets gerados pelo sinal contêm informações importantes do sinal.Depois que o sinal é decomposto pela wavelet, os coeficientes da wavelet são maiores e os coeficientes da wavelet são ruídos. O coeficiente de wavelet do ruído é menor e o coeficiente de wavelet do sinal.Escolhendo um limiar apropriado, o coeficiente de wavelet maior que o limite é considerado gerado pelo sinal e deve ser retido. Se for menor que o limite, é considerado gerado pelo ruído. , Defina como zero para atingir a finalidade de denoising.
Do ponto de vista da ciência de sinais, o denoising de wavelets é um problema de filtragem de sinais. Embora o denoising de wavelet possa ser considerado como filtragem passa-baixo em grande parte, porque pode reter com sucesso as características do sinal após o denoising, ele é superior aos filtros passa-baixo tradicionais a esse respeito. Pode-se observar que o desdobramento de wavelets é na verdade uma combinação de extração de recursos e filtragem passa-baixo.O fluxograma é o seguinte:
Um modelo barulhento pode ser expresso da seguinte maneira:
Entre eles, f (k) é um sinal útil, s (k) é um sinal barulhento, e (k) é ruído e ε é o desvio padrão da figura do ruído.
Suponha que e (k) seja ruído branco gaussiano. Geralmente, o sinal útil aparece como parte de baixa frequência ou algum sinal relativamente estável, e o sinal de ruído aparece como sinal de alta frequência. Realizamos decomposição de wavelets no sinal s (k). Nesse momento, a parte de ruído é geralmente incluída em HL, LH, HH, como mostrado na figura abaixo, desde que os coeficientes de wavelet correspondentes sejam processados para HL, LH, HH e, em seguida, o sinal seja reconstruído para atingir o objetivo de redução de ruído.
Podemos ver que o princípio do denoising wavelet é uma classe relativamente simples, semelhante ao nosso método comum de filtro passa-baixo, mas como o wavelet encontra a parte que retém a extração do recurso, o desempenho é superior ao método tradicional de denoising. Of.
Terceiro, o método básico de denoising de wavelet
De um modo geral, o processo de redução de ruído de um sinal unidimensional pode ser dividido em 3 etapas
Wavelet decomposição do sinal. Selecione uma wavelet e determine um nível de decomposição N da wavelet e execute o cálculo da decomposição da camada N no sinal.
Quantização limiar de coeficientes de alta frequência de decomposição de wavelets. Para cada camada de coeficientes de alta frequência (três direções) da camada 1 à camada N, um limite é selecionado para quantização do limite.
Esta etapa é a etapa mais crítica, refletida principalmente no processo de seleção e quantização de limites.O Matlab fornece muitos métodos adaptativos na seleção de limites para cada camada.Não são introduzidos um por um. Quantização com limiar suave. A figura a seguir é a diferença entre os dois:
A imagem da esquerda acima é uma quantização rígida de limiar e a imagem da direita é uma quantização suave de limiar. Usando dois métodos diferentes, o efeito é que o método do limite rígido pode reter bem as características locais, como as bordas do sinal.O processamento do limite suave é relativamente suave, mas causa distorções, como o desfoque da borda.
Wavelet reconstrução do sinal. A reconstrução do sinal por wavelets é realizada de acordo com os coeficientes de baixa frequência da camada Nth decompostos pela wavelet e os coeficientes de alta frequência das camadas 1 a N após a quantização.
Os problemas básicos do denoising do limiar da wavelet incluem três aspectos: a escolha da base da wavelet, a escolha do limiar e a escolha da função do limiar.
(1) Escolha da base da wavelet : geralmente esperamos que a wavelet selecionada atenda às seguintes condições: ortogonalidade, alto momento de fuga, suporte rígido, simetria ou antissimetria. Mas, de fato, as wavelets com as propriedades acima não podem existir, porque as wavelets são simétricas ou anti-simétricas, apenas as wavelets Haar e o alto momento de fuga e o suporte rígido são um par de contradições; portanto, na aplicação, geralmente escolhem ter suporte rígido Wavelet e selecione uma wavelet mais adequada de acordo com as características do sinal.
(2) Seleção do limiar : um fator importante que afeta diretamente o efeito denoising é a seleção do limiar.Os limiares diferentes terão efeitos denoising diferentes. Atualmente, existem principalmente limiar geral (VisuShrink), limite SureShrink, limite Minimax, limite BayesShrink, etc.
(3) Seleção da função de limite: a função de limite é uma regra para modificar os coeficientes da wavelet, e funções diferentes refletem inversamente estratégias diferentes para processar os coeficientes da wavelet. Existem duas funções de limite mais usadas: uma é uma função de limite rígido e a outra é uma função de limite flexível. Há também uma função Garrote entre funções de limite suave e difícil.
Além disso, para a avaliação do efeito denoising, a relação sinal-ruído (SNR) do sinal comumente usado e o erro quadrático médio da raiz (RMSE) do sinal estimado e do sinal original são usados para julgar.
Referência:
A base do método de denoising do limiar da wavelet http://blog.sina.com.cn/s/blog_4d7c97a00101cib3.html
Use a análise wavelet no Python para redução de limite, use a função pywt.threshold
1. Compreendendo a transformação wavelet
Transformada de Fourier - transformação de transformada em wavelet de curto período.
Referências: As duas referências a seguir são muito claras e ajudam a entender a transformação wavelet.
Mas, para perspectivas matemáticas específicas, consulte outros materiais.
(1) Conheça a coluna: a imagem é fácil de entender e explicar o algoritmo I-wavelet transform
https://zhuanlan.zhihu.com/p/22450818
(2) Conheça a coluna: Análise de Fourier do tutorial sobre estrangulamento.
https://zhuanlan.zhihu.com/p/19763358
2. Decomposição de pacotes Wavelet
O pacote wavelet é proposto para superar o problema de que a decomposição da wavelet tem baixa resolução de frequência na banda de alta frequência e baixa resolução de tempo na banda de baixa frequência.
É um método de análise de sinal mais elaborado, que melhora a resolução do sinal no domínio do tempo.
A seguir, é apresentado um gráfico de comparação dos dois:
3. Espectro de energia
O princípio de extrair recursos de energia espacial em várias escalas com base na decomposição de pacotes de wavelets é resolver a energia do sinal em diferentes escalas de decomposição e organizar esses valores de energia em vetores de características em ordem de escala para reconhecimento.
20180510 Atualização suplementar: a fórmula de cálculo específica é a seguinte: neste artigo, os coeficientes reconstruídos não são usados para o cálculo do valor energético, e os coeficientes após a decomposição de pacotes de wavelets são usados diretamente.
4. código do Matlab
Dadas duas partes do código, escreva duas funções. Uma é a decomposição e reconstrução de pacotes de wavelets, e a outra é a função do espectro de energia.
Endereço de download: https://download.csdn.net/download/ckzhb/10030651
Nome do código: wavelet_packetdecomposition_reconstruct
Nome do código: wavelet_energy_spectrum
Método de cálculo da convolução discreta unidimensional e bidimensional:
1. Definição
Os sinais discretos f (n), g (n) são definidos da seguinte forma:
N ----- é o comprimento do sinal f (n)
s (n) ---- é a sequência de resultados da convolução, o comprimento é len (f (n)) + len (g (n)) - 1
Tome o sinal de 3 elementos como exemplo:
f (n) = [1 2 3]; g (n) = [2 3 1];
s (0) = f (0) g (0-0) + f (1) g (0-1) + f (2) g (0-2) = 1 * 2 + 2 * 0 + 3 * 0 = 2
s (1) = f (0) g (1-0) + f (1) g (1-1) + f (2) g (1-2) = 1 * 3 + 2 * 2 + 3 * 0 = 7
s (2) = f (0) g (2-0) + f (1) g (2-1) + f (2) g (2-2) = 1 * 1 + 2 * 3 + 3 * 2 = 13
s (3) = f (0) g (3-0) + f (1) g (3-1) + f (2) g (3-2) = 1 * 0 + 2 * 1 + 3 * 3 = 11
s (4) = f (0) g (4-0) + f (1) g (4-1) + f (2) g (4-2) = 1 * 0 + 2 * 0 + 3 * 1 = 3
O resultado final é:
s (n) = [2 7 13 11 3]
O diagrama de cálculo acima é o seguinte:
Em matemática, sabemos que a imagem de f (-x) é inversa de f (x) ao eixo y
g (-m) é inverter a sequência de g (m) .O significado de g (nm) é deslocar n pontos de g (-m):
Basculante falhou a re-upload cancelada
Como mostrado na figura acima, g (m) é geralmente chamado de filtro ou máscara no processamento do sinal.A convolução é equivalente ao somatório do sinal f (n) após a máscara g (m) ser invertida. O Matlab calcula a função de convolução como conv,
>> A = [1 2 3];
B = [2,3,1];
convD = conv (A, B)
convD =
2 7 13 11 3
A convolução bidimensional correspondente é definida da seguinte forma:
Basculante falhou a re-upload cancelada