LTIシステムにおける畳み込みの可換性の背後にある直観


7

LTIシステムでは2つの信号を異なる方法で処理するように見えるので、たたみ込みは可換性があるのはなぜですか?

あなたが想像するなら y[n]=x[n]h[n]x[n] 入力信号であり、 h[n] LTIシステムAのインパルス応答であるため、入力のあるLTIシステムBが h[n] そしてインパルス応答 x[n] まったく同じ出力を生成します y[n]


1
y[n]=x[n]h[n]賢明な表記ではありません。それはちょうどy=xh
leftaround約

3
実際に、私は見ました y[n]=x[n]h[n]表記はよく使われます。何が分からないのかわかりません。それは「シーケンスy[n] シーケンスを畳み込むことで見つかります x[n] シーケンスで h[n]。 "
ジェイソンR

回答:


3

あなたが持っているような離散時間システムでは、 y[n0] (ここに n0は固定整数です)は次の形式の合計です

k=h[k]x[n0k]
これは可能な再配置された変数の変化を経て(置き換えk 沿って n0)から
=h[n0]x[].
したがって、畳み込みの可換性は取るに足らないものです。問題はあなたがそれにかけた解釈です。Laurent Duval / sの回答が指摘するように、システム Aとシステム Bは、どのような意味でも同等ではありません。信号がx 別の信号に置き換えられました x^、システムAは出力を持ちます y^=hx^、しかしあなたは同じ出力を得られないでしょう y^ システムBが h; システムBのインパルス応答は、x、したがってシステムBは出力 xx^=x^xhx^


私の答えを(ある程度)理解していただきありがとうございます。
Laurent Duval

2

単一の番号を受け入れるシステムを想像してください x その入力として、それはその数に別の数を掛けます h。入力に数値を乗算する別のシステムがあることを驚かせますかx 番号を入力すると、最初のシステムと同じ出力が得られます h入力として?そうでない場合、インパルス応答を持つLTIシステムの出力が驚くことではありません。h[n] そして入力 x[n] インパルス応答を持つ別のLTIシステムと同じ出力を提供します x[n] そして入力 h[n]

または、数学言語では、離散時間の場合:

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


1

畳み込みについて考えてください xhのいくつかの遅延コピーを取ってx 合計され、それぞれのエントリから読み取られた振幅が hその遅れで。疎インパルス信号でそれを想像してみましょう:(垂直シフトを無視してください、それは単にプロットを整理するためです)畳み込みがどのように構築されるかを視覚化

ここで、たたみ込みを反転すると、変化するのは、どのタイムスケールが「信号の遅延」であり、単に「元の信号の時間」であるという概念です。同じ結果になります。

逆に畳み込みを視覚化します。

ソースコード(ダイナミックプロット付きのHaskell ):

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 ()

1

私は非常に強くお勧めします1つまりとして、わずかに異なる方法でコンボリューションを定義します:

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

これは、変数を変更した標準の定義にすぎないことがわかります。つまり、 j=ni。(範囲について少し明確にする必要がありますi そして j つまり、次の場合に違いが生じます。 i,jNi,jZ。)

この定義により、可換性が明らかになります。それにもかかわらず、これに関する別の見方は、多項式がある場合X(z)=ix[i]zi そして多項式 H(z)=ih[i]zi それらを多項式として乗算します X(z)H(z)、あなたは得る

X(z)H(z)=i(xh)[i]zi
(これは正式なべき級数に一般化されます。)これを確認し、おそらく帰納的に証明するために、いくつかの例で自分で乗算を書きます。この観点からも、可換性は完全に明らかです。この見方により、Z変換のたたみ込み定理もかなり明白になります。

1私はこれについてブログ記事全体を書きました。


まあ、誰かがあなたの答えを気に入らなかったが、私はそうした(そして彼らの "-1"をキャンセルした)私はこれまでこの表記を見たことがありません:
i+j=nx[i]h[j]
ちょっとかわいいと思います。たぶん、将来は面白くないと思うかもしれませんが、今はかわいいと思います。
robert bristow-johnson

この「対角線」の議論には興味深いものがあります。私はグラフィカルバージョンを見つけようとします
Laurent Duval

1

前の回答を補足するものとして、出力をかろうじて見ただけでは、入力/システム関数として何があったかを特定できません。たとえば、すべて同じ出力を生成する次の(相互接続)システムを考えてみます。


ここに画像の説明を入力してください

上記のシステムの場合:

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


ここに画像の説明を入力してください

上記のシステムの場合:

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


ここに画像の説明を入力してください 上記のシステムの場合:

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


もちろん、同じ結果をもたらす他の多くの組み合わせが可能です。 h[n] そして x[n]

この観察は、ブラインドシステム識別と呼ばれるフィールドの主な関心事であることに注意してください。出力データのみを使用して、入力またはシステム関数、あるいはその両方を識別してみてください。

