Idea konwolucji
Moja ulubiona prezentacja tego tematu znajduje się w jednym z wykładów Brada Osgooda na temat transformaty Fouriera . Dyskusja na temat splotu zaczyna się około 36:00, ale cały wykład ma dodatkowy kontekst, który warto obejrzeć.
Podstawową ideą jest to, że gdy definiujesz coś w rodzaju transformacji Fouriera, zamiast cały czas pracować bezpośrednio z definicją, przydatne jest uzyskanie właściwości wyższego poziomu, które upraszczają obliczenia. Na przykład jedną z takich właściwości jest to, że transformacja sumy dwóch funkcji jest równa sumie transformat, tj
F{f+g}=F{f}+F{g}.
Oznacza to, że jeśli masz funkcję z nieznaną transformacją i można ją rozłożyć na sumę funkcji ze znanymi transformacjami, zasadniczo otrzymujesz odpowiedź za darmo.
Ponieważ mamy tożsamość sumy dwóch transformacji, naturalnym pytaniem jest, jaka jest tożsamość iloczynu dwóch transformacji, tj.
F{f}F{g}= ?.
Okazuje się, że przy obliczaniu odpowiedzi pojawia się splot. Cała pochodna jest podana w filmie, a ponieważ twoje pytanie jest głównie koncepcyjne, nie podsumuję go tutaj.
Implikacja zbliżenia się do splotu w ten sposób jest taka, że jest to nieodłączna część sposobu, w jaki transformata Laplace'a (której szczególnym przypadkiem jest transformata Fouriera) przekształca zwykłe równania różniczkowe zwyczajne o stałym współczynniku (LCCODE) w równania algebraiczne. Fakt, że taka transformacja jest dostępna, aby uczynić LCCODE możliwym do analizy analitycznym, jest dużą częścią powodu, dla którego są badane w przetwarzaniu sygnału. Na przykład, aby zacytować Oppenheim i Schafer :
Ponieważ są one stosunkowo łatwe do scharakteryzowania matematycznego i ponieważ można je zaprojektować do wykonywania użytecznych funkcji przetwarzania sygnałów, klasa systemów liniowych niezmiennych z przesunięciem zostanie gruntownie zbadana.
Tak więc jedna odpowiedź na pytanie brzmi: jeśli używasz metod transformacji do analizy i / lub syntezy systemów LTI, prędzej czy później dojdzie do splotu (pośrednio lub jawnie). Zauważ, że takie podejście do wprowadzenia splotu jest bardzo standardowe w kontekście równań różniczkowych. Na przykład zobacz wykład MIT Arthura Mattucka . Większość prezentacji albo przedstawia całkę splotu bez komentarza, a następnie czerpie jej właściwości (tj. Wyciąga ją z kapelusza), lub rąbka i maści o dziwnej formie całki, mówi o przerzucaniu i przeciąganiu, odwracaniu czasu itp. Itp. .
Powodem, dla którego podoba mi się podejście prof. Osgooda, jest to, że unika tego wszystkiego tsouris, a także, moim zdaniem, głęboki wgląd w to, w jaki sposób matematycy prawdopodobnie wpadli na ten pomysł. I cytuję:
Powiedziałem: „Czy istnieje sposób łączenia F i G w dziedzinie czasu, aby w dziedzinie częstotliwości widma się mnożyły, transformaty Fouriera mnożyły się?” Odpowiedź brzmi: tak, jest ta skomplikowana całka. To nie jest takie oczywiste. Nie wstawałbyś rano z łóżka i nie zapisywałbyś tego, i spodziewałeś się, że to rozwiąże ten problem. Jak to zdobyć? Powiedziałeś, załóżmy, że problem został rozwiązany, zobacz, co się stanie, a wtedy będziemy musieli rozpoznać, kiedy nadszedł czas, aby ogłosić zwycięstwo. I czas ogłosić zwycięstwo.
Teraz, będąc wstrętnym matematykiem, kryjesz swoje ślady i mówisz: „Cóż, po prostu zamierzam zdefiniować splot dwóch funkcji za pomocą tej formuły”.
Systemy LTI
W większości tekstów DSP splot jest zwykle wprowadzany w inny sposób (co pozwala uniknąć odniesienia do metod transformacji). Wyrażając dowolny sygnał wejściowy jako sumę skalowanych i przesuniętych impulsów jednostkowych,x(n)
x(n)=∑k=−∞∞x(k)δ(n−k),(1)
gdzie
δ(n)={0,1,n≠0n=0,(2)
definiujące właściwości liniowych układów niezmienniczych w czasie prowadzą bezpośrednio sumę splotu obejmującą odpowiedź impulsową . Jeśli system zdefiniowany przez operatora LTI L jest wyrażony jako y ( n ) = L [ x ( n ) ] , to przez zastosowanie właściwości repatywnych, a mianowicie liniowościh(n)=L[ δ(n) ]Ly(n)=L[ x(n) ]
L[ ax1(n)+bx2(n) ]Transform of the sum of scaled inputs=aL[ x1(n) ]+bL[ x2(n) ]Sum of scaled transforms,(3)
oraz niezmienność czasu / zmiany
L[ x(n) ]=y(n) −→−−−impliesL[ x(n−k) ]=y(n−k),(4)
system można przepisać jako
y(n)=L[∑k=−∞∞x(k)δ(n−k)]Tranform of the sum of scaled inputs=∑k=−∞∞x(k)L[δ(n−k)]Sum of scaled transforms=∑k=−∞∞x(k)h(n−k).Convolution with the impulse response
To bardzo standardowy sposób prezentowania splotu i jest to całkowicie elegancki i użyteczny sposób na obejście tego. Podobne pochodne można znaleźć w Oppenheim i Schafer , Proakis i Manolakis , Rabiner i Gold i jestem pewien, że wiele innych. Niektóre głębszy wgląd [który idzie dalej niż standardowe wprowadzeń] jest dana przez Dilip w jego doskonałą odpowiedź tutaj .
Zauważ jednak, że to wyprowadzenie jest nieco magiczną sztuczką. Patrząc jeszcze raz na rozkład sygnału w , widzimy, że ma on już postać splotu. Gdyby(1)
(f∗g)(n)f convolved with g=∑k=−∞∞f(k)g(n−k),
wtedy to tylko x ∗ δ . Ponieważ funkcja delta jest elementem tożsamości dla splotu, powiedzenie, że dowolny sygnał może być wyrażony w tej formie, jest bardzo podobne do powiedzenia, że dowolna liczba n może być wyrażona jako n + 0 lub n × 1 . Teraz wybór opisania sygnałów w ten sposób jest genialny, ponieważ prowadzi bezpośrednio do idei odpowiedzi impulsowej - po prostu idea konwolucji jest już „wypalona” do rozkładu sygnału.(1)x∗δnn+0n×1
Z tej perspektywy splot jest nierozerwalnie związany z ideą funkcji delta (tj. Jest to operacja binarna, w której funkcja delta jest elementem tożsamości). Nawet bez uwzględnienia jego związku ze splotem opis sygnału zależy w głównej mierze od idei funkcji delta. Powstaje więc pytanie: skąd pomysł na funkcję delta? O ile mi wiadomo, sięga co najmniej tak daleko jak artykuł Fouriera o Analitycznej Teorii Ciepła, gdzie pojawia się niejawnie. Jednym ze źródeł dalszych informacji jest ten artykuł o pochodzeniu i historii konwolucji autorstwa Alejandro Domíngueza.
Są to dwa główne podejścia do pomysłu w kontekście teorii systemów liniowych. Jeden opowiada się za wglądem analitycznym, a drugi za rozwiązaniem numerycznym. Myślę, że oba są przydatne do pełnego obrazu znaczenia splotu. Jednak w przypadku dyskretnym, całkowicie pomijając układy liniowe, istnieje poczucie, że splot jest znacznie starszym pomysłem.
Mnożenie wielomianowe
Jedną dobrą prezentację idei dyskretnego splotu po prostu wielomianowego zwielokrotnienia podał Gilbert Strang w wykładzie rozpoczynającym się około 5:46. Z tej perspektywy idea sięga wstecz aż do wprowadzenia systemów liczb pozycyjnych (które domyślnie reprezentują liczby jako wielomiany). Ponieważ transformata Z reprezentuje sygnały jako wielomiany w z, również w tym kontekście powstanie splot - nawet jeśli transformacja Z jest formalnie zdefiniowana jako operator opóźnienia bez uciekania się do złożonej analizy i / lub jako szczególny przypadek Laplace'a Przekształć .