Intuição por trás da comutatividade da convolução em sistemas LTI


7

Por que a convolução é comutativa, pois parece tratar dois sinais de maneira diferente em um sistema de LTI?

Se você imagina com sendo um sinal de entrada e sendo a resposta de impulso de um sistema LTI A, como faz sentido que o sistema LTI B com entrada e resposta ao impulso gera exatamente a mesma saída ?y[n]=x[n]h[n]x[n]h[n]h[n]x[n]y[n]


11
y[n]=x[n]h[n] não é uma notação sensata. Deve ser apenas . y=xh
precisa saber é o seguinte

3
Na verdade, eu vi a notação usada com frequência. Não vejo o que não faz sentido; ele lê como "a sequência é encontrada pela convolução da sequência com a sequência ". y[n]=x[n]h[n]y[n]x[n]h[n]
Jason R

Respostas:


3

Em um sistema de tempo discreto como o que você possui, o número (aqui é um número inteiro fixo) é uma soma da forma que pode ser reorganizado por meio de uma alteração de variáveis ​​(substitua por ) paraPortanto, a comutatividade da convolução é trivial. A questão é a interpretação que você coloca nela. Como aponta a resposta de Laurent Duval / s, os sistemas A e B não são equivalentes em nenhum sentido do termo. Se o sinaly[n0]n0

k=h[k]x[n0k]
kn0
=h[n0]x[].
xforam substituídos por um sinal diferente , o sistema A produziria , mas você não obteria a mesma saída se o sistema B foram excitados por ; a resposta de impulso do sistema B continua sendo , e o sistema B produz .x^y^=hx^y^hxxx^=x^xhx^


Obrigado por fazer (alguns) sentido da minha resposta, o que parece bastante claro agora.
Laurent Duval

2

Imagine um sistema que aceite um único número como entrada e multiplique esse número por outro número . Você ficaria surpreso que outro sistema que multiplica sua entrada com o número produz a mesma saída que o primeiro sistema quando alimentado com o número como entrada? Caso contrário, também não deve surpreender que a saída de um sistema LTI com resposta ao impulso e a entrada produza a mesma saída que outro sistema LTI com resposta ao impulso e entrada .xhxhh[n]x[n]x[n]h[n]

Ou, em linguagem matemática, para o caso de tempo discreto:

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


1

Pense na convolução como tirar algumas cópias atrasadas de somadas, cada uma com uma amplitude lida a partir da entrada de naquele atraso. Vamos imaginá-lo com sinais de impulso esparso: (Ignore a mudança vertical, isso é apenas para desorganizar a trama)xhxhVisualização de como uma convolução é construída

Agora, se você reverter a convolução, tudo o que muda é a noção de qual escala de tempo é “atraso do sinal” e qual simplesmente “tempo do sinal original”. Você acaba com o mesmo resultado.

Visualizando a convolução ao contrário.

Código fonte (Haskell com plot dinâmico ):

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

Eu recomendo fortemente 1 definição de convolução de uma maneira um pouco diferente, a saber:

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

Você pode ver que esta é apenas a definição padrão com uma mudança de variáveis, ou seja, escolha . (Você precisa ser um pouco mais claro sobre o intervalo em que e estão ultrapassando, ou seja, faz diferença se versus )j=niiji,jNi,jZ

Essa definição torna a comutatividade óbvia. No entanto, outra perspectiva é que, se você tem um polinômio e um polinômio e você os multiplica como polinômios , , você obtém (Isso generaliza para séries formais de potência.) Basta escrever a multiplicação por si mesmo em alguns exemplos para verificar isso e talvez provar indutivamente. Essa perspectiva novamente torna a comutatividade completamente óbvia. Essa perspectiva também torna o teorema da convolução para a transformação Z bastante óbvio também.X(z)=ix[i]ziH(z)=ih[i]ziX(z)H(z)

X(z)H(z)=i(xh)[i]zi

1 Eu escrevi um post inteiro sobre isso.


bem, alguém não gostou da sua resposta, mas eu gostei (e cancelei o "-1"). Eu nunca vi essa notação antes: e acho que é meio fofo. talvez, no futuro, eu possa pensar que é péssimo, mas agora acho que é fofo.
i+j=nx[i]h[j]
Robert Bristow-johnson

Há algo interessante nesse argumento "diagonal", tentarei encontrar uma versão gráfica #
Laurent Duval

1

Como complemento às respostas anteriores, mal olhar para a saída não permite identificar o que você tinha como entrada / função do sistema. Tomemos, por exemplo, os seguintes sistemas (interconexão de) que produzem a mesma saída.


insira a descrição da imagem aqui

Para o sistema acima, temos:

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


insira a descrição da imagem aqui

Para o sistema acima, temos:

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


insira a descrição da imagem aqui Para o sistema acima, temos:

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


É claro que muitas outras combinações que dão o mesmo resultado são possíveis, incluindo a troca dos papéis de e .h[n]x[n]

Observe que esta observação é a principal preocupação do campo chamado Identificação do sistema cego : tente identificar a entrada e / ou a função do sistema usando apenas os dados de saída.

