Convolución

De testwiki
Saltar á navegación Saltar á procura
Comparación visual de convolución, correlación cruzada e autocorrelación. Para as operacións que implican a función f, e asumindo que a altura de f é 1.0, o valor do resultado en 5 puntos diferentes está indicado pola área sombreada debaixo de cada punto. A simetría de f é a razón pola que fg e g*f son idénticos neste exemplo.

En matemáticas (en particular, na análise funcional), a convolución é unha operación matemática sobre dúas funcións (f e g) que produce unha terceira función (f*g). O termo convolución refírese tanto á función resultante como ao proceso de calculala.

A convolución defínese como a integral do produto das dúas funcións despois de que unha delas se reflicte sobre o eixo y e se despraza. A integral evalúase para todos os valores de desprazamento, producindo a función de convolución. Gráficamente, exprésase como a 'forma' dunha función é modificada pola outra.

A convolución discreta de dúas funcións para un índice Modelo:Mvar enteiro defínese como os produtos das valores das funcións nos índices que suman Modelo:Mvar (ver abaixo explicación detallada).

Algúns aspectos da convolución son similares á correlación cruzada: para funcións de valor real, dunha variábel continua ou discreta, a convolución (f*g) difire da correlación cruzada (fg) só en que f(x) ou g(x) se reflicte sobre o eixp y na convolución; así, é unha correlación cruzada de g(x) e f(x), ou de f(x) e g(x).Modelo:Efn Para funcións de valor complexo, o operador de correlación cruzada é o adxunto do operador de convolución.

A convolución ten aplicacións que inclúen a probabilidade, estatística, acústica, espectroscopia, procesamento de sinais e procesamento de imaxes, xeofísica, enxeñaría, física e ecuacións diferenciais.[1]

O cálculo da inversa da operación de convolución coñécese como deconvolución.

Definición

A convolución de f e g escríbese f*g, denotando o operador co símbolo *.Modelo:Efn Defínese como a integral do produto das dúas funcións despois de que unha delas se reflicte sobre o eixo y e se despraza. Como tal, é un tipo particular de transformada integral:

(f*g)(t):=f(τ)g(tτ)dτ.

Aínda que se usa o símbolo t anteriormente, non ten que representar o dominio do tempo. En cada t, a fórmula de convolución pode describirse como a área baixo a función f(τ) ponderada pola función g(τ) desprazada pola cantidade t. A medida que t muda, a función de ponderación g(tτ) destaca diferentes partes da función de entrada f(τ).

Se t é un valor positivo, entón g(tτ) é igual a g(τ) que se desliza ou se despraza ao longo do eixo τ cara á dereita (cara a +) pola cantidade de t, mentres que se t é un valor negativo, entón g(tτ) é igual a g(τ) que se desliza ou se despraza cara á esquerda (cara a ) pola cantidade de |t|.

Para funcións f, g soportadas só en [0,) (é dicir, cero para argumentos negativos), os límites de integración poden truncarse, resultando en:

(f*g)(t)=0tf(τ)g(tτ)dτ para f,g:[0,).

Para a formulación multidimensional da convolución, véxase dominio de definición (a continuación).

Notación

Unha convención notacional común en enxeñaría é:[2]

f(t)*g(t):=f(τ)g(tτ)dτ(f*g)(t),

que debe interpretarse con coidado para evitar confusións. Por exemplo, f(t)*g(tt0) é equivalente a (f*g)(tt0), mais f(tt0)*g(tt0) é de feito equivalente a (f*g)(t2t0).[3]

Convolución circular

Modelo:Artigo principal

Cando unha función gT é periódica, con período T, entón para funcións, f, tal que f*gT existe, a convolución é tamén periódica e idéntica a:

(f*gT)(t)t0t0+T[k=f(τ+kT)]gT(tτ)dτ,

onde t0 é unha escolla arbitraria. A suma chámase suma periódica da función f.

Cando gT é unha suma periódica doutra función, g, entón f*gT coñécese como unha convolución circular ou cíclica de f e g.

E se a suma periódica anterior se substitúe por fT, a operación chámase unha convolución periódica de fT e gT.

Convolución discreta

Animación de convolución discreta 2D

