Red de conocimiento informático - Aprendizaje de programación - Eliminación de ruido del umbral de wavelet de Matlab ¡Busque asesoramiento de expertos!

Eliminación de ruido del umbral de wavelet de Matlab ¡Busque asesoramiento de expertos!

Utilice MATLAB para implementar la eliminación de ruido de umbral de señales, que incluye principalmente la eliminación de ruido de umbral y la adquisición de umbral.

1. Adquisición de umbral

Las funciones de adquisición de umbral en MATLAB incluyen ddencmp, thselect, wwbmpen y wwdcbm. Su uso se presenta brevemente a continuación.

El formato de llamada de ddencmp es el siguiente:

(1)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X)

(2 )[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wp',X)

(3)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wv ',X )

La función ddencmp se utiliza para obtener el umbral predeterminado de una señal durante la eliminación de ruido o la compresión. El parámetro de entrada Seleccione una wavelet, wp significa seleccionar un paquete de wavelet. El valor de retorno THR es el umbral devuelto; SORH es el parámetro de selección de umbral suave o duro; KEEPAPP significa guardar la señal de baja frecuencia; CRIT es el nombre de entropía (solo se usa al seleccionar paquetes wavelet).

El formato de llamada de la función thselect es el siguiente:

THR=thselect(X,TPTR);

THR=thselect(X,TPTR) está definido según la cadena TPTR La regla de selección de umbral selecciona un umbral adaptativo para la señal X.

Las reglas de selección de umbral adaptativo incluyen los siguientes cuatro tipos:

*TPTR='rigsure', que utiliza el principio de estimación de riesgo imparcial de Stein para la selección de umbral adaptativo.

*TPTR='heursure', utiliza selección de umbral heurístico.

*TPTR='sqtwolog', el umbral es igual a sqrt(2*log(length(X))).

*TPTR='minimaxi', utilice el principio muy, muy pequeño para seleccionar el umbral.

La regla de selección de umbral se basa en el modelo y = f(t) + e, donde e es ruido blanco gaussiano N(0,1).

El formato de llamada de la función wbmpen es el siguiente:

THR=wbmpen(C,L,SIGMA,ALPHA);

THR=wbmpen(C, L,SIGMA,ALPHA) Devuelve el umbral global THR utilizado para eliminar ruido. El THR se calcula mediante una de las reglas de selección de coeficientes wavelet dadas, es decir, la regla de selección de coeficientes wavelet que utiliza el algoritmo de penalización de Birge-Massart. {C, L] es la estructura de descomposición de ondas de la señal o imagen que se está eliminando de ruido; SIGMA es la desviación estándar del ruido blanco gaussiano de media cero; ALPHA es el parámetro de ajuste utilizado para el castigo, que debe ser un número real mayor que 1. normalmente ALFA =2.

Establezca t* de modo que crit(t) = -sum(c(k)^2,k<=t) + 2 * SIGMA^2 * t*(ALPHA + log(n/t) ) es el valor mínimo, donde c(k) son los coeficientes del paquete wavelet ordenados en orden ascendente de valor absoluto, n es el número de coeficientes, luego THR=|c(t*)|.

wbmpen(C,L,SIGMA,ALPHA,ARG) calcula el umbral y dibuja tres curvas.

2 * SIGMA^2 * t*(ALFA+log(n/t))

suma(c(k)^2, k<=t)

crit(t)

wdcbm se puede llamar en los dos formatos siguientes:

(1)[THR,NKEEP]=wdcbm(C,L.ALPHA);

p>

(2)[THR,NKEEP]=wdcbm(C,L,ALPHA,M);

La función wdcbm se utiliza para obtener el umbral de la transformada wavelet unidimensional utilizando el algoritmo Birge-Massart. El valor de retorno THR es el umbral independiente de la escala y NKEEP es el número de coeficientes. [C,L] es la estructura de descomposición de la señal que se va a comprimir o eliminar de ruido en el nivel j=longitud(L)-2; LAPHA y M deben ser números reales mayores que 1; THR es un vector sobre j, THR(i); ) es el umbral de la i-ésima capa; NKEEP también es un vector sobre j, y NKEEP(i) es el número de coeficientes de la i-ésima capa. Generalmente, el ALFA de compresión es 1,5 y el ALFA de eliminación de ruido es 3.

