Intuition hinter der Kommutativität der Faltung in LTI-Systemen

7

Warum ist die Faltung kommutativ, da sie in einem LTI-System zwei Signale unterschiedlich zu behandeln scheint?

Wenn Sie sich vorstellen y[n]]=x[n]]h[n]] mit x[n]] ein Eingangssignal sein und h[n]] Wie macht es Sinn, das LTI-System B mit Eingabe zu verwenden, da es die Impulsantwort eines LTI-Systems A ist? h[n]] und Impulsantwort x[n]] erzeugt genau die gleiche Ausgabe y[n]] ?

NightRain23
quelle
1
y[n]=x[n]h[n]ist keine sinnvolle Notation. Es sollte gerecht seiny=xh.
links um den
3
Eigentlich habe ich das gesehen y[n]]=x[n]]h[n]]Notation oft verwendet. Ich sehe nicht, was daran nicht sinnvoll ist. es liest sich als "die Sequenzy[n]] wird durch Falten der Sequenz gefunden x[n]] mit der Sequenz h[n]]. "
Jason R

Antworten:

3

In einem zeitdiskreten System wie dem, das Sie haben, die Nummer y[n0] (Hier n0ist eine feste ganze Zahl) ist eine Summe der Form

k=h[k]x[n0k]
die über einen Variablenwechsel neu angeordnet werden kann (ersetzenk durch n0) bis
=h[n0]x[].
Die Kommutativität der Faltung ist also trivial. Das Problem ist die Interpretation , die Sie darauf setzen. Als Laurent Duval / s Antwort weist darauf hin, die Systeme sind A und B nicht in jedem Sinne des Wortes gleichwertig. Wenn das Signalx wurden durch ein anderes Signal ersetzt x^dann hätte System A ausgegeben y^=hx^, aber Sie würden nicht die gleiche Ausgabe erhalten y^ wenn System B von angeregt wäre h;; Die Impulsantwort von System B bleibt bestehenxund System B hat somit Ausgabe xx^=x^xhx^.

Dilip Sarwate
quelle
Vielen Dank, dass Sie meine Antwort (etwas) verstanden haben, was jetzt ziemlich unklar erscheint.
Laurent Duval
2

Stellen Sie sich ein System vor, das eine einzelne Nummer akzeptiert x als Eingabe, und es multipliziert diese Zahl mit einer anderen Zahl h. Würde es Sie überraschen, dass ein anderes System seine Eingabe mit der Zahl multipliziert?x gibt die gleiche Ausgabe wie das erste System, wenn es mit der Nummer gespeist wird hals Eingabe? Wenn nicht, sollte es auch nicht überraschen, dass der Ausgang eines LTI-Systems mit Impulsantworth[n]] und Eingabe x[n]] gibt die gleiche Leistung wie ein anderes LTI-System mit Impulsantwort x[n]] und Eingabe h[n]].

Oder in mathematischer Sprache für den zeitdiskreten Fall:

(xh)[n]]=kx[k]]h[n- -k]]|m=n- -k=mx[n- -m]]h[m]]=(hx)[n]]

Matt L.
quelle
1

Denken Sie an die Faltung xhals einige verspätete Kopien vonx summiert, jeweils mit einer aus dem Eintrag von ausgelesenen Amplitude hbei dieser Verzögerung. Stellen wir es uns mit spärlichen Impulssignalen vor: (Ignorieren Sie die vertikale Verschiebung, um die Handlung zu überladen.)Visualisierung, wie eine Faltung aufgebaut ist

Wenn Sie nun die Faltung umdrehen, ändert sich nur die Vorstellung, welche Zeitskala "Verzögerung des Signals" und welche einfach "Zeit des ursprünglichen Signals" ist. Sie erhalten das gleiche Ergebnis.

Die Faltung umgekehrt visualisieren.

Quellcode (Haskell mit dynamischem Plot ):

import Graphics.Dynamic.Plot.R2
import Control.Monad
import Data.List
import System.Random

main :: IO ()
main = do
   -- Times of the impulses in signal 𝑥
   txs <- scanl (+) 0 <$> replicateM 16 (randomRIO (0,0.1))
   -- Amplitudes of the impulses in 𝑥
   xs <- replicateM 8 (randomRIO (0,1))
   -- Times of the echoes in convolution kernel ℎ
   ths <- scanl (+) 0 <$> replicateM 16 (randomRIO (0,0.4))
   -- Amplitudes of the echoes in ℎ
   hs <- (1:) <$> replicateM 9 (randomRIO (0,1.0))

   plotWindow [plotLatest
     [ plotDelay 0.5 $ plotMultiple
    [ legendName name $ lineSegPlot
                             [(t,y+y0) | (t,x) <- sig, y<-[0,x,0]]
        | (    sig,                     name,   y0 ) <-
           [ ( zip txs xs,              "𝑥" ,   0  )
           , ( zip ths hs',             "ℎ" ,   1  )
           , ( [ (tx+th,x*h)
               | (tx,x)<-zip txs xs
               , (th,h)<-zip ths hs' ], "𝑥⋆ℎ", 0.5 )
           ]
        ]
      | hs' <- cycle . tail $ inits hs]
    , xInterval (0,2) ]
   return ()
links herum
quelle
1

Ich empfehle dringend, 1 die Faltung auf eine etwas andere Weise zu definieren, nämlich als:

(xh)[n]]=ich+j=nx[ich]]h[j]]

Sie können sehen, dass dies nur die Standarddefinition mit einer Änderung der Variablen ist, dh wählen Sie j=n- -ich. (Sie müssen etwas klarer über die Reichweite seinich und j laufen über, dh es macht einen Unterschied, ob ich,jN. gegen ich,jZ..)

Diese Definition macht die Kommutativität offensichtlich. Eine andere Perspektive ist jedoch, wenn Sie ein Polynom habenX.(z)=ichx[ich]]zich und ein Polynom H.(z)=ichh[ich]]zich und Sie multiplizieren sie als Polynome, X.(z)H.(z), du erhältst