Para funcións de valor complexo f e g definidas no conxunto dos enteiros, a convolución discreta de f e g vén dada por:[4]

(f*g)[n]=m=f[m]g[nm],


A convolución de dúas secuencias finitas defínese estendendo as secuencias a funcións de soporte finito no conxunto dos enteiros. Cando as secuencias son os coeficientes de dous polinomios, entón os coeficientes do produto ordinario dos dous polinomios son a convolución das dúas secuencias orixinais. Isto coñécese como o produto de Cauchy dos coeficientes das secuencias.

Así, cando Modelo:Mvar ten soporte finito no conxunto {M,M+1,,M1,M} (representando, por exemplo, unha resposta finita ao impulso), pode usarse unha suma finita:[5]

(f*g)[n]=m=MMf[nm]g[m].

Como exemplo de convolución discreta para o caso dun produto de Cauchy de dúas series infinitas podemos organizar cada sumando do produto en forma de matriz cos coeficientes da combinación de elementos todos por todos:

A=(a0b0a0b1a0b2a0b3a1b0a1b1a1b2a1b3a2b0a2b1a2b2a2b3a3b0a3b1a4b0),

desde o punto de vista desta matriz o produto de Cauchy é unha convolución discreta formada pola suma das antidiagonais:

(n=0an)(n=0bn)=n=0antidiagonais=n=0k=0nakbnk.
(n=0an)(n=0bn)=(a0b0)+(a0b1+a1b0)+(a0b2+a1b1+a2b0)+

Convolución circular discreta

Cando unha función gN é periódica, con período N, entón para funcións, f, tales que f*gN existe, a convolución é tamén periódica e idéntica a:

(f*gN)[n]m=0N1(k=f[m+kN])gN[nm].

A suma sobre k chámase suma periódica da función f.

Se gN é unha suma periódica doutra función, g, entón f*gN coñécese como unha convolución circular de f e g.

Cando as duracións non nulas de ambas as dúas f e g están limitadas ao intervalo [0,N1],  f*gN redúcese a estas formas comúns:

(f*gN)[n]=m=0N1f[m]gN[nm]=m=0nf[m]g[nm]+m=n+1N1f[m]g[N+nm]=m=0N1f[m]g[(nm)modN](f*Ng)[n]


A notación f*Ng para a convolución cíclica denota convolución sobre o grupo cíclico de [[aritmética modular|enteiros módulo Modelo:Math]].

A convolución circular xorde a miúdo no contexto da convolución rápida cun algoritmo de transformada rápida de Fourier (FFT).

Algoritmos rápidos de convolución

En moitas situacións, as convolucións discretas poden converterse en convolucións circulares para que as transformadas rápidas cunha propiedade de convolución poidan usarse para implementar o cálculo. Por exemplo, a convolución de secuencias de díxitos é a operación central na multiplicación de números de varios díxitos, que pode implementarse eficientemente con técnicas de transformación (Modelo:Harvnb; Modelo:Harvnb).

A convolución circular de dúas secuencias de lonxitude finita obtense ao calcular unha FFT de cada secuencia, multiplicar punto a punto e logo realizar unha FFT inversa. As convolucións do tipo definido anteriormente impleméntanse eficientemente empregando esa técnica en conxunto coa extensión por ceros e/ou descartando partes da saída.

Outros algoritmos rápidos de convolución, como o algoritmo de Schönhage-Strassen ou a transformación de Mersenne,[6] empregan transformacións rápidas de Fourier noutros anéis. O método de Winograd emprégase como alternativa á FFT.[7] Acelera significativamente as convolucións en 1D,[8] 2D,[9] e 3D.[10]

Se unha secuencia é moito máis longa que a outra, a extensión por ceros da secuencia máis curta e a convolución circular rápida non é o método computacionalmente máis eficiente dispoñíbel.[11] En vez diso, descompoñer a secuencia máis longa en bloques e convolver cada bloque permite empregar algoritmos máis rápidos como o método superposición-salvar e o método superposición-sumar.[12] Un método híbrido de convolución que combina algoritmos por bloques e FIR permite unha latencia de entrada-saída nula, útil para computacións de convolución en tempo real.[13]

Dominio de definición

A convolución de dúas funcións de valor complexo en Modelo:Math é unha función de valor complexo en Modelo:Math, definida por:

(f*g)(x)=𝐑df(y)g(xy)dy=𝐑df(xy)g(y)dy,

e está ben definida só se Modelo:Mvar e Modelo:Mvar decaen suficientemente rápido no infinito para que a integral exista. As condicións para a existencia da convolución poden ser complicadas, xa que un aumento en Modelo:Mvar no infinito pode ser facilmente compensado por un decaemento suficientemente rápido en Modelo:Mvar. Así, a cuestión da existencia pode implicar diferentes condicións sobre Modelo:Mvar e Modelo:Mvar:

Funcións de soporte compacto

Se Modelo:Mvar e Modelo:Mvar son funcións continuas de soporte compacto, entón a súa convolución existe e tamén é de soporte compacto e continua Modelo:Harv. Máis xeralmente, se unha das funcións (por exemplo, Modelo:Mvar) é de soporte compacto e a outra é localmente integrábel, entón a convolución Modelo:Math está ben definida e é continua.

A convolución de Modelo:Mvar e Modelo:Mvar tamén está ben definida cando ambas as funcións son localmente cadrado integrábeis en Modelo:Math e están soportadas nun intervalo da forma Modelo:Math (ou en Modelo:Math).

Funcións integrábeis

A convolución de Modelo:Mvar e Modelo:Mvar existe se Modelo:Mvar e Modelo:Mvar son ambas as dúas funcións integrábeis de Lebesgue en [[espazo Lp|Modelo:Math(Modelo:Math)]], e neste caso Modelo:Math tamén é integrábel Modelo:Harv. Isto é unha consecuencia do teorema de Tonelli. Isto tamén é certo para funcións en Modelo:Math, baixo a convolución discreta, ou máis xeralmente para a convolución en calquera grupo.

Do mesmo xeito, se Modelo:Math(Modelo:Math)  e  Modelo:Math(Modelo:Math)  onde Modelo:Math,  entón  Modelo:Math(Modelo:Math),  e

f*gpf1gp.

No caso particular Modelo:Math, isto mostra que Modelo:Math é unha álxebra de Banach baixo a convolución (e a igualdade dos dous lados cúmprese se Modelo:Mvar e Modelo:Mvar son non negativas case en tódalas partes).

Máis xeralmente, a desigualdade de Young implica que a convolución é unha aplicación bilinear continua entre os espazos Modelo:Math adecuados. Especificamente, se Modelo:Math cumpren:

1p+1q=1r+1,

entón

f*grfpgq,fLp, gLq,

de xeito que a convolución é unha aplicación bilinear continua de Modelo:Math a Modelo:Math. A desigualdade de Young para a convolución tamén é certa noutros contextos (grupo circular, convolución en Modelo:Math). A desigualdade anterior non é estrita na recta real: cando Modelo:Math, existe unha constante Modelo:Math tal que:

f*grBp,qfpgq,fLp, gLq.

O valor óptimo de Modelo:Math descubriuse en 1975[14] e independentemente en 1976,[15] véxase desigualdade de Brascamp-Lieb.

Unha estimación máis forte é certa sempre que Modelo:Math:

f*grCp,qfpgq,w

onde gq,w é a [[espazo Lp|norma débil Modelo:Math]]. A convolución tamén define unha aplicación bilinear continua Lp,w×Lq,wLr,w para 1<p,q,r<, debido á desigualdade de Young débil:[16]

f*gr,wCp,qfp,wgr,w.

Funcións de decaemento rápido

