Convolución

En matemáticas (en particular, na análise funcional), a convolución é unha operación matemática sobre dúas funcións ( e ) que produce unha terceira función (). 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 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 n enteiro defínese como os produtos das valores das funcións nos índices que suman n (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 () difire da correlación cruzada () só en que ou se reflicte sobre o eixp na convolución; así, é unha correlación cruzada de e , ou de e .[a] 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
[editar | editar a fonte]A convolución de e escríbese , denotando o operador co símbolo .[b] Defínese como a integral do produto das dúas funcións despois de que unha delas se reflicte sobre o eixo e se despraza. Como tal, é un tipo particular de transformada integral:
Aínda que se usa o símbolo anteriormente, non ten que representar o dominio do tempo. En cada , a fórmula de convolución pode describirse como a área baixo a función ponderada pola función desprazada pola cantidade . A medida que muda, a función de ponderación destaca diferentes partes da función de entrada .
Se é un valor positivo, entón é igual a que se desliza ou se despraza ao longo do eixo cara á dereita (cara a ) pola cantidade de , mentres que se é un valor negativo, entón é igual a que se desliza ou se despraza cara á esquerda (cara a ) pola cantidade de .
Para funcións , soportadas só en (é dicir, cero para argumentos negativos), os límites de integración poden truncarse, resultando en:
Para a formulación multidimensional da convolución, véxase dominio de definición (a continuación).
Notación
[editar | editar a fonte]Unha convención notacional común en enxeñaría é:[2]
que debe interpretarse con coidado para evitar confusións. Por exemplo, é equivalente a , mais é de feito equivalente a .[3]
Convolución circular
[editar | editar a fonte]- Artigo principal: Convolución circular.
Cando unha función é periódica, con período , entón para funcións, , tal que existe, a convolución é tamén periódica e idéntica a:
onde é unha escolla arbitraria. A suma chámase suma periódica da función .
Cando é unha suma periódica doutra función, , entón coñécese como unha convolución circular ou cíclica de e .
E se a suma periódica anterior se substitúe por , a operación chámase unha convolución periódica de e .
Convolución discreta
[editar | editar a fonte]
Para funcións de valor complexo e definidas no conxunto dos enteiros, a convolución discreta de e vén dada por:[4]
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 g ten soporte finito no conxunto (representando, por exemplo, unha resposta finita ao impulso), pode usarse unha suma finita:[5]
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:
- ,
desde o punto de vista desta matriz o produto de Cauchy é unha convolución discreta formada pola suma das antidiagonais:
Convolución circular discreta
[editar | editar a fonte]Cando unha función é periódica, con período entón para funcións, tales que existe, a convolución é tamén periódica e idéntica a:
A suma sobre chámase suma periódica da función
Se é unha suma periódica doutra función, entón coñécese como unha convolución circular de e
Cando as duracións non nulas de ambas as dúas e están limitadas ao intervalo redúcese a estas formas comúns:
A notación para a convolución cíclica denota convolución sobre o grupo cíclico de enteiros módulo N.
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
[editar | editar a fonte]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 (Knuth 1997, §4.3.3.C; von zur Gathen & Gerhard 2003, §8.2).
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
[editar | editar a fonte]A convolución de dúas funcións de valor complexo en Rd é unha función de valor complexo en Rd, definida por:
e está ben definida só se f e g 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 g no infinito pode ser facilmente compensado por un decaemento suficientemente rápido en f. Así, a cuestión da existencia pode implicar diferentes condicións sobre f e g:
Funcións de soporte compacto
[editar | editar a fonte]Se f e g son funcións continuas de soporte compacto, entón a súa convolución existe e tamén é de soporte compacto e continua (Hörmander 1983, Capítulo 1). Máis xeralmente, se unha das funcións (por exemplo, f) é de soporte compacto e a outra é localmente integrábel, entón a convolución f∗g está ben definida e é continua.
A convolución de f e g tamén está ben definida cando ambas as funcións son localmente cadrado integrábeis en R e están soportadas nun intervalo da forma [a, +∞) (ou en [−∞, a]).
Funcións integrábeis
[editar | editar a fonte]A convolución de f e g existe se f e g son ambas as dúas funcións integrábeis de Lebesgue en L1(Rd), e neste caso f∗g tamén é integrábel (Stein & Weiss 1971, Teorema 1.3). Isto é unha consecuencia do teorema de Tonelli. Isto tamén é certo para funcións en L1, baixo a convolución discreta, ou máis xeralmente para a convolución en calquera grupo.
Do mesmo xeito, se f ∈ L1(Rd) e g ∈ Lp(Rd) onde 1 ≤ p ≤ ∞, entón f*g ∈ Lp(Rd), e
No caso particular p = 1, isto mostra que L1 é unha álxebra de Banach baixo a convolución (e a igualdade dos dous lados cúmprese se f e g 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 Lp adecuados. Especificamente, se 1 ≤ p, q, r ≤ ∞ cumpren:
entón
de xeito que a convolución é unha aplicación bilinear continua de Lp×Lq a Lr. A desigualdade de Young para a convolución tamén é certa noutros contextos (grupo circular, convolución en Z). A desigualdade anterior non é estrita na recta real: cando 1 < p, q, r < ∞, existe unha constante Bp,q < 1 tal que:
O valor óptimo de Bp,q descubriuse en 1975[14] e independentemente en 1976,[15] véxase desigualdade de Brascamp-Lieb.
Unha estimación máis forte é certa sempre que 1 < p, q, r < ∞:
onde é a norma débil Lq. A convolución tamén define unha aplicación bilinear continua para , debido á desigualdade de Young débil:[16]
Funcións de decaemento rápido
[editar | editar a fonte]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 f∗g tamén decae rapidamente. En particular, se f e g son funcións de decaemento rápido, entón a convolución f∗g 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 (Stein & Weiss 1971, Teorema 3.3).
Distribucións
[editar | editar a fonte]- Artigo principal: Distribución (matemáticas).
Se f é unha función suave de soporte compacto e g é unha distribución, entón f∗g é unha función suave definida por
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
siga a ser válida no caso en que f sexa unha distribución e g unha distribución de soporte compacto (Hörmander 1983, §4.2).
Medidas
[editar | editar a fonte]A convolución de dúas medidas de Borel μ e ν de variación limitada é a medida definida por (Rudin 1962)
En particular,
onde é un conxunto medíbel e é a función indicadora de .
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
[editar | editar a fonte]Propiedades alxébricas
[editar | editar a fonte]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 (Strichartz 1994, §3.3). 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.
Demostración: Por definición:
Mudando a variábel de integración a dedúcese o resultado.
Demostración: Isto dedúcese de usar o teorema de Fubini (é dicir, as integrais dobres poden ser avaliadas como integrais iteradas en calquera orde).
Demostración: Isto dedúcese da linearidade da integral.
- Asociatividade coa multiplicación escalar
para calquera número real (ou complexo) .
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,
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
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
- Inversión temporal
- Se entón
Demostración (usando o teorema da convolución):
- Relación coa diferenciación
Demostración:
- Relación coa integración
- Se e entón
Notas
[editar | editar a fonte]- ↑ Bahri, Mawardi; Ashino, Ryuichi; Vaillancourt, Rémi (2013). "Convolution Theorems for Quaternion Fourier Transform: Properties and Applications" (PDF). Abstract and Applied Analysis 2013: 1–10. Arquivado dende o orixinal (PDF) o 2020-10-21. Consultado o 2022-11-11.
- ↑ Smith, Stephen W (1997). "13.Convolution". The Scientist and Engineer's Guide to Digital Signal Processing (1 ed.). California Technical Publishing. ISBN 0-9660176-3-3. Consultado o 22 de abril de 2016.
- ↑ Irwin, J. David (1997). "4.3". The Industrial Electronics Handbook (1 ed.). Boca Raton, FL: CRC Press. p. 75. ISBN 0-8493-8343-9.
- ↑ Damelin & Miller 2011, p. 219
- ↑ Press, William H.; Flannery, Brian P.; Teukolsky, Saul A.; Vetterling, William T. (1989). Numerical Recipes in Pascal. Cambridge University Press. p. 450. ISBN 0-521-37516-9.
- ↑ Rader, C.M. (Decembro 1972). "Discrete Convolutions via Mersenne Transforms". IEEE Transactions on Computers 21 (12): 1269–1273. doi:10.1109/T-C.1972.223497.
- ↑ Winograd, Shmuel (Xaneiro 1980). Arithmetic Complexity of Computations (en inglés). Society for Industrial and Applied Mathematics. ISBN 978-0-89871-163-9. doi:10.1137/1.9781611970364.
- ↑ Lyakhov, P. A.; Nagornov, N. N.; Semyonova, N. F.; Abdulsalyamova, A. S. (Xuño 2023). "Reducing the Computational Complexity of Image Processing Using Wavelet Transform Based on the Winograd Method". Pattern Recognition and Image Analysis (en inglés) 33 (2): 184–191. ISSN 1054-6618. doi:10.1134/S1054661823020074.
- ↑ Wu, Di; Fan, Xitian; Cao, Wei; Wang, Lingli (Maio 2021). "SWM: A High-Performance Sparse-Winograd Matrix Multiplication CNN Accelerator". IEEE Transactions on Very Large Scale Integration (VLSI) Systems 29 (5): 936–949. ISSN 1063-8210. doi:10.1109/TVLSI.2021.3060041.
- ↑ Mittal, Sparsh; Vibhu (Maio 2021). "A survey of accelerator architectures for 3D convolution neural networks". Journal of Systems Architecture (en inglés) 115: 102041. doi:10.1016/j.sysarc.2021.102041.
- ↑ Selesnick, Ivan W.; Burrus, C. Sidney (1999). "Fast Convolution and Filtering". En Madisetti, Vijay K. Digital Signal Processing Handbook. CRC Press. p. Sección 8. ISBN 978-1-4200-4563-5.
- ↑ Juang, B.H. "Lecture 21: Block Convolution" (PDF). EECS at the Georgia Institute of Technology. Arquivado dende o orixinal (PDF) o 2004-07-29. Consultado o 17 Maio 2013.
- ↑ Gardner, William G. (Novembro 1994). "Efficient Convolution without Input/Output Delay" (PDF). Audio Engineering Society Convention 97. Paper 3897. Arquivado dende o orixinal (PDF) o 2015-04-08. Consultado o 17 Maio 2013.
- ↑ Beckner, William (1975). "Inequalities in Fourier analysis". Annals of Mathematics. Second Series 102 (1): 159–182. JSTOR 1970980. doi:10.2307/1970980.
- ↑ Brascamp, Herm Jan; Lieb, Elliott H. (1976). "Best constants in Young's inequality, its converse, and its generalization to more than three functions". Advances in Mathematics 20 (2): 151–173. doi:10.1016/0001-8708(76)90184-5.
- ↑ Reed & Simon 1975, IX.4
- ↑ As razóns para a reflexión inclúen:
- É necesario implementar o equivalente do produto punto a punto das transformadas de Fourier de e .
- Cando a convolución se ve como unha media ponderada móbil, a función de ponderación, , especifícase a miúdo en termos doutra función, , chamada a resposta ao impulso dun sistema lineal invariante no tempo.
- ↑ O símbolo U+2217 ∗ ASTERISK OPERATOR é diferente de U+002A * ASTERISK, que se usa a miúdo para denotar a conxugación complexa.
Véxase tamén
[editar | editar a fonte]![]() |
Wikimedia Commons ten máis contidos multimedia na categoría: Convolución ![]() |
Bibliografía
[editar | editar a fonte]- Titchmarsh, E (1948). Introduction to the theory of Fourier integrals (2nd ed.). New York, N.Y.: Chelsea Pub. Co. (publicado o 1986). ISBN 978-0-8284-0324-5..
Outros artigos
[editar | editar a fonte]- Procesamento anlóxico de sinal
- Matriz circulante
- Potencia dunha convolución
- Cociente de convolución
- Convolución de Dirichlet
- Lista de convolucións de distribucións de probabilidade
- Convolución discreta multidimensional
- Teorema de convolución de Titchmarsh
- Matriz de Toeplitz (as convolucións pódense considerar unha operación da matriz de Toeplitz onde cada fila é unha copia desprazada do núcleo de convolución)
- Transformación de onda
Ligazóns externas
[editar | editar a fonte]- Usos máis antigos: a entrada sobre Convolution ten algunha información histórica.
- Convolution, on The Data Analysis BriefBook
- https://jhu.edu/~signals/convolve/index.html Visual convolution Java Applet
- https://jhu.edu/~signals/discreteconv2/index.html convolución visual Java Applet for discrete-time functions
- https://get-the-solution.net/projects/discret-convolution convolución discreta calculadora online
- Lectures on Image Processing: Unha colección de 18 conferencias en formato pdf da Universidade de Vanderbilt. A clase 7 trata sobre a convolución 2D, por Alan Peters
- Tutorial interactivo de operación de máscara de núcleo de convolución
- Convolution en MathWorld
- Freeverb3 Impulse Response Processor: Procesador de resposta de impulso de latencia cero de código aberto con complementos VST
- Stanford University CS 178 interactive Flash demo mostrando como funciona a convolución espacial.
- Exemplo de convolución FFT para o recoñecemento de padróns (procesamento de imaxes)
- Intuitive Guide to Convolution Unha publicación de blog sobre unha interpretación intuitiva da convolución.