2. Eliminación de ruido de umbral de señales

Las funciones de MATLAB que implementan la eliminación de ruido de umbral de señal incluyen wden, wdencmp, wthresh, wthcoef, wpthcoef y wpdencmp. Su uso se presenta brevemente a continuación.

La función wden se puede llamar en los siguientes dos formatos:

(1)[XD,CXD,LXD]=wden(X,TPTR,SORH,SCAL,N,' nombre')

(2)[XD,CXD,LXD]=wden(C,L,TPTR,SORH,SCAL,N,'nombre'). x es la señal original, [C,L] es la descomposición en ondas de la señal y N es el número de capas de descomposición en ondas.

THR es la regla de selección de umbral:

*TPTR='rigsure', que utiliza el principio de estimación de riesgo imparcial de Stein para la selección de umbral adaptativo.

*TPTR='heursure', utiliza una heurística para seleccionar el umbral.

*TPTR='sqtwolog', el umbral es igual a sqrt(2*log(length(X))).

*TPTR='minimaxi', utilice el principio de máximo y mínimo para seleccionar el umbral.

SORH puede seleccionar un umbral suave o un umbral estricto (correspondiente a "s" y "h" respectivamente).

SCAL se refiere a si es necesario reajustar el umbral utilizado, incluidos los siguientes tres tipos:

*SCAL='one' no se ajusta

* SCAL='sln 'Ajusta el umbral basándose en una estimación de la capa de ruido a partir de los coeficientes de la primera capa.

*SCAL='mln' Ajusta el umbral en función de diferentes estimaciones de ruido.

XD es la señal después de la eliminación del ruido y [CXD,LXD] es la estructura de descomposición de ondas de la señal después de la eliminación del ruido. Formato (1) Devuelve la estructura de descomposición de wavelets [CXD,LXD] de la señal XD después de la eliminación del ruido y la señal XD después de la descomposición en N niveles de la señal X y el umbral del coeficiente de wavelet. El formato (2) devuelve los mismos parámetros que el formato (1), pero su estructura se obtiene umbralizando directamente la estructura de descomposición wavelet [C,L] de la señal.

Hay tres formatos de llamada para la función wdencmp:

(1) [XC,CXC,LXC,PERF0,PERFL2]=wdencmp('gbl',X,'wname' , N,THTR,SORH,KEEPAPP);

(2)[XC,CXC,LXC.PERF0,PERFL2]=wdencmp('lvd',X,'wname',N,THTR,SORH) ;

(3)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',C,L,'wname',N,THTR,SORH

); La función wdencmp se utiliza para eliminar ruido o comprimir señales unidimensionales o bidimensionales. wname es la función wavelet utilizada, gbl (abreviatura de global) indica que cada capa usa el mismo umbral para el procesamiento, lvd indica que cada capa usa diferentes umbrales para el procesamiento, N indica el número de capas de descomposición de wavelet, THR es el vector umbral , para el formato (2) y (3), se requiere que cada capa tenga un umbral, por lo que la longitud del vector de umbral THR es N. SORH representa la selección de umbral suave o umbral duro (los valores son "s" y "h" respectivamente. Cuando el valor del parámetro KEEPAPP es 1, los coeficientes de baja frecuencia no están cuantificados por umbral). Los coeficientes de baja frecuencia están cuantificados por umbral. xC es la señal que se va a eliminar o comprimir, y [CXC,LXC] es la estructura de descomposición de ondas de XC. PERF0 y PERFL2 son la norma porcentual que restaura o comprime L^2. Si [C,L] es la estructura de descomposición wavelet de PERFL2=100||XC||^2/||X||^2.

El formato de llamada de la función wthresh es el siguiente:

Y=wthresh(XC,LXC,LXC,LXC) es la estructura de descomposición wavelet de X. p>Y=wthresh(X,SORH,T)