Alén das funcións de soporte compacto e das funcións integrábeis, as funcións que teñen un decaemento suficientemente rápido no infinito tamén poden ser convolucionadas. Unha característica importante da convolución é que se f e g decaen rapidamente, entón fg tamén decae rapidamente. En particular, se f e g son funcións de decaemento rápido, entón a convolución fg tamén o é. Combinado co feito de que a convolución conmuta coa diferenciación (véxase #Propiedades), dedúcese que a clase de funcións de Schwartz é pechada baixo a convolución Modelo:Harv.

Distribucións

Modelo:Artigo principal Se f é unha función suave de soporte compacto e g é unha distribución, entón fg é unha función suave definida por

df(y)g(xy)dy=(f*g)(x)C(d).

Máis xeralmente, é posible estender a definición da convolución dun xeito único con φ igual que coa f anteriormente, de xeito que a lei asociativa

f*(g*φ)=(f*g)*φ

siga a ser válida no caso en que f sexa unha distribución e g unha distribución de soporte compacto Modelo:Harv.

Medidas

A convolución de dúas medidas de Borel μ e ν de variación limitada é a medida μ*ν definida por Modelo:Harv

𝐑df(x)d(μ*ν)(x)=𝐑d𝐑df(x+y)dμ(x)dν(y).

En particular,

(μ*ν)(A)=𝐑d×𝐑d1A(x+y)d(μ×ν)(x,y),

onde A𝐑d é un conxunto medíbel e 1A é a función indicadora de A.

Isto coincide coa convolución definida anteriormente cando μ e ν se consideran distribucións, así como coa convolución de funcións L1 cando μ e ν son absolutamente continuas en relación á medida de Lebesgue.

A convolución de medidas tamén cumpre a seguinte versión da desigualdade de Young:

μ*νμν

onde a norma é a variación total dunha medida. Como o espazo das medidas de variación limitada é un espazo de Banach, a convolución de medidas pode tratarse con métodos estándar da análise funcional que poden non aplicarse á convolución de distribucións.

Propiedades

Propiedades alxébricas

A convolución define un produto no espazo linear das funcións integrábeis. Este produto satisfai as seguintes propiedades alxébricas, que formalmente significan que o espazo das funcións integrábeis co produto dado pola convolución é unha álxebra asociativa conmutativa sen identidade Modelo:Harv. Outros espazos lineares de funcións, como o espazo das funcións continuas de soporte compacto, son pechados baixo a convolución, e tamén forman álxebras asociativas conmutativas.

Conmutatividade
f*g=g*f

Demostración: Por definición:

(f*g)(t)=f(τ)g(tτ)dτ

Mudando a variábel de integración a u=tτ dedúcese o resultado.

Asociatividade
f*(g*h)=(f*g)*h

Demostración: Isto dedúcese de usar o teorema de Fubini (é dicir, as integrais dobres poden ser avaliadas como integrais iteradas en calquera orde).

Distributividade
f*(g+h)=(f*g)+(f*h)

Demostración: Isto dedúcese da linearidade da integral.

Asociatividade coa multiplicación escalar
a(f*g)=(af)*g

para calquera número real (ou complexo) a.

Identidade multiplicativa

Ningunha álxebra de funcións posúe unha identidade para a convolución. A falta de identidade normalmente non é un gran inconveniente, xa que a maioría das coleccións de funcións nas que se realiza a convolución poden ser convolucionadas cunha distribución delta (un impulso unitario, centrado en cero) ou, polo menos (como é o caso de L1), admiten aproximacións á identidade. No entanto, o espazo linear das distribucións de soporte compacto admite unha identidade baixo a convolución. Especificamente,

f*δ=f

onde δ é a distribución delta.

Elemento inverso
Algunhas distribucións S teñen un elemento inverso S−1 para a convolución que entón debe satisfacer
S1*S=δ

a partir do cal se pode obter unha fórmula explícita para S−1. O conxunto das distribucións invertíbeis forma un grupo abeliano baixo a convolución.

Conxugación complexa
f*g=f*g
Inversión temporal
Se  q(t)=r(t)*s(t),  entón  q(t)=r(t)*s(t).

Demostración (usando o teorema da convolución):

q(t)   Q(f)=R(f)S(f)

q(t)   Q(f)=R(f)S(f)

q(t)=1{R(f)S(f)}=1{R(f)}*1{S(f)}=r(t)*s(t)

Relación coa diferenciación
(f*g)=f*g=f*g

Demostración:

(f*g)=ddtf(τ)g(tτ)dτ=f(τ)tg(tτ)dτ=f(τ)g(tτ)dτ=f*g.
Relación coa integración
Se F(t)=tf(τ)dτ, e G(t)=tg(τ)dτ, entón
(F*g)(t)=(f*G)(t)=t(f*g)(τ)dτ.

Notas

Modelo:Reflist Modelo:Reflist

Véxase tamén

Modelo:Commonscat

Bibliografía

Outros artigos

Ligazóns externas

Modelo:Control de autoridades