Filtro de salchicha

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
algoritmo de procesamiento de señales

En el procesamiento de señales, el filtro Wiener es un filtro que se utiliza para producir una estimación de un proceso aleatorio deseado o objetivo mediante el filtrado lineal invariante en el tiempo (LTI) de un proceso ruidoso observado, asumiendo que está estacionario. espectros de señal y ruido, y ruido aditivo. El filtro de Wiener minimiza el error cuadrático medio entre el proceso aleatorio estimado y el proceso deseado.

Descripción

El objetivo del filtro Wiener es calcular una estimación estadística de una señal desconocida utilizando una señal relacionada como entrada y filtrando esa señal conocida para producir la estimación como salida. Por ejemplo, la señal conocida podría consistir en una señal de interés desconocida que ha sido corrompida por ruido aditivo. El filtro Wiener se puede utilizar para filtrar el ruido de la señal corrupta y proporcionar una estimación de la señal de interés subyacente. El filtro de Wiener se basa en un enfoque estadístico, y en el artículo sobre el estimador del error cuadrático medio mínimo (MMSE) se ofrece una explicación más estadística de la teoría.

Los filtros determinísticos típicos están diseñados para una respuesta de frecuencia deseada. Sin embargo, el diseño del filtro Wiener toma un enfoque diferente. Se supone que uno tiene conocimiento de las propiedades espectrales de la señal original y el ruido, y uno busca el filtro lineal de tiempo-invariante cuya salida llegaría lo más cerca posible de la señal original. Los filtros Wiener se caracterizan por los siguientes:

  1. Asunción: señal y (aditivo) el ruido son procesos estecásticos lineales estacionarios con características espectrales conocidas o autocorrelación conocida y cruza-correlación
  2. Requisito: el filtro debe ser físicamente realizable/causal (este requisito puede ser eliminado, dando lugar a una solución no-causal)
  3. Criterio de rendimiento: error mínimo medio cuadrado (MMSE)

Este filtro se utiliza con frecuencia en el proceso de deconvolución; para esta aplicación, consulte Deconvolución de Wiener.

Soluciones de filtro Wiener

Vamos. s()t+α α ){displaystyle s(t+alpha)} ser una señal desconocida que debe ser calculada a partir de una señal de medición x()t){displaystyle x(t)}. Donde el alfa es un parámetro ajustable. 0}" xmlns="http://www.w3.org/1998/Math/MathML">α α ■0{displaystyle alpha œ0}0" aria-hidden="true" class="mwe-math-fallback-image-inline mw-invert" src="https://wikimedia.org/api/rest_v1/media/math/render/svg/edd4f784b6e8bb68fa774213ceacbab2d97825dc" style="vertical-align: -0.338ex; width:5.749ex; height:2.176ex;"/> se conoce como predicción, α α =0{displaystyle alpha =0} se conoce como filtro, y <math alttext="{displaystyle alpha α α c)0{displaystyle alpha #<img alt="alpha se conoce como suavizado (ver capítulo de filtrado de Wiener para más detalles).

El problema del filtro de Wiener tiene soluciones para tres casos posibles: uno en el que un filtro no causal es aceptable (que requiere una cantidad infinita de datos pasados y futuros), el caso en el que se desea un filtro causal (utilizando una cantidad infinita de datos pasados ), y el caso de respuesta de impulso finito (FIR) donde solo se utilizan datos de entrada (es decir, el resultado o la salida no se devuelve al filtro como en el caso IIR). El primer caso es sencillo de resolver pero no es adecuado para aplicaciones en tiempo real. El principal logro de Wiener fue resolver el caso en el que está vigente el requisito de causalidad; Norman Levinson presentó la solución FIR en un apéndice del libro de Wiener.

Solución no causal

G()s)=Sx,s()s)Sx()s)eα α s,{displaystyle G(s)={frac {S_{x,s}{S_{x}(s)}e^{alpha s}}

Donde S{displaystyle S. son densidades espectrales. Siempre g()t){displaystyle g(t)} es óptima, entonces la ecuación mínima de error media-cuadra

E()e2)=Rs()0)− − ∫ ∫ − − JUEGO JUEGO JUEGO JUEGO g()τ τ )Rx,s()τ τ +α α )dτ τ ,{displaystyle E(e^{2})=R_{s}(0)-int _{-infty }^{infty }g(tau)R_{x,s}(tau +alpha),dtau}

y la solución g()t){displaystyle g(t)} es la inversa transformación de dos caras de Laplace G()s){displaystyle G(s)}.

Solución causal

G()s)=H()s)Sx+()s),{displaystyle G(s)={H(s)}{S_{x}{+}(s)}}}

