Você está na página 1de 7

Introducao ao Processamento Digital de Sinais

Solucoes dos Exerccios Propostos Captulo 6

Jose Alexandre Nalon

1. Dadas as sequencias x[n] abaixo com seus respectivos comprimentos, encontre as transformadas discretas de Fourier:

a) x[n] = n, para 0 n < 4 Solucao:

Solucao: X[0] = 1

X[0] = 6 X[1] = 1 2, 3660j

X[1] = 2 + 2j X[2] = 1 0, 6340j

X[2] = 2 X[3] = 1
X[3] = 2 2j X[4] = 1 + 0, 6340j
X[5] = 1 + 2, 3660j
b) x[n] = n, para 0 n < 6
f) x[n] = sen 6 n, para 0 n < 6
Solucao:
Solucao:
X[0] = 15
X[0] = 3, 7321
X[1] = 3 + 5, 1962j
X[2] = 3 + 1, 7321j X[1] = 1, 3660
X[3] = 3 X[2] = 0, 3660
X[4] = 3 1, 7321j X[3] = 0, 2679
X[5] = 3 5, 1962j X[4] = 0, 3660
X[5] = 1, 3660
sen n/4
c) x[n] = 4 , para 0 n < 4  
n g) x[n] = cos n+ , para 0 n < 6
6 4
Solucao:
Solucao:
X[0] = 2, 8370
X[0] = 1, 9319
X[1] = 0, 3634 0, 6002j
X[2] = 0, 4362 X[1] = 1, 6730 1, 6730j
x[3] = 0, 3634 + 0, 6002j X[2] = 0, 9659 0, 4483j
( X[3] = 0, 8966
1, se 0 n < 4 X[4] = 0, 9659 + 0, 4483j
d) x[n] = para 0 n < 8.
0, se 4 n < 8 X[5] = 1, 6730 + 1, 6730j

Solucao: 1
h) x[n] = , para 0 n < N
X[0] = 4
2n
Solucao:
X[1] = 1 2, 4142j
X[2] = 0 1 2N
X[k] =
1
X[3] = 1 0, 4142j 1 ej2k/N
2
X[4] = 0
X[5] = 1 + 0, 4142j i) x[n] = 2n , para 0 n < N .
X[6] = 0
Solucao:
X[7] = 1 + 2, 4142j
1 2N
X[k] =
e) x[n] = cos 1 2ej2k/N
6 n, para 0 n < 6

1
2

2. Calcule a convolucao circular entre as sequencias x[n] e h[n]. Se as sequencias nao tiverem o mesmo numero de
amostras, estenda a de menor comprimento para que a operacao possa ser realizada.

a) x[n] = [n] + 2[n 1] + [n 2] + [n 3]


h[n] = [n] [n 1] + [n 4] + [n 5]
Solucao: Podemos obter a convolucao circular a partir da convolucao linear. A convolucao de x[n] e h[n] dados neste
exerccio e:
x[n] h[n] = [n] + [n 1] [n 2] + 3[n 5] + 3[n 6] + 2[n 7] + [n 8]
Como a maior sequencia contem 6 amostras, no intervalo 0 n < 5, obtemos a convolucao circular somando o resultado da
convolucao linear nesse intervalo com o resultado no intervalo 5 n < 10. Assim,
y[n] = 4[n] + 3[n 1] + 3[n 5]

Os exerccios seguintes sao realizados segundo a mesma tecnica.

b) x[n] = en u[n], para Nx = 8


h[n] = en u[n], para Nh = 4
Solucao:
y[n] = 1, 0010[n]+0, 7360[n1]+0, 4061[n2]+0, 1991[n3]+0, 0733[n4]+0, 0270[n5]+0, 0099[n6]+0, 0036[n7]

1
c) x[n] = , para 0 n < 4
2n
h[n] = [n] [n 1], para 0 n < 4
Solucao:
y[n] = 0, 875[n] 0, 5[n 1] 0, 25[n 2] 0, 1250[n 3]

