Universidade Presbiteriana Mackenzie
Curso de Engenharia Elétrica
Processamento Digital de Sinais
Notas de Aula
Prof. Marcio Eisencraft
Segundo semestre de 2007
Universidade Presbiteriana Mackenzie
Curso de Engenharia Elétrica
Processamento Digital de Sinais
TEORIA
Prof. Marcio Eisencraft
Segundo semestre de 2007
Processamento Digital de Sinais – Aula 1T – Professor Marcio Eisencraft – fevereiro 2007
Aula 1T -
Sinais de tempo discreto
Operações com seqüências
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 40-46.
MITRA, Sanjit K. Digital signal processing: a computer-based approach. 2nd ed. Boston: McGraw-Hill,
c2001. 866 p. : il. ; 24 cm ISBN 0072321059. Páginas 44 – 49.
1.
Sinais de tempo discreto
Ö Um sinal de tempo discreto é basicamente um sinal que está definido apenas
em instantes isolados de tempo. Conseqüentemente, um sinal de tempo discreto pode ser descrito por uma seqüência de números.
Ö Nesta aula, aprenderemos um pouco mais sobre a representação deste tipo de
sinal e como realizar operações com eles.
Ö Os sinais de tempo discreto são representados pela notação x[n] em que n só
está definido para números inteiros. Cada um dos elementos do sinal x é
chamado de amostra. Vejamos alguns exemplos:
2
(a) x[n] = n , − 6 ≤ n ≤ 6
Este
sinal
é
constituído
das
seguintes
amostras
{x[n]} = {36,25,16,9,4,1,0,1,4,9,16,25,36} . A figura a seguir mostra um gráfico deste
sinal:
stem(-6:6, (-6:6).^2);
1
Processamento Digital de Sinais – Aula 1T – Professor Marcio Eisencraft – fevereiro 2007
A segunda amostra deste sinal é x[−5] = 25 . Este sinal tem 6 − (−6) + 1 = 13 amostras.
(b) y[n] = (0,9) n , n ∈ N
As amostras deste sinal são { y[ n]] = {1;0,9;0,81;0,729;0,6561;...} . A figura a seguir
mostra as 50 primeiras amostras deste sinal.
Repare que este é um sinal com infinitas amostras e, por exemplo, y[0] = 1 .
stem (0:50, (0.9).^(0:50))
•
Os exemplos acima mostram que um sinal de tempo discreto pode ser uma
seqüência de comprimento finito ou infinito. Além disso, um sinal de comprimento finito definido no intervalo N1 ≤ n ≤ N 2 tem comprimento ou duração:
N = N 2− N1 + 1 .
• Dentre as seqüências de comprimento infinito, destacamos as seqüências
chamadas causais definidas somente para n ≥ 0 e as seqüências anticausais definidas para n < 0 . Por exemplo, a seqüência do exemplo anterior é causal.
Exercício
1. (CARLSON, 1998; p. 44) Um sinal é chamado de simplesmente definido
(“simply-defined”) se ele é representado por uma única equação e é chamado
2
Processamento Digital de Sinais – Aula 1T – Professor Marcio Eisencraft – fevereiro 2007
de definido por partes (“piecewise defined”) se é representado por um conjunto de equações cada uma válida num intervalo de tempo diferente. Sendo
assim, esboce os sinais de tempo discreto definidos pelas seguintes equações.
Indique também se eles são definidos por partes.
⎧
⎪n − 1, n < 3
⎪
x[n] = ⎨− 3, 3 ≤ n < 6
(b)
⎪ n
⎪5 − , n ≥ 6
⎩ 3
(a) x[n] = e 0, 25n , − ∞ ≤ n ≤ ∞
(n + 1)
(c) x[n] = 2 ,
n +1
⎧n 2 − 1, n ≥ 0
(d) x[n] = ⎨
⎩0, n < 0
−∞ ≤ n ≤ ∞
⎧1 (1 + n ), n ≥ 0
⎩1 (1 − n ), n < 0
(e) x[n] = ⎨
1.1.
Operações com seqüências
• Sistemas de tempo discreto são entidades que transformam uma ou mais seqüências de entrada em uma ou mais seqüências de saída. A figura a seguir
mostra esquematicamente um sistema de tempo discreto cuja entrada é a seqüência x[ n] e a saída é a seqüência y[n] .
• O conceito de sistemas é um dos mais importantes no curso de Engenharia
Elétrica e é explorado em várias disciplinas. Aqui, nos preocuparemos principalmente com a parte operacional de sistemas de tempo discreto, ou, em outras
palavras, em como eles operam.
3
Processamento Digital de Sinais – Aula 1T – Professor Marcio Eisencraft – fevereiro 2007
• Quase todo sistema de tempo discreto pode ser decomposto em um conjunto
de operações básicas entre seqüências que serão estudadas a seguir.
1.1.1. Produto
• A operação produto entre duas seqüências x[ n] e y[n] , representada por
w1 [n] = x[n] ⋅ y[n] , consiste em multiplicar, para cada valor de n as amostras das
seqüências x[ n] e y[n] .
• Esquematicamente, esta operação é representada pelo símbolo mostrado a seguir. Esta operação também é chamada de modulação na área de telecomunicações.
1.1.2. Soma
• A operação soma entre duas seqüências x[ n] e y[n] , representada por
w2 [n] = x[n] + y[n] , consiste em somar, para cada valor de n as amostras das se-
qüências x[ n] e y[n] .
• Esquematicamente, esta operação é representada pelo símbolo mostrado a seguir que é chamado de somador.
4
Processamento Digital de Sinais – Aula 1T – Professor Marcio Eisencraft – fevereiro 2007
1.1.3. Multiplicação por escalar
• Nesta operação, um novo sinal é gerado multiplicando-se cada amostra da
seqüência x[n] pelo escalar A : w3 [n] = Ax[n] .
• Esquematicamente temos:
• Esta operação também é chamada de ganho.
Exercício
2. (MITRA, 2001; p. 106) Considere as seguintes seqüências de comprimento 7
definidas para − 3 ≤ n ≤ 3 :
x[n] = {3; − 2; 0; 1; 4; 5; 2}
y[n] = {0; 7; 1; − 3; 4; 9; − 2} .
w[n] = {− 5; 4; 3; 6; − 5; 0; 1}
Determine as seguintes seqüências:
(a) u[n] = x[n] + y[n]
(b) v[n] = x[n] + w[n]
(c) s[n] = y[n] − w[n]
(d) r [n] = 4,5 y[n] .
1.1.4. Deslocamento no tempo
• A última operação de que trataremos por enquanto é o deslocamento no tempo (“time-shifting”). A relação entre a saída e a entrada nesta operação é
w4 [n] = x[n − N ]
em que N é um inteiro. Se N > 0 esta é uma operação de atraso e se N < 0 esta
é uma operação de avanço. O dispositivo que implementa a operação de atraso
de uma amostra é chamado de atraso unitário e seu símbolo é mostrado a seguir.
5
Processamento Digital de Sinais – Aula 1T – Professor Marcio Eisencraft – fevereiro 2007
• A explicação do por que deste símbolo será dada mais tarde quando estudarmos Transformadas z.
Exercícios
3. Um sinal de tempo discreto x[ n] , definido para todo n inteiro é dado por
x[n] = 2n + 1 . Ele é passado por um atrasador, obtendo-se o sinal w[n] = x[n − 1] .
Descreva as amostras para 0 ≤ n ≤ 10 dos sinais x[ n] e w[n] e escreva uma fórmula fechada para as amostras do sinal w[n] .
4. Desenhe um diagrama de blocos que programe a seguinte operação sobre o
sinal x[n] :
y[ n] = x[ n] + 0,5 x[ n − 1] + 0,75 x[ n − 2]
5. (MITRA, 2001; p. 47) Descreva uma formula para o sinal y[n] obtido do filtro mostrado em diagrama de blocos na figura a seguir:
6
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
Aula 2T -
Classificação de sinais
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 40-46.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 1-14
1.2
Classificação de sinais
• Nas aulas anteriores, vimos que um sinal, de forma geral é uma função (contínua ou discreta) do tempo. Veremos agora como podemos classificar os sinais segundo alguns critérios como simetria, periodicidade e energia.
• Em cada caso, veremos as definições para sinais de tempo contínuo e discreto.
1.2.1 Classificação baseada na simetria
1.2.1.1
Sinais de tempo contínuo
• Um sinal de tempo contínuo é dito par se ele satisfizer a condição
x(− t ) = x(t ) para todo t
• Um sinal de tempo contínuo é dito impar se ele satisfizer a condição
x(− t ) = − x(t ) para todo t
• Assim, os sinais pares são simétricos com relação ao eixo vertical ou origem
dos tempos enquanto que os sinais ímpares são antisimétricos em relação à origem dos tempos.
• Os sinais x(t ) = t 2 e x(t ) = t 3 são exemplos de sinal par e ímpar respectivamente. O gráfico destes sinais está mostrado a seguir.
1
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
• Qualquer sinal x(t ) pode ser decomposto numa soma de dois outros sinais, um
par x p (t ) e outro ímpar xi (t ) , ou seja,
x(t ) = x p (t ) + xi (t ) , (1)
com x p (− t ) = x p (t ) e
xi (− t ) = − xi (t )
• Trocando t por − t na expressão (1), temos:
x(− t ) = x p (− t ) + xi (− t ) = x p (t ) − xi (t ) (2)
• Resolvendo o sistema (1)-(2) para x p (t ) e xi (t ) , chega-se a:
1
xp ( t ) = ( x( t ) +x( −t ) )
2
1
xi ( t ) = ( x( t ) −x( −t ) )
2
1.2.1.2
Sinais de tempo discreto
• De forma análoga ao que foi feito em tempo contínuo, definimos sinais de
tempo discreto par e ímpar como:
Sinal par:
x[− n ] = x[n] para todo n .
Sinal ímpar:
x[− n] = − x[n] para todo n .
• Demonstra-se também, de forma análoga ao que foi feito antes, que qualquer
sinal pode ser decomposto em uma componente par e numa componente ímpar.
x p [n ] =
1
(x[n ] + x[− n ])
2
1
xi [n ] = ( x[n ] − x[− n ])
2
• A figura seguinte mostra exemplos de sinais de tempo discreto par e ímpar.
2
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
Exercícios
1. (1041) (MITRA, 2001; p.106) Determine a componente par e ímpar das seqüências a seguir definidas no intervalo − 3 ≤ n ≤ 3 :
(a) x[n] = {3; − 2; 0; 1; 4; 5; 2}
(b) y[n] = {0; 7; 1; − 3; 4; 9; − 2}
(c) w[n] = {− 5; 4; 3; 6; − 5; 0; 1}
1.2.2 Classificação quanto à periodicidade
1.2.2.1 Sinais de tempo contínuo
• Um sinal x(t ) é dito periódico quando satisfizer a condição x(t ) = x(t + T ) para
todo t e T é uma constante positiva.
• O menor valor de T que satisfaz esta condição é chamado de período fundamental de x(t ) .
• O inverso do período fundamental é a freqüência fundamental, que, quando o
período é medido em segundos, é dada em Hertz (Hz).
f =
1
T
• Também definimos a freqüência angular do sinal, medida em radianos por
segundo como:
ω=
3
2π
T
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
• Quando o sinal não apresenta um período mínimo T é chamado de aperiódico.
Exercício
2. (HAYKIN, 2000; p. 37) A figura a seguir mostra uma onda triangular. Qual é
a freqüência fundamental desta onda? Expresse a freqüência fundamental em
unidades de Hz ou rad/s.
1.2.2.2
Sinais de tempo discreto
• A classificação de sinais em sinais periódicos e aperiódicos apresentada até
agora se aplica a sinais de tempo contínuo. Consideraremos a seguir o caso de
sinais de tempo discreto.
• Diz-se que um sinal de tempo discreto x[n] é periódico se ele satisfizer a condição
x[n] = x[n + N ] para todos os números inteiros n ,
em que N é um número inteiro positivo.
• O menor valor de N que satisfaz a definição anterior é chamado de período
fundamental do sinal de tempo discreto x[n] . A freqüência angular fundamental ou, simplesmente, freqüência fundamental de x[n] é definida por:
Ω=
4
2π
N ,
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
a qual é medida em radianos.
• Lembre-se: O período de um sinal de tempo discreto é obrigatoriamente um
número inteiro. Assim, sua freqüência angular fundamental Ω não pode assumir qualquer valor.
Exercício
3. (HAYKIN, 2000; p. 78) Determine se os seguintes sinais são periódicos. Se
forem periódicos, encontre o período fundamental.
(a) x[n] = (− 1)n
(b) x[n] descrito na figura a seguir.
1.2.3 Sinais de energia e potência
1.2.3.1
Sinais de tempo contínuo
• Em sistemas elétricos, um sinal pode representar uma tensão ou uma corrente.
Considere uma tensão v(t ) aplicada a um resistor de resistência R , produzindo
uma corrente i(t ) . A potência instantânea dissipada no resistor é definida por
v 2 (t )
2
p(t ) =
ou p (t ) = Ri (t )
R
• Vemos assim que a potência instantânea p(t ) é proporcional à amplitude do
sinal elevada ao quadrado. Além do mais, para R = 1Ω , vemos que a potência
p(t ) é exatamente igual à amplitude ao quadrado do sinal.
5
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
• Baseado nisso, em análise de sinais, costuma-se definir a potência instantânea
de um sinal x(t ) como:
p(t ) = x 2 (t )
• Lembrando que a energia é o produto da potência pelo tempo, costuma-se definir a energia total do sinal x(t ) como:
E = lim ∫
T
2
T →∞ −T 2
∞
x (t )dt = ∫ x 2 (t )dt .
2
−∞
• Também definimos a potência média de um sinal como
1 T2 2
P = lim ∫ T x (t )dt .
T →∞ T − 2
• Para sinais periódicos, podemos calcular a potência média tomando a média
apenas num período ao invés de tomar todo o eixo dos tempos. Para um sinal
periódico de período fundamental T , temos:
1 T2 2
P = ∫ T x (t )dt .
T − 2
• A raiz quadrada da potência média P é chamada de valor médio quadrático
(rms – root-mean-square) do sinal x(t ) .
1.2.3.2
Sinais de tempo discreto
• No caso de um sinal de tempo discreto x[n] , as integrais anteriores são substituídas pelas somas correspondentes. Dessa forma, a energia total de x[n] é definida por:
E=
∞
∑ x [n]
2
n = −∞
e sua potência média é definida por:
6
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
N
1
P = lim
x 2 [n] .
∑
N →∞ 2 N + 1
n=− N
• Novamente, para um sinal periódico, basta tomarmos a média de um período
para o cálculo da potência média. Assim, para o caso de um sinal x[n] com período fundamental N ,
1
P=
N
N −1
∑ x [n] .
2
n =0
• Um sinal é chamado de sinal de energia se e somente se a energia total do
sinal satisfizer a condição
0< E <∞.
• Um sinal é chamado de sinal de potência se e somente se a potência média do
sinal satisfizer a condição
0 < P < ∞.
• Pode-se mostrar que as classificações de energia e potência de sinais são mutuamente exclusivas. Em especial, um sinal de energia tem potência média zero enquanto que um sinal de potência tem energia infinita.
Exercícios
4. (HAYKIN, 2000; p. 39) Qual a energia total do pulso retangular mostrado na
figura a seguir?
Resposta:
A 2T1
5. (HAYKIN, 2000; p. 39) Qual é a potência média da onda quadrada mostrada
na figura a seguir?
7
Processamento Digital de Sinais – Aula 2T – Professor Marcio Eisencraft – fevereiro 2007
Resposta: 1
6. (HAYKIN, 2000; p. 40) Qual é a potência média da onda triangular mostrada
a seguir?
Resposta: 1/3
7. (HAYKIN, 2000; p. 40) Qual a energia total do sinal de tempo discreto mostrado a seguir?
8. (HAYKIN, 2000; p. 40) Qual a potência média do sinal periódico de tempo
discreto mostrado na figura a seguir?
8
Processamento Digital de Sinais - Aula 3T – Professor Marcio Eisencraft – julho 2006
Aula 3T -
Seqüências Típicas
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 46-59.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 14-38.
1.3
Algumas seqüências básicas
• Nesta aula serão definidos e estudados alguns sinais básicos em tempo discreto. Estes sinais serão utilizados durante todo o restante do curso para construir
sinais mais complicados e estudar a resposta de sistemas a eles.
• Estudaremos os sinais de tempo discreto impulsivo, degrau, exponencial e
senoidal.
1.3.1 Sinal impulso
• A versão de tempo discreto do impulso, comumente notada por δ [n] é definida por:
⎧1,
⎩0,
δ [n] = ⎨
n=0
.
n≠0
• A figura a seguir mostra um gráfico do sinal δ [n] .
1
Processamento Digital de Sinais - Aula 3T – Professor Marcio Eisencraft – julho 2006
• Para representar um impulso no instante n = k , basta escrevermos δ [n − k ] . Por
exemplo, a figura a seguir representa o sinal δ [n − 3].
Exercício
1. Esboce os seguintes sinais:
(a) a[n] = 2δ [n]
(b) b [ n ] = 2δ [ n ] + 3δ [ n − 1 ] + 0, 5δ [ n − 2 ]
• Um sinal de tempo discreto arbitrário pode ser representado como uma soma
ponderada de impulsos. Por exemplo, o sinal a seguir:
pode ser expresso por
x[n] = 0,5δ [n + 2] + 1,5δ [n − 1] − δ [n − 2] + δ [n − 4] + 0,75δ [n − 6] .
2
Processamento Digital de Sinais - Aula 3T – Professor Marcio Eisencraft – julho 2006
Exercício
2. Expresse os seguintes sinais como somas ponderadas de funções impulsivas.
1.3.2
Sinal degrau
• A versão em tempo discreto da função degrau, comumente denotada por u[n]
é definida por:
⎧1,
u[n] = ⎨
⎩0,
n≥0
n<0
• A figura a seguir mostra um gráfico do sinal u[n] .
3
Processamento Digital de Sinais - Aula 3T – Professor Marcio Eisencraft – julho 2006
Exercícios
3. (1022) Esboce o seguinte sinal:
w[n] = u[n] − u[n − 3]
4. (HAYKIN; VEEN, 2001; p. 56) Um sinal de tempo discreto x[n] é definido
por:
⎧1,
x[n] = ⎨
⎩0,
0≤n≤9
caso contrário
Usando u[n] descreva x[n] como a superposição de duas funções degrau.
1.3.3 Sinais exponenciais
• Em tempo discreto, um sinal exponencial real é dado por:
x[n ] = Br n ,
com B e r constantes reais.
• A figura a seguir mostra exemplos de sinais exponenciais de tempo discreto.
4
Processamento Digital de Sinais - Aula 3T – Professor Marcio Eisencraft – julho 2006
• Se 0 < r < 1 o sinal é decrescente. Se r > 1 o sinal é crescente. Vemos também
que se r < 0 , um sinal exponencial de tempo discreto assume valores (+,-) que
se alternam.
Exercícios
5. (1021) Calcule a energia e a potência do sinal x[n] = (0,8)n u[n] e verifique se
ele é um sinal de energia ou de potência.
1.3.4 Sinais senoidais
• A versão de tempo discreto de um sinal senoidal é escrita como
x[n] = A cos(Ωn + φ )
(1)
• O período de um sinal de tempo discreto é medido em amostras. Desta forma,
para que x[n] seja periódico com um período de N amostras, ele deve satisfazer a condição x[n] = x[n + N ] para todo n e para algum N inteiro.
• Calculando x[n + N ], temos
x[n + N ] = A cos(Ωn + ΩN + φ )
(2)
• Assim, a condição para que x[n] = x[n + N ] é:
ΩN = 2πm radianos
ou
Ω=
2πm
radianos/amostra
N
m, N inteiros.
(3)
• Assim, um sinal senoidal de tempo discreto será periódico se e somente se sua
freqüência angular Ω puder ser escrito na forma da Equação 3, com m, N inteiros.
• É importante notar que, diferentemente dos sinais senoidais de tempo contínuo, nem todos os sinais senoidais de tempo discreto com valores arbitrários
de Ω são periódicos. Especificamente, para que o sinal senoidal de tempo dis-
5
Processamento Digital de Sinais - Aula 3T – Professor Marcio Eisencraft – julho 2006
creto descrito na Eq. (1) seja periódico, a freqüência angular Ω deve ser um
múltiplo na forma de razão de 2π, como indica a Eq. (3).
π
• A figura a seguir ilustra o sinal senoidal x[n] = cos⎛⎜ n ⎞⎟ . Tente calcular o perí⎝6 ⎠
odo deste sinal e confira com a figura.
Exercícios
6. (1021) Determine se os seguintes sinais de tempo discreto são periódicos. Se
o forem, determine o seu período fundamental:
(a) x[n] = 3 cos⎛⎜
13
⎞
πn + 45 o ⎟
⎝ 20
⎠
(b) x[n ] = cos( 2πn )
6
Processamento Digital de Sinais – Aula 4T – Professor Marcio Eisencraft – março 2007
Aula 4T -
Sistemas de tempo discreto
Classificação
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 59-70.
LATHI, Bhagwandas Pannalal. Signal processing and linear systems. California: Berkeley, c1998. 734 p.
ISBN 0941413357. Páginas 562-572.
2.
Sistemas de tempo discreto no domínio do tempo
Em aulas passadas já foi discutido o conceito de sistema. Foi visto que um
sistema é uma interconexão de operações que transforma um sinal de entrada
em um sinal de saída. Neste curso, abordam-se particularmente os sistemas
em que os sinais são de tempo discreto. Estes sistemas são chamados de sistemas de tempo discreto.
• Matematicamente, se expressa um sistema por um operador. Por exemplo,
para dizer que um sinal y[n] é a saída de um sistema H cuja entrada é x[n] escreve-se:
y[n] = H [x[n]]
Em diagrama de blocos:
x[n]
y[n]
H
Exercícios
1. (LATHI, 1998; p. 572) Uma média móvel é usada para detectar a tendência
de uma variável que flutua muito rapidamente como as médias do mercado
de ações. Uma variável pode flutuar (para cima ou para baixo) diariamente,
mascarando a sua tendência de longo prazo.
1
Processamento Digital de Sinais – Aula 4T – Professor Marcio Eisencraft – março 2007
Podemos obter a tendência de longo prazo suavizando ou tomando a média dos N últimos valores da variável. Para o mercado de ações, podemos considerar uma média móvel de 3 dias y[n] como sendo a média dos valores de fechamento do mercado de ações dos últimos três dias, x[n] , x[n − 1] e x[n − 2] .
(a) Escreva a equação de diferenças relacionando y[n] com a entrada x[n] .
(b) Usando elementos de atraso, faça um diagrama de blocos deste filtro de média móvel.
2. (LATHI, 1998; p. 611) Resolva a seguinte equação iterativamente (primeiros
três termos apenas):
y[n] − 0,6 y[n − 1] − 0,16 y[n − 2] = 0 com y[− 1] = 25 , y[− 2] = 0 .
3. (LATHI, 1998; p. 611) Resolva a seguinte equação iterativamente (primeiros
três termos apenas):
y[n + 2] + 3 y[n + 1] + 2 y[n] = x[n + 2] + 3x[n + 1] + 3x[n]
com x[n] = 3 n u[n], y[-1] = 3 e y[-2] = 2 .
4. (LATHI, 1998; p. 571) A saída de uma caixa registradora y[n] representa o
preço total de n itens passados pela caixa. A entrada x[n] é o preço do n ésimo item.
(a) Escreva a equação de diferenças relacionando y[n] a x[n] .
(b) Esquematize a realização deste sistema usando APENAS UM elemento de
atraso.
2
Processamento Digital de Sinais – Aula 4T – Professor Marcio Eisencraft – março 2007
2.1
Classificação de sistemas
2.1.1 Memória
• Diz-se que um sistema possui memória se sua saída depende de valores passados ou futuros do sinal de entrada. A extensão temporal de valores passados
dos quais a saída depende define quão longe a memória se estende no passado.
• Em contrapartida, diz-se que um sistema é sem memória se seu sinal de saída
depende somente do valor presente do sinal de entrada.
• Por exemplo, o sistema de média móvel do Exercício 1 descrito pela relação
entrada-saída:
y[n] =
1
(x[n] + x[n − 1] + x[n − 2])
3
tem memória, uma vez que o valor do sinal de saída y[n] no instante n depende
do valor atual e de dois valores passados do sinal de entrada x[n] .
• Por outro lado, um sistema descrito pela relação:
y[n ] = x 2 [n]
é sem memória uma vez que o valor do sinal de saída y[n] no tempo n depende
apenas do valor atual do sinal de entrada x[n] .
2.1.2 Causalidade
• Diz-se que um sistema é causal se o valor atual do sinal de saída depender
somente dos valores presentes e/ou passados do sinal de entrada. Em contrapartida, o sinal de saída de um sistema não-causal depende de valores futuros do
sinal de entrada.
• Por exemplo, o sistema de média móvel já descrito,
3
Processamento Digital de Sinais – Aula 4T – Professor Marcio Eisencraft – março 2007
y[n] =
1
(x[n] + x[n − 1] + x[n − 2])
3
é causal. Por outro lado, o sistema de média móvel descrito por:
y[n] =
1
(x[n + 1] + x[n] + x[n − 1])
3
é não-causal uma vez que o sinal de saída y[n] depende de um valor futuro do
sinal de entrada, a saber, x[n + 1] .
2.1.3 Invariância no tempo
• Diz-se que um sistema é invariante no tempo se um retardo de tempo ou avanço de tempo do sinal de entrada levar a um deslocamento idêntico no sinal de
saída. Isto implica que um sistema invariante no tempo reage de maneira idêntica, não importa quando o sinal de entrada seja aplicado. Dizendo com outras
palavras, as características de um sistema invariante no tempo não se modificam
com o tempo. Caso contrário, diz-se que o sistema é variante no tempo.
• Por exemplo, o sistema y[n] = 2 x[n − 1] é invariante no tempo. Já o sistema
y[n ] = r n x(n ) é variante no tempo.
2.1.4 Linearidade
• Dizemos que um sistema é linear quando são válidos os princípios da superposição e da homogeneidade explicados a seguir. Caso contrário, o sistema é
chamado não-linear.
4
Processamento Digital de Sinais – Aula 4T – Professor Marcio Eisencraft – março 2007
A. Princípio da superposição
Seja um sistema y[n] = H [x[n]] e sejam y1 [n] a resposta à entrada x1 [n] e y 2 [n] a
resposta à entrada x2 [n]. Um sistema satisfaz o princípio da superposição se,
quando aplicamos a ele a entrada x S [n] = x1 [n] + x 2 [n] sua saída é y S = y1 [n] + y 2 [n].
B. Princípio da homogeneidade
Seja um sistema y[n] = H [x[n]] e seja y1 [n] a resposta à entrada x1 [n] . Um sistema
satisfaz ao princípio da homogeneidade se quando aplicamos a ele a entrada
x H [n] = ax1 [n] , a ∈ R * , sua saída é y H [n] = ay1 [n] .
• Assim, para verificar se um sistema é linear é necessário testar as duas condições acima.
Exercícios
5. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta à
entrada x[n] = δ [n] (resposta impulsiva):
Faça um esboço da saída y[n] deste sistema quando a entrada é:
(a) x[n] = 3δ [n]
(b) x[n] = δ [n − 2]
(c) x[n] = 2δ [n] + 0,5δ [n − 1]
5
Processamento Digital de Sinais – Aula 4T – Professor Marcio Eisencraft – março 2007
6. (1031) Um sistema de tempo discreto é definido pela seguinte equação de
diferenças:
y[n] = x[n](1 − x[n − 1])
(a) Este sistema é causal? Justifique.
(b) Este sistema tem memória? Justifique.
(c) Este sistema é linear? Justifique.
(d) Este sistema é invariante no tempo? Justifique.
(e) Determine iterativamente a resposta ao degrau deste sistema ( x[n] = u[n] ) para
0 ≤ n ≤ 5.
(f) Repita o item (e) para x[n] = u[n − 2]. .
(g) Repita o item (e) para x[n] = 3u[n].
Resp: (f) y[n] = {0; 0; 1; 0; 0; 0}, 0 ≤ n ≤ 5 ; (g) y[n] = {3; − 6; − 6; − 6; − 6; − 6}, 0 ≤ n ≤ 5
6
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
Aula 5T – Representação de sistemas LIT:
A soma de convolução
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 85-99.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 74-90.
2.2. Sistemas LIT – A soma de convolução
ƒ Os sistemas mais utilizados em quase todas as áreas da Engenharia são os
sistemas lineares invariantes no tempo (abreviadamente, LIT ou LTI em inglês).
ƒ O principal motivo para esta preferência é que este tipo de sistema fica totalmente caracterizado pela sua resposta impulsiva, ou seja, pela saída do sistema quando colocamos em sua entrada o sinal impulso unitário δ [n] . Em outras palavras, se soubermos a resposta de um sistema LIT a uma entrada impulsiva, saberemos calcular sua resposta para qualquer entrada.
ƒ Veja, por exemplo, o exercício a seguir (Exercício 6 da aula 4T).
Exercício
1. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta à entrada x[n] = δ [n] (resposta impulsiva):
Faça um esboço da saída y[n] deste sistema quando a entrada é:
(a) x[n] = 3δ [n]
1
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
(b) x[n] = δ [n − 2]
(c) x[n] = 2δ [n] + 0,5δ [n − 1]
• Resumindo, como qualquer sinal x[n] pode ser descrito como uma soma ponderada de impulsos, sendo o sistema LIT e conhecendo a resposta a um impulso, poderemos determinar a saída devida a qualquer entrada x[n] .
• Se a entrada de um sistema linear for expressa como uma superposição ponderada de impulsos deslocados no tempo, a saída será uma superposição
ponderada da resposta do sistema a cada impulso deslocado no tempo. Se o
sistema for também invariante no tempo, a resposta do sistema a um impulso
deslocado no tempo será uma versão deslocada no tempo da resposta do sistema a um impulso. Por isso, a saída de um sistema LIT é dada por uma superposição ponderada de respostas ao impulso deslocadas no tempo.
• Essa superposição é chamada de soma de convolução.
• Na aula de hoje analisaremos este fato e suas conseqüências em detalhes.
2.2.1 A soma de convolução
• Considere um sinal qualquer x[n] . Sabemos que
x[n]δ [n] = x[0]δ [n]
Ou seja, a multiplicação de um sinal x[n] por um impulso δ [n] resulta num impulso de intensidade x[0]δ [n] . A figura seguinte ilustra este produto.
2
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
• Generalizando esta expressão podemos dizer que
x[n]δ [n − k ] = x[k ]δ [n − k ]
• Ou seja, a multiplicação de um sinal por um impulso deslocado no tempo resulta em um impulso deslocado no tempo com amplitude dada pelo valor no
instante em que o impulso ocorre. Esta propriedade nos permite expressar
x[n] como a seguinte soma de impulsos deslocados no tempo:
x[n] = K + x[− 2]δ [n + 2] + x[− 1]δ [n + 1] + x[0]δ [n] + x[1]δ [n − 1] + x[2]δ [n − 2] + K
• De forma mais concisa, podemos escrever:
x[n] =
∞
∑ x[k ]δ [n − k ]
(1)
k = −∞
Exercícios
2. Escreva o sinal x[n] da figura anterior como uma soma ponderada de impulsos.
3. Esboce o seguinte sinal s[n] = 5δ [n + 2] + 2δ [n + 1] + 1,5δ [n] + δ [n − 1] .
•
Vamos analisar agora a saída de um sistema LIT a uma entrada x[n] descrita
pela equação (1) acima.
x[n]
y[n]
H
•
Vamos chamar de H o operador que representa a operação realizada por este
sistema e de h[n] a resposta deste sistema a um impulso, ou seja,
y[n] = H [x[n ]]
h[n] = H [δ [n]]
•
(2)
Sendo assim, para uma entrada qualquer x[n] podemos escrever usando as
Equações (1) e (2):
3
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
⎡ ∞
⎤
y[n] = H [x[n]] = H ⎢ ∑ x[k ]δ [n − k ]⎥
⎣ k = −∞
⎦
• Levando-se em conta que o sistema é linear, podemos aplicar a superposição
e a homogeneidade para aplicar o operador a cada uma das parcelas da somatória. Obtemos assim:
y[n] =
•
∞
∞
k = −∞
k = −∞
∑ H [x[k ]δ [n − k ]] = ∑ x[k ]H [δ [n − k ]]
Utilizando agora o fato de que o sistema é invariante no tempo, temos que a
resposta a um impulso atrasado de k amostras é a saída impulsiva atrasada
de k amostras, ou seja, H [δ [n − k ]] = h[n − k ] . Assim, concluímos que:
y[n] =
∞
∑ x[k ]h[n − k ]
k = −∞
•
(3)
Desta forma vemos realmente que a resposta de um sistema LIT qualquer é
dada por uma soma ponderada da resposta impulsiva deslocada no tempo. Ou
seja, ela é totalmente descrita pela entrada e pela resposta impulsiva.
• A somatória da Eq. (3) é chamada de soma de convolução e representada pelo símbolo *, ou seja,
x[n] ∗ h[n] =
∞
∑ x[k ]h[n − k ]
k = −∞
• A Figura 1 a seguir do (HAYKIN; VEEN, 2001) ilustra o processo de convolução. A figura (a) descreve a resposta ao impulso de um sistema LIT arbitrário. Na figura (b) a entrada é representada como uma soma de impulsos ponderados e deslocados no tempo p k [n] = x[k ]δ [n − k ] . A saída do sistema associada a cada pulso p k [n] é
v k [n] = x[k ]h[n − k ]
4
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
Figura 1 – A soma de convolução (HAYKIN; VEEN, 2001).
5
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
• Ou seja, v k [n] é obtida deslocando-se, no tempo, a resposta impulsiva de k
unidades e multiplicando-se por x[k ] . A saída y[n] em resposta à entrada x[n]
é obtida somando-se todas as seqüências v k [n] :
∞
y[n ] =
∑ v [n]
k = −∞
k
• Assim, somamos para cada valor de n os valores ao longo do eixo k indicados no lado direito da figura (b).
Exercício
4. (HAYKIN; VEEN, 2001; p. 88) Suponha que um sistema H LIT tenha a
resposta ao impulso:
n = ±1
⎧1,
⎪
h[n] = ⎨2
⎪0,
⎩
n=0
caso contrário
Determine a resposta deste sistema em resposta à entrada
n=0
n =1
n=2
caso contrário
⎧2,
⎪3,
⎪
x[n] = ⎨
⎪− 2,
⎪⎩0,
• No exercício acima, encontramos todos os v k [n] e depois somamos para todos
os valores de k para determinarmos y[n] . Esta abordagem é muito eficaz
quando a entrada tem curta duração, de forma que somente um pequeno número de sinais v k [n] precisa ser determinado. Quando a entrada tem uma duração longa, um número muito grande, possivelmente infinito de sinais v k [n]
precisa ser avaliado antes que y[n] possa ser encontrado.
• Uma abordagem mais interessante é olharmos novamente para a equação
y[n] =
∞
∑ x[k ]h[n − k ]
k = −∞
6
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
e imaginarmos que n está fixo. Desta forma, para calcularmos a saída num certo
instante n0 precisaríamos calcular:
y[n0 ] =
∞
∑ x[k ]h[n
k = −∞
0
− k] =
∞
∑ x[k ]h[− (k − n )]
0
k = −∞
(4)
o que consiste em somar todos os elementos do sinal wn [k ] = x[k ]h[− (k − n0 )] ou
0
seja, do produto do sinal de entrada pela resposta impulsiva do sistema invertida
no tempo e deslocada de n0 unidades.
• Os exercícios seguintes devem ilustrar este enfoque.
Exercícios
5. Encontre a resposta nos instantes n = 1 e n = 2 para o sistema e para a entrada
do Exercício 4 usando a abordagem discutida acima.
6. (HAYKIN; VEEN, 2001, p. 91) Um sistema LIT tem resposta ao impulso:
n
⎛3⎞
h[n] = ⎜ ⎟ u[n]
⎝4⎠
Determine a saída do sistema nos instantes n = −5 , n = 5 e n = 10 quando a entrada for x[n] = u[n] .
[ ]
RESP: y[− 5] = 0 , y[5] = 3,288 , y 10 = 3,831
7. Escreva uma fórmula para wn [k ] para o Exercício anterior e encontre y[n] para todo n .
RESP:
⎧⎛ 3 ⎞ k − n
⎪⎜ ⎟ , 0 ≤ k ≤ n
,
wn [k ] = ⎨⎝ 4 ⎠
⎪0
, caso contrário
⎩
⎧ ⎛ ⎛ 3 ⎞ n +1 ⎞
⎪4⎜1 − ⎜ ⎟ ⎟, n ≥ 0
y[n] = ⎨ ⎜⎝ ⎝ 4 ⎠ ⎟⎠
⎪
caso contrário
⎩0,
• Este último exercício sugere que, em geral, podemos determinar y[n] para todo n sem avaliarmos a Eq. (4) para um número infinito de deslocamentos
distintos no tempo n . Isto é realizado identificando-se os intervalos de n nos
quais wn [k ] tem a mesma forma funcional. Depois, precisamos somente avaliar a Eq. (4) usando o wn [k ] associado com cada intervalo. Muitas vezes é
7
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
muito útil traçarmos graficamente tanto x[k ] como h[n − k ] quando determinamos wn [k ] e identificamos os intervalos apropriados de deslocamento no
tempo. Resumindo:
1. Trace graficamente x[k ] e h[n − k ] como uma função da variável independente
k . Para determinar h[n − k ] , primeiramente reflita h[k ] em torno de k = 0 para
obter h[− k ] e depois desloque h[− k ] de − n no tempo.
2. Inicie com o deslocamento de tempo n grande e negativo.
3. Escreva a forma funcional para wn [k ] .
4. Aumente o deslocamento no tempo n até que a forma funcional para wn [k ] se
modifique. O valor de n no qual ocorre a modificação define o fim do intervalo corrente e o início de um novo intervalo.
5. Admitamos que n esteja no novo intervalo. Repita os passos 3 e 4 até que todos os intervalos de deslocamento no tempo n e as formas funcionais para
wn [k ] sejam identificados. Isto usualmente implica em aumentar n até um
número positivo muito grande.
6. Para cada intervalo de deslocamento no tempo n , some todos os valores de
wn [k ] correspondente para obter y[n] neste intervalo.
Exercícios
8. (HAYKIN; VEEN, 2001, p. 93) Um sistema LIT tem a resposta ao impulso
dada por:
h[n] = u[n] − u[n − 10]
Determine a saída deste sistema quando a entrada for o pulso retangular definido
como
x[n] = u[n − 2] − u[n − 7]
8
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
RESP:
n<2
⎧0,
⎪n − 1,
⎪⎪
[
]
y n = ⎨5,
⎪16 − n,
⎪
⎪⎩0,
2≤n≤6
6 < n ≤ 11
12 ≤ n ≤ 16
n > 16
9. (HAYKIN; VEEN, 2001, p. 95) Admitamos que a entrada x[n] para um sistema H do tipo LIT seja dada por x[n] = α n {u[n] − u[n − 10]} e que a resposta ao
impulso do sistema seja dada por h[n] = β n u[n] em que 0 < β < 1 . Encontre a
saída deste sistema.
⎧
⎪
⎪
⎪
⎪
RESP:
n<0
⎪0,
n +1
⎪
⎪ 1 - ⎛⎜ α ⎞⎟
⎜β ⎟
⎪⎪
y[n] = ⎨β n ⎝ ⎠ ,
⎛α ⎞
⎪
1 - ⎜⎜ ⎟⎟
⎪
⎝β ⎠
⎪
10
⎪
⎛α ⎞
⎪ 1 - ⎜⎜ ⎟⎟
⎪β n ⎝ β ⎠ ,
⎪
⎛α ⎞
1 - ⎜⎜ ⎟⎟
⎪
⎪⎩
⎝β ⎠
0≤n≤9
n>9
10. (HAYKIN; VEEN, 2001, p. 96) Admitamos que a entrada de um sistema LIT
com
resposta
ao
impulso
h[n] = α n {u[n − 2] − u[n − 13]}
x[n] = 2{u[n + 2] − u[n − 12]}. Encontre a saída y[n] .
n<0
⎧0,
⎪ n+2
- n -1
2
1
α
α
⎪
,
RESP:
⎪
1 - α -1
⎪ 12
-11
⎪ 2α 1 - α
y[n] = ⎨
,
-1
⎪ 1-α
⎪ 2α 12 1 - α n - 24
,
⎪
1 - α -1
⎪
n ≥ 24
⎪⎩0,
(
(
(
)
)
)
0 ≤ n ≤ 10 .
11 ≤ n ≤ 13
14 ≤ n ≤ 23
9
seja
Processamento Digital de Sinais – Aula 5T – Professor Marcio Eisencraft – agosto 2007
11. (HAYKIN; VEEN, 2001, p. 97) Suponha que a entrada x[n] e a resposta ao
impulso h[n] de um sistema H do tipo LIT sejam dadas por:
x[n] = −u[n] + 2u[n − 3] − u[n − 6]
h[n] = u[n + 1] − u[n − 10]
Encontre a saída deste sistema, y[n] .
⎧0,
⎪− n - 2,
⎪
RESP:
⎪n - 4,
⎪
y[n] = ⎨0,
⎪n − 9
⎪
⎪− n + 15
⎪0,
⎩
n < −1
-1≤ n <1
2≤n<4
.
4≤n<9
9 ≤ n ≤ 11
12 < n ≤ 15
n ≥ 15
12. (HAYKIN; VEEN, 2001, p. 97) Considere um sistema LIT com resposta ao
impulso:
⎧1
⎪ ,
h[n] = ⎨ 4
⎪⎩0,
0≤n≤3
caso contrário
Encontre uma expressão que relacione diretamente uma entrada arbitrária x[n] à
saída deste sistema, y[n] .
RESP:
y [n ] =
1
( x [ n ] + x [ n − 1 ] + x [ n − 2 ] + x [ n − 3 ]) .
4
10
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
Aula 7T – Propriedades da resposta ao impulso
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 108-120.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 103-116.
2.3
Propriedades da representação da resposta ao impulso para sistemas
LIT
• Vimos nas últimas aulas que a resposta ao impulso de um sistema LIT o caracteriza completamente. Desta forma, apenas olhando a resposta impulsiva,
deve ser possível descobrir se um sistema LIT é causal ou tem ou não memória e o resultado da interconexão desses sistemas. Esse será o assunto desta
aula.
2.3.1 Conexão paralela de sistemas LIT
• Consideremos a seguinte conexão paralela de sistemas LIT em que h1 [n] e
h2 [n] são as respostas impulsivas de cada sistema:
Figura 1 – Conexão paralela de sistemas
• A saída desta conexão de sistemas y[n] é a soma das saídas de cada sistema:
y[n] = y1 [n] + y 2 [n] = x[n] ∗ h1 [n] + x[n] ∗ h2 [n]
• Usando a representação da convolução por somatórias, podemos escrever que
1
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
y[n] =
∞
∑ x[k ]h [n − k ] + ∑ x[k ]h [n − k ] ⇒
k = −∞
y[n] =
∞
1
k = −∞
∞
2
∞
∑ x[k ](h [n − k ] + h [n − k ]) = ∑ x[k ]h[n − k ]
k = −∞
1
2
k = −∞
sendo h[n] =h1 [n] + h2 [n] . Ou seja, tudo se passa como se a resposta impulsiva do
sistema equivalente ao da Figura 1 fosse o da Figura 2 a seguir:
Figura 2 – Sistema equivalente ao da Figura 1
• A resposta ao impulso de dois sistemas conectados em paralelo é a soma das
respostas individuais ao impulso.
• Uma outra forma de enxergar esse fato é dizer que a convolução possui a
propriedade distributiva:
x[n] ∗ h1 [n] + x[n] ∗ h2 [n] = x[n] ∗ (h1 [n] + h2 [n])
2.3.2 Conexão em cascata de sistemas
• Consideremos agora a conexão em cascata de dois sistemas LIT ilustrada na
Figura 3 a seguir.
Figura 3 – Conexão em cascata de sistemas LIT
• Chamamos de z[n] a saída do primeiro sistema e a entrada para o segundo
sistema da conexão em cascata. Podemos expressar a saída em termos de z[n]
como
2
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
y[n ] = z[n]∗ h2 [n] =
∞
∑ z[k ]h [n − k ]
2
k = −∞
(1)
• Porém, z[k ] é a saída do primeiro sistema e é expressa em termos de x[k ] como:
z[k ] = x[k ] ∗ h1 [k ] =
∞
∑ x[l]h [k − l]
1
l = −∞
(2)
• Substituindo (2) em (1), temos:
y[n] =
⎛ ∞
⎞
⎜ ∑ x[l]h1 [k − l]⎟h2 [n − k ]
∑
k = −∞ ⎝ l = −∞
⎠
∞
• Trocando a ordem das somatórias em (3) e fazendo m = k − l , temos:
⎡ ∞
⎤
y[n] = ∑ x[l] ∑h1 [k − l]h2 [n − k ] = ∑ x[l]⎢ ∑h1 [m]h2 [n − l − m]⎥
l=−∞
k =−∞
l=−∞
⎣m=−∞
⎦
∞
∞
∞
(3)
• A somatória interna é identificada como a convolução de h1 [n] com h2 [n] avaliada em n − l . Ou seja, se definirmos h[n] = h1 [n] ∗ h2 [n] , então,
∞
∑ h [m]h [n − l − m] = h[n − l]
m = −∞
1
2
(4)
• Substituindo (4) em (3), obtemos:
y[n ] =
∞
∑ x[l]h[n − l] = x[n]∗ h[n]
l = −∞
• Conseqüentemente, a resposta ao impulso de dois sistemas LIT conectados
em cascata é a convolução das respostas impulsivas individuais. A conexão
em cascata é equivalente em termos de entrada-saída ao sistema único representado pela resposta ao impulso h[n] , como mostra a Figura 4.
Figura 4 – Sistema equivalente ao da Figura 3
• Matematicamente, este resultado significa que a soma de convolução satisfaz
as propriedades associativa e comutativa:
3
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
{x[n] ∗ h1 [n]}∗ h2 [n] = x[n] ∗ {h1 [n] ∗ h2 [n]}
h1 [n] ∗ h2 [n] = h2 [n] ∗ h1 [n]
Exercício
1. (HAYKIN; VEEN, 2001; p.110) Considere a interconexão de sistemas LIT
descrita na figura a seguir. A resposta de cada sistema é dada por
h1 [n] = u[n]
h2 [n] = u[n + 2] − u[n]
h3 [n] = δ [n − 2]
h4 [n] = α n u[n]
Encontre a resposta ao impulso do sistema global, h[n] .
2.3.3 Sistemas sem memória
• Já vimos que a saída de um sistema sem memória depende somente da entrada atual. A pergunta que tentaremos responder agora é: como identificar um
sistema LIT sem memória apenas olhando sua resposta impulsiva? Ou como
deve ser a resposta impulsiva de um sistema LIT sem memória?
• Explorando-se a propriedade comutativa da convolução, a saída de um sistema LIT pode ser expressa como
y[n] = h[n] ∗ x[n] =
∞
∑ h[k ]x[n − k ] .
k = −∞
• Para que este sistema seja sem memória, y[n] deve depender somente de x[n]
e não de x[n − k ] para k ≠ 0 . Conseqüentemente, um sistema LIT de tempo
4
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
discreto é sem memória se, e somente se, h[k ] = cδ [k ] , em que c é uma constante arbitrária.
• Assim, a condição de ausência de memória impõe fortes restrições na forma
da resposta ao impulso. Todos os sistemas LIT sem memória realizam multiplicação escalar com a entrada.
2.3.4 Sistemas causais
• Já vimos que a saída de um sistema causal depende somente dos valores passados ou presentes da entrada. Vamos ver agora como isso se reflete na resposta impulsiva de sistemas LIT.
• Escrevemos a soma de convolução como:
y[n] =
∞
∑ h[k ]x[n − k ]
k = −∞
• Os valores passados e atuais da entrada x[n] , x[n − 1] , x[n − 2] ,..., são associados com índices k ≥ 0 na soma de convolução, enquanto que os valores futuros da entrada x[n + 1] , x[n + 2],... são associados com índices k < 0 .
• Conseqüentemente, para um sistema causal, teremos h[k ] = 0 para k < 0 .
Exercício
2. (HAYKIN; VEEN, 2001, p. 113) Um sistema de tempo discreto tem a resposta ao impulso:
h[n] = a n u[n + 2]
Este é um sistema causal? Tem memória?
2.3.5 Resposta ao degrau
• A resposta de um sistema LIT a um degrau caracteriza como o sistema responde a mudanças repentinas na entrada.
5
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
• A resposta ao degrau é facilmente expressa em termos da resposta ao impulso usando-se a convolução, supondo-se que a entrada seja uma função degrau.
• Admitamos que um sistema tenha a resposta ao impulso h[n] e denote a resposta ao degrau como s[n] . Teremos:
∞
s[n ] = h[n] ∗ u[n] =
∑ h[k ]u[n − k ]
k = −∞
• Como u[n − k ] = 0 para k > n e u[n − k ] = 1 para k ≤ n , temos:
s[n] =
n
∑ h[k ]
k = −∞
• Ou seja, a resposta ao degrau é a soma corrente da resposta ao impulso.
Exercício
3. (HAYKIN; VEEN, 2001, p. 116) Encontre a resposta ao degrau de um sistema de tempo discreto com resposta ao impulso:
h[n ] = (− a ) u[n ]
n
2.3.6 Sistemas invertíveis e desconvolução
• Um sistema é invertível se a entrada do sistema puder ser recuperada a partir
de sua saída.
• Isso implica a existência de um sistema inverso que toma a saída do sistema
original como sua entrada e produz a entrada do sistema original.
• A Figura 5 a seguir descreve a cascata de um sistema LIT que tem resposta
ao impulso h[n] com um sistema inverso LIT que tem resposta ao impulso
h −1 [ n ] .
Figura 5 – Cascata de um sistema LIT com seu sistema inverso.
6
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
• O processo para recuperar x[n] de h[n] ∗ x[n] é denominado desconvolução,
uma vez que ele corresponde a inverter ou desfazer a operação de convolução.
• Um sistema inverso tem saída x[n] em resposta a entrada y[n] = h[n] ∗ x[n] e
desta forma resolve o problema da desconvolução.
• A desconvolução e os sistemas inversos desempenham um papel importante em muitos problemas de processamento de sinais e sistemas.
• Um problema comum é o de inverter ou equalizar a distorção introduzida
por um sistema não ideal.
• Por exemplo, considere o uso de um modem de alta velocidade para comunicar-se por meio de linhas telefônicas. A distorção causada pela rede
telefônica impõe graves restrições à taxa em que as informações podem
ser transmitidas; desta forma um equalizador é incorporado ao modem. O
equalizador inverte a distorção da rede telefônica e permite que taxas de
dados muito mais altas sejam atingidas. Neste caso, o equalizador representa um sistema inverso para a rede telefônica.
• A relação entre a resposta ao impulso de um sistema h[n] e o sistema inverso correspondente h −1 [n] pode ser obtida notando-se que
(
)
x[n] ∗ h[n] ∗ h −1 [n] = x[n]
• Isto implica que
h[n] ∗ h −1 [n] = δ [n]
(5)
• Em muitas aplicações de equalização, um sistema inverso exato pode ser difícil de encontrar ou implementar. A determinação de uma solução aproximada para a Equação (5) muitas vezes é suficiente nesses casos.
7
Processamento Digital de Sinais – Aula 7T – Professor Marcio Eisencraft – julho 2006
Exercício
4. (HAYKIN; VEEN, 2001, p. 114) Considere projetar um sistema de tempo
discreto para eliminar a distorção associada com um eco indesejável num
problema de transmissão de dados. Suponha que o eco seja representado como atenuação por uma constante a e um retardo correspondente a uma unidade de tempo na seqüência de entrada. Daí, o sinal recebido distorcido, y[n] ,
ser expresso em termos do sinal transmitido x[n] como:
y[n] = x[n] + ax[n − 1]
Encontre um sistema inverso causal que recupere x[n] de y[n] .
RESP:
h −1 [n] = (− a ) u[n ]
n
8
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
Aula 8T – Representação por equações de diferenças para sistemas LIT
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 120-132.
LATHI, Bhagwandas Pannalal. Signal processing and linear systems. California: Berkeley, c1998. 734 p.
ISBN 0941413357. Páginas 573 – 578.
2.4.
Representação por equações de diferenças para sistemas LIT
• Uma outra forma de representar um sistema de tempo discreto linear e invariante no tempo (LIT) é através de equações de diferenças.
• De uma forma geral, temos:
a1 y[n] + a 2 y[n − 1] + L + a N +1 y[n − N ] = b1 x[n] + b2 x[n − 1] + K + bM +1 x[n − M ] ou
N
∑a
k =0
M
k +1
y [ n − k ] = ∑ bk +1 x [ n − k ] (1)
k =0
• O número N , correspondente ao número máximo de valores da saída que
devem ser guardados para o cálculo das futuras saídas do sistema é chamado
de ordem da equação de diferenças.
• Um exemplo de equação de diferenças de segunda ordem é
y[n ] + y[n − 1] +
1
y[n − 2] = x[n ] + 2 x[n − 1]
4
• Esta equação poderia representar a relação entre os sinais de entrada e saída
de um sistema que processa dados em um computador, por exemplo. Neste
caso a ordem é N = 2 porque a equação de diferenças envolve y[n − 2] , implicando uma memória máxima na saída do sistema igual a dois.
• As equações de diferenças são facilmente reorganizadas para se obter formulas para computar a saída corrente do sistema a partir do sinal de entrada e
das saídas passadas.
• Por exemplo, a equação anterior pode ser reescrita como:
y[n ] = x[n ] + 2 x[n − 1] − y[n − 1] −
1
1
y[n − 2]
4
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
Iniciando com n = 0 podemos obter a saída avaliando a seqüência das equações
y[0] = x[0] + 2 x[−1] − y[−1] −
1
y[−2]
4
1
y[−1]
4
1
y[2] = x[2] + 2 x[1] − y[1] − y[0]
4
1
y[3] = x[3] + 2 x[2] − y[2] − y[1]
4
M
y[1] = x[1] + 2 x[0] − y[0] −
• Em cada equação, a saída corrente é computada a partir da entrada e dos valores passados da saída. Para começarmos este processo no instante n = 0 ,
devemos conhecer os dois valores passados mais recentes da saída y[− 1] e
y[− 2] . Estes valores são conhecidos como condições iniciais.
• As condições iniciais reúnem todas as condições sobre o passado do sistema
que são necessárias para se computar as saídas futuras. Note que, em geral, o
número de condições iniciais necessárias para determinar a saída é igual à
ordem do sistema.
2.4.1. A notação operacional
• Em equações de diferenças é comum utilizar-se de uma notação operacional
parecida com a que foi vista em Circuitos Elétricos para equações diferenciais (Transformada de Laplace).
• Utilizaremos o operador z −1 para denotar a operação de atrasar uma seqüência de uma unidade de tempo. Assim
z −1 f [n] ≡ f [n − 1]
z − 2 f [n] ≡ f [n − 2]
L
z − k f [n] ≡ f [n − k ]
• Assim, uma equação de diferenças da forma:
y[n] − ay[n − 1] = x[n]
pode ser escrita como
2
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
y[n] − az −1 y[n] = x[n]
ou
(1 − az )y[n] = x[n]
−1
• A equação de segunda ordem
y[n] +
1
1
y[n − 1] + y[n − 2] = x[n]
4
16
pode ser expressa como
y[n ] +
1 −1
1
z y[n ] + z − 2 y[n ] = x[n ]
4
16
ou
⎛ 1 −1 1 − 2 ⎞
⎜1 + z + z ⎟ y[n ] = x[n ]
16
⎝ 4
⎠
• Uma equação geral
a1 y[n] + a2 y[n − 1] + K a N +1 y[n − N ] = b1 x[n] + b2 x[n − 1] + KbM +1 x[n − M ]
Pode ser expressa como
(a
1
)
(
)
+ a 2 z −1 + a 3 z −2 + K + a N +1 z − N y[n ] = b1 + b2 z −1 + b3 z −2 + K + bM +1 z − M x[n ]
ou
[ ]
[ ]
Q z −1 y[n ] = P z −1 x[n ]
em que Q[z −1 ] e P[z −1 ] são os operadores polinomiais de grau N e M
[ ]
P[z ] = b
Q z −1 = a1 + a 2 z −1 + a3 z −2 + K + a N +1 z − N
−1
1
+ b2 z −1 + b3 z − 2 + K + bN +1 z − N
Exercícios
1. (LATHI, 1998, p. 611) Resolva iterativamente (apenas os primeiros três termos) e escreva as seguintes equações com a notação operacional:
(a) y[n] − 0,5 y[n − 1] = 0 , com y[− 1] = 10
(b) y[n] + 2 y[n − 1] = x[n] com x[n] = e − n u[n] e y[− 1] = 0 .
3
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
2.4.2. A resposta à entrada zero ou resposta natural
• Vamos tentar encontrar uma solução para a equação de diferenças (1) quando
a entrada é x[n] = 0 . Esta é conhecida como resposta à entrada nula ou res-
posta natural do sistema e será representada por y 0 [n] .
• Assim, temos
[ ]
Q z −1 y0 [n] = 0
ou
(a
1
)
+ a 2 z −1 + a 3 z −2 + K + a N +1 z − N y 0 [n ] = 0
ou
a1 y 0 [n] + a 2 y 0 [n − 1] + K + a N +1 y 0 [n − N ] = 0
(2)
• Já vimos que podemos resolver esta equação de forma recursiva. Porém, olhando atentamente para a equação acima, podemos determinar y 0 [n] de uma
maneira mais eficiente.
• Esta equação mostra que uma combinação linear de y 0 [n] e versões atrasadas
dela resultam zero para todo n . Isto só é possível se y 0 [n] e suas versões atrasadas tiverem a mesma forma.
• Uma função exponencial γ n tem essa propriedade:
γ n−m = γ − mγ n
Esta equação mostra que uma versão atrasada de γ n é a própria γ n multiplicada
por uma constante.
• Assim, uma solução da equação (2) deve ser da forma:
y 0 [n ] = cγ n
(3)
• Para encontrar c e γ substituímos esta solução na Equação (2). A Equação
(3) implica
4
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
z −1 y 0 [n] = y 0 [n − 1] = cγ n −1
z − 2 y 0 [n] = y 0 [n − 2] = cγ n − 2
L
z − N y 0 [n] = y 0 [n − N ] = cγ n − N
• Substituindo estes resultados na Equação (2) temos:
a1 y 0 [n] + a 2 y 0 [n − 1] + K + a N +1 y 0 [n − N ] = 0 ⇔
a1cγ n + a 2 cγ n −1 + K + a N +1cγ n − N = 0 ⇔
(
)
c a1 + a 2 γ −1 + K + a N +1γ − N γ n = 0
(4)
• Assumindo γ ≠ 0 e c ≠ 0 (excluindo as soluções triviais), a Eq. (4) é satisfeita
quando
a1 + a2γ −1 + K + a N +1γ − N = 0
[ ]
Q γ −1 = 0
(5)
• A solução proposta cγ n (Eq. (3)) está correta desde que γ satisfaça a Equação (5). Para resolvê-la, multiplicamos os dois membros por γ N obtendo:
a1γ N + a2γ N −1 + K + a N +1 = 0
(6)
que é um polinômio de grau N que tem N soluções γ 1 , γ 2 ,..., γ N .
• Desta forma a Eq. (2) também terá N soluções da forma
c1γ 1 , c2γ 2 ,...,
n
n
cN γ N . Neste caso, pode-se mostrar que a solução geral é uma combinação
n
linear das N soluções. Assim,
y0 [n ] = c1γ 1n + c2γ 2n + L + c N γ Nn
em que γ 1 , γ 2 ,..., γ N são as soluções da Eq. (5) e c1 , c2 ,..., c N são constantes arbitrárias determinadas a partir de N condições auxiliares, geralmente dadas na
forma de condições iniciais.
• O polinômio Q[γ −1 ] é chamado de polinômio característico do sistema e a
[ ]
−1
= 0 é chamada de equação característica do sistema.
equação Q γ
5
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
• Além disso, as raízes γ 1 , γ 2 ,..., γ N da equação característica são chamadas de
raízes características ou valores característicos (ou autovalores) do sistema.
• As exponenciais γ in ( i = 1,2,K N ), são os modos naturais ou modos característicos do sistema.
• Na discussão, assumimos que o sistema tem n raízes características diferentes γ 1 , γ 2 ,..., γ N com correspondentes modos característicos
c1γ 1 ,
n
n
c2γ 2 ,..., cN γ N .
n
• Se duas ou mais raízes coincidirem (raízes repetidas), a forma dos modos característicos é modificada.
• Da mesma forma como em equações diferenciais, se uma raiz γ se repete r
vezes (raiz de multiplicidade r ), os modos característicos correspondente a
estas raízes são γ n , nγ n , n 2 γ n ,..., n r −1γ n .
• Assim, se um sistema tem raízes características γ 1 , γ 2 ,..., γ N sendo que γ 1
tem multiplicidade r , sua resposta natural é:
y 0 [n ] = c1γ 1n + c 2 nγ 1n + c3 n 2 γ 1n + K + c r n r γ rn + c r +1γ rn+1 + c r + 2 γ rn+ 2 + K + c n γ nn
• Outro problema que não foi abordado é o que acontece quando as raízes características são complexas.
• Logicamente, se a equação de diferenças tem coeficientes reais, as raízes
complexas só podem aparecer em pares conjugados. As raízes complexas
podem ser tratadas exatamente como raízes reais, no entanto é possível eliminar os números complexos trabalhando com soluções reais.
• Primeiramente, expressamos as raízes complexas
γ é o módulo de
γ
γ
e β sua fase, então:
γ = γ e jβ e γ * = γ e − jβ
• A resposta à entrada nula é então dada por
6
e
γ * na forma polar. Se
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
( )
y 0 [n] = c1γ n + c 2 γ *
n
= c1 γ e jβn + c 2 γ e − jβn
n
•
n
Para um sistema real, c1 e c2 precisam ser conjugados de forma que y 0 [n]
seja uma função real de n . Assim, seja
c1 =
c jθ
c
e e c 2 = e − jθ
2
2
Desta forma,
y 0 [n] =
c
γ
2
n
[e (
j βn +θ )
+ e − j ( βn +θ )
]
= c γ cos(β n + θ )
n
•
Nesta solução c e θ deverão ser obtidos das condições iniciais.
Exercício
2. (2022) Encontre a resposta natural para a seguinte equação de diferenças:
y[n + 2] − 1,3 y[n + 1] + 0,4 y[n] = x[n] + x[n − 1]
Considere como condições iniciais y 0 [0] = 5 e y 0 [1] = 7 .
3. (2021) Calcule a resposta natural y 0 [n] do sistema de tempo discreto representado pela equação de diferenças
y[n] − 10 y[n − 1] + 25 y[n − 2] = 5 x[n − 1] , y 0 [− 1] = 3 , y 0 [− 2] = 2 .
4. (2021) Calcule e esboce a resposta natural y 0 [n] do sistema de tempo discreto
representado pela equação de diferenças
y[n] + 16 y[n − 2] = 5 x[n − 1] , y 0 [− 1] = −
1
2 2
, y 0 [− 2] =
1
4 2
.
2.4.3. Resposta forçada e resposta total de um sistema LIT
• Já vimos em aulas anteriores que a resposta de um sistema LIT a uma entrada
x[n] é dada por
7
Processamento Digital de Sinais – Aula 8T – Professor Marcio Eisencraft – abril 2007
y[n] = x[n] ∗ h[n] =
∞
∑ x[k ]h[n − k ]
k = −∞
em que h[n] é a resposta impulsiva do sistema.
• Esta resposta, obtida quando as condições iniciais do sistema são nulas, é
conhecida como resposta forçada do sistema à entrada x[n] .
• No caso geral em que temos condições inicias e uma entrada não nula,
podemos usar sobreposição e escrever:
y[n] = y 0 [n] + x[n] ∗ h[n]
Exercício
5. (2022) Dado o sistema:
y[n] − 0,9 y[n − 1] = x[n] − x[n − 1]
com condição inicial y 0 [− 1] = 2 . Pede-se para n ≥ 0 ,
(a) Determine iterativamente os cinco primeiros pontos da resposta deste sistema à entrada x[n] = 2 − n u[n] .
(b) Determine a resposta natural deste sistema.
(c) Determine a resposta impulsiva deste sistema (Dica: lembre-se, para calcular resposta impulsiva, consideramos condições iniciais nulas).
(d) Determine a resposta forçada deste sistema para x[n] = 2 − n u[n] . (Dica: lembre-se, para calcular resposta forçada, consideramos condições iniciais nulas).
(e) Determine a resposta completa deste sistema para a entrada x[n] = 2 − n u[n] e
compare com os pontos obtidos no item (a).
8
Processamento Digital de Sinais – Aula 9T – Professor Marcio Eisencraft – abril 2007
Aula 9T - Resposta de sistemas LIT a exponenciais complexas
Bibliografia
ƒ
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 182-186.
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 116-120.
3. Análise de Fourier de sinais de tempo discreto
3.1.
Resposta de sistemas LIT discretos a exponenciais complexas
• Quando estudamos sistemas LIT é interessante representar sinais como combinações lineares de sinais básicos que possuem as seguintes propriedades:
o O conjunto de sinais básicos pode ser usado para construir uma
grande e útil classe de sinais.
o A resposta de um sistema LIT a cada sinal deve ser simples o suficiente em estrutura para nos permitir uma representação conveniente para a resposta do sistema a qualquer sinal construído como uma
combinação linear dos sinais básicos.
• Um exemplo de conjunto de sinais básicos que já usamos é {δ [n − k ], k ∈ Z }
que leva à representação da saída pela soma de convolução.
• Outro conjunto com características importantes é o conjunto {z n } em que z é
um número complexo.
• A importância das exponenciais complexas no estudo de sistemas LIT vem
do fato de que a resposta de um sistema LIT a uma entrada exponencial complexa é a mesma exponencial complexa apenas com uma mudança de amplitude; isto é,
z n → H ( z )z n
em que o fator de amplitude complexa H (z ) será em geral uma função da variável complexa z .
1
Processamento Digital de Sinais – Aula 9T – Professor Marcio Eisencraft – abril 2007
• Um sinal para o qual a saída de um sistema é uma constante (possivelmente
complexa) vezes a entrada é chamada de autofunção do sistema e o fator de
amplitude é chamado de autovalor do sistema.
• Vamos mostrar que as seqüências exponenciais complexas são autofunções
de sistemas LIT de tempo discreto.
• Suponha que um sistema LIT com resposta impulsiva h[n] tenha como entrada a seqüência
x[n] = z n , (1)
em que z é um número complexo.
• A saída do sistema pode ser determinada através da soma de convolução
y[n ] =
∞
∞
∑ h[k ]x[n − k ] = ∑ h[k ]z
k = −∞
n−k
=z
∞
n
k = −∞
∑ h[k ]z
k = −∞
−k
(2)
• Desta expressão, vemos que se a entrada x[n] é a exponencial complexa dada
pela Equação (1), então, assumindo que a somatória no segundo membro de
(2) converge, a saída é a mesma exponencial complexa multiplicada por uma
constante que depende do valor de z . Isto é,
y[n] = H ( z )z n
(3)
em que
H (z ) =
∞
−k
[
]
h
k
z
∑
k = −∞
.
(4)
• Consequentemente, as exponenciais complexas são autofunções dos sistemas
LIT de tempo discreto. A constante H (z ) para um valor específico de z é o
autovalor associado à autofunção z n .
• Para a análise de sistemas LIT, a utilidade da decomposição de sinais mais
gerais em termos de autofunções pode ser visto através de um exemplo.
• Seja x[n] uma combinação linear de três exponenciais complexas, isto é:
x[n ] = a1 z1n + a 2 z 2n + a 3 z 3n .
2
Processamento Digital de Sinais – Aula 9T – Professor Marcio Eisencraft – abril 2007
• Pela propriedade da autofunção, a resposta de cada uma separadamente é:
a1 z1n → a1 H ( z1 )z1n
a 2 z 2n → a 2 H ( z 2 )z 2n ,
a3 z 3n → a3 H ( z 3 )z 3n
e pela propriedade da superposição, teremos:
y[n ] = a1 H ( z1 )z1n + a 2 H ( z 2 )z 2n + a 3 H ( z 3 )z 3n .
• De forma mais geral, a Equação (3) em conjunto com a propriedade da superposição mostra que a representação de sinais como uma combinação linear de exponenciais complexas leva a uma expressão conveniente para a resposta de um sistema LIT.
• Especificamente, se a entrada de um sistema LIT for representada por uma
combinação linear de exponenciais complexas, isto é, se:
x[n] = ∑ a k z kn , então a saída será
k
y[n] = ∑ ak H (zk )zkn .
k
• Em outras palavras, se a entrada de um sistema LIT é representada por uma
combinação linear de exponenciais complexas, a saída também pode ser representada como uma combinação linear dos mesmos sinais exponenciais
complexos. Cada coeficiente desta representação da saída é obtido como o
produto do respectivo coeficiente da entrada a k e o autovalor do sistema
H ( z k ) associado à autofunção z kn .
• Este fato é uma forte motivação para estudarmos a representação de um dado
sinal como uma soma de exponenciais complexas. Como obter esta representação? Quais sinais podem ser escritos assim. É o que veremos nas próximas
aulas quando estudaremos a representação de sinais de tempo discreto por séries de Fourier.
3
Processamento Digital de Sinais – Aula 9T – Professor Marcio Eisencraft – abril 2007
Exercícios
1. (OPPENHEIM; WILLSKY; NAWAB, 1997, p.185 modificado) Considere
um sistema LIT cuja saída seja a entrada atrasada de três amostras, ou seja,
y[n ] = x[n − 3] .
Pede-se:
n
1
(a) Determine diretamente a saída do sistema quando a entrada for x[n] = ⎛⎜ ⎞⎟ .
⎝2⎠
(b) Determine a resposta impulsiva do sistema.
(c) Obtenha H (z ) utilizando a definição (4).
n
1
(d) Determine a saída do sistema à entrada x[n] = ⎛⎜ ⎞⎟ usando o item (c).
⎝2⎠
(e) Determine a saída do sistema à entrada x[n] = cos(4n ) + cos(7n ) .
n
1
2. Considere um sistema LIT com resposta impulsiva h[n] = ⎛⎜ ⎞⎟ u[n] . Usando as
⎝ 3⎠
propriedades de autofunções determine a saída deste sistema quando a entrada for:
(a) x[n] = (1)n
(b) x[n] = (2)n
(c) x[n] = 1 + (2)n
π
(d) x[n] = cos⎛⎜ n ⎞⎟
⎝4 ⎠
3. (MITRA, 2001, p. 277) Mostre que a função a[n] = z n em que z é uma constante complexa é uma autofunção de um sistema LIT de tempo discreto. Seria
v[n] = z n u[n] também uma autofunção de um sistema LIT?
4
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
Aula 11T – Série de Fourier de tempo discreto
Bibliografia
ƒ
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 211-221.
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 168-178.
3.2. Representação em séries de Fourier para sinais de tempo discreto periódicos
• No curso de Análise de Sinais, estudam-se formas de representar um sinal de
tempo contínuo como uma soma de senóides ou exponenciais.
• Aqui discutiremos algo similar para sinais de tempo discreto. Nosso enfoque
é parecido com o que foi usado para sinais de tempo contínuo.
• Primeiro representaremos um sinal x[n] periódico como uma série de Fourier
formada por uma exponencial (ou senóide) de tempo discreto e suas harmônicas. A seguir estenderemos esta representação para um sinal aperiódico
x[n] considerando x[n] como o caso limite de um sinal periódico com o perí-
odo se aproximando do infinito.
ƒ Um sinal periódico com período N 0 = 6 é mostrado na figura seguinte.
ƒ Você já deve saber que um sinal de tempo contínuo periódico de período T0
pode ser representado como uma série trigonométrica de Fourier consistindo
de uma senóide com freqüência fundamental ω 0 =
1
2π
e todas as suas harmôT0
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
nicas (senóides cujas freqüências são múltiplos inteiros de ω 0 ). A forma exponencial da série de Fourier consiste nas exponenciais e j 0t , e ± jω t , e ± j 2ω t ,
0
0
e ± j 3ω0t ,...
ƒ Vamos tentar fazer um paralelo para sinais de tempo discreto. A freqüência
de uma senóide de período N 0 é Ω 0 =
2π
. Assim, um sinal periódico de temN0
po discreto com período N 0 pode ser representado por uma série de Fourier
de tempo discreto com freqüência fundamental Ω 0 =
2π
e suas harmônicas.
N0
ƒ Assim como em tempo contínuo, podemos usar uma forma trigonométrica ou
exponencial para as séries de Fourier. Devido à sua compacidade e facilidade
de manipulação matemática, a forma exponencial é preferível à trigonométrica.
ƒ Por esta razão passaremos a forma trigonométrica e iremos direto para a forma exponencial das séries de Fourier de tempo discreto.
ƒ A série de Fourier exponencial consiste nas exponenciais e j 0 n , e ± jΩ n ,
0
e ± j 2Ω 0 n ,..., e ± jkΩ 0 n ,... e assim por diante.
ƒ Em princípio haveria um número infinito de harmônicas, como no caso contínuo. Porém isso não acontece porque as exponenciais de tempo discreto cujas freqüências estão separadas por 2π são idênticas já que
e j (Ω ± 2π )n = e jΩn e ± j 2πn = e jΩn
ƒ A conseqüência deste resultado é que a k -ésima harmônica é idêntica à harmônica k + N 0 .
ƒ Para demonstrar isto, seja g k a k -ésima harmônica e ± jkΩ n . Então
0
g k + N 0 = e j (k + N 0 )Ω 0 n = e j (kΩ 0 n + 2πn ) = e jkΩ 0 n = g k
e
g k = g k + N 0 = g k + 2 N 0 = L = g k + rN 0
2
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
ƒ Assim, a primeira harmônica é idêntica à harmônica ( N 0 + 1 ), a segunda harmônica é idêntica à harmônica ( N 0 + 2 ) e assim por diante.
ƒ Em outras palavras, existem apenas N 0 harmônicas independentes e estas ficam sobre um intervalo de 2π (porque as harmônicas estão separadas por
Ω0 =
2π
).
N0
ƒ Podemos escolher estas N 0 harmônicas independentes como e jkΩ n com
0
0 ≤ k ≤ N 0 − 1 ou sobre − 1 ≤ k ≤ N 0 − 2 ou sobre 1 ≤ k ≤ N 0 ou qualquer outra
escolha conveniente. Qualquer um desses conjuntos terá as mesmas harmônicas apenas em ordem diferente.
ƒ Vamos tomar a primeira possibilidade 0 ≤ k ≤ N 0 − 1 . Esta escolha corresponde às exponenciais e jkΩ n para k = 0, 1, 2,..., N 0 − 1 . A série de Fourier para
0
um sinal periódico com período N 0 x[n] consiste destas N 0 harmônicas e pode ser expressa como
x[n] =
2π
Ω
=
0
com
N0
N0 −1
∑ ak e jkΩ0n
k =0
(1)
ƒ Pode-se mostrar (ver referências) que os termos a k podem ser calculados
como
1
ak =
N0
N 0 −1
∑ x[n]e
− jkΩ 0 n
n =0
Assim, temos uma representação em séries de Fourier de tempo discreto de um
sinal periódico de período N 0 :
N0 −1
x[n] = ∑ ak e jkΩ0n
(2)
k =0
em que
1
ak =
N0
N 0 −1
∑ x[n]e
n =0
− jkΩ 0 n
e Ω0 =
3
2π
N0
.
(3)
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
ƒ A série de Fourier consiste de N 0 componentes
a0 , a1e jΩ 0 n , a 2e j 2Ω 0 n , K, a N 0 −1e j ( N 0 −1)Ω 0 n
ƒ A freqüência dessas componentes são zero, Ω 0 , 2Ω 0 ,..., (N 0 − 1)Ω 0 em que
Ω0 =
2π
.
N0
ƒ A amplitude da k -ésima harmônica é a k . Podemos fazer um gráfico desta
quantidade a k em função de Ω . Este gráfico é chamado de espectro de Fourier de x[n] e nos dá, de uma só vez, uma figura com as magnitudes das várias harmônicas de x[n] .
ƒ Em geral, os coeficientes de Fourier a k são complexos e podem ser representados na forma polar como:
ak = ak e j∠ak
ƒ O gráfico de ak por Ω é chamado de espectro de amplitude e o de ∠a k por
Ω é chamado de espectro de ângulo (ou fase). Estes dois gráficos juntos são
os espectros em freqüência de x[n] .
ƒ Conhecendo estes espectros, podemos reconstruir ou sintetizar x[n] de acordo
com a Equação (2). Assim, o espectro de Fourier (ou de freqüência), que é
uma forma alternativa de descrever o sinal x[n] é em todos os sentidos equivalente (em termos de informação) ao gráfico de x[n] em função de n .
ƒ O espectro de Fourier de um sinal constitui a descrição no domínio da freqüência de x[n] em contraste com a descrição no domínio do tempo, em que
x[n] é especificado em função do tempo n .
ƒ Estes resultados são muito similares à representação de um sinal periódico de
tempo contínuo por uma série de Fourier exponencial exceto que, em geral, o
espectro de um sinal de tempo contínuo é infinito e consiste de um número
infinito de componentes exponenciais (harmônicas). O espectro de um sinal
4
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
de periódico de tempo discreto, em contraste tem no máximo N 0 componentes.
• Note que se φ [r ] é uma função de r periódica de período N 0 então
N 0 −1
∑ φ [r ] = ∑ φ [r ]
r =0
r = N0
(4)
em que r = N 0 indicam a soma sobre qualquer N 0 valores consecutivos de r .
• Isto ocorre porque o lado direito da Equação (4) é a soma de todos os N 0 valores consecutivos de φ [r ]. Como φ [r ] é periódica, esta soma precisa ser a
mesma independentemente de onde a começamos.
• Por outro lado, e − jkΩ n é periódica com período N 0 por que:
0
e − jkΩ0 (n+ N0 ) = e − jkΩ0n e − j 2πk = e − jkΩ0n
• Sendo assim, se x[n] é periódica de período N 0 , x[n]e − jkΩ n também é periódi0
ca de período N 0 .
• Desta forma, segue da Equação (4) que a k também é periódica de período N 0
assim como a k e jkΩ n . Assim, por causa da propriedade (4) podemos reescrever
0
as Equações (2) e (3) como:
x[n] =
∑a e
k = N0
e
ak =
1
N0
∑ x[n]e
k
jkΩ 0 n
− jkΩ 0 n
(5)
(6)
n= N0
• Se fizermos um gráfico de a k para todos os valores de k (ao invés de apenas
para 0 ≤ k ≤ N 0 − 1 ), veremos que o espectro de a k é periódico com período
N 0 . Além disso, a Equação (5) mostra que x[n] pode ser sintetizada não ape-
nas pelas N 0 exponenciais correspondentes a 0 ≤ k ≤ N 0 − 1 , mas por quaisquer N 0 exponenciais sucessivas neste espectro, começando em qualquer valor de k (positivo ou negativo).
• Por esta razão, costuma-se representar o espectro a k para todos os valores de
k (e não apenas no intervalo 0 ≤ k ≤ N 0 − 1 ).
5
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
• Mesmo assim, precisamos lembrar que para sintetizar x[n] precisamos adicionar apenas N 0 componentes sucessivas.
• As componentes espectrais a k estão separadas pela freqüência Ω 0 =
2π
e eN0
xiste um total de N 0 componentes se repetindo periodicamente sobre o eixo
Ω . Assim, na escala da freqüência Ω , a k se repete a cada intervalo de 2π.
• As equações (7) e (8) mostram que tanto x[n] quanto seu espectro a k são periódicos e ambos têm exatamente o mesmo número de componentes ( N 0 ) em
um período. O período de x[n] é N 0 e o de a k é 2π radianos.
• A Equação (8) mostra que a k é complexo em geral e a − k é o conjugado de a k
se x[n] é real. Assim,
ak = a− k
∠ak = −∠a− k
e
sendo assim, ak é uma função par e ∠a k é uma função ímpar de k .
Exercícios
1. (3022) Seja o seguinte sinal de tempo discreto periódico:
(a) Qual o período N 0 e a freqüência fundamental deste sinal Ω 0 ?
(b) Calcule os coeficientes da série de Fourier a k deste sinal para 0 ≤ k ≤ N 0 − 1 .
(c) Esboce o espectro de módulo e de fase para este sinal.
2. (3021) Dado o sinal de tempo discreto periódico a seguir:
6
Processamento Digital de Sinais – Aula 11T – Professor Marcio Eisencraft – abril 2007
(a) Determine o seu período N 0 e sua freqüência fundamental Ω 0 .
(b) Determine os coeficientes da série de Fourier de tempo discreto (SFTD)
para 0 ≤ k ≤ N 0 − 1 .
7
ak
Processamento Digital de Sinais – Aula 12T – Professor Marcio Eisencraft – julho 2006
Aula 12T – Propriedades das séries de Fourier de tempo discreto
Bibliografia
•
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. . Páginas 221-226.
•
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 202-240.
3.3.
Propriedades das séries de Fourier de tempo discreto
• Na aula passada, definimos a série de Fourier de sinais de tempo discreto e
vimos como obtê-la.
Representação em séries de Fourier de tempo discreto de um sinal periódico de
período N 0 :
x[n] =
jkΩ 0 n
a
e
∑ k
k = N0
em que
ak =
1
N0
∑ x[n]e
− jkΩ0 n
n= N0
e Ω0 =
2π
.
N0
• Vimos também que a k é complexo em geral e a − k é o conjugado de a k se
x[n] é real, ou seja, para sinais x[n] vale:
ak = a− k
∠ak = −∠a− k
e
sendo assim, ak é uma função par e ∠a k é uma função ímpar de k .
• Existem muitas semelhanças entre as propriedades de séries de Fourier de
tempo discreto e contínuo. Além disso, várias podem ser inferidas a partir de
propriedades da transformada de Fourier de tempo discreto (a ser estudada
em Análise de Sinais II). Assim, apresentaremos a seguir as propriedades de
tempo discreto que nos interessam discutindo apenas as mais importantes.
Uma discussão mais detalhadas das propriedades será feita nos cursos de Análise de Sinais.
1
Processamento Digital de Sinais – Aula 12T – Professor Marcio Eisencraft – julho 2006
3.3.1. Relação de Parseval para sinais periódicos de tempo discreto
• A relação de Parseval para sinais periódicos de tempo discreto é dada por
1
N
∑
x[n] =
2
n= N
∑ ak
2
k= N
em que a k são os coeficientes da série de Fourier de x[n] e N é o período.
• O lado esquerdo da relação de Parseval é a potência média em um período do
sinal periódico x[n] . Da mesma forma, a k
2
é a potência média na k -ésima
harmônica componente de x[n] .
• Assim, a relação de Parseval estabelece que a potência média de um sinal periódico é igual à soma das potências médias em todas as suas componentes
harmônicas.
Figura 1 – Propriedades das séries de Fourier de tempo discreto (OPPENHEIM;
WILLSKY; NAWAB, 1997).
2
Processamento Digital de Sinais – Aula 12T – Professor Marcio Eisencraft – julho 2006
Exercícios
1. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 216) Considere o sinal:
π⎞
⎛ 4π
⎛ 2π ⎞
⎛ 2π ⎞
x[n] = 1 + sin ⎜
n ⎟ + 3 cos⎜
n ⎟ + cos⎜
n+ ⎟.
2⎠
⎝ 9
⎝ 9 ⎠
⎝ 9 ⎠
Determine as componentes da série de Fourier deste sinal e esboce seu espectro.
2. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 218) Considere o seguinte
sinal retangular periódico com período N 0 = 32 . Determine as componentes
da série de Fourier deste sinal e esboce seu espectro.
Neste caso N 0 = 32 e Ω 0 =
2π π
. Desta forma,
=
32 16
x[n] =
∑a e
k = 32
jk
π
16
n
k
em que
π
− jk n
1
16
[
]
ak =
x
n
e
∑
(*)
32 n= 32
Por facilidade, vamos escolher o intervalo − 16 ≤ n < 15 para a somatória (*)
apesar de que qualquer outro intervalo de mesmo tamanho (32 pontos) servisse.
π
− jk n
1 15
16
[
]
ak =
x
n
e
∑
32 n=−16
Mas x[n] = 1 para − 4 ≤ n ≤ 4 e 0 para os outros valores de n . Portanto,
3
Processamento Digital de Sinais – Aula 12T – Professor Marcio Eisencraft – julho 2006
π
1 4 − jk 16 n
ak =
∑e
32 n=−4
Esta é uma progressão geométrica com razão e
−j
π
16
k
. Assim,
πk 9
πk 5
−j
−j
⎡ 4πk
⎤
⎡ j 416πk
⎤
16
j
1 ⎢ 16 1 − e
1 ⎢e
− e 16 ⎥
⎥
ak =
e
=
=
πk ⎥
πk
⎥
−j
−j
32 ⎢
32 ⎢
16
16
⎢⎣
⎥⎦
⎢⎣ 1 − e
⎥⎦
1− e
πk 4 , 5
0 , 5πk
−j
−j
⎤
⎡ j 4,165πk
⎛ 4,5πk ⎞
16
e
− e 16 ⎥
⎢e
sin ⎜
⎟
1
1
16 ⎠
⎝
⎦
⎣
=
=
0 , 5πk
32 − j 0,165πk ⎡ j 0,165πk
32 ⎛ 0,5πk ⎞
−j
⎤
16
sin ⎜
⎟
e
e
e
−
⎥
⎢
16 ⎠
⎝
⎦
⎣
⎛ 1 ⎞ sin (4,5kΩ 0 )
=⎜ ⎟
⎝ 32 ⎠ sin (0,5kΩ 0 )
com Ω 0 =
π
16
.
Este resultado é mostrado na figura a seguir. Repare que neste exemplo a k é
real o que é esperado já que x[n] é par (ver tabela da Figura 1).
ak
3. (OPPENHEIM; WILLSKY; NAWAB, 1997, p.225) Suponha que sejam dadas as seguintes informações sobre a seqüência x[n] :
a. x[n] é periódica com período N 0 = 6 .
5
b.
∑ x[n] = 2 .
n =0
7
c.
∑ (− 1) x[n] = 1
n
n=2
4
Processamento Digital de Sinais – Aula 12T – Professor Marcio Eisencraft – julho 2006
d. x[n] tem a menor potência por período dentro do conjunto de sinais
que satisfazem as três condições anteriores.
Determine x[n] .
4. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 250) Um sinal de tempo discreto periódico x[n] assume valores reais e tem período fundamental N = 5 .
Os coeficientes não nulos da série de Fourier de x[n] são
a 0 = 1 , a 2 = a −∗ 2 = e
j
π
4
j
π
, a 4 = a −∗4 = 2e 3 .
Expresse x[n] na forma
∞
x[n] = A0 + ∑ Ak sin (Ω k n + φ k ) .
k =1
5. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 252) Seja x[n] um sinal real e
ímpar com período N = 7 e coeficientes de Fourier a k . Dado que
a15 = j , a16 = 2 j , a17 = 3 j ,
determine os valores de a 0 , a −1 , a −2 e a −3 .
5
Processamento Digital de Sinais – Aula 13T – Professor Marcio Eisencraft – julho 2006
Aula 13T – Filtros de tempo discreto
Bibliografia
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 231-239.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417.Páginas 260-268.
3.5.
Filtros de tempo discreto
ƒ Em uma variedade de aplicações, é de interesse mudar as amplitudes relativas das componentes em freqüência de um sinal ou talvez eliminar algumas
componentes em freqüência inteiramente, processo conhecido como filtragem.
ƒ Sistemas LIT que mudam a forma do espectro são freqüentemente chamados
de filtros modeladores em freqüência.
ƒ Sistemas que são projetados para passar algumas freqüências essencialmente
não distorcidas e atenuar significativamente ou eliminar outras são conhecidos como filtros seletivos em freqüência.
ƒ Como vimos na aula passada, os coeficientes da série de Fourier da saída de
um sistema LIT são os da entrada multiplicados pela resposta em freqüência
do sistema.
y[n] =
∑
k = N0
⎛ j N2π k ⎞ jk ⎛⎜⎜ N2π ⎞⎟⎟ n
ak H ⎜ e 0 ⎟ e ⎝ 0 ⎠
.
⎜
⎟
⎝
⎠
ƒ Conseqüentemente, a filtragem pode ser convenientemente conseguida através do uso de sistemas LIT com uma resposta em freqüência convenientemente escolhida e métodos no domínio da freqüência provêem as ferramentas
ideais para estudar esta importante classe de aplicações.
ƒ Nesta aula e na próxima, daremos uma primeira olhada neste assunto através
de alguns exemplos.
1
Processamento Digital de Sinais – Aula 13T – Professor Marcio Eisencraft – julho 2006
3.5.1. Filtros modeladores em freqüência
ƒ Uma aplicação em que filtros modeladores de freqüência são freqüentemente
encontrados é sistemas de áudio.
ƒ Por exemplo, filtros LIT são tipicamente incluídos em tais sistemas para
permitir que o ouvinte mude a energia relativa em baixas freqüências (graves) e altas freqüências (agudos).
ƒ Estes filtros correspondem a sistemas LIT cujas respostas em freqüência podem ser mudadas manipulando controles de tons.
ƒ Também em sistemas de áudio de alta-fidelidade, um filtro muito conhecido
como equalizador é freqüentemente incluído para pré-amplificar e compensar
as características de resposta em freqüência dos alto-falantes.
ƒ De forma geral, estes estágios de filtragem cascateados são freqüentemente
chamados de circuito de equalização do sistema de áudio.
ƒ A Figura 1 a seguir mostra os três estágios de um circuito equalizador para
um conjunto particular de alto-falantes.
ƒ Filtros LIT de tempo discreto encontram um grande conjunto de aplicações.
ƒ Muitas destas envolvem o uso de sistemas de tempo discreto, implementados
usando processadores digitais de propósito gerais ou específicos para processar sinais de tempo contínuo, um assunto que será discutido em disciplinas
futuras.
ƒ Além disso, a análise de informações de séries temporais, incluindo dados
demográficos e seqüências de dados econômicos como médias de mercado
de ações envolvem o uso de filtros de tempo discreto.
ƒ Freqüentemente as variações de longo prazo (que correspondem a freqüências mais baixas) têm um significado diferente das variações de curto prazo
(que correspondem às altas freqüências) e é útil estudar estas componentes
separadamente.
ƒ Rearranjando os pesos relativos destas componentes é tipicamente feito utilizando-se filtros de tempo discreto.
2
Processamento Digital de Sinais – Aula 13T – Professor Marcio Eisencraft – julho 2006
Figura 1 – Magnitudes das respostas em freqüência de circuitos equalizadores para uma série
particular de alto-falantes, mostrado numa escala de 20 log H que é conhecida como escala
decibel (dB). (a) Filtro de baixas-freqüências controlado por uma chave de duas posições; (b)
limites de freqüência superiores e inferiores de um filtro de freqüência continuamente ajustável; (c) resposta em freqüência fixa do estágio de equalização (OPPENHEIM; WILLSKY;
NAWAB, 1997).
3
Processamento Digital de Sinais – Aula 13T – Professor Marcio Eisencraft – julho 2006
3.5.2. Filtros seletivos em freqüência
ƒ Filtros seletivos em freqüência é uma classe de filtros especificamente projetada para selecionar aproximadamente algumas faixas de freqüências e rejeitar outras.
ƒ Por exemplo, se ruído numa gravação de áudio está numa faixa de freqüências mais alta do que música ou voz ele pode ser removido usando filtros seletivos em freqüência.
ƒ Uma outra importante aplicação de filtros seletivos em freqüência são os sistemas de comunicações. Como será discutido em disciplinas futuras, a base
da modulação em amplitude (AM) é a transmissão de informação de muitas
fontes diferentes simultaneamente pondo a informação de cada canal em uma
banda de freqüências diferente e extraindo os canais individuais no receptor
usando filtros seletivos em freqüência.
ƒ Filtros seletivos em freqüência para separar os canais individuais e filtros
modeladores em freqüência (como o equalizador da Figura 1) para ajustar a
qualidade do som formam a maior parte de qualquer receptor de rádio ou televisão doméstico.
ƒ A figura a seguir mostra os tipos de filtros seletivos em freqüência de tempo
discreto.
Figura 2 – Filtros seletivos em freqüência de tempo discreto ideais: (a) passabaixas; (b) passa-altas; (c) passa-bandas.
4
Processamento Digital de Sinais – Aula 13T – Professor Marcio Eisencraft – julho 2006
Exercícios
1. Considere o seguinte sistema média móvel já analisado em aulas anteriores:
y[n ] =
1
(x[n] + x[n − 1]) .
2
Para este sistema, pede-se:
(a) a resposta impulsiva h[n] ;
(b) a função de sistema H (z ) ;
(c) a resposta em freqüência H (e jΩ )
(d) faça um gráfico do módulo e da fase de H (e jΩ ) para − π ≤ Ω ≤ π .
(e) este filtro é passa-altas ou passa-baixas?
2. Considere um sistema LIT com resposta impulsiva
⎧1,
⎪
h[n] = ⎨− 1,
⎪0
⎩
0≤n≤2
− 2 ≤ n ≤ −1
caso contrario
Dado que a entrada do sistema é
x[n ] =
∞
∑ δ [n − 4k ] ,
k = −∞
determine os coeficientes da série de Fourier da saída y[n] .
5
Processamento Digital de Sinais – Aula 14T – Professor Marcio Eisencraft – abril 2007
Aula 14T – Exemplos de filtros de tempo discreto
Bibliografia
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 244-249.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 260-268.
3.6.
Exemplos de filtros de tempo discreto descritos por equações de diferen-
ças
ƒ Filtros descritos por equações de diferenças são muito usados na prática porque podem ser eficientemente implementados em sistemas digitais de propósito geral ou específico.
ƒ Sistemas LIT de tempo discreto descritos por equações de diferenças podem
ser recursivos e ter resposta impulsiva infinita (sistemas IIR) ou ser não recursivo e ter resposta impulsiva finita (sistemas FIR).
ƒ Estas duas classes têm conjuntos diferentes de vantagens e desvantagens em
termos de facilidade de implementação e em termos de ordem do filtro ou a
complexidade requerida para atingir os objetivos desejados.
ƒ Nesta aula nos limitaremos a alguns exemplos simples de filtros recursivos e
não recursivos, deixando a análise e compreensão mais detalhada destes sistemas para cursos posteriores.
3.6.1. Filtros de tempo discreto recursivos de primeira ordem
ƒ Filtros descritos por:
y[n] − ay[n − 1] = x[n] .
Exercício
1. Para o sistema acima, pede-se:
(a) a resposta em freqüência H (e jΩ ).
(b) a resposta impulsiva;
(c) a resposta ao degrau;
(d) o intervalo de valores para a para o qual o sistema é estável.
1
Processamento Digital de Sinais – Aula 14T – Professor Marcio Eisencraft – abril 2007
(e) Usando o Matlab, esboce o módulo e a fase da resposta em freqüência para
a = 0,6 e a = −0,6 .
3.6.2. Filtros de tempo discreto recursivos de primeira ordem
ƒ A forma geral de uma equação de diferenças não recursiva FIR é
M
y[n ] =
∑ b x[n − k ] .
k =− N
k
ƒ Isto é, a saída y[n] é uma média ponderada dos (N + M + 1) valores de x[n] de
x[n − N ] até x[n + M ] com os pesos dados pelos coeficientes bk .
ƒ Sistemas com esta forma podem ser usados para cumprir um grande número
de objetivos de filtragem, incluindo filtragem seletiva em freqüência.
ƒ Um exemplo freqüentemente usado deste tipo de filtro é o filtro média móvel
em que a saída y[n] para qualquer n - por exemplo, n0 - é a média dos valores de x[n] nas vizinhanças de n0 .
ƒ A idéia básica é que tomando a média dos valores localmente, componentes
de alta freqüência (rápidas) da entrada serão amenizadas e as variações de alta freqüência permanecerão. Assim, este filtro corresponde a uma suavização
ou filtragem passa-baixas da seqüência original. Um exemplo simples com
dois pontos foi visto na aula passada.
ƒ Um exemplo um pouco mais complexo é o filtro média móvel com três pontos que tem a seguinte relação entrada-saída:
y[n ] =
1
(x[n − 1] + x[n] + x[n + 1]) .
3
Exercício
2. Para o sistema acima, pede-se:
(a) a resposta impulsiva;
(b) a resposta em freqüência;
(c) Esboce H (e jΩ ) no intervalo − 2π ≤ Ω ≤ 2π .
2
Processamento Digital de Sinais – Aula 14T – Professor Marcio Eisencraft – abril 2007
3. (OPPENHEIM; WILLSKY; NAWAB, p. 261) Considere um sistema LIT de
tempo discreto S cuja resposta em freqüência é:
( )
H e jΩ
π
⎧
⎪⎪1, Ω ≤ 8
=⎨
⎪0, π < Ω < π
⎪⎩ 8
Mostre que se a entrada x[n] para este sistema tiver período N = 3 , a saída y[n]
só tem um coeficiente da série de Fourier não nulo por período.
4. (OPPENHEIM; WILLSKY; NAWAB, p. 260) Considere um sistema LIT de
tempo discreto e causal cuja entrada x[n] e a saída y[n] são relacionadas pela
seguinte equação de diferenças:
y[n] −
1
y[n − 1] = x[n]
4
Encontre a representação por séries de Fourier da saída y[n] para cada uma das
seguintes entradas:
3π ⎞
n⎟
⎝ 4 ⎠
(a) x[n ] = sin ⎛⎜
π
π
(b) x[n] = cos⎛⎜ n ⎞⎟ + 2 cos⎛⎜ n ⎞⎟
⎝4 ⎠
⎝2 ⎠
3
Processamento Digital de Sinais – Aula 15T – Professor Marcio Eisencraft – novembro 2007
Aula 15T – A Transformada de Fourier de tempo discreto (TFTD)
Propriedades e resposta no domínio da freqüência de sistemas LIT
Bibliografia
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 188-196.
ƒ
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. (Prentice-Hall signal processing series) ISBN
0138147574. Páginas 358-367.
3. 7
A Transformada de Fourier de tempo discreto (TFTD)
• A transformada de Fourier de tempo discreto (TFTD ou DTFT)
H (e j Ω )
de um
sinal de tempo discreto h[n] é definida por
H (e
jΩ
∞
)= ∑
h [ n ]e − jΩn
n =−∞
• Como já vimos na aula passada,
H (e j Ω )
(1)
representa um sinal periódico com
período 2π .
• A transformada inversa de Fourier é definida por
π
1
h [n ] =
H (e jΩ )e jΩnd Ω
∫
2π
−π
(2)
• O par (1) e (2) pode ser aplicado a seqüências quaisquer, desde que:
∞
∑ h[n] < ∞
n = −∞
• O par (1) e (2) é conhecido por par DTFT em que (1) é a análise e (2) é a síntese.
Exercícios
1. (HAYKIN; VEEN, 2001, p. 191) Encontre a TFTD da seqüência x[n] = α n u[n]
com α real e sendo α < 1 .
2. (HAYKIN; VEEN, 2001, p. 194) Encontre a TFTD inversa de:
1
Processamento Digital de Sinais – Aula 15T – Professor Marcio Eisencraft – novembro 2007
⎧
⎪1, Ω ≤ W
H (e j Ω ) = ⎪
⎨
⎪
0, W < Ω <π
⎪
⎩
3. (HAYKIN ; VEEN, 2001, p. 195) Encontre a TFTD de x[n] = δ [n] .
4. (HAYKIN; VEEN, 2001, p. 195) Encontre a TFTD inversa de
X (e j Ω ) = δ ( Ω ) ,
−π < Ω < π .
5. Encontre a TFTD inversa de
Resposta:
X (e j Ω ) = 2 cos ( 2Ω ) .
⎧1, n = ±2
.
x[n] = ⎨
⎩0, caso contrário
⎧2 n ,
0≤n≤9
⎩0,
caso contrário
6. Encontre a TFTD de x[n] = ⎨
1 − 210 e − j 10Ω
1 − 2e − jΩ
Resposta:
X (e j Ω ) =
3.8
Propriedades da TFTD
.
.
• Uma propriedade muito importante da TFTD é a que transforma convolução
no domínio do tempo em multiplicação no domínio da freqüência. Ou seja, se
c[n] = a[n] ∗ b[n] , então C (e jΩ ) = A (e jΩ ) B (e jΩ ) .
• Isto pode ser escrito como
TFTD
a [ n ] ∗ b [ n ] ←⎯⎯⎯
→ A (e j Ω ) B (e j Ω )
• Já vimos que a resposta de um sistema LIT à entrada x[n] é dada por
y[n ] = x[n] ∗ h[n] , sendo h[n] a resposta impulsiva deste sistema.
• Já vimos também que
H (e j Ω ) = TFTD { h [ n ] }
é a chamada resposta em freqüên-
cia do sistema. Desta forma, usando a propriedade vista, pode-se escrever:
Y (e j Ω ) = X (e j Ω ) H (e j Ω ) .
2
Processamento Digital de Sinais – Aula 15T – Professor Marcio Eisencraft – novembro 2007
• Este importante resultado é resumido na figura a seguir.
Figura 1 – A TFTD e os sistemas LIT (NABARRETE).
3
Universidade Presbiteriana Mackenzie
Curso de Engenharia Elétrica
Processamento Digital de Sinais
PRÁTICA
Prof. Marcio Eisencraft
Segundo semestre de 2007
Processamento Digital de Sinais – Aula 1P – Professor Marcio Eisencraft – agosto 2007
Aula 1P -
Apresentação do curso
Exemplos de Aplicação de PDS
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 21-33.
GIROD, Bernd; RABENSTEIN, Rudolf; STENGER, Alexander. Sinais e sistemas. Porto Alegre: LTC Livros Técnicos e Científicos, c2003. 340 p. ISBN 8521613644. Páginas 1-3.
1. Sinais e processamento de sinais
1.1.
Sinais
Ö Um sinal é uma função, geralmente do tempo, que carrega algum tipo de informação.
Ö Exemplos de sinais:
(a) Sinal triangular
(b) Sinal senoidal
(c) Variação da temperatura de uma sala durante um dia
1
Processamento Digital de Sinais – Aula 1P – Professor Marcio Eisencraft – agosto 2007
(d) Sinal de voz
(e) Cotação do dólar a cada meia hora durante um dia
(f) Número de e-mails que chegaram à sua caixa de entrada verificada a cada meia hora.
2
Processamento Digital de Sinais – Aula 1P – Professor Marcio Eisencraft – agosto 2007
(g) Sinal binário
1.2.
Classificação de sinais
Como vimos nos exemplos anteriores, os sinais podem assumir as mais diversas for-
mas. A seguir, veremos duas formas muito importantes de se classificar sinais.
1.2.1. Sinais de tempo contínuo e de tempo discreto
Sinais de tempo contínuo – são sinais que estão definidos em todos os pontos de um intervalo
real. O sinal
s
é representado matematicamente como
s(t ), t ∈ R . Exemplos: variação da
temperatura em um dia; sinal de voz.
Sinais de tempo discreto – são sinais que estão definidos apenas em instantes isolados de tempo. Geralmente, estes sinais só têm valores definidos para instantes de tempo inteiros. O sinal
x
é representado matematicamente por
x[n], n ∈ Z . Exemplos: valor do índice BOVES-
PA a cada uma hora.
ƒ
Neste curso nos ocuparemos principalmente dos sinais de tempo discreto.
1.2.2. Sinais analógicos e digitais
Sinais analógicos – um sinal é chamado de analógico quando pode assumir qualquer valor em
um intervalo. Exemplo: potência fornecida por uma usina no decorrer de um dia.
Sinais digitais – um sinal é chamado de digital quando só pode assumir um número finito de
valores diferentes. Exemplo: sinal binário.
3
Processamento Digital de Sinais – Aula 1P – Professor Marcio Eisencraft – agosto 2007
Exercício
1. Classifique todos os sinais mostrados nas figuras anteriores em sinais de tempo discreto
ou tempo contínuo; analógicos ou digitais.
1.3.
Processamento de sinais
• Já dissemos que um sinal é uma função que carrega algum tipo de informação. Geralmente,
é interessante conseguir extrair esta informação do sinal. É isto o que nossos ouvidos fazem, por exemplo, ao reconhecer uma música ou voz ou o que nossos olhos fazem na observação de um quadro.
• Esta extração de informações é chamada de processamento de sinais.
• Em nosso curso enfocaremos algumas técnicas básicas envolvidas no processamento de
sinais de tempo discreto uma das áreas da engenharia que mais tem se desenvolvido nas últimas décadas.
• Sem essas técnicas não existiriam muito do que se conhece hoje em áreas como:
o
Multimídia (DVD, CD-ROM, transmissão de áudio e vídeo de alta resolução);
o
Biomedicina (ultra-sonografia, eletrocardiogramas);
http://www.ecglibrary.com/
o Sensoriamento remoto;
http://www.ltid.inpe.br
4
Processamento Digital de Sinais – Aula 1P – Professor Marcio Eisencraft – agosto 2007
o Telecomunicações móveis (CDMA, TDMA);
o Projeto de controle de motores de precisão para indústrias
o Controle de terremotos
http://www.iris.washington.edu
Exercícios
2. Classifique os seguintes sinais em:
• Tempo discreto ou tempo contínuo
• Analógico ou digital
5
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
Aula 2P -
Comandos básicos do Matlab aplicados a PDS
Bibliografia
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 71-76.
ƒ
MITRA, Sanjit K. Digital signal processing: a computer-based approach. 2nd ed. Boston: McGraw-Hill,
c2001. 866 p. : il. ; 24 cm ISBN 0072321059. Páginas 70-76.
1.
Introdução
O Matlab é uma ferramenta muito útil no estudo de problemas e no desenvolvimento
de projetos em Engenharia sendo utilizado em universidades e empresas ao redor do mundo.
Na área de Engenharia Elétrica e, mais precisamente, em Processamento de Sinais
vem adquirindo um caráter quase fundamental.
O principal motivo deste sucesso é a utilização maciça de vetores e matrizes para representar dados de uma forma simples (Matlab = Matrix Laboratory). Esta forma de representação praticamente elimina a necessidade de utilização de laços FOR ou WHILE simplificando e acelerando muito os programas. EM OUTRAS PALAVRAS, EM MATLAB, SEMPRE QUE POSSÍVEL (OU SEJA, QUASE SEMPRE!) NÃO UTILIZE LAÇOS FOR OU
WHILE!
O objetivo desta aula é (re) ver alguns conceitos básicos de programação em Matlab.
Durante o curso veremos muitos outros detalhes técnicos.
Lembre-se: sempre que você ficar na dúvida sobre a utilização de um comando, a função <help comando> pode lhe ajudar.
2.
Gerando vetores
2.1.
O operador :
O operador : é utilizado para gerar e acessar elementos de um vetor.
Vetor = valor inicial: passo: valor final
Quando o passo é unitário, ele pode ser omitido.
• Exemplos de utilização
A. gerar um vetor x com os números inteiros de zero a cinco
>> x = 0:5
x =
0
1
2
3
4
5
b. gerar um vetor y indo de 0 a 1 com passo de 0.1.
1
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
>> y = 0:0.1:1
y =
0
0.1000
0.6000 0.7000
0.2000
0.8000
0.3000
0.9000
0.4000
0.5000
1.0000
c. mostrar o segundo elemento do vetor x
>> x(2)
ans =
1
Exercício
1. Gerar um vetor x de números pares de 0 a 50.
Comandos:
2.2. A função linspace
A função linspace é uma forma prática de se gerar vetores quando sabemos quantos pontos ele deve ter.
Vetor = linspace (valor inicial, valor final, no. de pontos)
• Exemplos de utilização
A. Gere um vetor de 1000 pontos com valores entre zero e 1 igualmente espaçados.
>> v = linspace(0,1,1000);
b. Repita o exercício anterior, mas com os valores em ordem decrescente.
>> v = linspace(1,0,1000);
Exercício
2. Gere um vetor x de 5000 pontos com valores entre 0 e 2*pi.
Comandos:
2.3.
Vetores especiais
Existem vetores pré-definidos pelo Matlab e que são muito úteis. Dois deles são o o-
nes(num.linhas, num.colunas) e o zeros(num.linhas, num. Colunas)
que geram, como os nomes dizem, vetores constituídos de uns e de zeros respectivamente.
• Exemplos de aplicação
A. Gere um vetor constituído de 10 zeros.
2
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
>> x = zeros(1,10)
x =
0
0
0
0
0
0
0
0
0
0
b. Gere um vetor constituído por 5000 uns.
>> y = ones(1,5000);
Exercício
3. Gere uma matriz 2x2 constituída por zeros.
Comandos:
2.4.
Concatenação de vetores
Uma ferramenta muito interessante do Matlab é a possibilidade de combinar vetores
para formar outros (concatenar vetores). Veja os seguintes exemplos.
• Exemplos de aplicação:
A. Gere um vetor de cinco zeros seguidos por cinco uns.
>> vector = [zeros(1,5) ones(1,5)]
vector =
0
0
0
0
0
1
1
1
1
1
B. Gere um vetor contendo os números inteiros entre zero e 10 em ordem crescente seguidos
pelos mesmos em ordem decrescente.
>> x = [0:10 10:-1:0]
x =
0
1
2
10
9
8
3
7
4
6
5
5
6
4
7
3
8
2
9
1
10
0
Exercício
4. Construa um vetor constituído pelos números pares de 0 a 10 seguido pelos números ímpares de 0 a 10.
Comandos:
3
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
2.5.
Operações entre vetores
O Matlab permite somar (+), subtrair (-), multiplicar (.*) , dividir (./) vetores. Essas
operações são realizadas elemento a elemento e só podem ser aplicadas entre vetores de mesmo comprimento.
Além disso, quase todas as suas funções (trigonométricas, exponenciais e outras) podem ser aplicadas a um vetor sendo que elas operam também elemento a elemento.
• Exemplos de aplicação
a. Sendo x = [2 3 7] e y = [0 -1 3] escreva a resposta de cada um desses comandos executados no Matlab.
I) x + y [2 2 10]
ii) x – y [2 4 4]
iii) x.*y
[0 -3 21]
b. Como gerar a partir do vetor x = 0:0.001:1 um vetor com números de 1 a 11?
V = 10*x+1
Exercício
5. Sendo x = [2.1 -2 3] e y = [0 -1 3], escreva o vetor resultante das seguintes
operações:
i) x+y
ii) x-y
v) x./y
iii) 3*x
vi) y.^2
iv) x.*y
vii) x.^y
Respostas:
3.
Gráficos
Uma outra característica muito interessante do Matlab para um engenheiro é a facili-
dade de se construir gráficos complicados com ele de uma maneira muito simples. Os dois
comandos mais utilizados são:
4
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
plot(vetor.abscissa, vetor.ordenada, ‘modo’);
stem(vetor.abscissa, vetor.ordenada);
O comando plot traça um gráfico colocando seu primeiro argumento no eixo horizontal e seu segundo argumento no eixo vertical. A “string” ‘modo’ indica a forma como o
gráfico será traçado. Veja help plot para mais detalhes.
Stem traça um gráfico da seqüência em seu segundo argumento como palitos com
círculos no valor dos dados usando seu primeiro argumento como abscissa. Veja os exemplos.
• Exemplos de aplicação
a. Faça um gráfico da função y = sin(x) para x ∈ [0,4π ]
>> x = linspace(0,4*pi,5000);
>> y = sin(x);
>> plot(x,y)
b. Faça um gráfico da função y = x 2 para x ∈ Z ,−5 ≤ x ≤ 5 .
>> x = -5:5;
>> y = x.^2;
>> stem(x,y)
5
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
Alguns comandos interessantes:
I) grid – coloca linhas de grade no gráfico
ii) title – permite acrescentar um título ao gráfico
iii) xlabel - permite acrescentar um título no eixo das abscissas
iv) ylabel - permite acrescentar um título no eixo das ordenadas
v) hold on – não apaga o gráfico atual antes de fazer o seguinte
Exercícios
(
6. Faça um gráfico de y [ n ] = sin
π
n
12
)
2
(
e z [ n ] = cos
π
n
12
)
2
para −30 ≤ n ≤ 30 na
mesma figura. O gráfico de y [ n ] deverá ficar em azul e o de z [ n ] em vermelho.
Comandos:
4.
ƒ
Scripts
Até este ponto, todas as nossas interações com o Matlab têm sido através da linha de comando. Entramos comandos ou funções na linha de comando e o Matlab interpreta nossa
entrada e toma a ação apropriada. Este é o modo de operação preferencial quando nossa
sessão de trabalho é curta e não repetitiva.
ƒ
No entanto, o real poder do Matlab para análise e projeto de sistemas vêm da sua habilidade de executar uma longa seqüência de comandos armazenados num arquivo. Estes arquivos são chamados de arquivos-M porque seus nomes têm a forma nomearq.m.
ƒ
Um script é um tipo de arquivo-M. Scripts são arquivos-textos comuns e podem ser criados usando um editor de texto.
ƒ
Um script é uma seqüência de comandos e funções comuns usados na linha de comando.
Um script é invocado na linha de comando digitando-se o nome do arquivo. Scripts podem invocar outros scripts. Quando um script é invocado, o Matlab executa os comandos
e funções no arquivo como se eles tivessem sido digitados diretamente na linha de comando.
6
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
ƒ
O script opera sobre as variáveis do espaço de trabalho.
ƒ
Suponha por exemplo que desejemos fazer um gráfico da função y (t ) = sin αt em que α
é uma variável que queremos variar.
ƒ
Usando o editor de texto do Matlab (basta ditar edit na linha de comando), podemos
escrever um script chamado plotdata.m como mostrado a seguir.
% Este e um script para fazer um grafico da funcao y = sin(alfa*t)
% O valor de alfa precisa existir no espaco de trabalho antes
% de se chamar este script
t = 0:0.01:1;
y = sin(alfa*t);
plot(t,y);
xlabel ('tempo(s)');
ylabel('y(t) = sin(\alpha t)');
grid on;
ƒ
É importante salvar o scritpt no mesmo diretório em que se está trabalhando na linha de
comando. Caso contrário, ao tentar executar o script o Matlab não encontrará o arquivo e
exibirá uma mensagem de erro. Este erro é muito comum quando estamos começando a
trabalhar com scripts.
ƒ
Uma vez digitado e salvo é muito fácil utilizar o script. Veja os exemplos a seguir:
>> alfa = 50;
>> plotdata
>> alfa = 10;
>> plotdata
7
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
ƒ
Ao escrever scripts é sempre interessante utilizar comentários, linhas que começam com
%. Se você escrever linhas de comentário antes do começo das instruções do script Ao
utilizar o comando help nomearq o Matlab apresenta estas linhas na tela. Por exemplo,
>> help plotdata
Este e um script para fazer um grafico da funcao y = sin(alfa*t)
O valor de alfa precisa existir no espaco de trabalho antes
de se chamar este script
5.
ƒ
Funções
Assim como os scripts, as funções definidas pelo usuário estão entre os recursos mais importantes e utilizados do Matlab. Uma função é um script que recebe um ou mais parâmetros do teclado e pode devolver um ou mais parâmetros ou executar uma tarefa.
ƒ
O formato de uma função no Matlab é o seguinte
function [outarg1, outarg2,...] = fname(inarg1, inarg2,...)
% Um comentário
% Mais um comentário
....
(código executável)
....
ƒ
fname é o nome da função criada e deve ser o nome do arquivo m em que foi gravado o
arquivo. inarg1, inarg2,... são os argumentos de entrada e outarg1, outarg2,... são os argumentos de saída.
ƒ
A seguir damos um exemplo bastante simples de função. A função somateste recebe
dois argumentos a, b e retorna a soma deles.
function res = somateste(a,b);
%Funcao para somar dois numeros a e b
res = a+b;
ƒ
Uma vez que você tenha salvado este arquivo como somateste no diretório corrente,
você pode usá-lo como nos exemplos a seguir:
>> somateste(2, 4)
ans =
6
>> a = 5;
>> b = -3;
>> res = somateste(a,b)
8
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
res =
2
Exercícios
7. (a) Digite o script plotdata da página 7 e gere os gráficos dos exemplos subseqüentes.
(b) Reescreva o script plotdata visto acima de forma que ele seja uma função que recebe a variável alfa. Ou seja, escreva uma função que faça um gráfico da função
y (t ) = sin αt no intervalo 0 ≤ t ≤ 1 e α é um parâmetro escolhido pelo usuário. Por e-
xemplo, o comando:
>> plotdada(50)
deve gerar o gráfico
Resposta (listagem):
8. Gere um vetor de 100 valores aleatórios com distribuição uniforme no intervalo [0,1] .
Dica: use a função rand (não sabe como usar? Para que serve o help?).
Comandos:
9. (1022) Escreva uma seqüência de comandos do Matlab que forneça um vetor contendo
100 valores aleatórios uniformemente distribuídos no intervalo -1 a 1 e que faça um gráfico deste sinal.
Comandos:
9
Processamento Digital de Sinais – Aula 2P – Professor Marcio Eisencraft –agosto 2007
10. (1031) Escreva uma seqüência de comandos Matlab que gere um gráfico do sinal
⎛π ⎞
x[n] = cos⎜ n ⎟ + 0,2r [n] onde r [n ] é um vetor de números aleatórios com distribuição
⎝8 ⎠
uniforme entre -1 e 1. Faça 0 ≤ n ≤ 99 . (Dica: use o comando rand).
Comandos:
11. (1032) Escreva uma função Matlab chamada pulso2graf cujas entradas sejam dois
números inteiros a e b com a < b . A função deverá fazer o gráfico de um pulso com
amplitude 2 no intervalo a ≤ n ≤ b . O gráfico deve começar em a − 2 e terminar em
b+2.
Por exemplo, ao digitarmos:
>> pulso2graf(2,8);
devemos obter a figura
Listagem da função:
10
Processamento Digital de Sinais – Aula 3P – Professores Marcio Eisencraft – agosto 2007
Aula 3P -
Geração de seqüências no Matlab
Bibliografia
ƒ
MITRA, Sanjit K. Digital signal processing: a computer-based approach. 2nd ed. Boston: McGraw-Hill,
c2001. 866 p. : il. ; 24 cm ISBN 0072321059. Páginas 6-11.
Ö
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Páginas 7-20.
1.
Introdução
• Foi visto nas aulas teóricas que os objetos sobre os quais trabalhamos na área de Processamento Digital de Sinais são os sinais de tempo discreto. Estes sinais podem ser vistos
como uma simples seqüência de números.
• Na Aula 2P, por outro lado, foi visto que um dos principais recursos do Matlab é trabalhar
de forma muito simples e intuitiva com seqüências (ou vetores).
• Na aula de hoje, são estudados alguns exemplos de como gerar seqüências (especialmente
as seqüências básicas vistas na Aula 3T) usando o Matlab. Em outras aulas de prática será
explorado o que se pode fazer com essas seqüências no Matlab.
2.
Gerando sinais no Matlab
• Como já foi visto, o Matlab é uma ótima ferramenta para representar sinais de tempo contínuo e discreto.
• Quando se está interessado em gerar sinais de tempo contínuo, usa-se como abscissa vetores com espaçamento entre amostras bem pequeno, simulando um intervalo de tempo contínuo. Por exemplo, t=0:0.001:1.
• Quando se está interessado em gerar sinais de tempo discreto, usa-se como abscissa vetores
com espaçamento unitário entre amostras. Por exemplo, n=0:100.
2.1.
Funções degrau e impulso
• Foi visto na Aula 2P que para gerar uma seqüência de M uns no Matlab, usa-se o comando
ones(1,M) e para gerar uma seqüência de M zeros, usamos o comando zeros(1,M).
Podem-se usar esses dois comandos para gerar os sinais impulso e degrau.
• Por exemplo, para gerar um sinal degrau estendendo-se de n=-50 a n = 49 usamos a
seqüência de comandos:
>> n = -50:49;
>> u = [zeros(1,50) ones(1,50)];
>> stem(n,u);
1
Processamento Digital de Sinais – Aula 3P – Professores Marcio Eisencraft – agosto 2007
• Para gerar um impulso de tempo discreto de amplitude unitária utiliza-se:
>> delta = [zeros(1,50) 1 zeros(1,49)];
>> stem(n,delta);
•
Sinais degrau deslocados no tempo podem ser utilizados para descrever pulsos retangulares. Por exemplo, a seguinte seqüência de comandos gera um pulso retangular centralizado
na origem.
>> n = -50:50;
>> u1 = [zeros(1,40) ones(1,61)];
>> u2 = [zeros(1,61) ones(1,40)];
>> pulso = u1-u2;
>> subplot(3,1,1); stem(n,u1);
>> subplot(3,1,2); stem(n,u2);
>> subplot(3,1,3); stem(n,pulso);
2
Processamento Digital de Sinais – Aula 3P – Professores Marcio Eisencraft – agosto 2007
• Você entendeu o que o comando subplot faz? Se não, use o help.
Exercício
1. Um pulso retangular x[n] é definido por
0 ≤ n ≤ 10
caso contrário
⎧8,
x[n] = ⎨
⎩0,
Faça um gráfico deste pulso no Matlab no intervalo − 20 ≤ n ≤ 20 .
RESOLUÇÃO (comandos Matlab utilizados):
2. (INGLE; PROAKIS, 2000, p.13) (1041) Escreva comandos Matlab para gerar gráficos de
cada um dos seguintes sinais nos intervalos indicados:
(a) x[n] = 2δ [n + 2] − δ [n − 4] , − 5 ≤ n ≤ 5 .
(b) x[n] = n(u[n] − u[n − 10]) + 10e −0,3(n −10 ) (u[n − 10] − u[n − 20]) , 0 ≤ n ≤ 20 .
RESOLUÇÃO (comandos Matlab utilizados):
3
Processamento Digital de Sinais – Aula 3P – Professores Marcio Eisencraft – agosto 2007
2.2.
Sinais exponenciais
• Vejamos alguns exemplos de geração de sinais exponenciais usando o Matlab.
• Para fazer um gráfico do sinal x[n ] = (0,85) basta executarmos os seguintes comandos:
n
>> n = -20:20;
>> x = (0.85).^n;
>> stem(n,x);
• Repare na segunda linha a utilização do .^ já que n trata-se de um vetor.
Exercício
3. Faça uma rotina (arquivo .m) chamado expgraf em Matlab cuja entrada seja um número real a. Este programa deverá fazer o gráfico de x[n] = a n , para 0 ≤ n ≤ 10 . Por exemplo, ao digitarmos:
>> expgraf(0.5);
deveremos obter o gráfico
RESOLUÇÃO:
4
Processamento Digital de Sinais – Aula 3P – Professores Marcio Eisencraft – agosto 2007
2.3.
•
Sinais senoidais
As funções sin e cos podem ser usadas para criar sinais senoidais de tempo discreto.
⎛π ⎞
Por exemplo, para gerar o sinal x[n] = 2 cos⎜ n ⎟ , usamos a seqüência de comandos:
⎝6 ⎠
>> n = -20:20;
>> Omega = pi/6;
>> x = 2*cos(Omega*n);
>> stem(n,x);
•
Lembrando do que Foi visto na Aula 3T, um sinal senoidal de tempo discreto
x[n] = A sin(Ωn + φ ) é periódico de período fundamental N se existir um N inteiro positivo tal que Ω =
2πm
, com m inteiro. Aplicando esta condição ao exemplo anterior, veN
mos que ele é periódico de período N = 12 o que é confirmado pelo gráfico acima.
Exercícios
4. Faça em uma mesma figura (use subplot) os gráficos dos sinais x[n] = cos(0,75πn ) e
y[n] = cos(1,25πn ) . Compare os gráficos obtidos. O gráfico deve conter dois períodos dos
sinais.
RESOLUÇÃO (comandos Matlab utilizados e comentários):
5
Processamento Digital de Sinais – Aula 3P – Professores Marcio Eisencraft – agosto 2007
5. Faça uma rotina (arquivo .m) cosgraf em Matlab cuja entrada seja os números reais A
⎢ 6π ⎥
e Ω . Este programa deverá fazer o gráfico de x[n] = A cos(Ωn ) , para 0 ≤ n ≤ ⎢ ⎥ . Por
⎣Ω⎦
exemplo, ao se digitar:
>> cosgraf(1,pi/6);
deve-se obter o gráfico
RESOLUÇÃO (comandos Matlab utilizados e comentários):
6. A função a seguir calcula a soma das amostras de um sinal x[n].
%Programa para calcular a soma das amostras de um sinal
function s = soma(x),
s = sum(x);
Implemente este programa no Matlab e teste-o para os seguintes sinais:
(a) x = ones(1,30);
(b) x = 2*ones(1,30);
RESPOSTAS:
7. Modifique o programa do exercício anterior para que ele calcule a energia de um sinal
x[n].
RESPOSTAS (Programa e resultados)
6
Processamento Digital de Sinais – Aula 4P – Professor Marcio Eisencraft - agosto 2007
Aula 4P -
Exemplos de sistemas no Matlab
Bibliografia
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 61-70.
ƒ
MATSUMOTO, Élia Yathie. Simulink 5. São Paulo: Érica, 2003. 204 p.: il. ; 25 cm ISBN 8571949379.
¾ O objetivo desta aula é reforçar o conteúdo visto na Aula 4T, ou seja, sistemas (ou filtros)
de tempo discreto e sua classificação. Além disso, veremos uma maneira de implementar
estes filtros no Matlab usando o pacote simulink. Em aulas futuras, veremos formas
mais eficientes de implementações de filtros digitais no Matlab.
¾ Através dos exemplos, ilustraremos um conceito muito importante em PDS: filtros FIR
(resposta impulsiva finita) e IIR (resposta impulsiva infinita). Um filtro é dito FIR se sua
resposta ao impulso unitário tem um número finito de amostras não nulas. Um filtro é dito
IIR se sua resposta ao impulso unitário possui um número infinito de amostras.
Exercícios
1. (Um multiplicador) Dado o filtro a seguir:
y[n] = 4 x[n] , pede-se:
(a) Calcule as 5 primeiras amostras para n ≥ 0 da resposta impulsiva deste filtro, ou seja, para
x[n] = δ [n] .
(b) Desenhe um diagrama de blocos que represente este filtro;
(c) implemente este filtro como um diagrama de blocos no simulink;
(d) Rode o filtro no Matlab usando como entrada um impulso x[n] = δ [n] . Faça 0 ≤ n ≤ 50 e
obtenha um gráfico de y[n] . Este filtro tem resposta impulsiva finita (FIR) ou infinita (IIR)?
1
Processamento Digital de Sinais – Aula 4P – Professor Marcio Eisencraft - agosto 2007
2. (Um filtro FIR) Dado o filtro a seguir:
y[n] = x[n] − 0,5x[n − 1] + 0,7 x[n − 2]
(a) Calcule as 5 primeiras amostras para n ≥ 0 da resposta impulsiva deste sinal, ou seja, para
x[n] = δ [n] .
(b) Desenhe um diagrama de blocos que represente este filtro;
(c) implemente este filtro como um diagrama de blocos no simulink;
(d) Rode o filtro no Matlab usando como entrada um impulso x[n] = δ [n] . Faça 0 ≤ n ≤ 50 e
obtenha um gráfico de y[n] . Este filtro tem resposta impulsiva finita (FIR) ou infinita (IIR)?
3. (Um filtro IIR) Dado o filtro a seguir:
y[n] = 0,5 y[n − 1] + 0,4 x[n]
com condição inicial y[− 1] = 0 .
(a) Calcule as 5 primeiras amostras para n ≥ 0 da resposta impulsiva deste sinal, ou seja, para
x[n] = δ [n] .
(b) Desenhe um diagrama de blocos que represente este filtro;
2
Processamento Digital de Sinais – Aula 4P – Professor Marcio Eisencraft - agosto 2007
(c) implemente este filtro como um diagrama de blocos no simulink;
(d) Rode o filtro no Matlab usando como entrada um impulso x[n] = δ [n] . Faça 0 ≤ n ≤ 50 e
obtenha um gráfico de y[n] . Este filtro tem resposta impulsiva finita (FIR) ou infinita (IIR)?
4. Implemente o seguinte diagrama de blocos que utiliza o arquivo voz.wav que está disponível na pasta da disciplina. Descreva o resultado da simulação e verifique o que ocorre
ao se alterar os parâmetros do diagrama de blocos.
3
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
Aula 5P –
Amostragem
Senóides de tempo discreto
Bibliografia
ƒ
HAYKIN, Simon; VAN VEEN, Barry. Sinais e sistemas. Porto alegre: Bookman, 2001. 668 p. : il. (algumas ISBN 8573077417). Páginas 283-309.
ƒ
LATHI, B. P. Signal processing and linear systems. New York: Oxford University Press, c1998. 850 p. :
il. ; 27 cm ISBN 0195219171. Páginas 546-559.
1. Introdução
•
Uma senóide de tempo discreto genérica pode ser expressa como C cos(Ωn + θ ) , em que
C é sua amplitude, Ω é sua freqüência (em radianos por amostras) e θ é sua fase (em ra-
π⎞
⎛π
dianos). A figura a seguir mostra senóide de tempo discreto cos⎜ n + ⎟ .
4⎠
⎝ 12
•
Uma observação básica. Como cos(− x ) = cos( x ) ,
cos(− Ωn + θ ) = cos(Ωn − θ )
Assim, tanto cos(− Ωn + θ ) quanto cos(Ωn − θ ) tem a mesma freqüência ( Ω ). Assim, a freqüência de cos(Ωn + θ ) é Ω .
1
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
Exercício
1. Use o Matlab para fazer a figura anterior. Ou seja, escreva uma seqüência de comandos
π⎞
⎛π
que gere o gráfico de cos⎜ n + ⎟ .
4⎠
⎝ 12
RESPOSTA: (Comandos e comentários)
2. Senóides de tempo contínuo amostradas resultam em senóides de tempo discreto
•
Uma senóide de tempo contínuo cos(ωt ) amostrada a cada T segundos fornece uma seqüência de tempo discreto cujo n -ésimo elemento (em t = nT ) é cos(ωnT ) . Assim, o sinal amostrado y[n] é dado por:
y[n] = cos(ωnT )
em que Ω = ωT .
= cos Ωn
•
Claramente, uma senóide de tempo contínuo cos ωt amostrada a cada T segundos fornece a senóide de tempo discreto cos(Ωn ) em que Ω = ωT .
•
Superficialmente, pode parecer que uma senóide de tempo discreto é uma senóide de tempo contínuo apresentada com bolinhas. No entanto, como veremos as propriedades das senóides de tempo discreto são muito diferentes das de tempo contínuo.
•
No caso contínuo, o período de uma senóide pode assumir qualquer valor; inteiro, fracionário, ou mesmo irracional. Os sinais de tempo discreto, por outro lado, só são especificados em valores inteiros de n . Assim, o período precisa ser um inteiro (em termos de n )
ou um múltiplo inteiro de T (em termos da variável contínua t ).
Exercício
⎛π ⎞
2. Seja o sinal de tempo contínuo x(t ) = cos⎜ t ⎟ .
⎝6 ⎠
(a) Qual o período deste sinal? Faça um gráfico deste sinal para − 30 ≤ t ≤ 30 usando o
Matlab.
2
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
(b) Agora suponha que você amostre este sinal com um período de amostragem T = 1 .
Escreva o sinal de tempo discreto resultante y[n] . Qual o período deste sinal? Usando o
Matlab faça um gráfico deste sinal sem apagar o anterior (use o comando hold).
RESPOSTA: (Resolução, comandos e comentários).
3. Seja o sinal de tempo contínuo x(t ) = cos(t ) .
(a) Qual o período deste sinal? Faça um gráfico deste sinal para − 30 ≤ t ≤ 30 usando o
Matlab.
(b) Agora suponha que você amostre este sinal com um período de amostragem T = 1 .
Escreva o sinal de tempo discreto resultante y[n] . Qual o período deste sinal? Usando o
Matlab faça um gráfico deste sinal para − 30 ≤ n ≤ 30 sem apagar o anterior (use o comando hold).
RESPOSTA: (Resolução, comandos e comentários):
3. Algumas peculiaridades das senóides de tempo discreto
•
Existem duas propriedades inesperadas das senóides de tempo discreto que as distingue de
seus parentes de tempo contínuo.
1. Uma senóide de tempo contínuo é sempre periódica independentemente de
sua freqüência ω . Mas uma senóide de tempo discreto cos Ωn é periódica
apenas se Ω é igual a 2π vezes um número racional (
Ω
é um número ra2π
cional).
2. Uma senóide de tempo contínuo cos ωt tem uma forma de onda única para
cada valor de ω . Já a senóide cos Ωn não tem uma forma de onda única
para cada valor de Ω . De fato, senóides de tempo discreto com freqüências
separadas por múltiplos de 2π são idênticas. Assim, uma senóide
3
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
cos Ωn = cos(Ω + 2π )n = cos(Ω + 4π )n = K . Agora vamos examinar cada
uma destas peculiaridades.
Exercício
4. Usando
o
comando
subplot
faça
os
gráficos
de
⎞
⎛⎛ π
⎛ 17
⎞
⎞
x 2 [n] = cos⎜⎜ ⎜ + 2π ⎟n + 0,1⎟⎟ = cos⎜ πn + 0,1⎟
⎝8
⎠
⎠
⎠
⎝⎝ 8
⎛π
⎞
x1 [n] = cos⎜ n + 0,1⎟ ,
⎝8
⎠
e
⎞
⎛⎛ π
⎛ 15
⎞
⎞
x3 [n] = cos⎜⎜ ⎜ − 2π ⎟n + 0,1⎟⎟ = cos⎜ − πn + 0,1⎟ . Calcule os períodos dos 3 sinais e
⎝ 8
⎠
⎠
⎠
⎝⎝ 8
compare.
RESPOSTA: (Resolução, comandos e comentários):
4.
Nem todas as senóides de tempo discreto são periódicas
•
Um sinal de tempo discreto x[n] é dito periódico de período N 0 se
x[n] = x[n + N 0 ]
para algum inteiro positivo N 0 . O menor N 0 que satisfaz esta equação é o período de x[n] .
A figura a seguir mostra um exemplo de sinal periódico de período 6.
•
Se um sinal cos Ωn é periódico de período N 0 , então:
cos Ωn = cos(Ω(n + N 0 ))
= cos(Ωn + ΩN 0 )
4
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
Este resultado é possível somente se ΩN 0 é um múltiplo inteiro de 2π , isto é:
•
ΩN 0 = 2πm
m inteiro
ou
m
Ω
=
2π N 0
•
Como tanto m quanto N 0 são inteiros, a equação acima implica que a senóide cos Ωn é
periódica apenas se
Ω
for um número racional. Neste caso, o período N 0 é dado por:
2π
⎛ 2π ⎞
N 0 = m⎜
⎟
⎝Ω⎠
•
(1)
Para calcular N 0 , precisamos escolher o menor valor de m que fará
4π
ro. Por exemplo, se Ω =
, então o menor valor de m que fará
17
⎛ 2π ⎞
m⎜
⎟
⎝Ω⎠
um intei-
17
⎛ 2π ⎞
m⎜
⎟=m
2
⎝Ω⎠
um
inteiro é 2. Assim,
N0 = m
•
2π
17
= 2 = 17 .
Ω
2
Usando um argumento similar, podemos mostrar que esta discussão também se aplica
à exponencial de tempo discreto e jΩn . Assim, a exponencial de tempo discreto e jΩn é periódica apenas se
5.
•
Ω
é um número racional. †
2π
Explicação física para a relação de periodicidade
Qualitativamente, este resultado pode ser explicado lembrando que a senóide de tempo
discreto cos Ωn pode ser obtida por amostragem de uma senóide de tempo contínuo
cos Ωt com intervalo de amostragem T = 1 . Isto é, cos Ωt amostrada em t = 0, 1, 2, 3,....
Isto significa que cos Ωt é a envoltória de cos Ωn . Como o período de cos Ωt é
†
Podemos também demonstrar este ponto observando que se
e jΩn é periódico de período N 0 , então:
e jΩn = e jΩ (n + N 0 ) = e jΩn e jΩN 0 .
Este resultado só é possível se ΩN 0 = 2πm ( m inteiro) Esta equação leva à Equação (1).
5
2π
, eΩ
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
xistem
2π
amostras (elementos) de cos Ωn em um ciclo desta envoltória. Este número
Ω
pode ser inteiro ou não.
•
⎛π ⎞
⎛ 4π
A figura seguinte mostra três senóides cos⎜ n ⎟ , cos⎜
⎝4 ⎠
⎝ 17
•
⎛π ⎞
O primeiro gráfico mostra cos⎜ n ⎟ para o qual cabem exatamente 8 amostras em ca⎝4 ⎠
⎞
n ⎟ e cos(0,8n ) .
⎠
⎛ 2π
⎞
⎛π ⎞
da período de sua envoltória ⎜
= 8 ⎟ . Assim, cos⎜ n ⎟ repete-se a cada ciclo de sua
⎝Ω
⎠
⎝4 ⎠
⎛π ⎞
envoltória. Claramente cos⎜ n ⎟ é periódica com período 8.
⎝4 ⎠
•
⎛ 4π ⎞
n ⎟ , tem uma média de
Por outro lado, o segundo gráfico, que mostra cos⎜
⎝ 17 ⎠
2π
= 8,5 amostras (um número não inteiro) em um ciclo de sua envoltória. Portanto, o
Ω
segundo ciclo da envoltória não será idêntico ao primeiro ciclo. Mas existem 17 amostras
(um número inteiro) em dois ciclos da envoltória. Assim, o padrão torna-se repetitivo a
⎛ 4π
cada dois ciclos da envoltória. Portanto, cos⎜
⎝ 17
é 17 (dois ciclos de sua envoltória).
6
⎞
n ⎟ também é periódico, mas seu período
⎠
Processamento Digital de Sinais – Aula 5P – Professor Marcio Eisencraft – agosto 2007
•
Esta observação indica que um sinal cos Ωn é periódico somente se podemos encaixar
um número inteiro ( N 0 ) de amostras em m número inteiro de ciclos de sua envoltória.
Como o período da envoltória é
2π
concluímos que
Ω
⎛ 2π ⎞
N 0 = m⎜
⎟
Ω
⎝
⎠
que é exatamente a equação a que tínhamos chegado.
•
Se
Ω
é irracional, é impossível encaixar um número inteiro ( N 0 ) de amostras em um
2π
número inteiro ( m ) de ciclos da envoltória e o padrão nunca se torna repetitivo. Por exemplo, a senóide cos(0,8n ) no terceiro gráfico da figura acima tem uma média de 2,5π
amostras (um número irracional) por ciclo da envoltória e o padrão não pode ser feito repetitivo sobre um número inteiro ( m ) de ciclos da envoltória; assim cos(0,8n ) não é periódico.
Exercícios
5. Reproduza no Matlab a figura da página 6.
RESPOSTA: (Resolução, comandos e comentários):
6. Os fonoaudiólogos usam um equipamento chamado audiômetro para testar a audição de
deficientes auditivos. Basicamente, este aparelho reproduz um tom dado pela senóide
sin (2πf ) para f entre 100Hz e 3000Hz.
Escreva um programa (seqüência de comandos) Matlab que produza um tom na freqüência f que dure 5s:
(a) f = 500 Hz
(b) f = 700 Hz
(c) f = 1100 Hz
RESPOSTA: (Comandos e comentários)
7
(d) f = 1300 Hz.
Processamento Digital de Sinais – Aula 6P – Professor Marcio Eisencraft – setembro 2007
Aula 6P – Aplicações da soma de convolução
Bibliografia
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 85-99.
ƒ
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper
Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Páginas 74-90.
Exercícios sobre soma de convolução
1. Um sistema LIT tem a resposta ao impulso dada por
j[p] = w[p] − w[p − 10]
Determine a saída deste sistema quando a entrada for o pulso retangular definido como
z[p] = w[p − 2] − w[p − 7]
RESOLUÇÃO
2. Obtenha novamente o resultado do Exercício 1 utilizando o comando conv do Matlab.
COMANDOS UTILIZADOS:
1
Processamento Digital de Sinais – Aula 6P – Professor Marcio Eisencraft – setembro 2007
3. Um sistema LIT tem resposta ao impulso
p
⎛3⎞
j[p] = ⎜ ⎟ w[p]
⎝4⎠
Determine a saída do sistema {[p] quando a entrada for z[p] = w[p] .
RESOLUÇÃO
Aplicações
4. Um sistema de média móvel é um sistema que calcula a média dos P últimos valores da
entrada com o objetivo de “suavizar” o sinal de saída, ou seja, diminuir suas variações.
Ele pode ser expresso por:
{[p ] =
1
(z[p] + z[p − 1] + z[p − 2] + … + z[p − P ])
P +1
(a) Calcule a resposta impulsiva para o sistema média móvel com P = 4 , ou seja, para:
{[p] =
1
(z[p] + z[p − 1] + z[p − 2] + z[p − 3] + z[p − 4])
5
RESOLUÇÃO
2
Processamento Digital de Sinais – Aula 6P – Professor Marcio Eisencraft – setembro 2007
(b) Utilizando convolução, calcule a resposta deste sistema à entrada z[p] = w[p] − w[p − 3] .
RESOLUÇÃO
(c) Agora repita o item (b) utilizando o comando conv.
COMANDOS UTILIZADOS:
(d) Utilize agora como a entrada uma senóide de tempo discreto com período P = 15 e
definida de 0 a 100 somada a um ruído branco gaussiano com desvio-padrão 0,3 (use o
comando r = 0.3*randn(1,101)). Verifique e interprete a saída utilizando o comando
conv. (Coloque numa mesma figura a entrada e a saída. Use subplot).
COMANDOS UTILIZADOS E INTERPRETAÇÃO
(e) Como você poderia melhorar a filtragem do item (d)?
RESPOSTA
5. O arquivo eletro1.m contém amostras obtidas de um eletrocardiograma no site
physionet.org. Estes pontos podem ser carregados para uma variável x1 no Matlab
estando no diretório correto e usando o comando:
>> x1 = load(‘eletro1.m’);
Pede-se:
3
Processamento Digital de Sinais – Aula 6P – Professor Marcio Eisencraft – setembro 2007
(a) Verifique o comprimento do vetor x1 utilizando o comando whos e faça um gráfico deste
sinal.
(b) Obtenha a resposta impulsiva de um filtro média móvel do Exercício 1 para P = 49 .
(c) Utilize o comando conv e a resposta impulsiva da letra (b) para obter uma versão
“suavizada” do sinal visto na letra (a). Usando subplot, obtenha um gráfico do sinal
original e de sua versão suavizada na mesma figura. Comente sobre os resultados obtidos.
COMANDOS UTILIZADOS E RESPOSTAS (USE O VERSO TAMBÉM).
4
Processamento Digital de Sinais – Aula 7P – Professor Marcio Eisencraft – setembro 2006
Aula 7P -
Questões da prova P1
1. (HSU, 2004, p. 31) (2,0) Um sinal de tempo discreto x [ n ] é mostrado na figura a seguir. Faça
o gráfico de cada um dos seguintes sinais:
(a) x [ n − 2] ;
(b) x [ 2n ] ;
(c) x [ − n ] ;
(d) x [ − n + 2]
3
2.5
x[n]
2
1.5
1
0.5
0
-2
-1
0
1
2
3
4
5
6
n
2. (HAYKIN; VEEN, 2001, p. 81) Determine se os seguintes sinais são periódicos. Se o forem,
encontre o período fundamental:
(8 )
(a) (0,5) x [ n ] = cos 15 πn
(7 )
(b) (0,5) x [ n ] = cos 15 πn
∞
(c) (0,5) x n =
[
]
∑ { δ [ n − 3k ] + δ [ n − k 2 ]}
k =−∞
3. (HSU, 2004, p. 43) Calcule a energia e a potência dos seguintes sinais e classifique-os em
sinal de energia, sinal de potência ou nenhum dos dois.
(a) (1,0) x [ n ] = ( −0,5 ) u [ n ]
n
1
Processamento Digital de Sinais – Aula 7P – Professor Marcio Eisencraft – setembro 2006
(b) (1,0) x [ n ] = u [ n ] .
4. (PROAKIS; MANOLAKIS, 1996, p. 137) Os seguintes pares entrada-saída foram observados
durante a operação de um sistema linear:
x 1 [n
]
=
x 2 [n
]
=
x 3 [n
]
=
{
{ 1;
{ 0;
− 1;
2;
↑
−1
↑
1;
↑
}↔
− 1 }↔
1}
↔
H
1
H
H
y 1 [n
]
y 2 [n
]
y 3 [n
]
{ 1; 2 ; − 1;
= { − 1; 1; 0 ;
= { 1; 2 ; 1 }
=
↑
↑
0;
2
1
}
}
↑
(a) (1,0) Determine a resposta impulsiva do sistema.
(b) (0,5) O que se pode afirmar sobre a invariância no tempo deste sistema? JUSTIFIQUE.
{
}
5. (INGLE; PROAKIS, 2000, p. 35) Seja x[n] = 1; − 2; 4; 6; − 5; 8; 10 . Obtenha e
↑
faça um gráfico das seguintes seqüências no intervalo −10 ≤ n ≤ 10 .
(a) (1,0) x1 [n] = 3 x[n + 2] + x[n − 4] − 2 x[n ]
(b) (1,0)
x 2 [ n ] = 20,5n x [ n ] + cos ( 0,1πn ) x [ n + 2 ]
2
Processamento Digital de Sinais – Aula 8P – Professores Marcio Eisencraft – setembro 2007
Aula 8P - Simulando equações de diferenças no Matlab
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Página 149.
ƒ
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Páginas 29-35.
O Matlab permite a resolução de equações de diferenças com a utilização dos comandos
filter e filtic.
Seja a equação de diferenças
a 1 y[n] + a 2 y[n - 1] + … + a N +1 y[n - N ] = b1 x[n] + b 2 x[n - 1] + ... + b O +1 x[n - M] .
Primeiramente, vamos considerar que as condições iniciais são nulas. Neste caso, para resolvê-la no Matlab, usamos o comando:
y = filter(B, A, x);
O vetor B contém os elementos d1 , d2 , … dO +1 e o vetor A contém os elementos c1 , c 2 , … c O +1 .
O vetor x contém os pontos do sinal de entrada.
Por exemplo, para encontrar os 20 primeiros pontos de {[p] , solução da equação de diferenças {[p ] − 0,5 {[p − 1] = z[p] para z[p] = w[p] e condições iniciais nulas, usamos a seguinte seqüência de comandos:
>> n = 0:19;
>> x = ones(1,20);
>> B = [1];
>> A = [1 -0.5];
>> y = filter(B,A,x);
>> stem(n,y);
No caso de condições iniciais não nulas, usamos o comando filtic para transformar as
condições [ {[− 1], {[− 2], … , {[− P ]] nas condições iniciais usadas pelo comando filter.
Seja por exemplo, resolver o mesmo problema proposto anteriormente só que com condição
inicial {[− 1] = 2 . Usamos o seguinte conjunto de instruções:
>> n = 0:19;
>> x = ones(1,20);
>> B = [1];
>> A = [1 -0.5];
>> zi = filtic(B,A,[2]);
>> y = filter(B,A,x, zi);
1
Processamento Digital de Sinais – Aula 8P – Professores Marcio Eisencraft – setembro 2007
>> stem(n,y);
Exercícios
1. Seja a equação de diferenças
{[p ] − 0,5 {[p − 1] = z[p]
Para 0 ≤ p ≤ 19
(a) Calcule a resposta impulsiva deste sistema (use iterações).
RESOLUÇÃO:
(b) Calcule a resposta impulsiva usando o comando filter do Matlab.
COMANDOS E COMENTÁRIOS:
(c) Calcule a resposta ao degrau deste sistema usando convolução.
RESOLUÇÃO:
(d) Calcule a resposta ao degrau deste sistema usando filter.
COMANDOS E COMENTÁRIOS:
⎛π ⎞
(e) Calcule a resposta deste sistema para a entrada z[p] = sin ⎜ p ⎟ e condições inicias nulas
⎝3 ⎠
usando o comando conv do Matlab.
COMANDOS E COMENTÁRIOS:
2
Processamento Digital de Sinais – Aula 8P – Professores Marcio Eisencraft – setembro 2007
(f) Repita o item (e) usando filter.
COMANDOS E COMENTÁRIOS:
2. No p -ésimo semestre, z[p] estudantes matriculam-se num curso que requer certo livro
texto. A editora vende {[p] cópias novas do livro no semestre p . Em média, um quarto
dos estudantes com livros em condições de vendas revende seus livros ao final do semestre e a vida útil do livro é três semestres.
(a) Escreva a equação de diferenças relacionando {[p] , os novos livros vendidos pela editora
com z[p] , o número de estudantes matriculados no p -ésimo semestre, assumindo que cada
estudante compra um livro.
(b) Sendo o número de alunos num semestre sempre igual a 48 ( z[p] = 48w[p] ) quantos livros
esta editora deverá vender por semestre, depois de passado o transitório?
RESOLUÇÃO:
O comando Matlab y = impz(B,A,n) pode ser usado para computar as primeiras N amostras da resposta impulsiva do sistema LIT discreto da equação:
a 1 y[n] + a 2 y[n - 1] + … + a N +1 y[n - N ] = b1 x[n] + b 2 x[n - 1] + ... + b O +1 x[n - M] .
O programa Matlab a seguir computa e faz um gráfico da resposta impulsiva descrita pela equação:
{[p ] − 0,4 {[p − 1] + 0,75 {[p − 2] = 2,2403 z[p ] + 2,4908 z[p − 1] + 2,2403 z[p − 2] .
%Programa para exercícios seguintes
%Computa a resposta impulsiva h
3
Processamento Digital de Sinais – Aula 8P – Professores Marcio Eisencraft – setembro 2007
clf;
‘N = 40;
B = [2.2403 2.4908 2.2403];
A = [1 -0.4 0.75];
h = impz(B,A,N);
%Faz um grafico da resposta impulsiva
stem(0:N-1,h);
xlabel('indice temporal n'); ylabel('Amplitude');
title('Resposta impulsiva');grid;
3. (MITRA, 1999, p.26) Rode o programa acima e gere a resposta impulsiva para o sistema
de tempo discreto da equação dada acima.
COMANDOS E COMENTÁRIOS:
4. (MITRA, 1999, p.26) Modifique o programa acima para gerar as primeiras 45 amostras da
resposta impulsiva do seguinte sistema LIT causal:
{[p ] + 0,71 {[p − 1] − 0,46 {[p − 2] − 0,62 {[p − 3] = 0,9 z[p ] − 0,45 z[p − 1] + 0,35 z[p − 2] + 0,002 z[p − 3]
COMANDOS E COMENTÁRIOS:
.
5. (MITRA, 1999, p.27) Escreva um programa Matlab que gere a resposta impulsiva do sis-
tema LIT do exercício anterior usando o comando filter; compute e faça um gráfico
das primeiras 40 amostras. Compare com o resultado obtido no Exercício 4.
COMANDOS E COMENTÁRIOS:
4
Processamento Digital de Sinais – Aula 9P – Professores Marcio Eisencraft – setembro 2007
Aula 9P -
Exemplos simples de processamento de voz
Bibliografia
ƒ
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using matlab. Pacific Grove: Brooks :
Cole Publishing, c2000. 418 p. : il. ; 24 cm ISBN 0534371744. Páginas 7-20.
ƒ
HANSELMAN, Duane C; LITTLEFIELD, Bruce. MATLAB 6: curso completo. São Paulo: Prentice Hall,
c2003. 676 p. ISBN 8587918567. Página 375.
ƒ Vamos ver agora uma possível aplicação dos conhecimentos que obtivemos até agora num
caso mais prático. O processamento de sinais de voz.
ƒ Para isso, serão disponibilizados para os alunos os arquivos de áudio voz.wav e teste.wav.
ƒ Começaremos carregando o sinal no Matlab. Estando no diretório correto, fazemos:
>> [voz, fs, nbits] = wavread('voz.wav');
>> voz = voz';
ƒ Com estes comandos, o vetor voz conterá as amostras do arquivo voz.wav. A variável fs
contém a freqüência em que o sinal foi amostrado (Hz ou amostras/s) e a variável nbits
contém o número de bits utilizado para representar cada amostra.
ƒ Digitando whos podemos ver que o vetor voz é composto por 60000 amostras. Para “tocarmos” o sinal no alto-falante do PC usamos o comando sound(<variável>,
<freqüência de amostragem>). Por exemplo, podemos fazer:
>> sound(voz,fs)
Atividades (nos espaços coloque os comandos Matlab utilizados e comentários sobre os
resultados obtidos)
1. Qual a freqüência de amostragem do sinal de voz voz.wav?
Resposta e comentários:
2. Se ele é composto por 60000 amostras, qual a duração em segundos deste sinal?
Resposta e comentários:
3. Utilizando o comando sound tente tocá-lo com um valor de fs diferente. O que acontece? Explique o que você ouviu.
Resposta e comentários:
1
Processamento Digital de Sinais – Aula 9P – Professores Marcio Eisencraft – setembro 2007
4. Obtenha um gráfico do vetor voz.
Resposta e comentários:
5. Obtenha um vetor vozmet contendo apenas os 30000 primeiros pontos de voz. Faça um
gráfico e toque o sinal vozmet.
Resposta e comentários:
6. Obtenha um vetor (chame-o, por exemplo, de vozinvert) que contenha as amostras do vetor voz só que de traz pra frente. Toque-o usando sound. Faça um gráfico deste sinal.
Resposta e comentários:
7. Vimos que a potência de um sinal pode ser obtida fazendo-se uma média dos valores da
potência instantânea r[p] = z 2 [p] . Isto pode ser obtido no Matlab com o comando:
>> p = sum(voz.^2)/length(voz)
Qual a potência do sinal voz?
Resposta e comentários:
8. Para gerar um ruído com 60000 pontos e potência Pruido, pode ser usado o comando:
>> ruido = sqrt(Pruido)*randn(1,60000);
Gere um ruído com potência Pruido = 1 e ouça o resultado. Modifique a potência do ruído e observe o que ocorre.
Resposta e comentários:
9. Um dos conceitos mais utlizados em processamento digital de sinais e telecomunicações é
o de relação sinal-ruído (SNR = signal to noise ratio) que é a razão entre a potência do sinal e a potência do ruído num certo sinal. Por exemplo, se quisermos gerar um som que
tenha SNR = 5, podemos usar o seguinte script:
2
Processamento Digital de Sinais – Aula 9P – Professores Marcio Eisencraft – setembro 2007
% SCRIPT noise.m – gera um sinal de voz somado a ruido com
% SNR fixa
[voz,fs,nbits] = wavread('voz.wav');
voz = voz';
SNR = 5;
Psinal = sum(voz.^2)/length(voz);
Pruido = Psinal/SNR;
ruido = sqrt(Pruido)*randn(1,60000);
vozr = voz+ruido;
sound(vozr,fs)
Modifique o script acima para gerar sons com SNR igual a 100, 50, 20, 10, 2, 1, 0,1 e 0. Descubra até que nível de SNR a mensagem ainda é inteligível.
Resposta e comentários:
"
"
10. Um filtro FIR pode ser utilizado para obtermos um efeito de eco acústico. Se o sinal é
amostrado a 8kHz, por exemplo, o seguinte filtro gera um eco de 0,5s.
{ [ p ] = z [ p ] + 0, 7 z [ p − 4000] .
Este filtro pode ser utilizando o comando filter. Obtenha e ouça o resultado da aplicação
deste filtro ao sinal teste.wav. Para lê-lo no Matlab, use o comando:
>> [x, fs] = wavread(‘teste.wav’);
Resposta e comentários:
11. Escreva uma função que tenha como formato
function [y] = eco(x,fs,N,alfa)
que recebe um sinal guardado na variável x e implementa e toca o sinal com eco
{ [ p ] = z [ p ] + cz [ p − P ] .
Teste seu programa para o arquivo teste.wav do exercício anterior.
Resposta e comentários:
3
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
Aula 10P – Modelagem, predição e síntese de voz
Bibliografia
ƒ
STONICK, Virginia L. Labs for signals and systems: using MATLAB. Boston; Albany: PWS, c1996. 143 p.
ISBN 0534938086.. Páginas 57-68.
ƒ
BURRUS, C. Sidney, Oppenheim, Alan V., Parks, Thomas W., Schafer, Ronald W., Schuessler, Hans W. Computer-based exercises for signal processing using Matlab 5. Upper Saddle River: Prentice-Hall, c1998. 404 p. :
il. ; 28 cm ISBN 0137890095. Páginas 329-350.
1. Fundamentos de sinais de voz
Fisicamente, a voz é produzida quando o ar dos pulmões excita o sistema de trato vocal mostrado na Figura 1.
O trato vocal se comporta como uma cavidade ressonante de forma que o sinal que emana
pela boca é uma soma ponderada de versões atrasadas do sinal vocal original mais as excitações. O modelo em tubos do trato vocal é mostrado nas Figuras 2 e 3.
Os diferentes tipos de sons da voz podem ser divididos de forma simplificada em dois grupos:
os sons vocálicos e os sons fricativos ou não-vocálicos.
Uqpu"xqeânkequ: são produzidos usando uma seqüência de impulsos como entrada; o período
fundamental desta seqüência determina a tonalidade (“pitch”). Por exemplo, vogais são sons
vocálicos; quando se diz “a”, pode-se sentir a vibração das cordas vocais.
Figura 1 – Detalhes do trato vocal. (SENDA, 2005).
1
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
Uqpu"pçq/xqeânkequ: são produzidos usando ruído branco como entrada. Estes sons geralmente são gerados por um fluxo turbulento de ar pela boca, por exemplo, quando se pronuncia
“sh”.
Assim, o modelo em tempo discreto da produção de voz é mostrado na Figura 4.
2.
Modelagem de voz em tempo discreto
Um modelo em equações de diferenças para o trato vocal pode ser desenvolvido como se segue.
Como cada amostra de sinal de voz é muito relacionada com as anteriores, o valor da amostra
atual de voz pode ser estimado como uma combinação linear das anteriores.
Figura 2 – Modelo do trato vocal. (SENDA, 2005).
2
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
Figura 3 – Modelo em tubos do trato vocal. (BURRUS et al., 1998).
Figura 4 – Modelo em diagrama de blocos da geração da fala humana (BURRUS et al., 1998).
r
uˆ[p] = ∑ α k u[p − k ]
k =1
(1)
O sinal û[p] é a estimação do sinal de voz u[p] para a p -ésima amostra. O erro entre o sinal
original e o estimado é:
g[p] = u[p] − uˆ[p]
3
(2)
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
Modelo de predição
A combinação das duas equações acima leva a um modelo por equações de diferenças da predição do processo de fala:
r
u[p] − ∑ α k u[p − k ] = g[p]
(3)
k =1
Este modelo de predição é usado em telecomunicações para aumentar o número de sinais de
voz que podem ser transmitidos por um canal.
Se os coeficientes α k são conhecidos pelo transmissor e pelo receptor, então apenas o erro
precisa ser transmitido e o sinal de voz pode ser tgeqpuvtwîfq no receptor utilizando a equação de diferenças acima.
No transmissor u[p] é a entrada do filtro de predição e g[p] é a saída. No receptor a situação é
a inversa.
A transmissão do sinal de erro resulta em economia substancial da banda de transmissão.
A Figura 5 mostra um exemplo de sinal predito, o erro e a reconstrução para um sinal de voz
u[p] .
original
1
0
-1
0
1
2
3
4
5
6
7
Predicao
1
Erro de predicao
8
4
x 10
0
-1
0
1
2
3
4
5
6
7
1
8
4
x 10
0
-1
0
1
2
3
4
5
6
7
1
Reconstruido
4
8
4
x 10
0
-1
0
1
2
3
4
5
6
7
8
4
x 10
Figura 5 – Exemplo de predição e reconstrução de um sinal de voz.
4
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
5
Modelo de síntese
Pode-se modificar o mesmo modelo básico de predição de voz para usar em síntese de voz.
Se o objetivo for criar um sinal ~
u [p] que imita o sinal de voz original, podemos substituir o
erro g[p] por um sinal de entrada z[p] multiplicado por um ganho I .
Usando a mesma forma da equação de diferenças do modelo de predição, Eq. (3), resulta o
seguinte modelo de síntese:
r
~
u [p] − ∑α k ~
u [p − k ] = Iz[p] .
k =1
(4)
Tipicamente, os coeficientes α k mudam a cada 10-20ms conforme o trato vocal muda para
produzir sons diferentes. Veja a Figura 6.
Figura 6 – Segmentação do sinal de voz (STONICK; BRADLEY, 1996).
Na síntese aplica-se uma seqüência de excitação conveniente para que naquele intervalo de
tempo seja gerada uma seqüência de sons adequada.
6
Transmissão de voz
Uma linha telefônica normal opera simplesmente amostrando a voz de uma pessoa, digitalizando as amostras com 8 bits e transmitindo estes bits para o receptor, onde novamente é
convertido em voz.
5
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
Um método alternativo é realizar a análise e predição como resumido anteriormente, digitalizar o sinal de erro e transmitir o sinal de erro digital resultante e coeficientes da predição linear.
Por que fazer isso?
Voz normal necessita de 8 bits x 8 kHz = 64000 bits por segundo para ser transmitido.
Suponha que o sinal de erro possa ser digitalizado com 4 bits ao invés de 8 e que cada coeficiente seja representado com 16 bits.
Então, para transmitir a mesma quantidade de informação é necessário 4bits x 8kHz + 16 x 10
coeficientes x 100 blocos de dez milisegundos por segundo = 48000 bits por segundo – 75%
da taxa anterior.
Se for utilizado apenas 1 bit de quantização para o sinal de erro, 24000 bits por segundo são
necessários – 37,5% da taxa anterior.
7
Atividades
1. Assuma que você tem um sinal de voz digitalizado com uma amostragem de 8kHz. Se este
sinal for quebrado em segmentos de 20ms, quantas amostras NS existem por bloco?
2. Se 1 segundo deste sinal estiver num vetor Matlab, quantos blocos de 20ms NBLKS podem
ser obtidos?
3. Suponha que se deseje usar como entrada para seu modelo de voz sintética um trem de impulsos unitários igualmente espaçados e que gostaríamos que o pitch fosse 200Hz. Se a voz foi
amostrada a 8kHz, quantas amostras devem ser colocadas por período, ou seja, quanto vale
P em:
∞
z[p ] = ∑ δ [p − kP ] ,
k =0
6
0 ≤ p < PU .
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
4. Como devem ser definidos os vetores a e b usados como entrada do filter em termos de
α k e I para criar equações de diferenças que realizem as seguintes operações:
(a) fornecer û[p] como saída quando u[p] é a entrada. (predição)
(b) fornecer g[p] como saída quando u[p] é a entrada. (erro de predição)
(c) fornecer ~
u [p] como saída quando x [ n ] é a entrada. (síntese)
5. A função sintetizavoz2 gera uma voz sintética a partir dos coeficientes α k e um trem
de impulsos com freqüência fundamental dada por pitch ou um ruído branco gaussiano.
Seu formato é:
%[SYNTHimp, SYNTHnoise] =
sintetizavoz2(nomarq,NS,pitch, NP);
% Sintetiza voz com sequencia de impulsos e ruido gaussiano
% nomarq - nome do arquivo .wav (entre aspas simples)
% NS - numero de amostras por bloco
% pitch - frequencia fundamental da sequencia de impulsos
% NP - numero de coeficientes utilizados na predicao
% SYNTHimp - voz sintetizada com impulsos
% SYNTHnoise - voz sintetizada com ruído
Teste este programa utilizando o arquivo aula5.wav. Utilize NS=160, NP = 10 e um pitch
de 50Hz. Verifique o que ocorre ao se mudar estes parâmetros.
7
Processamento Digital de Sinais– Aula 10P – Professor Marcio Eisencraft – setembro 2007
Em seguida, repita para o arquivo teste.wav. Tente encontrar um valor de pitch mais adequado para este sinal. Repita para os arquivos show.wav e chinelo.wav que possuem muitos
fricativos.
Grave um sinal de voz e tente gerar uma voz sintética com o pitch mais adequando para a sua
voz.
6. O programa predivoz fornece tem a seguinte estrutura:
% [X2,E, RECON] =
predivoz(nomarq,NS,NP);
% nomarq - nome do arquivo .wav (entre aspas simples)
% NS - numero de amostras por bloco
% NP - numero de coeficientes utilizados na predicao
% X2 - sinal obtido com a predicao
% E
- erro de predicao
% RECON - Sinal reconstruido no receptor
Teste o programa para o sinal aula5.wav usando blocos com NS=160, NP = 10. Explique
os resultados obtidos e verifique o que ocorre ao se modificar estes parâmetros.
7. O programa predivozquant simula a quantização do sinal de erro que é enviado ao receptor.
% [RECON] =
predivozquant(nomarq,NS,NP, Nbits);
% nomarq - nome do arquivo .wav (entre aspas simples)
% NS - numero de amostras por bloco
% NP - numero de coeficientes utilizados na predicao
% Nbits - numero de bits utilizados na quantizacao do erro
% RECON - Sinal reconstruido no receptor
Utilizando novamente o arquivo aula5.wav e as mesmas configurações da Atividade 7, verifique qual a menor quantidade de bits que devem ser utilizados na quantização do erro de predição
de forma que o sinal possa ser recuperado de forma integral no receptor. Calcule, neste caso, a
taxa necessária de transmissão.
8
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
Aula 11P – Exemplos de processamento de imagem
Bibliografia
ƒ
STONICK, Virginia L. Labs for signals and systems: using MATLAB. Boston; Albany: PWS, c1996. 143 p.
ISBN 0534938086. Páginas 69-80.
ƒ
GONZALEZ, Rafael C.; WOODS, Richard E. Processamento de imagens digitais. São Paulo: Edgard Blücher,
2000. 509p. : il. ; 24 cm ISBN 8521202644.
1.
Introdução
Imagens digitais são formadas por “pontos” ou rkzgnu (Rkevwtg" gngogpvu). Colocando estes
pontos suficientemente próximos uns dos outros, as imagens são vistas na tela do computador
ou impressas como se fossem contínuas.
Em um computador digital, o brilho e a informação de cor de cada pixel são codificados por
um número ou, equivalentemente, um elemento de uma matriz. A localização de cada ponto
da matriz é indexada por dois inteiros, isto é, Z (3,4 ) identifica o valor do pixel localizado na
matriz Z na terceira linha e na quarta coluna.
Usualmente os valores nas matrizes são inteiros de 0 a 2 p − 1 , em que p é o número de bits
usado para representar o brilho de cada pixel. Por exemplo, considere uma imagem preta e
branca em que a luminância, ou brilho, para cada pixel é armazenada usando 8 bits. Neste caso, o brilho relativo de cada pixel pode ser representado por um de 256 níveis possíveis, chamados de níveis de cinza. Usualmente o preto é codificado como 0 e o branco como 255.
A informação de cores para os pixels de uma imagem é codificada como inteiros armazenados em matrizes separadas. No Matlab, as imagens são armazenadas como matrizes de inteiros e a informação de cor – como cada valor de pixel é mapeado para certa cor – é armazenada separadamente.
2
Borrando e dando nitidez a uma imagem
O borrão em ima imagem causada pelo movimento pode ser representado por um sistema
linear. O movimento faz com que cada pixel em uma imagem contenha informação dos P
"pixels" anteriores na mesma linha. Um modelo simples de borrão horizontal é:
{ (n , p ) =
1
P
1
∑ z(n , p ) = P (z(n , p ) + z(n , p − 1) + … + z(n , p − P + 1)) .
p
m = p − P +1
1
(1)
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
A equação (1) representa um filtro FIR e pode ser implementado utilizando-se o comando
filter como feito nas aulas anteriores.
A representação de imagens no Matlab e o seu processamento são ilustrados nas atividades
seguintes.
Atividades
A. Trabalhando com uma imagem
Nesta atividade exploraremos como imagens são mostradas e representadas como matrizes no
Matlab. A informação de cores é codificada em uma eqnqtocr (tabela de cores a ser usada). Imagens podem ser armazenadas em arquivos imagen_name.mat e carregadas usando o comando
load image_name.
O Matlab tem uma série de imagens padrões disponível.
1. Digite load clown e verifique as variáveis carregadas digitando whos
>> whos
Name
X
caption
map
Size
Bytes
200x320
512000
2x1
4
81x3
1944
Class
double array
char array
double array
Foram criadas três variáveis: caption (guarda as informações de cabeçalho da imagem), map
(informação de cores), x (guarda a informações de intensidade da imagem).
2. Olhe alguns elementos do vetor x (por exemplo, digite x(65:75, 100:110)). Os valores
na matriz devem ser inteiros. Quantos bits estão sendo usados na codificação?
RESPOSTA:
3. Para mostrar a imagem, digite image(X). Você deve ver o palhaço numa janela, apesar de
sua cor parecer não-natural.
2
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
20
40
60
80
100
120
140
160
180
200
50
100
150
200
250
300
4. Para obter as cores corretas, digite colormap(map). Agora o palhaço deve aparecer nas
cores corretas.
20
40
60
80
100
120
140
160
180
200
50
100
150
200
250
300
5. Para aumentar o brilho da imagem, pode-se utilizar o comando brighten(beta) sendo
beta um número entre -1 e 1. Números maiores que zero resultam numa imagem mais brilhante e menores do que zero numa imagem mais escura. Por exemplo,
>> brighten(.7)
20
40
60
80
100
120
140
160
180
200
50
100
150
3
200
250
300
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
6. Podem-se utilizar operações matriciais normalmente para trabalhar com imagens. Por exemplo, transpor a matriz implica na transposição da imagem. Para colocar a imagem de ponta
cabeça, basta inverter a ordem das linhas da matriz.
X1 = X';
X2 = X(end:-1:1,:);
figure(1);
subplot(221); image(X1);
subplot(222); image(X2);
colormap(map);image(X(end:-1:1, :))
colormap(map);
7. Gere a imagem a seguir:
COMANDOS UTILIZADOS:
8. Podemos selecionar um pedaço da imagem, pegando algumas linhas e colunas da matriz. Por
exemplo, o olho esquerdo do palhaço pode ser obtido usando:
Xolho = X(50:100, 150:250);
image(Xolho);
colormap(map);
4
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
5
10
15
20
25
30
35
40
45
50
10
20
30
40
50
60
70
80
90
100
Obtenha uma ampliação do nariz do palhaço.
COMANDOS UTILIZADOS:
9. Usando o comando filter e a Equação 1 podemos borrar a imagem na horizontal e na vertical usando os seguintes comandos:
N = 25;
Yvert = filter(ones(1,N)/N,1, X);
subplot(221);image(Yvert);
colormap(map);
Yhori = filter(ones(1,N)/N,1, X');
Yhori = Yhori';
subplot(222);image(Yhori);colormap(map);
5
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
10. A imagem pode ser aproximadamente recuperada utilizando um filtro inverso. Por exemplo,
para desfazer o borrão vertical, usamos:
Yvolta = filter(1, ones(1,N)/N, Yvert);
subplot(223);image(Yvolta);colormap(map);
Desfaça o efeito na imagem Yhori.
COMANDOS UTILIZADOS:
B. Imagem no fomato jpeg
O formato jpeg é um dos mais utilizados para codificação de imagens. O comando [X] = imread(FILENAME,’jpeg’) pode ser utilizado para importar uma imagem neste formato
para o Matlab. É gerado um vetor X tridimensional com os componentes RGB da imagem. A
matriz X(:,:,1) contém a informação do vermelho (“red”), a matriz X(:,:,2) a informação do verde e a matriz X(:,:,3) a informação do azul (“blue”).
O comando IMWRITE(A,FILENAME,’jpeg’) grava a matriz A no arquivo FILENAME.jpg .
Muitos outros formatos são possíveis. Leia o help dos comandos acima para mais informações.
A seguinte seqüência de comandos lê a figura moinho.jpg e mostra suas componentes:
X = imread('moinho.jpg','jpeg');
Xred = X(:,:,1);
6
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
Xgreen = X(:,:,2);
Xblue = X(:,:,3);
subplot(221);image(X); title('moinho.jpg');
subplot(222);image(Xred); title('Componente red');
subplot(223);image(Xgreen); title('Componente green');
subplot(224);image(Xblue); title('Componente blue');
moinho.jpg
Componente red
200
200
400
400
600
600
800
800
1000
1000
1200
1200
200
400
600
800
200
Componente green
400
600
800
Componente blue
200
200
400
400
600
600
800
800
1000
1000
1200
1200
200
400
600
800
200
400
600
800
Num arquivo jpeg, as cores podem ser trabalhadas separadamente. Por exemplo, os seguintes
comandos aumentam a intensidade do verde da imagem. Tente outras configurações de cores.
X = imread('moinho.jpg','jpeg');
Xred = X(:,:,1);
Xgreen = X(:,:,2);
Xblue = X(:,:,3);
Xgreennovo = double(Xgreen)*3;
Xrednovo = double(Xred);
Xbluenovo = double(X(:,:,3));
Xnovo(:,:,1) = uint8(Xrednovo);
Xnovo(:,:,2) = uint8(Xgreennovo);
Xnovo(:,:,3) = uint8(Xbluenovo);
subplot(221);image(X); title('moinho.jpg');
subplot(222);image(Xnovo); title('Cores modificadas');
7
Processamento Digital de Sinais– Aula 11P – Professor Marcio Eisencraft – setembro 2007
C. O que está escrito?
A seguinte foto foi tirada de uma placa com o carro em movimento. Ela esta armazenada no arquivo testeplacaverm.mat
50
100
150
200
250
300
350
400
450
500
200
400
600
800
1000
1200
Carregue esta imagem e, usando as técnicas aprendidas, identifique o que está escrito na placa.
RESPOSTA E COMANDOS UTILIZADOS:
8
Processamento Digital de Sinais – Aula 12P – Professor Marcio Eisencraft – outubro 2007
Aula 12P-
Questões da prova P2
1. (PROAKIS; MANOLAKIS, 1996, p. 139) (2,0) Calcule a convolução y [ n ] = x [ n ] ∗ h [ n ]
do seguinte par de sinais:
⎧⎪1, n = −2, 0,1
⎪⎪
x [ n ] = ⎪⎨ 2, n = −1
⎪⎪
⎪⎪ 0, caso contrário
⎪⎩
h [n ] = δ [n ] − δ [n − 1] + δ [n − 4 ] + δ [n − 5 ]
2. (OPPENHEIM; WILLSKY; YOUNG; 1983, p. 129)
(a) (0,5) Considere a interconexão de sistemas LIT mostrada na figura a seguir. Expresse a resposta impulsiva global h [ n ] em termos de h1 [ n ] , h2 [ n ] , h3 [ n ] , h4 [ n ] e h5 [ n ] .
h2 [ n ]
+
x [n ]
h1 n
[
]
+
+
h3 [ n ]
h4 [ n ]
h5 [ n ]
(b) (1,0) Determine h [ n ] quando
()
1 n
{ u [ n ] − u [ n − 3 ]}
2
h2 [ n ] = h3 [ n ] = ( n + 1 ) u [ n ]
h1 [ n ] = 4
h4 [ n ] = δ [ n − 1 ]
h5 [ n ] = δ [ n ] − 4δ [ n − 3 ]
(c) (0,5) Esboce a resposta do sistema da parte (b) se x [ n ] for o sinal mostrado a seguir.
1
y [n ]
Processamento Digital de Sinais – Aula 12P – Professor Marcio Eisencraft – outubro 2007
2.5
2
1.5
x[n]
1
0.5
0
-0.5
-1
-1.5
-6
-4
-2
0
2
4
6
8
n
3. (OPPENHEIM; WILLSKY; YOUNG; 1983, p. 148) (1,5) Considere o sistema LIT inicialmente em repouso (condições iniciais nulas) e descrito pela equação de diferenças:
y[n ] + 2 y[n − 1] = x[n] + 2 x[n − 2] .
Encontre a resposta deste sistema à entrada mostrada na figura a seguir resolvendo a equação de
diferenças recursivamente para − 2 ≤ n ≤ 7 .
4. (PROAKIS; MANOLAKIS, 1996, p. 307) (1,5) Determine a seqüência de saída do sistema
com resposta impulsiva
( )un
1
h n =
2
[
]
2
n
[
]
Processamento Digital de Sinais – Aula 12P – Professor Marcio Eisencraft – outubro 2007
quando sua entrada é a seqüência exponencial complexa x n = Ae
[
]
jπ
n
2
.
5. Considere um sistema LTI com a resposta impulsiva dada por h1[n] = (0.9) n u[n] .
a) (0,5) Escreva os comandos para fazer um gráfico da resposta impulsiva no intervalo
0 ≤ n ≤ 40
b) (0,5) Escreva os comandos para calcular e fazer um gráfico da resposta do sistema para a
entrada degrau unitário x[n] = u[n] no intervalo 0 ≤ n ≤ 20
c) (0,5) Escreva os comandos para calcular a resposta do sistema para o pulso retangular
x[n] = u[n] − u[n − 10] e fazer um gráfico no intervalo 0 ≤ n ≤ 20
d) (0,5) Considerando o sistema anterior em cascata com o sistema 2, descrito por
⎧⎪ x [n / 2],
y[n ] = ⎪⎨
⎪⎪ 0,
⎩
se
n par
se
n ímpar
,
conforme figura a seguir, escreva comandos para calcular e fazer gráfico da saída global do
sistema para entrada pulso retangular x[n] = u[n] − u[n − 10] no intervalo 0 ≤ n ≤ 20 .
x [n ]
Sistema 1
Sistema 2
3
y [n ]
Processamento Digital de Sinais – Aula 13P – Professor Marcio Eisencraft – abril 2007
Aula 13P –Séries de Fourier de tempo discreto usando o Matlab
Bibliografia
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 240-241.
ƒ
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Páginas 117-121.
•
A série de Fourier de tempo discreto (SFTD) é a única representação de Fourier que tem
valores discretos tanto no tempo como em freqüência e, consequentemente, é adequada
para implementação direta no Matlab. Os comandos fft e ifft podem ser usados para
avaliar a SFTD.
•
Dado um vetor x de comprimento P que representa um período de um sinal com período
P , z[p] , o comando:
>> a = fft(x)/N
produz um vetor a de tamanho P que contém os coeficientes da SFTD, c m .
•
O Matlab supõe que os somatórios nas equações que definem a SFTD vão de 0 a P − 1 ,
de forma que os primeiros elementos de x e a correspondem a z[0] e c 0 , respectivamente, enquanto os últimos elementos correspondem a z[P − 1] e c P −1 .
•
Similarmente, dados os coeficientes da SFTD num vetor a, o comando:
>> x = ifft(x)*N
produz um vetor x que representa um período para a forma de onda no tempo.
•
Tanto fft quanto ifft são computadas utilizando-se um algoritmo eficiente numericamente ou târkfq denominado vtcpuhqtocfc"târkfc"fg"Hqwtkgt. O desenvolvimento deste
algoritmo será estudado em disciplinas posteriores.
Exercícios
1. Considere o seguinte sinal periódico:
1
Processamento Digital de Sinais – Aula 13P – Professor Marcio Eisencraft – abril 2007
(a) Calcule, usando as fórmulas vistas em aula, os coeficientes da série de Fourier deste sinal
c m para 0 ≤ m ≤ P 0 − 1 .
RESOLUÇÃO:
(b) Use o Matlab para confirmar os resultados do item (a).
Comandos e comentários:
2. (a) Calcule os coeficientes da série de Fourier do sinal
3π ⎞
⎛π
z[p] = 1 + sin ⎜ p +
⎟.
8 ⎠
⎝ 12
(b) Confirme seu resultado utilizando o Matlab.
RESOLUÇÃO:
2
Processamento Digital de Sinais – Aula 13P – Professor Marcio Eisencraft – abril 2007
3. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 218) Considere o seguinte sinal retangular
periódico com período P 0 = 32 . Use o Matlab para determinar as componentes da série
de Fourier deste sinal e esboce seu espectro.
RESOLUÇÃO:
4. (HAYKIN; VEEN, 2000, p.241) Determine os coeficientes da SFTD para o sinal periódi-
co descrito a seguir. Utilize o Matlab para conferir seus resultados.
RESOLUÇÃO:
3
Processamento Digital de Sinais – Aula 14P – Professor Marcio Eisencraft – setembro 2007
Aula 14P –Resposta em freqüência de filtros digitais
Bibliografia
ƒ
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Páginas 264-266.
ƒ
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Páginas 53-60.
ƒ
Veremos nesta aula exemplos de cálculos de resposta em freqüência usando o Matlab.
Lembrando as aulas teóricas, definimos a hwpèçq"fg"ukuvgoc<
J (| ) =
∞
∑ j[m ]|
−m
m = −∞
e a tgurquvc"go"htgs°ípekc"como
( ) = ∑ j[m ]g
J g
lΩ
∞
− l Ωm
.
m = −∞
ƒ
Vimos também que para uma entrada
z[p] =
∑c g
m = P0
⎛ 2π
lm ⎜⎜
⎝ P0
⎞
⎟p
⎟
⎠
m
a resposta de um sistema LIT é dada por:
{[p] =
∑
m = P0
⎛ l P2π m ⎞ lm ⎛⎜⎜ P2π ⎞⎟⎟ p
cm J ⎜ g 0 ⎟ g ⎝ 0 ⎠ ,
⎜
⎟
⎝
⎠
ou seja, os coeficientes da série de Fourier do sinal de entrada ficam multiplicados pela resposta em freqüência do sistema.
ƒ
O comando freqz do Matlab pode ser utilizado para se obter a resposta em freqüência de
um dado sistema definido pela equação de diferenças:
a 1 y[n] + a 2 y[n - 1] + … + a N +1 y[n - N ] = b1 x[n] + b 2 x[n - 1] + ... + b O +1 x[n - M] .
Definindo os vetores B=[b1 b2 ... bM+1] e A=[a1 a2 ... aN+1] da mesma forma como foi feito para o comando filter, o comando
>>[H,W] = freqz(B,A,N);
1
Processamento Digital de Sinais – Aula 14P – Professor Marcio Eisencraft – setembro 2007
retorna N pontos da resposta em freqüência do filtro no intervalo [0, π ] .
Para obtermos um gráfico do módulo desta resposta, por exemplo, podemos fazer:
>> plot(W,abs(H));
É comum utilizar-se
>> plot(W/pi,abs(H));
para que o gráfico fique mais fácil de ser lido (normalizado com relação a π ).
Exercícios
1. Considere o seguinte sistema de tempo discreto conhecido como fkhgtgpekcfqt de 1ª ordem:
{[p] =
1
(z[p] − z[p − 1]) .
2
Para este sistema, pede-se:
(a) a resposta impulsiva j[p] ;
(b) a função de sistema J ( | ) .
( )
(c) a resposta em freqüência J g lΩ .
( )
(d) faça um gráfico do módulo e da fase de J g lΩ para − π ≤ Ω ≤ π .
2
Processamento Digital de Sinais – Aula 14P – Professor Marcio Eisencraft – setembro 2007
(e) este filtro é passa-altas ou passa-baixas?
(f) utilizando o comando freqz faça um gráfico no Matlab do módulo da resposta em freqüência deste filtro e compare com o resultado do item (a).
2. A seguinte equação de diferenças representa um filtro IIR passa-baixas do tipo chamado
Filtro de Chebyshev:
{[p] − 0,7820 {[p − 1] + 1,2872 {[p − 2] − 0,7822 {[p − 3] + 0,4297 {[p − 4] − 0,1234 {[p − 5] = 0,032 z[p] +
+ 0,1608 z[p − 1] + 0,3217 z[p − 2] + 0,3217 z[p − 3] + 0,1683z[p − 4] + 0,03217 z[p − 5]
Para este filtro pede-se:
( )
(a) Obtenha no Matlab o módulo da resposta em freqüência J g lω deste filtro.
(b) Qual a sua freqüência de corte? Ou seja, a partir de qual freqüência a resposta em freqüência deste filtro cai abruptamente?
(c) Digite e execute o seguinte uetkrv. Explique os gráficos obtidos e os sons ouvidos.
%Exemplo de Filtro Passa-Baixas Chebyshev
fa = 2000;
%frequencia de amostragem
n = 0:3*fa-1;
%numero de pontos = senoides vao tocar por 3 segundos
f1 = 200;
%frequencia do Tom 1
f2 = 800;
%frequencia do Tom 2
x1 = sin(2*pi*f1*n/fa); % Amostragem - x1[n] = sin(0.2*pi*n);
x2 = sin(2*pi*f2*n/fa); % Amostragem - x2[n] = sin(0.8*pi*n);
%Coeficientes do filtro
B = [0.0322
0.1608
A = [1.0000 -0.7820
0.3217
0.3217
1.2872 -0.7822
0.1608
0.0322];
0.4297 -0.1234];
3
Processamento Digital de Sinais – Aula 14P – Professor Marcio Eisencraft – setembro 2007
y1 = filter(B,A,x1);
%Filtragem
y2 = filter(B,A,x2);
%Filtragem
% Ouvindo os sinais - O seguinte comando gera nos autofalantes os sinais x1 e x2 seguido de 0.5 segundo de silencio e a seguir o sinal y1 % e
y2 - saidas do filtro
sound([x1 zeros(1,0.5*fa-1) y1 zeros(1,0.5*fa-1)],fa);
sound([x2 zeros(1,0.5*fa-1) y2],fa);
%Graficos
figure(1); title('Senoide de 200Hz)');
subplot(211); plot(0:100,x1(1:101)); ylabel('x_1[n]');%Sinal de entrada
subplot(212); plot(0:100,y1(1:101)); ylabel('y_1[n]');%Sinal de saida
figure(2); title('Senoide de 800Hz)');
subplot(211); plot(0:100,x2(1:101)); ylabel('x_2[n]');%Sinal de entrada
subplot(212); plot(0:100,y2(1:101)); ylabel('y_2[n]');%Sinal de saida
4
%
Download

Processamento Digital de Sinais