X(z)H(z)=i(xh)[i]zi
(Dies verallgemeinert sich auf formale Potenzreihen.) Schreiben Sie die Multiplikation einfach selbst in einige Beispiele, um dies zu überprüfen und möglicherweise induktiv zu beweisen. Diese Perspektive macht die Kommutativität wieder völlig offensichtlich. Diese Perspektive macht auch den Faltungssatz für die Z-Transformation ziemlich offensichtlich.

1 Ich habe einen ganzen Blog-Beitrag darüber geschrieben.

Derek Elkins verließ SE
quelle
Nun, jemand mochte deine Antwort nicht, aber ich tat es (und stornierte ihre "-1"). Ich habe diese Notation noch nie gesehen:
i+j=nx[i]h[j]
und ich finde es irgendwie süß. Vielleicht denke ich in Zukunft, dass es blöd ist, aber jetzt finde ich es süß.
Robert Bristow-Johnson
Es gibt etwas Interessantes in diesem "diagonalen" Argument, ich werde versuchen, eine grafische Version zu finden
Laurent Duval
1

Als Ergänzung zu den vorherigen Antworten können Sie kaum feststellen , was Sie als Eingabe- / Systemfunktion hatten , wenn Sie die Ausgabe kaum betrachten . Nehmen wir zum Beispiel die folgenden (Zusammenschaltung von) Systemen, die alle die gleiche Ausgabe erzeugen.


Geben Sie hier die Bildbeschreibung ein

Für das obige System haben wir:

y[n]]=(xh)[n]]
Y.(z)=X.(z).H.(z)=H.(z).X.(z)


Geben Sie hier die Bildbeschreibung ein

Für das obige System haben wir:

y[n]]=((δx)h)[n]]
Y.(z)=1.X.(z).H.(z)=X.(z).H.(z)=H.(z).X.(z)


Geben Sie hier die Bildbeschreibung ein Für das obige System haben wir:

y[n]]=((δαx)1αh)[n]]
Y.(z)=1.αX.(z).1αH.(z)=X.(z).H.(z)=H.(z).X.(z)


Viele andere Kombinationen, die das gleiche Ergebnis liefern, sind natürlich möglich, einschließlich des Austauschs der Rollen von h[n]] und x[n]].

Beachten Sie, dass diese Beobachtung das Hauptanliegen des Feldes Blind System Identification ist : Versuchen Sie, die Eingabe und / oder die Systemfunktion nur anhand der Ausgabedaten zu identifizieren.

Da wir das Problem nicht wie angegeben lösen können, werden mehr Nebeninformationen (z. B. Ausgangsstatistiken) benötigt, auch vielfältigere Kanäle (um Nullen zu kompensieren, dh Frequenzen, für die kein Signal durchgelassen werden kann) und ein ausreichend reichhaltiges Eingangssignal, das dies kann hilfreich sein, um die Systemfunktion wiederherzustellen.

Eine Intuition für Ihre Frage zu haben

Warum ist die Faltung kommutativ, da sie in einem LTI-System zwei Signale unterschiedlich zu behandeln scheint?

ansehen Y.(z)=X.(z)H.(z)als Ausgabe von zwei LTI-Systemen in Reihe. Sie können sie austauschen, indem Sie die zweite und dann die erste anwenden. das ist Kommutativität. Auch wennX.(z) und H.(z) beide haben das gleiche (oder ein unendliches) Frequenzband, dann können wir sie wiederherstellen (bis zu einer skalaren Multiplikation), andernfalls verlieren wir definitiv einige Frequenzen und eine vollständige Wiederherstellung ist nicht möglich.

Learn_and_Share
quelle
1

Es gibt grundlegende konzeptionelle Unterschiede zwischen Signalen und Systemen . Ich werde dies durch die Idee der Einheitskonsistenz erklären (siehe zum Beispiel). Bei LTI-Systemen werden Signale und Systeme jedoch durch Faltung dual, da letzteres kommutativ ist. Zwei Abschweifungen zuerst, aufgrund der Erwähnung in der Antwort von @Dilip Sarwate .

  • Exkurs 1: LTI-Systeme können für verschiedene Signale den gleichen Ausgang haben