d) x[n] = [n] + 21 [n 1] + 41 [n 2] + 81 [n 3]
h[n] = [n] + 0, 5[n 1] 0, 5[n 2]
Solucao:
y[n] = 0, 9375[n] + 0, 9375[n 1]

e) x[n] = u[n] u[n 4], para 0 n < 8



h[n] = cos n , para 0 n < 8
4
Solucao:
y[n] = [n] + 2, 4142[n 1] + 2, 4142[n 2] + [n 3] [n 4] 2, 4142[n 5] 2, 4142[n 6] [n 7]

1
f) x[n] = (u[n] u[n 2] + u[n 6]), para 0 n < 8
2
h[n] = [n] + [n 1] + [n 6] + [n 7], para 0 n < 8
Solucao:
y[n] = 1, 5[n] + [n 1] + 0, 5[n 2] + 0, 5[n 4] + [n 5] + 1, 5[n 6] + 2[n 7]

3. Repita o exerccio anterior, mas agora calculando a convolucao circular a partir da DFT. Utilize para cada item o
comprimento necessario.
Solucao: As respostas de cada item deste exerccio sao as mesmas do exerccio anterior. Os resultados sao obtidos calculando
as DFTs de cada sequencia, multiplicando coeficiente a coeficiente, e obtendo a DFT inversa do resultado da multiplcacao.

4. Repita mais uma vez o exerccio, mas agora calculando a convolucao linear entre as sequencias, e nao sua convolucao
circular. Realize o calculo:
a) Extendendo as sequencias ate o numero de amostras necessarias para que nao haja superposicao das amostras no
domnio do tempo.

a) x[n] = [n] + 2[n 1] + [n 2] + [n 3]


h[n] = [n] [n 1] + [n 4] + [n 5]

Jose Alexandre Nalon Processamento Digital de Sinais


3

Solucao: Para a resolucao deste item, ambas as sequencias sao estendidas ate o comprimento dado por Nx + Nh 1 (neste
caso, 9 amostras). As DFTs sao computadas e multiplicadas, e o resultado e obtido pela transformada inversa. Para este
item, a resposta e:
y[n] = [n] + [n 1] [n 2] + 3[n 5] + 3[n 6] + 2[n 7] + [n 8]

Os itens seguintes sao computados de maneira semelhante.

b) x[n] = en u[n], para Nx = 8


h[n] = en u[n], para Nh = 4
Solucao:
y[n] = [n] + 0, 7358[n 1] + 0, 4060[n 2] + 0, 1991[n 3] + 0, 0733[n 4] + 0, 0270[n 5]
+0, 0099[n 6] + 0, 0036[n 7] + 0, 0010[n 8] + 0, 0002[n 9]
1
c) x[n] = , para 0 n < 4
2n
h[n] = [n] [n 1], para 0 n < 4
Solucao:
y[n] = [n] 0, 5[n 1] 0, 25[n 2] 0, 125[n 3] 0, 125[n 4]

d) x[n] = [n] + 21 [n 1] + 41 [n 2] + 18 [n 3]
h[n] = [n] + 0, 5[n 1] 0, 5[n 2]
Solucao:
y[n] = [n] + [n 1] 0, 0625[n 4] 0, 0625[n 5]

e) x[n] = u[n] u[n 4], para 0 n < 8



h[n] = cos n , para 0 n < 8
4
Solucao:
y[n] = [n] + 1, 7071[n 1] + 1, 7071[n 2] + [n 3] [n 4] 2, 4142[n 5] 2, 4142[n 6]
[n 7] + 0, 7071[n 9] + 0, 7071[n 10]
1
f) x[n] = (u[n] u[n 2] + u[n 6]), para 0 n < 8
2
h[n] = [n] + [n 1] + [n 6] + [n 7], para 0 n < 8
Solucao:
y[n] = +0, 5[n] + [n 1] + 0, 5[n 2] + [n 6] + 2[n 7] + [n 8] + 0, 5[n 12] + [n 13] + 0, 5[n 14]