dónde

  • H()s){displaystyle H(s)} consiste en la parte causal de Sx,s()s)Sx− − ()s)eα α s{fnMicroc {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} (es decir, esa parte de esta fracción que tiene una solución de tiempo positiva bajo la transformación inversa de Laplace)
  • Sx+()s){displaystyle S_{x} {+}(s)} es el componente causal de Sx()s){displaystyle S_{x}(s)} (es decir, la transformación inversa de Laplace Sx+()s){displaystyle S_{x} {+}(s)} no es cero sólo para t≥ ≥ 0{displaystyle tgeq 0})
  • Sx− − ()s){displaystyle S_{x}{-}(s)} es el componente anti-causal de Sx()s){displaystyle S_{x}(s)} (es decir, la transformación inversa de Laplace Sx− − ()s){displaystyle S_{x}{-}(s)} no es cero sólo para <math alttext="{displaystyle ttc)0{displaystyle t won0}<img alt="t)

Esta fórmula general es complicada y merece una explicación más detallada. Para escribir la solución G()s){displaystyle G(s)} en un caso específico, uno debe seguir estos pasos:

  1. Empieza con el espectro Sx()s){displaystyle S_{x}(s)} en forma racional y lo factor en componentes causales y anticausal: Sx()s)=Sx+()s)Sx− − ()s){displaystyle S_{x}(s)=S_{x} {+}(s)S_{x}{-}(s)} Donde S+{displaystyle S^{+} contiene todos los ceros y polos en el medio plano izquierdo (LHP) y S− − {displaystyle - Sí. contiene los ceros y los polos en el medio plano derecho (RHP). Esto se llama la factorización Wiener-Hopf.
  2. Divide Sx,s()s)eα α s{displaystyle S_{x,s}(s)e^{alpha s} por Sx− − ()s){displaystyle S_{x}{-}(s)} y escriba el resultado como una expansión parcial de la fracción.
  3. Seleccione sólo esos términos en esta expansión con postes en el LHP. Llame a estos términos H()s){displaystyle H(s)}.
  4. Divide H()s){displaystyle H(s)} por Sx+()s){displaystyle S_{x} {+}(s)}. El resultado es la función de transferencia de filtro deseada G()s){displaystyle G(s)}.

Respuesta del impulso finito Filtro de Wiener para serie discreta

Vista del diagrama de bloque del filtro FIR Wiener para serie discreta. Una señal de entrada w[n] está revestido con el filtro Wiener g[n] y el resultado se compara con una señal de referencia s[n] para obtener el error filtrante e[n].

El filtro Wiener causal de respuesta de impulso finito (FIR), en lugar de utilizar una matriz de datos X y un vector de salida Y determinados, encuentra pesos de derivación óptimos utilizando las estadísticas de las señales de entrada y salida. Llena la matriz de entrada X con estimaciones de la autocorrelación de la señal de entrada (T) y llena el vector de salida Y con estimaciones de la correlación cruzada entre las señales de salida y de entrada (V).

Para obtener los coeficientes del filtro Wiener, considere la señal w[n] ser alimentado a un filtro de orden de Wiener (número de discos pasados) N y con coeficientes {}a0,⋯ ⋯ ,aN}{displaystyle {a_{0},cdotsa_{N}}}. La salida del filtro se denota x[n] que se da por la expresión