Y=wthresh(X,SORH,T) devuelve el vector de entrada o matriz X después de un umbral suave (si SORH='s') o un umbral estricto La señal procesada (si SORH='h').

Y=wthresh(X,'s',T) devuelve Y=SIG(X)*(|X|-T)+, lo que significa que el valor absoluto de la señal se compara con el umbral , que es menor o igual que el umbral es cero, y un punto mayor que el umbral es la diferencia entre el valor del punto y el umbral.

Y=wthresh(X,'h',T) devuelve Y=X*1(|X|>T), compara el valor absoluto de la señal con el umbral y los puntos que son menores que o igual al umbral se vuelve cero, los puntos mayores que el umbral permanecen sin cambios. En términos generales, una señal procesada con un umbral estricto es más aproximada que una señal procesada con un umbral suave.

La función wthcoef se llama en los siguientes cuatro formatos:

(1) NC=wthcoef('d',C,L,N,P)

( 2)NC=wthcoef('d',C,L,N)

(3)NC=wthcoef('a',C,L)

(4) NC= wthcoef('t',C,L,N,T,SORH)

La función wthcoef se utiliza para umbralizar los coeficientes wavelet de una señal unidimensional.

Formato (1) Devuelve la estructura de descomposición de la wavelet [C, L]. El nuevo vector de descomposición de la wavelet NC, [NC, L], que define la tasa de compresión por los vectores N y P, constituye una nueva wavelet. estructura de descomposición. N contiene los vectores de detalle comprimidos y P es el porcentaje de información del vector con coeficientes más pequeños establecidos en 0. N y P deben tener la misma longitud y el vector N debe satisfacer 1<=N(i) <=length(L)-2.

Formato (2) Devuelve el vector de descomposición de wavelets NC de la estructura de descomposición de wavelets [C,L] después de que el coeficiente de detalle especificado en el vector N se establezca en 0.

Formato (3) Después de establecer el coeficiente de aproximación en 0, devuelva el vector de descomposición de wavelets NC de la estructura de descomposición de wavelets [C,L].

Formato (4) Después de establecer el umbral del vector N en el vector de descomposición de wavelets NC, devuelva el vector de descomposición de wavelets NC de la estructura de descomposición de wavelets [C,L]. Si SORH='s', se devuelve un umbral suave; si SORH='h', se devuelve un umbral estricto. N contiene el vector de escala de minucias y T es el vector de umbral correspondiente a N.

La función wpdencmp se llama en los siguientes dos formatos:

(1)[XD,TREED,PERF0,PERFL2]=wpdencmp(X,SORH,N,'wname', CRIT, PAR,KEEPAPP)

(2)[XD,TREED,PERF0,PERFL2]=wpdencmp(TREE,SORH,CRIT,PAR,KEEPAPP)

Se utiliza la función wpdencmp utilizar paquetes wavelet Transforma señales comprimidas o eliminadas de ruido.

Formato (1) Devuelve la señal XD sin ruido o comprimida de la señal de entrada X (una o dos dimensiones). Los parámetros de salida TREED son los árboles de descomposición de paquetes wavelet óptimos para XD y PERF0 son los porcentajes de energía utilizados para restaurar y comprimir L2. PERFL2=100*(norma de coeficiente de paquete wavelet de X/coeficiente de paquete wavelet de |X||^2. SORH toma el valor "s" o "h", indicando un umbral suave o duro.

El parámetro de entrada N es el número de capas de descomposición del paquete wavelet y wname es una cadena que contiene el nombre de la wavelet. Esta función utiliza la entropía definida por la cadena CRIT y el parámetro de umbral PAR para una descomposición óptima. Si KEEPAPP=1, los coeficientes wavelet de la señal aproximada no están umbralizados; de lo contrario, están umbralizados;

El formato (2) tiene los mismos parámetros de salida y opciones de entrada que el formato (1), excepto que elimina el ruido o comprime según el árbol de descomposición de paquetes wavelet de la señal, TREE.