b) Utilizando o metodo de sobrepor e adicionar.


Solucao: As respostas para esse item do exerccio sao identicas aos do item anterior, apenas o metodo de resolucao e
diferente. Para exemplificar, vamos utilizar o item b). Utilizamos N = 4, mas a resolucao seria bastante semelhante caso
esse valor fosse diferente. Separamos a sequencia x[n] em duas sequencias, dadas por
x0 [n] = [n] + 0, 3679[n 1] + 0, 1353[n 2] + 0, 0498[n 3]
e
x1 [n] = 0, 0183[n 4] + 0, 0067[n 5] + 0, 0025[n 6] + 0, 0009[n 7]
Estendemos ambas as sequencias ate 7 amostras, para realizar a convolucao com a sequencia h[n] (atraves da DFT), e
obtemos
y0 [n] = [n] + 0, 7358[n 1] + 0, 4060[n 2] + 0, 1991[n 3] + 0, 0549[n 4] + 0, 0135[n 5] + 0, 0025[n 6]
e
y1 [n] = 0, 0183[n 4] + 0, 0135[n 5] + 0, 0074[n 2] + 0, 0036[n 6] + 0, 0010[n 7] + 0, 0002[n 8]

O resultado obtido e a convolucao entre as duas sequencias. Os outros exerccios sao resolvidos de maneira semelhante.

c) Utilizando o metodo de sobrepor e salvar.


Solucao: Assim como no item anterior, as respostas sao identicas, apenas o metodo de resolucao e diferente. Vamos
considerar o mesmo exemplo, novamente com Nx = 6 e Nh = 4, o que significa um espacamento de Ny = 3 amostras entre
cada bloco. Isso significa que apenas as tres ultimas amostras da convolucao circular sao validas. Assim, temos
x0 [n] = [n] + 0, 3679[n 1] + 0, 1353[n 2] + 0, 0498[n 3] + 0, 0183[n 4] + 0, 0067[n 5]
x1 [n] = 0, 0498[n 3] + 0, 0183[n 4] + 0, 0067[n 5] + 0, 0025[n 6] + 0, 0009[n 7]
x2 [n] = 0, 0067[n 5] + 0, 0025[n 6] + 0, 0009[n 7]

Processamento Digital de Sinais Jose Alexandre Nalon


4

e
x3 [n] = 0, 0009[n 7]
As convolucoes circulares sao calculadas atraves das DFTs, lembrando que todas as sequencias devem ser estendidas para 6
amostras, atraves do preenchimento com zeros. Os resultados obtidos sao, respectivamente,
y0 [n] = 1, 0074[n] + 0, 7376[n 1] + 0, 4063[n 2] + 0, 1991[n 3] + 0, 0733[n 4] + 0, 0270[n 5]
y1 [n] = 0, 0500[n 3] + 0, 0367[n 3] + 0, 0202[n 4] + 0, 0099[n 5] + 0, 0036[n 6] + 0, 0010[n 7]
y2 [n] = 0, 0067[n 5] + 0, 0050[n 6] + 0, 0027[n 7] + 0, 0010[n 8] + 0, 0002[n 9] + 0, 0000[n 10]
e
y3 [n] = 0, 0009[n 8] + 0, 0003[n 9] + 0, 0001[n 10] + 0, 0000[n 11] + 0, 0000[n 12] 0, 0000[n 13]
O resultado final pode ser obtido selecionando as tres ultimas amostras de cada uma das sequencias resultantes. Note que
aqui, representamos as amostras com amplitude nula, para que nao consideremos resultados que nao sao relevantes. Note
tambem que as primeiras amotras do resultado final estao erradas, mas elas podem ser obtidas fazendo o preenchimento por
zeros a esquerda e repetindo o procedimento, ou seja,
x1 [n] = [n] + 0, 3679[n 2] + 0, 1353[n 3]
e
y1 [n] = 0, 1494[n + 3] + 0, 0366[n + 2] + 0, 0067[n + 1] + [n] + 0, 7358[n 2] + 0, 4060[n 3]