Wenn zwei verschiedene Systeme für einige Eingangssignale dieselben Ausgänge bereitstellen , bedeutet dies, dass sie einige Eigenschaften gemeinsam haben. Wenn ihre Ausgänge jedoch für alle Eingänge gleich sind, haben sie im Wesentlichen die gleiche Impulsantwort und sind praktisch die gleichen Systeme.

Stellen Sie sich zum Beispiel vor, Sie haben einen Eingangssinus mit Frequenz f. Wenn beide Systeme die Frequenz oben abschneidenf- -ϵBeide haben das gleiche Verhalten für dieses Signal, können jedoch zwei verschiedene Tiefpasssysteme sein. Es werden mehr Signale benötigt, um sie zu unterscheiden.

  • Exkurs 2: Zwei verschiedene Eingangssignale können über ein bestimmtes LTI-System den gleichen Ausgang haben

Zum Beispiel ein konstantes Signal gleich eins oder ein 2-periodisches Signal mit {2,0} Werte erzeugen die gleiche Ausgabe für 2n-Mittelung von Filern.

Zurück zu Ihrer Frage . Ein SystemS. dreht Eingänge X. in Ausgänge Y.jeweils mit physikalischen Einheiten uX. und uY.. Ein System kann also als Einheitskonverter gesehen werden, formal mit innerer EinheituY./.uX.. Im Allgemeinen ist das System "fest", während die Eingaben variieren. Es gibt also keinen Grund warumS. und X. sollte die gleiche Rolle spielen.

Wenn man jedoch LTI-Systeme betrachtet, können Systemeigenschaften plötzlich irgendwie auf Signale übertragen werden und umgekehrt (solange die Faltung genau definiert ist). Dies hängt mit der Tatsache zusammen, dass die Faltung mit Schichten pendelt. Stellen Sie sich der Einfachheit halber ein "Drei-Stufen" -System mit vorz-Transformationsantwort hlz- -l+hmz- -m+hnz- -n. Sie können dies direkt in eine Drei-Band-Filterbank mit einem einzigen Eingang und entsprechenden Antworten umwandelnhlz- -l, hmz- -m und hnz- -n. Jeder Zweig bietet für jeden Eingang nur einen Skalierungsfaktor und eine Verzögerung.

Aber das gleiche passiert mit Signalen: jedem Eingang x={,xl,,xm,,xn,}} kann in skalare Komponenten aufgeteilt werden:

x=+xlδl++xmδm+xnδn+
wo δbezeichnet das Kronecker-Symbol. Aufgrund der Linearität könnte jede Komponente durch das lineare System geführt werden. Wenn alles (Signal und System) auf diese Weise aufgeteilt wird, sind Berechnungen nur ein Haufenxkδk ein paar durchgehen hichz- -ich, die im Grunde die gleichen Operationen sind: ein Faktor / eine Amplitude und eine verzögerte Abtastung / ein Verzögerungsoperator. Mit anderen Worten,xkδk durchgehen hichz- -ich ergibt das gleiche Ergebnis wie hkδk durchgehen xichz- -ich, weil das Produkt hkxich ist kommutativ (und bewahrt die Konsistenz der Einheiten) und verzögert auch den Pendelverkehr.

Mit anderen Worten, ein LTI ergibt nur eine gewichtete Summe mit Gewichten h auf Eingangsproben von x:: hichxk- -ich, die ebenso gelesen werden kann wie eine gewogene Summe mit Gewichten x auf Eingangsproben von h:: xichhk- -ich. Aus Gründen der Einheitenkonsistenz sollte man jedoch die Einheiten von wechselnx und h.

Diese Austauschbarkeit zwischen Signalen und Systemen im LTI scheint (auf den ersten Blick) im Mehrphasen- / Modulationsausdruck von Filterbänken oder bei der angepassten Filterung eine Rolle zu spielen .

Laurent Duval
quelle
2
Dies scheint eine andere Frage zu beantworten.
user253751
Ich glaube wirklich, dass ich einen Teil der Frage in ihrer ursprünglichen Formulierung beantwortet habe. Nicht mehr, lassen Sie mich das ändern
Laurent Duval
@LaurentDuval warum beantwortet dies die Frage nicht (mehr)?
AlexTP
0

Du hast recht. Es ist völlig absurd zu glauben, dass die Impulsantwort eines LTI-Systems durch das Eingangssignal ersetzt werden kann und umgekehrt, und dennoch das gleiche Ergebnis erzielen.

Betrachten Sie als Beispiel ein Tiefpassfilter mit IIR-Impulsantwort h[n]] welches von den Abtastwerten der Sprachwellenform gespeist wird x[n]]um eine tiefpassgefilterte Version der Sprache zu erzeugen. Vertauschen der Rollen von Eingabesprache und Impulsantwort des LTI-Systemsh[n]] macht in einer praktischen Umgebung zu einer Absurdität.

Dies ist jedoch mathematisch der Fall. Und Sie können sogar eine Beispielanwendung finden, die von einem solchen Austausch profitieren kann. Eine mathematische Erklärung findet sich in Matts Antwort.

Fat32
quelle