Conceitos de Sinais e Sistemas
Mestrado em Ciências da Fala e da Audição
António Teixeira
AT 2006
1
•
Convolução
–
Aula
AT 2006
para sistemas discretos
•
Representação de
sistemas por equações
diferença
•
MATLAB
–
–
conv()
filter()
2
Convolução
Ver secção 5.6.1 de “Techniques in Speech Acoustics” por J.
Harrington & S. Cassidy
e secção 2.2.2 de “Sinais e Sistemas” de Isabel Lourtie
AT 2006
3
Sinais como somas de impulsos
• Qualquer sinal discreto pode ser representado
por uma soma pesada de impulsos
– ex:
–seria:
x[n]= 1 x impulso em t=1 + 2 x impulso em t=2 + 3 x
impulso em t=3
–ou:
x[n]= 1 [n-1] + 2 [n-2] + 3 [n-3]
AT 2006
4
Caso geral
• Generalizando:
– qualquer sinal discreto x[n] pode ser representado
em função de impulsos unitários através da
expressão
 x[k] [n-k]
x[n]=
AT 2006
5
Sistemas lineares e invariantes no tempo
• Como resultado das propriedades de invariância
temporal e linearidade tem-se:
– sistema invariante
• [n]  h[n] = >
[n-k]  h[n-k]
– sistema linear
• k[n]= [n-k]  hk[n] = h[n-k] = >
= > x[n] =
a
k
k[n]  y[n]=
k
hk[n]
convolução
como ak = x[k]
temos:
y[n]=
AT 2006
a
 x[k] h[n-k] = x[n] * h[n]
6
Cálculo da convolução
y[n]=
 x[k] . h[n-k]
• Para obter a saída no instante n é necessário realizar
as seguintes 4 operações
– determinar a reflexão em relação à origem da resposta
impulsional h[k] obtendo z[k]=h[-k]
– atrasar o sinal z[k] de n unidades, isto é do valor
correspondente ao instante,
• obtendo-se z[k-n]=h[n-k]
– multiplicar ponto a ponto h[n-k] pela entrada x[k]
– somar todos os pontos
AT 2006
7
Exemplo
• dconvdemo
AT 2006
8
Propriedades da convolução
• Comutativa
x[n] * h[n] = h[n] * x[n]
• Associativa
x[n] * ( h1[n] * h2[n] ) = ( x[n] * h1[n] ) * h2[n]
• Distributiva
x[n] * (h1[n] + h2[n]) = x[n] * h1[n] + x[n] * h2[n]
AT 2006
9
Convolução em MATLAB
• Existe a função conv ()
• exemplo de utilização
x=[1 1 1 1]
h=[3 2 1]
y=conv(x,h)
y2=conv(h,x)
subplot(221); stem(x)
subplot(222); stem(h)
subplot(223); stem(y)
subplot(224); stem(y2)
AT 2006
10
• O processo de convolução multiplica as
amostras presente e passadas do sinal de
entradas por um factor por forma a obter a
saída
• Este processo pode ser aplicado também a
amostras passadas do sinal de saída, tendo-se
em vez de
y=x *b
, em que b é h[n]
a situação mais geral
y *a=x*b
AT 2006
11
• Se b=1 temos
y*a=x
ou seja
a[0] y[n]+a[1] y[n-1]+a[2] y [n-2]+ ...+a[p] y[n-p]=x[n]
Exemplo:
x=[4 2 1 3]
a=[0.5 0.2] % note que se assume a[0]=1
y[0]= x[0]-0.5 y[-1] – 0.2 y[-2] = ... = x[0] = 4
y[1]= x[1]-0.5 y[0] – 0.2 y[-1] = 2 – (0.5 x 4) – 0 = 0
y[2]= ... = 0.2
y[3]= ...
y[n]= x[n] - 0.5 y[n-1] – 0.2 y[n-2]
AT 2006
12
em MATLAB
• Tendo os vectores de coeficientes a e b obtem-se a saída
utilizando o comando filter()
y=filter(b,a,x) % note a ordem b,a !
Exemplo (anterior):
x=[4 2 1 3 zeros(1,100)]
a=[1 0.5 0.2]
zoom
y=filter(1,a,x)
stem(y)
verificando a resposta calculada manualmente ....
>> y(1:5)
ans =
4.0000
0 0.2000 2.9000 -1.4900
AT 2006
13
• Resposta impulsional deste último sistema
x=[1 zeros(1,100)]
a=[1 0.5 0.2 ]
y=filter(1,a,x)
stem(y)
AT 2006
14
Função de transferência
• Os factores multiplicativos aplicados ao sinal
de entrada e/ou à saída (em instantes
anteriores) definem a chamada função de
transferência do sistema
– porque estes coeficientes transformam um sinal de
entrada num sinal de saída
– são os responsáveis por deixar no sinal as marcas
do sistema no sinal
AT 2006
15
Relação com a produção de voz
• Segundo a teoria fonte filtro:
– o sinal de voz resulta da passagem do sinal gerado pela(s)
fonte(s) através do sistema/filtro constituído pelo tracto
vocal
• o nosso sinal de entrada x será a excitação glotal, fonte de ruído ou
ambos
• o a e b representarão o tracto
• Os pesos do vector a estão directamente relacionados
com as frequências das formantes
– Um modelo adequado para as vogais será y*a=x (a[0]=1)
– Para sons como as nasais temos ressonâncias e
antirresonâncias , um modelo mais apropriado será y*a =
b* x (a[0]=1)
• Este assunto será retomado ...
AT 2006
16
TPC 
• Leitura da secção 5.6.1 de Harrington &
Cassidy
AT 2006
17
Download

convolução