5. Seja x[n] = [n] 3[n 1] + 2[n 2] [n 3] uma sequencia de comprimento N = 4. Encontre a sequencia y[n]
tal que Y [k] = {X[k]}. Repita o procedimento para N = 6.
Solucao: A transformada discreta de x[n] e dada por
X[0] = 1
X[1] = 1 + 2j
X[2] = 7
X[3] = 1 2j
Deseja-se que Y [k] = Re {X[k]}. Assim, e possvel formar Y [k] fazendo
Y [0] = 1
Y [1] = 1
Y [2] = 7
Y [3] = 1
Com a transformada inversa,
y[n] = [n] 2[n 1] + 2[n 2] 2[n 3]
Para N = 6, estendemos x[n] com zeros, e, pelo mesmo raciocno, temos
y[n] = [n] 1, 5[n 1] + [n 2] [n 3] + [n 4] 1, 5[n 5]

6. Seja uma sequencia x[n] de N amostras que tem a seguinte propriedade:


 
N
x[n] = x n +
2

Mostre que os coeficientes mpares da transformada sao nulos, ou seja, X[k] = 0, se k e mpar.
Solucao: A demonstracao dessa propriedade difere se N e par ou mpar. No entanto, o raciocnio e basicamente o mesmo.
Mostramos aqui a resolucao para quando N e par. A definicao da DFT e
N1
X
X[k] = x[n]ej0 kn
n=0

Podemos dividir essa soma em duas partes


N/21 N1
X X
X[k] = x[n]ej0 kn + x[n]ej0 kn
n=0 n=N/2

Com uma mudanca de variavel no segundo somatorio, chegamos a


N/21 N/21
X X
X[k] = x[n]ej0 kn + x[n]ej0 k(n+N/2)
n=0 n=0

Jose Alexandre Nalon Processamento Digital de Sinais


5

e assim

N/21  
X
X[k] = x[n] + ej0 kN/2x[n] ej0 kn
n=0
N/21  
X
= 1 + ej0 kN/2 x[n]ej0 k(n+N/2)
n=0

Como 0 = 2/N ,
N/21  
X
X[k] = 1 + ejk x[n]ej0 k(n+N/2)
n=0

Quando k e mpar, ejk = 1, e portanto o resultado do somatorio e nulo.

7. Seja uma sequencia x[n] de N amostras que tem a seguinte propriedade:


 
N
x[n] = x n +
2

Mostre que os coeficientes pares da transformada sao nulos, ou seja, X[k] = 0, se k e par.
Solucao: A demonstracao dessa propriedade segue virtualmente os mesmos passos que a do exerccio anterior. A diferenca e
que o termo entre parenteses nao e uma soma, e sim uma subtracao, o que faz com que coeficientes pares sejam anulados.

8. Seja x[n] um sinal finito cuja energia e Ex , e y[n] a resposta de um sistema linear e invariante com o tempo se a
entrada e x[n]. Considere a resposta ao impulso do sistema como sendo h[n]. Demonstre que a energia Ey do sinal de
sada e
N
X 1
Ey = Ex |H[k]|2
k=0

Solucao: Esse resultado pode ser obtido diretamente pelo teorema de Parseval.

9. Encontre a matriz que e o nucleo da transformada de Fourier de uma sequencia de 6 amostras, e o nucleo da
transformada inversa. Utilize as matrizes para calcular as transformadas discretas de Fourier das sequencias abaixo,
considerando N = 6:
Solucao: O nucleo da transformada e dado por

1 1 1 1 1 1
1 0, 5 0, 866j 0, 5 0, 866j 1 0, 5 + 0, 866j 0, 5 + 0, 866j



1 0, 5 0, 866j 0, 5 + 0, 866j 1 0, 5 0, 866j 0, 5 + 0, 866j
F=


1 1 1 1 1 1

1 0, 5 + 0, 866j 0, 5 0, 866j 1 0, 5 + 0, 866j 0, 5 0, 866j