Como não podemos resolver o problema como declarado, são necessárias mais informações secundárias (por exemplo, estatísticas de saída), canais mais diversos também (para compensar zeros, ou seja, frequências pelas quais nenhum sinal pode passar) e um sinal de entrada suficientemente rico que possa ser útil para recuperar a função do sistema.

Para ter uma intuição para sua pergunta sobre

Por que a convolução é comutativa, pois parece tratar dois sinais de maneira diferente em um sistema de LTI?

veja como a saída de dois sistemas LTI em série. Você pode trocá-los, aplicando o segundo e o primeiro; isso é comutatividade. Além disso, se e tiverem a mesma banda de frequência (ou uma infinita), podemos recuperá-los (até uma multiplicação escalar); caso contrário, perderemos definitivamente algumas frequências e a recuperação total não será possível.Y(z)=X(z)H(z)X(z)H(z)


1

Existem diferenças fundamentais no conceito entre sinais e sistemas . Vou explicar isso através da idéia de consistência da unidade (veja, por exemplo). No entanto, para sistemas de LTI, sinais e sistemas tornam-se duplos por convolução, uma vez que o último é comutativo. Duas digressões primeiro, devido à menção na resposta de @Dilip Sarwate .

  • Digressão 1: Os sistemas LTI podem ter a mesma saída para sinais diferentes

Se dois sistemas diferentes fornecem as mesmas saídas para alguns sinais de entrada, isso significa que eles compartilham algumas propriedades. Mas se suas saídas são iguais para todas as entradas, elas têm essencialmente a mesma resposta de impulso e são praticamente os mesmos sistemas.

Por exemplo, imagine que você tenha um seno de entrada na frequência . Se ambos os sistemas cortam a frequência acima de , ambos têm o mesmo comportamento para esse sinal, mas podem ser dois sistemas passa-baixas diferentes, são necessários mais sinais para distingui-los.ffϵ

  • Digressão 2: dois sinais de entrada diferentes podem ter a mesma saída através de um determinado sistema LTI

Por exemplo, um sinal constante igual a um ou um sinal periódico 2 com valores { } produz a mesma saída para arquivadores com média de .2,02n

Voltar à sua pergunta . Um sistema transforma as entradas nas saídas , respectivamente, com as unidades físicas e . Portanto, um sistema pode ser visto como um conversor de unidades, formalmente com a unidade interna . Geralmente, o sistema é "fixo", enquanto as entradas podem variar. Portanto, não há razão para que e devam desempenhar o mesmo papel.SXYuXuYuY/uXSX

No entanto, quando se considera os sistemas LTI, repentinamente as propriedades do sistema podem ser transferidas para sinais e vice-versa (desde que a convolução esteja bem definida). Isso está relacionado ao fato de que a convolução comuta com turnos. Por simplicidade, imagine um sistema de "três toques", com resposta de transformação . Você pode convertê-lo diretamente em um banco de filtros de três bandas, com uma única entrada e respectivas respostas , e . Cada ramificação fornece apenas, para cada entrada, um fator de escala e um atraso.zhlzl+hmzm+hnznhlzlhmzmhnzn

Mas o mesmo acontece com os sinais: cada entrada pode ser dividida em componentes escalares:x={,xl,,xm,,xn,}

x=+xlδl++xmδm+xnδn+
onde indica o Kronecker símbolo. Devido à linearidade, cada componente pode ser alimentado através do sistema linear. Quando tudo (sinal e sistema) é dividido dessa maneira, os cálculos são apenas um monte de passando por algumas , que fundamentalmente são as mesmas operações: um fator / uma amplitude e uma amostra atrasada / um operador de atraso. Em outras palavras, passando por produz o mesmo resultado que passando por , porque o produtoδxkδkhizixkδkhizihkδkxizihkxi é comutativo (e preserva a consistência da unidade) e atrasa o deslocamento também.

Em outras palavras, um LTI produz apenas uma soma ponderada com pesos nas amostras de entrada de : , que podem ser lidas, assim como uma soma ponderada com pesos nas amostras de entrada de : . Para a consistência da unidade, deve-se trocar as unidades de e .hxhixkixhxihkixh

Essa intercambiabilidade entre sinais e sistemas no LTI parece estar em jogo (à primeira vista) na expressão polifásica / modulação dos bancos de filtros ou na filtragem correspondente.


2
Isso parece estar respondendo a uma pergunta diferente.
precisa saber é o seguinte

Eu realmente acredito que estava respondendo uma parte da pergunta em sua formulação inicial. Não mais, deixe-me modificar isso #
Laurent Duval

@LaurentDuval, por que isso não responde mais à pergunta?
AlexTP #

0

Você está certo. É completamente absurdo pensar que a resposta de impulso de um sistema LTI pode ser substituída pelo sinal de entrada e vice-versa e, no entanto, eles produzem o mesmo resultado.

Como exemplo, considere um filtro passa-baixo com resposta de impulso IIR que é alimentado pelas amostras da forma de onda de fala para produzir uma versão filtrada passa-baixo da fala. No entanto, trocar os papéis da fala de entrada e da ressonância do impulso do sistema LTI torna um absurdo em um cenário prático.h[n]x[n]h[n]

No entanto, esse é matematicamente o caso. E você pode até encontrar um exemplo de aplicativo que pode se beneficiar desse intercâmbio. Uma explicação matemática é dada na resposta de Matt.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.