x[n]=. . i=0Naiw[n− − i].{displaystyle x[n]=sum ¿Qué?

El error residual está denotado e[n] y se define como e[n= x[n]s[n] (ver el diagrama de bloque correspondiente). El filtro Wiener está diseñado para minimizar el error cuadrado medio (criterios de MMSE) que se puede decir concisamente como sigue:

ai=arg⁡ ⁡ minE[e2[n]],{displaystyle a_{i}=arg min Eleft[e^{2}[n]right],}

Donde E[⋅ ⋅ ]{displaystyle E[cdot] denota al operador de expectativas. En el caso general, los coeficientes ai{displaystyle A_{i} puede ser complejo y puede ser derivado para el caso w[n] y s[nTambién son complejos. Con una señal compleja, la matriz a resolver es una matriz Hermitian Toeplitz, en lugar de la matriz simétrica de Toeplitz. Para la simplicidad, lo siguiente considera sólo el caso en el que todas estas cantidades son reales. El error cuadrado medio (MSE) puede ser reescrito como:

E[e2[n]]=E[()x[n]− − s[n])2]=E[x2[n]]+E[s2[n]]− − 2E[x[n]s[n]]=E[(). . i=0Naiw[n− − i])2]+E[s2[n]]− − 2E[. . i=0Naiw[n− − i]s[n]]{begin{aligned}Eleft[e^{2}[n]right [x[n]]left [(x[n]-s[n])^{2}right]bun=Eleft[n]derecha]+Eizquierda[s][n]derecha] ¿Por qué? ¿Por qué?

Para encontrar el vector [a0,... ... ,aN]{fnMicrosoft Sans Serif} que minimiza la expresión anterior, calcula su derivado con respecto a cada ai{displaystyle A_{i}

∂ ∂ ∂ ∂ aiE[e2[n]]=∂ ∂ ∂ ∂ ai{}E[(). . j=0Najw[n− − j])2]+E[s2[n]]− − 2E[. . j=0Najw[n− − j]s[n]]}=2E[(). . j=0Najw[n− − j])w[n− − i]]− − 2E[w[n− − i]s[n]]=2(). . j=0NE[w[n− − j]w[n− − i]]aj)− − 2E[w[n− − i]s[n]]{displaystyle {begin{aligned}{frac {partial }{partial A_{i}}Eleft [e^{2}[n]right] Frac {partial }{partial a_{i}}left{Eleft[left(sum] ¿Por qué? - ¿Por qué? ¿Por qué?

Suponiendo que w[n] y s[n] son cada estacionario y conjuntamente estacionario, las secuencias Rw[m]{displaystyle R_{w}[m] y Rws[m]{displaystyle R_{ws}[m] conocido respectivamente como la autocorrelación w[n] y la cruz-correlación entre w[n] y s[n] se puede definir como sigue:

Rw[m]=E{}w[n]w[n+m]}Rws[m]=E{}w[n]s[n+m]}{fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif}[m] {fnMicrosoft Sans Serif} E{w[n]s[n+m]end{aligned}

Por lo tanto, la derivada del MSE puede reescribirse como:

∂ ∂ ∂ ∂ aiE[e2[n]]=2(). . j=0NRw[j− − i]aj)− − 2Rws[i]i=0,⋯ ⋯ ,N.{displaystyle {frac {partial }{partial A_{i}}Eleft[e^{2}[n]right]=2left(sum) - ¿Por qué?

Note eso de verdad w[n]{displaystyle w[n]}, la autocorrelación es simétrica:

Rw[j− − i]=Rw[i− − j]{displaystyle R_{w} [i-i]=R_{w} [i-j]

. . j=0NRw[j− − i]aj=Rws[i]i=0,⋯ ⋯ ,N.{displaystyle sum _{j=0}{N}R_{w}[j-i]a_{j}=R_{ws}[i]qquad i=0,cdotsN.}

que se puede reescribir (usando la propiedad simétrica anterior) en forma matricial

[Rw[0]Rw[1]⋯ ⋯ Rw[N]Rw[1]Rw[0]⋯ ⋯ Rw[N− − 1]⋮ ⋮ ⋮ ⋮ ⋱ ⋱ ⋮ ⋮ Rw[N]Rw[N− − 1]⋯ ⋯ Rw[0]]⏟ ⏟ T[a0a1⋮ ⋮ aN]⏟ ⏟ a=[Rws[0]Rws[1]⋮ ⋮ Rws[N]]⏟ ⏟ v{fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {T}begin{bmatrix}a_{0}a_{1}\\\vdots {fn}end{bmatrix} ¿Qué? }=begin{bmatrix}R_{ws}[0]\R_{ws}[1]\\vdots \\R_{ws}[N]end{bmatrix}

Estas ecuaciones se conocen como las ecuaciones Wiener-Hopf. La matriz T aparecer en la ecuación es una matriz de Toeplitz simétrica. En condiciones adecuadas R{displaystyle R., estas matrices son conocidas por ser positivas definidas y por lo tanto no-singular dando una solución única a la determinación del vector de coeficiente de filtros de Wiener, a=T− − 1v{displaystyle mathbf {a} = 'Mathbf {T} {fn}fnMitbf}. Además, existe un algoritmo eficiente para resolver tales ecuaciones Wiener-Hopf conocidas como el algoritmo Levinson-Durbin, por lo que una inversión explícita de T no es necesario.

En algunos artículos, la función de correlación cruzada se define de la manera opuesta:

Rsw[m]=E{}w[n]s[n+m]}{fnMicrosoft Sans Serif}
v{displaystyle mathbf {v}Rsw[0]... ... Rsw[N]{displaystyle R_{sw}[0]ldots R_{sw}[N]

Sea cual sea la notación se utiliza, note que de verdad w[n],s[n]{displaystyle w[n],s[n]:

Rsw[k]=Rws[− − k]{displaystyle R_{sw} [k]=R_{ws}[k]

Relación con el filtro de mínimos cuadrados

La realización del filtro causal Wiener se parece mucho a la solución a la estimación de mínimos cuadrados, excepto en el dominio de procesamiento de señales. La solución menos cuadrada, para matriz de entrada X{displaystyle mathbf {X} vector de salida Sí.{displaystyle mathbf {y} es

β β ^ ^ =()XTX)− − 1XTSí..{displaystyle {boldsymbol {hat {beta - Sí. # Mathbf # - Sí.

El filtro FIR Wiener está relacionado con el filtro de mínimos cuadrados medios, pero minimizar el criterio de error de este último no se basa en correlaciones cruzadas o autocorrelaciones. Su solución converge a la solución del filtro de Wiener.

Señales complejas

Para señales complejas, la derivación del complejo filtro Wiener se realiza minimizando E[Silencioe[n]Silencio2]{displaystyle Eleft [Principalmente] =E[e[n]eAlternativa Alternativa [n]]{displaystyle Eleft[e]e^{*}[n]right]. Esto implica la computación de derivados parciales con respecto a las partes reales e imaginarias de ai{displaystyle A_{i}, y exigir que ambos sean cero.

Las ecuaciones de Wiener-Hopf resultantes son:

. . j=0NRw[j− − i]ajAlternativa Alternativa =Rws[i]i=0,⋯ ⋯ ,N.{displaystyle sum _{j=0}{N}R_{w}[j-i]a_{j}^{*}=R_{ws}[i]qquad i=0,cdotsN.}

que se puede reescribir en forma matricial:

[Rw[0]RwAlternativa Alternativa [1]⋯ ⋯ RwAlternativa Alternativa [N− − 1]RwAlternativa Alternativa [N]Rw[1]Rw[0]⋯ ⋯ RwAlternativa Alternativa [N− − 2]RwAlternativa Alternativa [N− − 1]⋮ ⋮ ⋮ ⋮ ⋱ ⋱ ⋮ ⋮ ⋮ ⋮ Rw[N− − 1]Rw[N− − 2]⋯ ⋯ Rw[0]RwAlternativa Alternativa [1]Rw[N]Rw[N− − 1]⋯ ⋯ Rw[1]Rw[0]]⏟ ⏟ T[a0Alternativa Alternativa a1Alternativa Alternativa ⋮ ⋮ aN− − 1Alternativa Alternativa aNAlternativa Alternativa ]⏟ ⏟ aAlternativa Alternativa =[Rws[0]Rws[1]⋮ ⋮ Rws[N− − 1]Rws[N]]⏟ ⏟ v{displaystyle underbrace {begin{bmatrix}R_{w}[0] limitadaR_{w}^{*}[1] {cdots > R_{w}{*}[{*} {}} {cdots} [N-1] {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} _{Mathbf {T}begin {bmatrix}a_{0}a_{1}{*}\i_}\vdots ################################################################################################################################################################################################################################################################ ¿Qué? }=compbrace {begin{bmatrix}R_{ws}[0]R_{ws}[1]\\\vdots\\\\\ws}[N-1]\R_{ws}[N]end{bmatrix}}} _{mathbf {v}}}}}}}

Tenga en cuenta aquí que:

Rw[− − k]=RwAlternativa Alternativa [k]Rsw[k]=RwsAlternativa Alternativa [− − k]{fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif}} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft ]} {fnMicrosoft ]} {fnMicrosoft}

El vector del coeficiente de Wiener se calcula entonces como:

a=()T− − 1v)Alternativa Alternativa {displaystyle mathbf {a} ={(mathbf {T} {fn}fnMitbf}} {fn}}}

Aplicaciones

El filtro Wiener tiene una variedad de aplicaciones en procesamiento de señales, procesamiento de imágenes, sistemas de control y comunicaciones digitales. Estas aplicaciones generalmente se clasifican en una de cuatro categorías principales:

  • Identificación del sistema
  • Deconvolution
  • Reducción del ruido
  • Detección de señales
Imagen ruidosa de un astronauta
La imagen después de un filtro Wiener se aplica (completo-view recomendado)

Por ejemplo, el filtro Wiener se puede utilizar en el procesamiento de imágenes para eliminar el ruido de una imagen. Por ejemplo, usando la función Mathematica: WienerFilter[image,2] en la primera imagen de la derecha, produce la imagen filtrada debajo de ella.


Se utiliza comúnmente para eliminar el ruido de las señales de audio, especialmente del habla, como preprocesador antes del reconocimiento de voz.

Historia

El filtro fue propuesto por Norbert Wiener durante la década de 1940 y publicado en 1949. El equivalente en tiempo discreto del trabajo de Wiener fue derivado de forma independiente por Andrey Kolmogorov y publicado en 1941. De ahí que la teoría a menudo se llame Teoría del filtrado de Wiener-Kolmogorov (cf. Kriging). El filtro de Wiener fue el primer filtro propuesto estadísticamente y posteriormente dio lugar a muchos otros, incluido el filtro de Kalman.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save