1 0, 5 + 0, 866j 0, 5 + 0, 866j 1 0, 5 0, 866j 0, 5 0, 866j

a) x[n] = [n] + [n 1] + [n 4] + [n 5] b) x[n] = n


Solucao: Solucao:

4 15
1, 5 + 0, 866j 3 + 5, 1962j



0, 5 0, 866j 3 + 1, 7321j
X= X=



0


3

0, 5 + 0, 866j 3 1, 7321j


1, 5 0, 866j 3 5, 1962j

Processamento Digital de Sinais Jose Alexandre Nalon


6

   
c) x[n] = sen n d) x[n] = sen n
6 3
Solucao: Solucao:


3, 7321 0
1, 366 3j



0, 366 0
X= X=



0, 2679

0

0, 366 0


1, 366 3j

10. Mostre que a convolucao circular entre duas sequencias pode ser escrita na forma vetorial, y = hx, se definirmos
h como

h[0] h[N 1] h[N 2] h[1]


h[1] h[0] h[N 1] h[2]

h[2] h[1] h[0] h[3]


h= .. .. .. .. ..
. . . . .



h[N 2] h[N 3] h[N 3] h[N 1]

h[N 1] h[N 2] h[N 3] h[0]

Este tipo de matriz e chamado matriz circulante, pelas suas caractersticas periodicas. Investigue as suas propriedades.
Solucao: Para um n qualquer entre 0 e N , o resultado da convolucao circular pode ser escrito assim:

N1
X
y[n] = x[m]h[n m]
m=0
n
X N1
X
= x[m]h[n m] + x[m]h[n m]
m=0 m=n+1

O segundo somatorio representa amostras de h[n] fora do intervalo 0 n < N . Como a convolucao circular pressupoe a
extensao periodica das sequencias, o segundo somatorio pode ser escrito, resultando em
n
X N1
X
y[n] = x[m]h[n m] + x[m]h[n m + N ]
m=0 m=n+1

Assim, a n-esima linha da matriz que representa a aplicacao do filtro h[n] e dada por
(
h[n m], se m n
hnm =
h[n m + N ], se n + 1 m < N

11. Sejam as sequencias abaixo todas com comprimento N = 8. Calcule as transformadas de Fourier atraves do
algoritmo rapido, utilizando a decimacao no tempo ou decimacao em frequencia:
 
a) x[n] = u[n] u[n 4] b) x[n] = cos n
4
Solucao:
Solucao:
X[0] = 4
X[0] = 0
X[1] = 1 2, 4142j
X[1] = 4
X[2] = 0
X[2] = 0
X[3] = 1 0, 4142j
X[3] = 0
X[4] = 0
X[4] = 0
X[5] = 1 + 0, 4142j
X[5] = 0
X[6] = 0
X[6] = 0
X[7] = 1 + 2, 4142j
X[7] = 4

Jose Alexandre Nalon Processamento Digital de Sinais


7

1 X[3] = 0, 7905 0, 1508j


c) x[n] =
2n X[4] = 0, 7407
Solucao: X[5] = 0, 7905 + 0, 1508j
X[0] = 1, 9922 X[6] = 0, 8889 + 0, 2963j
X[1] = 1, 1861 0, 6487j X[7] = 1, 2095 + 0, 3730j
X[2] = 0, 7969 0, 3984j
1
X[3] = 0, 6889 0, 1799j e) x[n] =
4|n4|
X[4] = 0, 6641
X[5] = 0, 6889 + 0, 1799j Solucao:
X[6] = 0, 7969 + 0, 3984j X[0] = 1, 6602
X[7] = 1, 1861 + 0, 6487j
X[1] = 1, 3276
1 X[2] = 0, 8789
d) x[n] = n (u[n] u[n 4])
3 X[3] = 0, 6646
Solucao: X[4] = 0, 5977
X[0] = 1, 4815 X[5] = 0, 6646

X[1] = 1, 2095 0, 3730j X[6] = 0, 8789