前述のように問題を解決できないため、より多くのサイド情報(出力統計など)が必要であり、より多様なチャネル(ゼロを補償するため、つまり信号が通過できない周波数)、および十分な豊富な入力信号が必要になる場合があります。システム機能の回復に役立ちます。

質問に対する直感がある

LTIシステムでは2つの信号を異なる方法で処理するように見えるので、たたみ込みは可換性があるのはなぜですか?

見る Y(z)=X(z)H(z)直列の2つのLTIシステムの出力として。あなたはそれらを入れ替えることができます。それが可換性です。また、X(z) そして H(z) 両方が同じ(または無限の)周波数帯域を持っている場合、それらを(スカラー倍まで)回復できます。それ以外の場合は、一部の周波数が確実に失われ、完全な回復は不可能です。


1

信号システムの概念には基本的な違いがあります。これについては、ユニットの一貫性(たとえば、を参照)の考え方で説明します。ただし、LTIシステムの場合、信号とシステムは畳み込みによって二重になります。これは、後者が可換であるためです。@Dilip Sarwateの回答で言及されているため、最初に2つの余談があります

  • 余談1:LTIシステムは異なる信号に対して同じ出力を持つことができる

2つの異なるシステムがいくつかの入力信号に対して同じ出力を提供する場合、これはそれらがいくつかのプロパティを共有することを意味します。しかし、それらの出力がすべての入力に対して等しい場合、それらは本質的に同じインパルス応答を持ち、それらは実質的に同じシステムです。

たとえば、周波数に入力サインがあるとします。 f。両方のシステムが上記の周波数をカットした場合fϵ、両方ともその信号に対して同じ動作をしますが、2つの異なるローパスシステムである可能性があるため、それらを区別するためにより多くの信号が必要です。

  • 補足2:2つの異なる入力信号は、特定のLTIシステムを介して同じ出力を持つことができます。

たとえば、1に等しい定数信号、または{2,0値は同じ出力を生成します 2n-平均化ファイラー。

あなたの質問に戻ります。システムS 入力を回す X 出力に Y、それぞれ物理単位 uX そして uY。したがって、システムは単位変換器と見なすことができ、正式には内部ユニットを備えています。uY/uX。一般に、システムは「固定」されていますが、入力はさまざまです。だから、理由はありませんS そして X 同じ役割を果たす必要があります。

ただし、LTIシステムを考えると、突然、システムプロパティが何らかの形で信号に転送されたり、その逆の場合があります(たたみ込みが明確に定義されている限り)。これは、畳み込みがシフトと交換されるという事実に関連しています。簡単にするために、「3タップ」システムを想像してください。z-変換応答 hlzl+hmzm+hnzn。これを単一の入力とそれぞれの回答を使用して、3バンドフィルターバンクに直接変換できます。hlzlhmzm そして hnzn。各ブランチは、各入力に対して、スケール係数と遅延のみを提供します。

しかし同じことが信号にも起こります:各入力 x={,xl,,xm,,xn,} スカラーコンポーネントに分割できます。

x=+xlδl++xmδm+xnδn+
どこ δクロネッカー記号を示します。線形性により、各コンポーネントは線形システムを介して供給できます。すべて(信号とシステム)がこのように分割されている場合、計算はxkδk いくつかを経て hizi、基本的に同じ操作です:係数/振幅と遅延サンプル/遅延演算子。言い換えると、xkδk を通過する hizi 同じ結果になります hkδk を通過する xizi、製品 hkxi 可換性があり(単位の一貫性を維持)、通勤も遅延します。

つまり、LTIは重み付きの重み付き合計を生成します。 h の入力サンプル xhixki、重み付きの加重和と同様に読み取ることができます x の入力サンプル hxihki。ただし、単位の一貫性を保つために、単位を切り替える必要があります。x そして h

LTIの信号とシステム間のこの互換性は、フィルターバンクのポリフェーズ/変調式、または整合フィルターで(一見)機能しているようです。


2
これは別の質問に答えているようです。
user253751

私はその最初の定式化で質問の一部に答えていたと本当に信じています。もう変更しないでください
Laurent Duval

@LaurentDuvalなぜこれが質問に答えないのですか?
AlexTP 2018年

0

あなたが正しいです。LTIシステムのインパルス応答を入力信号で置き換えることができ、その逆も同様であるにもかかわらず、同じ結果が得られると考えるのはまったくばかげています。

例として、IIRインパルス応答を備えたローパスフィルターを考えます。 h[n] 音声波形のサンプルによって供給されます x[n]音声のローパスフィルタリングされたバージョンを生成します。それでも、入力音声とLTIシステムインパルス応答の役割を交換するh[n] 実用的な設定では不条理になります。

しかし、それは数学的にそうです。また、このような交換を利用できるサンプルアプリケーションを見つけることもできます。数学的な説明はマットの答えで与えられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.