X[2] = 0, 8889 0, 2963j X[7] = 1, 3276

12. Deve-se calcular a transformada discreta de Fourier de uma sequencia de 512 amostras. Encontre o numero
de operacoes complexas (multiplicacoes e adicoes) e de operacoes reais que devem ser realizadas caso o calculo seja
feito segundo a definicao e utilizando um algoritmo rapido. Suponha que uma adicao real e feita em 0, 5s e uma
multiplicacao real e feita em 1s. Qual o ganho de tempo no uso da transformada rapida? Repita o procedimento para
uma transformada de 4096 amostras.
Solucao: O numero de multiplicacoes e adicoes complexas pode ser encontrado inspecionando em detalhes o algoritmo. No
calculo direto, o comando nos lacos do Algoritmo 6.1 e executado N 2 vezes, e contem uma adicao complexa e uma multiplicacao
complexa. Como uma adicao complexa corresponde a duas adicoes reais e uma multiplicacao complexa a duas adicoes e quatro
multiplicacoes reais, cada atualizacao de um coeficiente corresponde a quatro adicoes e quatro multiplicacoes reais. Portanto,
para N = 512, temos 1048576 adicoes e multiplicacoes. Com os tempos dados no enunciado do problema, uma DFT direta
de 512 amostras levaria 1,572864 spara ser completada. Pelo mesmo raciocnio, uma DFT direta de 4096 amostras levaria
100,663296 spara ser completada.
No caso da transformada rapida pela decimacao no tempo, a atualizacao de um coeficiente e executada N log2 N vezes, tambem
correspondendo a uma soma e um produto complexos, e portanto, 4 adicoes e multiplicacoes reais. Assim, uma FFT de 512
amostras seria completada em 0,027648 s, o que corresponde a pouco menos de 1,76% do tempo original. Para uma FFT de
4096 amostras, o tempo para o calculo e de 0,294912 s, o que corresponde a apenas 0,3% do tempo original.

13. Seria possvel desenvolver um algoritmo rapido para a transformada de Fourier caso o numero de amostras N seja
uma potencia de 3, ou seja, N = 3r ? Se sua resposta e negativa, justifique. Caso contrario, desenvolva o algoritmo.
Solucao: O algoritmo da FFT e baseado nas caractersticas de periodicidade da exponencial complexa, que independe do
intervalo em que o perodo e dividido. Assim, um raciocnio muito semelhante ao realizado na Secao 6.4 pode ser executado,
mas como e relativamente complexo, e deixado como exerccio para o leitor. Particularmente, um algoritmo rapido baseado
em r = 3 teria como complexidade N log3 N . O mesmo seria valido para r = 5, 7, 11 ou qualquer outro fator primo.

14. Uma sequencia de N amostras e convoluda com uma sequencia de M amostras utilizando o metodo de sobrepor e
adicionar. Considere N > M . Quantas DFTs devem ser calculadas para que a operacao seja realizada? E se o metodo
utilizado fosse o de sobrepor e salvar?
Solucao: Pelo metodo sobrepor e adicionar, a sequencia resultante e obtida em blocos de tamanho Nx + Nh 1, espacados
Nx amostras entre eles. Isso significa que um bloco e formado a cada Nx amostras e, como Nh = M , a sequencia resultante
da convolucao tem comprimento N + M 1, a quantidade de blocos e dada por (N + M 1)/Nx (ou seja, arredondado para
cima).
Por outro lado, o metodo sobrepor e salvar propoe que a sequencia resultante seja obtida em blocos de tamanho Nx Nh + 1.
Pelo mesmo raciocnio, a quantidade de blocos e dada por (N + M 1)/(Nx Nh + 1), eventualmente, com um bloco a mais
para a obtencao das primeiras amostras do resultado. E interessante notar que, supondo Nx > Nh , isso resulta em um numero
maior de blocos e, portanto, de DFTs a serem executadas.
Compare esses resultados com os obtidos no Exerccio 4.

Processamento Digital de Sinais Jose Alexandre Nalon