Vous êtes sur la page 1sur 44

Processamento Digital de Sinais

texto de suporte para aulas


Instituto Federal de Educação, Ciência e Tecnologia - SP
Ricardo Pires - área de Eletrônica
9 de Fevereiro de 2011

Conteúdo
1 Introdução 1

2 Sinais de Tempo Discreto 3


2.1 Sequências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Operações Básicas sobre Sequências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Sequências Básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Impulso de Tempo Discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.2 Degrau Unitário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.3 Sequência Exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.4 Sequência Senoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.5 Sequência Exponencial Complexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Amostragem de Sinais de Tempo Contínuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Sistemas de Tempo Discreto 18


3.1 Sistemas com Memória x Sistemas sem Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Sistemas Lineares x Sistemas Não Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo . . . . . . . . . . . . . . . . . . . 22
3.4 Sistemas Causais x Sistemas Não Causais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Estabilidade de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Sistemas Lineares e Invariantes no Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.1 Estabilidade de Sistemas LIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.2 Causalidade de Sistemas LIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7 Equações de Diferenças Lineares a Coeficientes Constantes . . . . . . . . . . . . . . . . . . . . . . 29
3.8 Representação no Domínio da Frequência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.9 Representação de Sequências por Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . 33
3.10 Transformada de Fourier Discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4 Transformada Z 38
4.1 Transformada Z e Equações de Diferenças . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Cálculo de Resposta em Frequência Usando a Transformada Z . . . . . . . . . . . . . . . . . . . . 41

1 Introdução
Este é um texto de suporte para aulas de Processamento Digital de Sinais. Como tal, ele não dispensa o estudo
em livros especializados, dentre os quais se destaca [1].
Supõe-se que, durante as aulas, problemas serão resolvidos com auxílio do software Octave [2].

1
Ricardo Pires - Processamento Digital de Sinais 2

Um sinal é uma grandeza (por exemplo, tensão elétrica) variando no tempo e que carrega uma informação.
Portanto, a tensão elétrica da tomada não é um sinal, enquanto uma onda transmitida por uma emissora de
rádio é um sinal. A informação carregada pode ser voz, música, o resultado de uma medição (de distância, de
velocidade...), imagem etc.
O processamento de sinais consiste na representação, na transformação e na manipulação dos sinais e da
informação que eles contêm. Exemplos: retirada de ruído de som, compactação de som ou de imagem. Uma
classe importante de aplicações do Processamento Digital de Sinais é a da interpretação de sinais, a qual
consiste na extração de informações do sinal sendo processado. Exemplos: num sinal de voz, identificação da
pessoa que falou ou do que ela falou. Em sinais de origem geológica: identificação de minérios presentes no local
de origem dos sinais.
Antes dos anos 1960, o processamento de sinais era feito, quase sempre, em tempo contínuo, por meio de
circuitos eletrônicos analógicos. O avanço da tecnologia digital, principalmente no aumento da velocidade dos
circuitos digitais e em sua miniaturização, fez com que o processamento de sinais tivesse gradualmente suas
implementações migrando da forma analógica para a digital.
Normalmente, sinais manipulados na forma digital têm origem analógica. O circuito digital que faz esta
manipulação requer uma sequência de números codificados em binário obtida a partir do sinal analógico original.
Esta sequência é obtida por amostragem periódica do sinal analógico. O resultado da amostragem é uma
sequência de valores que buscam registrar valores lidos do sinal analógico em determinados instantes, havendo
um certo intervalo entre eles. Neste processo, a princípio, perde-se a informação sobre os valores que estavam
no intervalo entre as amostras colhidas.
Como o processamento digital é realizado apenas sobre amostras colhidas em determinados instantes (não
continuamente), diz-se que este processamento é de tempo discreto, por oposição ao processamento analógico,
o qual é de tempo contínuo. Mas, o processamento em tempo discreto não é necessariamente digital. Há
processamento em tempo discreto usando-se outras tecnologias, como a de capacitores chaveados.
Dentre as razões para a gradual substituição de implementações analógicas por implementações digitais para
o processamento de sinais, estão a maior flexibilidade das implementações digitais e sua maior precisão.
A maior flexibilidade da implementação digital reside no fato de que o processamento de um sinal, normal-
mente, consiste na realização de cálculos usando-se os valores que ele sucessivamente assume. Uma implemen-
tação analógica, usando resistores, indutores, capacitores e amplificadores, realiza “cálculos” sobre o sinal na
forma de equações diferenciais. A forma da equação diferencial implementada depende dos parâmetros dos com-
ponentes do circuito (resistências, indutâncias, capacitâncias, ganhos), do número de componentes de cada tipo
e da forma pela qual eles são interconectados. Assim, só é realizável analogicamente um cálculo que possa ser
expresso como uma equação diferencial e para o qual se conheça uma configuração de circuito correspondente.
Por outro lado, a implementação digital consiste na realização de cálculos usando-se, como entrada, a sequência
de amostras coletadas. Cada amostra está codificada como número em binário. Os cálculos possíveis, neste
caso, são quaisquer cálculos realizáveis por unidades aritméticas digitais: adições, subtrações, multiplicações,
divisões, operações não-lineares e quaisquer combinações destas, em quaisquer ordens. Equações diferenciais
também podem ser aproximadas numericamente por cálculos na forma digital. Desta forma, uma implemen-
tação digital pode substituir uma implementação analógica, desde que a velocidade exigida para os cálculos
esteja dentro do limite de funcionamento da tecnologia digital disponível. Por outro lado, muitas sequências de
cálculos possíveis na forma digital não têm equivalentes na forma analógica.
Quanto à precisão, uma implementação analógica sofre os efeitos de desvios nos parâmetros de seus com-
ponentes (resistências, capacitâncias...) em relação aos valores desejados. Uma implementação digital tem a
precisão de seus cálculos dependente, sobretudo, do número de bits com que é representada cada amostra e cada
resultado intermediário de cálculo. Quanto maior for este número de bits, maior a precisão (maior resolução). E
não há limite teórico para este número de bits. Só há limite de custo da implementação, de seu tamanho físico
e da energia consumida em seu funcionamento. Portanto, quanto à precisão, a implementação digital também
é vantajosa. Basta que se use um número suficiente de bits para se representar cada número usado nos cálculos
com a precisão desejada.
As principais formas de implementação de sistemas de processamento digital de sinais são:

• computador de uso genérico;

• circuito integrado (chip) programável genérico (microprocessador ou microcontrolador);


Ricardo Pires - Processamento Digital de Sinais 3

• chip programável especial para processamento digital de sinais [3];


• chip configurável do tipo FPGA;

• circuito integrado de aplicação específica.

2 Sinais de Tempo Discreto


Conforme visto na introdução, um sinal é uma função que carrega informação. Na maioria dos casos, é uma
grandeza física cujo valor é função do tempo. Um sinal de tempo contínuo é definido para um intervalo contínuo
de valores de tempo. Usualmente, é chamado de sinal analógico. Um sinal de tempo discreto só é definido para
determinados instantes, com intervalos entre eles. Assim, eles consistem em sequências de números.
A mesma idéia de continuidade se aplica aos valores assumidos pelo sinal. Um sinal pode assumir valores
contínuos, como ocorre nos sistemas analógicos, ou pode assumir apenas determinados valores, como ocorre
em sistemas digitais. Neste caso, a limitação de valores se deve ao fato de que, representando-se números em
binário com número limitado de bits, somente um número finito de valores é representável.

2.1 Sequências
Sinais de tempo discreto são sequências de números. Uma certa sequência x tem, convencionalmente, cada um
de seus valores particulares denotado como x[n], em que o n entre colchetes indica a qual valor particular dentro
da sequência se está fazendo referência. Por exemplo, x[15] refere-se ao elemento número 15 da sequência x.
Como n é o número de um elemento na sequência, ou seja, n serve para indicar a posição do elemento em relação
aos demais (se é o quinto, o décimo etc.), n é sempre inteiro.
Normalmente, uma sequência é originada da amostragem periódica de um sinal analógico xa (t). Neste caso,

x[n] = xa (nTa ) (1)


em que Ta , intervalo entre a coleta de duas amostras seguidas, é chamado período de amostragem. Seu inverso,
fa , é a frequência de amostragem.
Embora x[n] se refira a um elemento particular de uma sequência, a notação x[n] também é usada para se
referir à sequência completa, quando não houver ambiguidade.
O gráfico de uma função de domínio contínuo y = f (x) deve usar uma linha contínua para expressar
visualmente a dependência entre x e y, conforme a figura 1.
Por outro lado, o gráfico de uma função de domínio discreto y = f [n] deve deixar claro que a função só é
definida para certos valores (aqueles que pertencem ao seu domínio) e indefinida entre estes valores, conforme
a figura 2.

No software Octave, uma sequência é definida como:

octave > x = [11 22 33 44]


em que, aqui, definiu-se uma sequência x que possui 4 amostras. Deve-se sempre lembrar
que, no Octave, a primeira amostra de uma sequência está sempre na posição 1. Assim, neste
exemplo, x[1] = 11, x[2] = 22 etc.

2.2 Operações Básicas sobre Sequências


A soma de duas sequências a[n] e b[n], por definição, gera uma nova sequência s[n] tal que, para qualquer n = i,
s[i] = a[i]+b[i]. A tabela 1 dá exemplos de valores de uma sequência a[n], uma sequência b[n] e a correspondente
sequência s[n] = a[n] + b[n].
Ricardo Pires - Processamento Digital de Sinais 4

Figura 1: Gráfico de uma função de domínio contínuo

n a[n] b[n] s[n] = a[n] + b[n]


0 2 1 3
1 -1 6 5
2 10 -3 7
3 -3 -9 -12
4 2,5 7 9,5

Tabela 1: Soma de sequências

De maneira similar, o produto de duas sequências a[n] e b[n], por definição, gera uma nova sequência s[n]
tal que, para qualquer n = i, s[i] = a[i] · b[i]. A tabela 2 dá exemplos de valores de uma sequência a[n], uma
sequência b[n] e a correspondente sequência s[n] = a[n] · b[n].

O produto de uma sequência a[n] por uma constante α gera uma sequência s[n] tal que, para qualquer n = i,
s[i] = αa[i]. A tabela 3 dá exemplos de valores de uma sequência a[n] e a correspondente sequência s[n] = αa[n],
para α = 3.

Exercício 1
Para as sequências a[n] e b[n] das tabelas anteriores, qual seria a sequência resultante de y[n] = 2a[n] + 3b[n]?

Uma sequência y[n] é chamada de versão atrasada de uma sequência x[n] se a relação entre os valores delas
for do tipo y[n] = x[n − n0 ], em que n0 é um inteiro, correspondente ao atraso de y[n] em relação a x[n]. A
tabela 4 dá exemplos de valores de uma sequência x[n] e a correspondente sequência y[n] = x[n − n0 ], para
Ricardo Pires - Processamento Digital de Sinais 5

Figura 2: Gráfico de uma função de domínio discreto

n0 = 1. Nela, o símbolo ? indica que o valor de y[n] naquele instante não pode ser determinado a partir dos
demais valores da tabela.
O interesse nestas operações básicas se justifica pelo fato de que a maioria dos algoritmos de processamento
digital de sinais consistem na realização de sequências destas operações sobre sequências de valores de entrada
(medidos ou recebidos).

2.3 Sequências Básicas


Na teoria de processamento digital de sinais, são definidas certas sequências básicas fundamentais. Elas são: o
impulso de tempo discreto, a sequência degrau unitário, a sequência exponencial e a sequência senoidal.

2.3.1 Impulso de Tempo Discreto


O impulso de tempo discreto, denotado δ[n], é definido como:

0 para n =

6 0
δ[n] = (2)
1 para n = 0
e é representado na figura 3.
Uma maneira de se ver a função impulso é a de que δ[...] só resulta 1 quando seu argumento, ou seja, o
valor dado entre colchetes, for 0. Assim, por exemplo, δ[n − 7] só resulta 1 quando n = 7 e δ[n + 2] só resulta 1
quando n = −2.

Exercício 2
Desenhe o gráfico de δ[n − 10].
Ricardo Pires - Processamento Digital de Sinais 6

No Octave, pode-se verificar uma soma de sequências como:

octave > a = [2 −1 10 −3 2.5]


octave > b = [1 6 −3 −9 7]
octave > s= a + b

Note que o separador entre a parte inteira e a parte fracionária de um número deve ser digitado
como um ponto, não como vírgula. Deve-se digitar enter ao final de cada linha. Deve-se
lembrar que, embora o cálculo tenha dado o resultado correto (verifique no computador), o
software considerou os índices das sequências fornecidas começando em 1.

n a[n] b[n] s[n] = a[n] · b[n]


0 2 1 2
1 -1 6 -6
2 10 -3 -30
3 -3 -9 27
4 2,5 7 17,5

Tabela 2: Produto de sequências

Exercício 3
Desenhe o gráfico de 7δ[n − 8].

Exercício 4
Desenhe o gráfico de 5δ[n + 1] − 3δ[n − 4].

Exercício 5
Escreva a sequência a[n] da tabela 2 como soma de impulsos.

Exercício 6
Idem para a sequência b[n] da tabela 2.

Resolvendo-se os exercícios anteriores, vê-se que qualquer sequência pode ser escrita como soma de impul-
sos. Isto é útil na construção da teoria de Processamento Digital de Sinais. Generalizando-se, portanto, uma
sequência qualquer x[n] pode ser escrita como:

X
x[n] = x[k]δ[n − k] (3)
k=−∞

2.3.2 Degrau Unitário


A sequência degrau unitário, denotada u[n], é definida como:
Ricardo Pires - Processamento Digital de Sinais 7

No Octave, cada sequência fornecida como nos exemplos anteriores é vista pelo software como
uma matriz que possui uma linha e várias colunas. Se se tentar realizar um produto destas
sequências usando-se o operador de produto *, o software indicará um erro, porque, para se
realizar um produto de duas matrizes, o número de colunas da primeira deve ser igual ao número
de linhas da segunda e cada uma de nossas sequências tem apenas uma linha e várias colunas.
O produto de sequências como definido aqui é obtido usando-se o operador .* (ponto asterisco).
Como exemplo, o produto das sequências a e b das tabelas anteriores é obtido usando-se a. ∗ b.

n a[n] s[n] = 3a[n]


0 2 6
1 -1 -3
2 10 30
3 -3 -9
4 2,5 7,5

Tabela 3: Produto de uma sequência por uma constante (neste caso, 3)

0 para n < 0

u[n] = (4)
1 para n ≥ 0
e é representada na figura 4.

Exercício 7
Desenhe o gráfico de 3u[n].

Exercício 8
Desenhe o gráfico de −2u[n − 3].

Exercício 9
Desenhe o gráfico de 3u[n] − 2u[n − 3].

Exercício 10
Desenhe o gráfico de u[−n].

Exercício 11
Desenhe o gráfico de 5u[3 − n].
Ricardo Pires - Processamento Digital de Sinais 8

Pode-se verificar o produto de uma sequência por uma constante como:

octave > a= [2 −1 10 −3 2.5]


octave > s= 3 ∗ a

n x[n] y[n] = x[n − 1]


0 2 ?
1 -1 2
2 10 -1
3 -3 10
4 2,5 -3

Tabela 4: Uma sequência y[n] atrasada de uma unidade de tempo em relação a uma sequência x[n].

Exercício 12
Desenhe o gráfico de 7u[n + 2] − 5u[3 − n].

2.3.3 Sequência Exponencial


A sequência exponencial tem a forma:

x[n] = Aαn (5)


em que A e α são constantes reais.
A figura 5 mostra o gráfico de uma sequência exponencial com A = 3, α = 0, 7 e n indo de 1 a 10.

Pode-se visualizar o gráfico da sequência exponencial da figura 5 usando-se os comandos:

octave : 1 > n = [1 : 10]


octave : 2 > A = 3
octave : 3 > alf a = 0.7
octave : 4 > seqExpo = A ∗ alf a. ∧ n
octave : 5 > stem(n, seqExpo)
octave : 6 > title(′ exponencial′ )
octave : 7 > axis([0 11 0 3])

O comando 1 gera uma sequência de 1 a 10, a qual serve como a série de instantes de amostragem
considerados. Os comandos 2 e 3 definem os valores das constantes. O comando 4 calcula os
valores da sequência exponencial. Nele, o operador .∧ gera uma sequência elevando o mesmo
valor alf a, sucessivamente, às potências de 1 a 10 contidas em n. O comando 5 gera o gráfico,
no estilo de tempo discreto. O comando 6 define um título para o gráfico. Finalmente, o
comando 7 ajusta as escalas dos eixos.

2.3.4 Sequência Senoidal


A sequência senoidal tem a forma:

x[n] = A cos(ω0 n + φ0 ) (6)


Ricardo Pires - Processamento Digital de Sinais 9

Figura 3: Gráfico da função impulso de tempo discreto

em que A, ω0 e φ0 são constantes. A é a amplitude da senoide, ω0 é sua frequência angular, medida em radianos,
e φ0 é sua fase inicial.
A figura 6 mostra o gráfico de uma sequência senoidal com A = 10, ω0 = π4 , φ0 = 0 e n indo de 1 a 20.

No Octave, a função cosseno é digitada, simplesmente, como cos. A função seno é digitada
como sin. A constante π é digitada como pi. Assim, na geração do gráfico senoidal da figura 6,
usou-se a sequência de comandos:

octave > n = [1 : 20]


octave > A = 10
octave > omega0 = pi/4
octave > phi0 = 0
octave > x = A ∗ cos(omega0 ∗ n + phi0)

além de comandos de ajuste de escala, de título e do comando stem, como no caso exponencial.

Exercício 13
Gere e visualize sequências senoidais com o Octave, variando suas amplitudes, suas frequências e suas fases
iniciais.
Ricardo Pires - Processamento Digital de Sinais 10

Figura 4: Gráfico da função degrau unitário

Exercício 14
Gere uma senoide com ω0 = 0 e uma outra com ω0 = 2π, mantendo os demais parâmetros. Compare os
resultados. Faça o mesmo com uma senoide com ω0 = π4 e uma outra com ω0 = 9π
4 . Interprete.

Pode-se ver que, em tempo discreto, a frequência ω0 = 0 equivale a ω0 = 2π. O mesmo ocorre com o par
ω0 = π2 e ω0 = 5π 2 . Em geral, qualquer frequência angular ω que esteja fora da faixa 0 < ω < π equivale a
uma frequência que esteja nesta faixa. Isto acontece porque, para n inteiro, cos{(π + ∆)n} = cos{πn + ∆n}
equivale a cos{(π − ∆)n} = cos{πn − ∆n}, em que ∆ é uma frequência angular, em radianos. Assim, qualquer
frequência que esteja acima de π por ∆ rad equivale a uma frequência que esteja abaixo de π por ∆ rad. O
mesmo fenômeno ocorre em torno de qualquer frequência que seja múltipla inteira de π.
A figura 7 mostra, esquematicamente, as equivalências de frequências em tempo discreto. Nela, é indicada
uma certa frequência ωx , na faixa entre 0 e π. Uma frequência equivalente a esta é 2π − ωx , na faixa entre π e
2π. A próxima equivalente é 2π + ωx , na faixa entre 2π e 3π. A próxima é 4π − ωx , na faixa entre 3π e 4π, e
assim por diante.

Exercício 15
Com o auxílio da figura 7 e do Octave, verifique as três próximas equivalências da frequência ω0 = π4 . Para isto,
calcule estas frequências equivalentes e gere valores de amostras de x[n] = cos(ωn), para n indo de 1 a 12 e ω
assumindo cada uma daquelas frequências.

O fato de haver esta equivalência entre frequências é muito importante em processamento digital de sinais.
Ele implica que uma sequência de amostras colhidas periodicamente de uma senoide de baixa frequência pode
ser igual a uma sequência de amostras colhidas de uma senoide de frequência mais alta. Neste caso, observando-
se as amostras, não seria possível se descobrir de qual senoide elas teriam sido colhidas. Para se evitar este
Ricardo Pires - Processamento Digital de Sinais 11

Figura 5: Gráfico de sequência exponencial

problema, deve-se tomar o cuidado de só se amostrarem sinais analógicos cujas frequências estejam numa faixa
limitada, equivalendo à faixa de tempo discreto de 0 a π. Desta forma, observando-se as amostras de uma
senoide, deduz-se qual era a frequência desta senoide: só pode ser uma frequência da primeira faixa, já que
não havia senoides de outras faixas no processo. Assim, não há frequências equivalentes e, portanto, não há
ambiguidade. Para que isto seja possível, antes da amostragem, o sinal a ser amostrado é aplicado a um filtro
analógico passa-baixas, cuja saída só terá frequências da primeira faixa. Esta saída, então, pode ser amostrada,
sem que haja ambiguidade na interpretação das amostras. Esta condição para que não haja ambiguidade
na amostragem foi publicada em 1928 pelo engenheiro sueco Harry Theodor Nyqvist (mais conhecido como
Nyquist) e pelo engenheiro estadunidense Claude Elwood Shannon. Ela será estudada na seção 2.4.

2.3.5 Sequência Exponencial Complexa


A sequência exponencial complexa tem a forma:

x[n] = Aej(ω0 n+φ0 ) (7)



em que A, constante real, é a amplitude da sequência, j = −1, ω0 é a frequência angular, em radianos, e φ0 é
a fase inicial, também em radianos.
Para se estudar esta sequência, deve-se lembrar que:

ejx = cos x + jsen x (8)


A equação 8 é chamada fórmula de Euler. Foi publicada pelo matemático suíço Leonhard Paul Euler em
1748. Nela, x é um número real. Como x é argumento de funções trigonométricas, ele pode ser visto como
um ângulo (em radianos). Para cada valor de x, vê-se que o membro direito da equação 8 fornece um número
complexo, cuja parte real vale cos x e cuja parte imaginária vale jsen x. Assim, dado um valor de x, ejx pode
ser representado como um ponto no plano complexo, conforme a figura 8. O ângulo entre o eixo real e a linha
que liga este ponto à origem é x radianos. O módulo de ejx é sempre 1, independentemente do valor de x
(verifique). Assim, o módulo de Aejx é A.
Ricardo Pires - Processamento Digital de Sinais 12

Figura 6: Gráfico de sequência senoidal

Exercício 16
π
Represente e+j 3 no plano complexo, anotando suas coordenadas.

Exercício 17
π
Represente e−j 4 no plano complexo, anotando suas coordenadas.

Exercício 18
Represente e+jπ no plano complexo, anotando suas coordenadas.

Exercício 19
π
Represente 5e+j 6 no plano complexo, anotando suas coordenadas.

Exercício 20

Represente 7e+j 6 no plano complexo, anotando suas coordenadas.
Ricardo Pires - Processamento Digital de Sinais 13

ωx

0 π

2π π

2π 3π

4π 3π
..
.

Figura 7: Equivalências entre frequências em tempo discreto

ejx
sen x

x
cos x ℜ
Figura 8: Representação de ejx no plano complexo

Exercício 21
11π
Represente −4e+j 6 no plano complexo, anotando suas coordenadas.

Da fórmula 8, obtém-se:
1 +jx
cos x = (e + e−jx ) (9)
2

Exercício 22
Prove a validade da equação 9.

Da fórmula 8, obtém-se, também:


1 +jx
sen x = (e − e−jx ) (10)
2j

Exercício 23
Prove a validade da equação 10.
Ricardo Pires - Processamento Digital de Sinais 14

Como ejx , com um valor fixo para x, pode ser representado como um ponto no plano complexo, o valor ejωt ,
com t (tempo) aumentando continuamente, pode ser representado, no plano complexo como um ponto girando
sobre uma circunferência centrada na origem, com raio unitário (conforme a figura 9), já que, com o aumento
de t, o ângulo ωt aumenta, mas a distância do ponto ejωt à origem continua sendo 1. A frequência de giro deste
ponto é constante, de ω ( rads ). Assim, uma grandeza física variando de forma senoidal, como, por exemplo,
uma tensão elétrica v(t) = cos(ωt), poderia ser considerada como a projeção horizontal do ponto giratório ejωt ,
com o valor desta projeção sendo o valor instantâneo desta tensão. Uma tensão senoidal com outra amplitude,
v(t) = A cos(ωt), seria representada como a projeção horizontal do ponto giratório Aejωt , o qual gira sobre uma
circunferência de raio A. Esta projeção horizontal é denotada ℜ{ejωt }. (O operador ℜ{} fornece a parte real
de seu argumento.) A projeção vertical é denotada ℑ{ejωt }. (O operador ℑ{} fornece a parte imaginária de
seu argumento.)

ejωt
sen(ωt)

ωt

cos(ωt) ℜ

Figura 9: Representação de ejωt no plano complexo, com t variando continuamente

Da equação 9, pode-se visualizar de outra forma uma grandeza senoidal no plano complexo, conforme a
figura 10. Neste caso, o ponto correspondente a cos(ωt), marcado com um x na figura, é dado pela média das
posições de e+jωt e de e−jωt . (Verifique que a equação 9, de fato, contém a média daqueles dois pontos sobre a
circunferência.) A média das posições dos pontos está sempre sobre o eixo real, já que as projeções verticais dos
dois pontos se anulam. A soma das partes reais resulta 2 cos(ωt). Como a média, para os dois pontos, consiste
na metade desta soma, esta média vale cos(ωt). Assim, a equação 9 nos leva a visualizar uma grandeza do tipo
cos(ωt) como a média das posições de dois pontos girando em sentidos contrários em torno da origem do plano
complexo. Deve-se visualizar que, enquanto os dois pontos giram sobre a circunferência, sua média (x) oscila
sobre o eixo real, entre as abscissas +1 e -1.

Exercício 24
Interprete geometricamente a equação 10.

Exercício 25
π π
Represente geometricamente, no plano complexo, a posição de e+j 4 t e a de e−j 4 t , para t = 1s, t = 2s e t = 3s.
+j π π
Em cada caso, indique a posição do ponto médio entre e 4 e e 4 .
t −j t
Ricardo Pires - Processamento Digital de Sinais 15

ejωt
sen(ωt)

ωt

cos(ωt) ℜ
−ωt

−sen(ωt)
e−jωt

Figura 10: Representação de cos(ωt) no plano complexo, com t variando continuamente

Quando o sinal senoidal é de tempo discreto, com a forma cos(ωn), com n inteiro, n crescendo com o tempo,
têm-se, como no caso contínuo, aqueles dois pontos girando sobre a circunferência, com cos(ωn), novamente,
sendo a média entre as posições dos dois pontos. Porém, os pontos giratórios, agora, são: e+jωn e e−jωn , com
n avançando “aos saltos”, ao invés de avançar continuamente como ocorria com o t contínuo. Cada salto destes
corresponde a uma variação de ω no ângulo do segmento que liga um ponto giratório à origem do plano. Assim,
com o aumento discreto (de um em um) de n, e+jωn salta de um ponto a outro sobre a circunferência de raio
unitário, conforme a figura 11. Na figura, é indicada a posição ocupada pelo ponto giratório quando n = 1 e as
próximas posições que serão ocupadas por este ponto, quando n avançar até o valor 5. Com o passar do tempo,
o ponto dá voltas sobre a circunferência, mas sempre dando saltos entre as posições sucessivas que ocupa. O
ponto e−jωn também anda sobre a circunferência, aos saltos, mas em sentido contrário. A posição média entre
os dois pontos, a qual corresponde a cos(ωn), faz um movimento de vai e vem sobre o eixo real, também aos
saltos. A figura 6 é um gráfico que pode ser interpretado como representando as posições sucessivas ocupadas
pelo ponto médio sobre o eixo real.

Exercício 26
π
Represente, no plano complexo, as sucessivas posições ocupadas pelo ponto 3e+j 4 n , para 0 < n < 8.

Exercício 27
π
Represente, no plano complexo, as sucessivas posições ocupadas pelo ponto e+j 3 n , para 0 < n < 12.

Exercício 28
π
Represente, no plano complexo, as sucessivas posições ocupadas pelo ponto e−j 3 n , para 0 < n < 12.
Ricardo Pires - Processamento Digital de Sinais 16


b

ejωn
b sen(ωn) b

ωn
b
cos(ωn) ℜ

Figura 11: Representação de e+jωn no plano complexo, com n variando de forma discreta

Exercício 29
π π
Represente, no plano complexo, as sucessivas posições ocupadas pelo ponto médio de e+j 4 n e de e−j 4 n , para
0 < n < 8. Com base neste gráfico, desenhe o gráfico de cos( π4 n) × n

2.4 Amostragem de Sinais de Tempo Contínuo


Normalmente, sinais a serem processados em tempo discreto são originários da amostragem periódica de sinais
de tempo contínuo. É possível a reconstrução exata de um sinal de tempo contínuo a partir de suas amostras,
se forem respeitadas certas condições.
Como já se disse neste texto, em tempo discreto, há maior flexibilidade para o processamento de sinais
do que em tempo contínuo. Assim, são comuns técnicas de processamento de sinais originalmente de tempo
contínuo realizadas em tempo discreto, com uma conversão final dos resultados obtidos em tempo discreto de
volta ao tempo contínuo. Estas técnicas usam como uma de suas primeiras etapas a amostragem dos sinais de
tempo contínuo envolvidos.
A amostragem periódica é a técnica mais usada para se obter uma representação de um sinal de tempo
contínuo a ser processado em tempo discreto. Ela consiste em se obterem amostras de um certo sinal xc (t) a
intervalos regulares, formando-se a sequência de amostras x[n] segundo a relação:

x[n] = xc (nTa ) (11)


em que n é o número da amostra, sempre inteiro, podendo assumir valores desde −∞ a +∞ e Ta é o chamado
período de amostragem, o qual é o intervalo de tempo entre a obtenção de duas amostras seguidas de xc (t).
O inverso de Ta é a chamada frequência de amostragem, fa = T1a . Esta indica quantas amostras de xc (t)
são obtidas por segundo.
Na figura 12, vê-se um diagrama de blocos de um amostrador, o qual recebe o sinal de tempo contínuo xc (t) e
fornece a sequência de amostras x[n]. As chaves ch1 e ch2 são implementadas como transistores operando como
chaves. Quando ch1 se fecha, o valor de tensão correspondente a xc (t) no instante do fechamento é registrado
como tensão de carga do capacitor C. Em seguida, ch1 é aberta, congelando-se a leitura feita por C. ch2 é,
então, fechada, fazendo-se com que o conversor analógico-digital leia a amostra de tensão registrada em C e
Ricardo Pires - Processamento Digital de Sinais 17

faça sua conversão para digital, gerando uma amostra digitalizada de saída x[n]. Terminada a obtenção desta
amostra digitalizada, este ciclo se repete. O papel de ch1 é o de obter uma amostra instantânea de xc (t) e de
colocá-la em C. ch1 é aberta em seguida, para que, durante a conversão A/D, a tensão em C não varie. As duas
chaves nunca ficam fechadas simultaneamente, para que todas as conversões A/D ocorram com valores fixos de
tensão à entrada do conversor. O ritmo de fechamento e de abertura das chaves é a frequência de amostragem,
fa . O conversor A/D deve ser rápido o suficiente para fazer uma conversão em tempo menor do que o período
de amostragem Ta . Assim, uma limitação de velocidade de operação de um amostrador corresponde à rapidez
com que seu conversor A/D consegue operar. Esta pode ser a limitação do sistema completo de processamento
digital de sinais, ou seja, o amostrador pode ser o “gargalo” do sistema.

ch1 ch2
xc (t) x[n]

conversor
C
A/D

Figura 12: Diagrama de blocos de um amostrador

Na seção 2.3.4, viu-se que, em tempo discreto, senoides cujas frequências estão fora da faixa de 0 a π
são sempre equivalentes a senoides cujas frequências estão dentro desta faixa. Assim, pode acontecer de uma
senoide de tempo contínuo com uma frequência angular de ω1 ser amostrada e suas amostras serem interpretadas
erroneamente como sendo de uma outra senoide, cuja frequência é ω2 , ω2 6= ω1 . Para se evitar esta ambiguidade,
antes de se fazer a amostragem, deve-se garantir que xc (t) não contenha frequências equivalentes entre si. Na
prática, isto consiste em se fazer com que o espectro de xc (t) só possa conter frequências de 0 até um certo valor
limite fmax , o qual corresponde à frequência angular π de tempo discreto. Desta forma, qualquer frequência de
tempo contínuo corresponderá a uma única frequência de tempo discreto e vice-versa. Se esta restrição não fosse
respeitada, haveria alguma frequência de tempo contínuo equivalente a uma frequência de tempo discreto maior
do que π, a qual seria equivalente a uma frequência mais baixa e, assim, haveria ambiguidade de interpretação.
xc (t), então, deve ter espectro limitado a baixas frequências. Se um sinal de tempo contínuo a ser amostrado não
satisfizer a esta condição, ele deverá, antes da amostragem, sofrer filtragem analógica passa-baixas. O resultado
desta filtragem, então, poderá ser entregue ao amostrador. O filtro analógico passa-baixas que desempenha
esta função é chamado, usualmente, de filtro anti-aliasing, sendo o termo inglês aliasing traduzido, às vezes,
como rebatimento, devido ao fato de que altas frequências podem ser “rebatidas” para uma faixa mais baixa do
espectro se este cuidado não for tomado.
Para se saber qual é a maior frequência permitida no espectro de xc (t) sem que haja ambiguidade de
interpretação das amostras (ou seja, sem que haja rebatimento), deve-se lembrar que a maior frequência não
ambígua em tempo discreto é ωmax = π rad. Uma senoide com esta frequência tem a forma x[n] = A cos(πn).
Para n = 0, o ângulo πn = π0 = 0. x[0], então, vale A. Para n = 1, o ângulo πn = π1 = π. x[1], então,
vale −A. Para n = 2, o ângulo πn = π2 = 2π, que é um ângulo equivalente a 0 rad. x[2], então, vale A.
Para n = 3, o ângulo πn = 3π é equivalente a π. x[3], então, vale −A. Assim, conforme n aumenta de 1
em 1, o ângulo se alterna entre 0 e π, ciclicamente. Pode-se ver isto como se, ao se girar continuamente no
ciclo trigonométrico, só fossem amostrados os pontos cujos ângulos fossem 0 e π. Só são amostrados, então,
dois pontos por ciclo. Portanto, partindo-se da frequência angular zero, a maior frequência angular de tempo
discreto sem ambiguidade, que é a frequência ω = π rad, é aquela que corresponde a dois pontos por volta no
ciclo trigonométrico. Sabe-se que, em tempo discreto, qualquer frequência angular maior do que ω = π rad
equivale a alguma frequência angular menor do que ω = π rad. Assim, a maior frequência angular não ambígua
a partir de ω = 0 rad é aquela para a qual são coletadas duas amostras por volta no ciclo trigonométrico. Em
tempo contínuo, a frequência que corresponde a esta ω = π rad de tempo discreto é aquela para a qual, também,
são coletadas duas amostras por ciclo, ou seja, duas amostras por período. Sendo o período de amostragem
Ta , duas amostras seguidas são coletadas num tempo igual a 2Ta . Isto corresponde a uma frequência fmax de
tempo contínuo de
Ricardo Pires - Processamento Digital de Sinais 18

1 fa
fmax = = (12)
2Ta 2
em que fa é a frequência de amostragem. Esta fmax , então, é a máxima frequência, a partir da frequência igual
a zero, da qual se podem extrair amostras sem ambiguidade de frequência com período de amostragem de Ta . A
situação crítica da amostragem, então, é aquela em que se coletam duas amostras por período do sinal de tempo
contínuo. Se forem coletadas menos do que duas amostras por período, haverá ambiguidade na interpretação
do sinal amostrado. Neste caso, as componentes de frequências mais altas do sinal serão confundidas com
componentes de frequências mais baixas, na forma dada na figura 7. O critério de amostragem de Nyquist,
então, estabelece que a mínima frequência fa a ser usada na amostragem deve ser tal que se coletem, ao menos,
duas amostras de cada período da componente de maior frequência do sinal de tempo contínuo a ser amostrado.
Isto equivale a se dizer que a fa deve ser de, pelo menos, o dobro da maior frequência presente no espectro do
sinal de tempo contínuo a ser amostrado, ou seja,

fa = 2fmax (13)
Sendo respeitado o critério de amostragem de Nyquist, então, fica estabelecida uma relação entre valores de
frequência de tempo contínuo e seus valores correspondentes em tempo discreto. A maior frequência de tempo
discreto é ω = π rad. A maior frequência permitida de tempo contínuo, fmax , então, equivale a ω = π rad.
Assim, pode-se montar a regra de três:

f (Hz) ↔ ω (rad)
fmax ↔ π (14)

Exercício 30
Se um sistema de processamento digital de sinais trabalhar com amostragem a 10kHz, qual será a máxima
frequência permitida para o espectro do sinal a ser amostrado? Qual será a frequência de tempo contínuo
correspondente a ω = π4 rad de tempo discreto?

Exercício 31
Se um sistema de processamento digital de sinais trabalhar com amostragem a 500kHz, qual será a máxima
frequência permitida para o espectro do sinal a ser amostrado? Qual será a frequência de tempo contínuo
correspondente a ω = π2 rad de tempo discreto?

Exercício 32
No projeto de um filtro digital, deseja-se que a f = 60Hz seja correspondente a ω = π2 rad. Qual deverá ser a
frequência de amostragem? Qual deverá ser o limite de frequência do sinal a ser amostrado?

3 Sistemas de Tempo Discreto


Um sistema de tempo discreto obtém uma sequência de saída y[n] a partir de uma sequência de entrada x[n].
Ele calcula cada amostra de saída a partir de uma ou mais amostras de entrada e, possivelmente, a partir de
amostras de saída anteriores.
Ricardo Pires - Processamento Digital de Sinais 19

Usando-se o Octave, podem-se gerar arquivos de som no formato wave, por meio do co-
mando wavwrite, o qual assume, se não lhe for especificado, que a taxa de amostragem é
de 8000 amostras
s . Eis um exemplo:

octave > f Amostr = 8000


octave > duracaoSegundos = 5
octave > numAmostras = f Amostr ∗ duracaoSegundos
octave > n = [1 : numAmostras]
octave > nt = n′
octave > sinal = cos(pi/8 ∗ nt)
octave > wavwrite(sinal, ”som.wav”)

A linha nt = n′ obtém a matriz nt como sendo a transposta da matriz n (o apóstrofo é o


operador que obtém a transposta). Como n é uma matriz linha, nt é uma matriz coluna. A
execução desta linha é necessária, porque o arquivo wave deve conter uma coluna de amostras
por canal de som. Neste exemplo, há apenas um canal, o qual contém o som correspondente
a uma sequência senoidal de amostras, contidas na matriz coluna chamada sinal. Uma matriz
contendo N colunas conteria, então, N canais de som. Finalmente, aqui, o comando wavwrite
coloca a matriz sinal no arquivo som.wav, o qual pode ser “ouvido” usando-se algum programa
usual para a execução de arquivos de som.

Diz-se, então, que a sequência de saída é obtida como uma transformação da sequência de entrada, usando-se
a notação:

y[n] = T {x[n]} (15)


Como um exemplo de sistema, tem-se o sistema atrasador, o qual implementa a equação:

y[n] = x[n − n0 ], −∞ < n < +∞ (16)


na qual n0 é o valor de atraso entre a sequência de entrada e a de saída. A tabela 4 mostra um exemplo
de resultado y[n] obtido por um sistema atrasador, com atraso unitário (n0 = 1), que teria recebido aquela
sequência x[n] à sua entrada. Uma implementação física deste atrasador, como um sistema digital, dada na
figura 13, deve ter um registrador acionado por sinal de relógio (clock ). Enquanto uma nova amostra x[n]
já estiver na entrada do sistema, a amostra de entrada anterior, x[n − 1], ainda estará na saída, por ter sido
memorizada no ciclo de funcionamento anterior. Assim, cada sequência de entrada aparece na saída, mas com
atraso. A cada pulso de clock, uma nova amostra de entrada é lida, substituindo a anteriormente memorizada.
Assim, a saída é atualizada. Enquanto isto, uma amostra de entrada ainda mais nova deve chegar à entrada,
vinda, possivelmente, de um amostrador. Este processo se repete, a cada pulso de clock. A cada instante, há
uma amostra à entrada, ainda não memorizada, e uma amostra mais antiga à saída, já memorizada.
Um outro exemplo comum de sistema é o de média móvel. Ele tem este nome, por apresentar, à saída, um
valor correspondente à média das N amostras de entrada mais recentes, sendo N definido pelo projetista. Esta
média é móvel, porque, com o passar do tempo, o grupo de amostras de entrada que se submeterá ao cálculo
da média muda, já que, com o passar do tempo, muda o grupo das amostras mais recentes. Para, por exemplo,
N = 4, a equação implementada por este sistema é:
1
y[n] = {x[n] + x[n − 1] + x[n − 2] + x[n − 3]} (17)
4
Vê-se que, para calcular cada amostra de saída, este sistema precisa ter à sua disposição as quatro amostras de
entrada mais recentes (a atual e três anteriores). Por isto, ele precisa de três registradores: um para memorizar
x[n − 1], um para x[n − 2] e um para x[n − 3]. Estes três registradores devem ser interligados em série, formando
um registrador de deslocamento composto por três registradores com vários bits cada. (O número de bits de
cada registrador pode ser, por exemplo, 16. Isto depende da precisão com que trabalha o sistema.)
Ricardo Pires - Processamento Digital de Sinais 20

registrador
x[n] y[n] = x[n − 1]
x[n − 1]

clock

Figura 13: Implementação digital de um atrasador

Exercício 33
Desenhe um diagrama de blocos para o sistema de média móvel anterior, usando três registradores, somadores
com dois operandos cada e um multiplicador.

Exercício 34
Dada a tabela 5, com valores de uma certa sequência de entrada x[n], calcule a sequência de saída que seria
produzida por este sistema de média móvel. Verifique, com o auxílio do Octave, que este sistema gera uma
sequência de saída que tem forma semelhante à da sequência de entrada, porém, sem variações abruptas.

Pelo resultado obtido no exercício 34, percebe-se que uma utilidade do sistema de média móvel é receber
valores medidos de um processo físico do qual não se esperam variações abruptas e diminuir o efeito destas
variações abruptas, antes de se entregarem estas amostras para um sistema que as analisará. Isto ocorre, por
exemplo, em medição de temperatura em grandes câmaras, onde não se espera que a temperatura possa variar
rapidamente, ou na medição do nível de combustível no tanque de um automóvel, onde não se esperam variações
abruptas de nível. Um transdutor faz a medição continuamente, entregando o resultado a um amostrador
periódico. Este entrega as amostras analógicas medidas a um conversor analógico-digital. Estas amostras
digitalizadas podem estar “contaminadas” por efeitos indesejáveis, como ruído, no caso da câmara, ou balanço,
no caso do tanque de combustível. O ruído ou o balanço introduzem, na sequência de amostras, desvios em
relação aos valores verdadeiros das grandezas que se desejaram medir. A saída do sistema de média móvel
procura seguir, preferencialmente, as lentas variações da grandeza medida em relação às rápidas variações
causadas pelo ruído ou pelo balanço. Se a sequência medida fosse aplicada diretamente a um mostrador (de
ponteiro ou digital), este oscilaria rapidamente, dificultando sua leitura. A aplicação da sequência de saída
do sistema de média móvel ao mostrador proporciona maior estabilidade do valor apresentado, facilitando sua
leitura, além de refletir melhor a realidade da grandeza de interesse.
Neste exemplo, o sistema de média móvel calculou a média das últimas quatro amostras de entrada. Na
prática, um tal sistema pode usar dezenas ou centenas das últimas amostras de entrada no cálculo da média,
suavizando muito, desta forma, o efeito de variações abruptas. Mas, o uso de mais amostras de entrada tem,
como efeito indesejado, aumento no hardware necessário para implementar o sistema (ou maior tempo de cálculo
em implementações em software).
A seguir, são apresentadas definições úteis relacionadas a sistemas de tempo discreto.
Ricardo Pires - Processamento Digital de Sinais 21

n x[n] y[n]
0 8
1 8
2 8
3 20
4 9
5 8
6 9
7 9
8 6
9 9
10 9
11 9
12 10
13 10
14 6
15 10
16 10
17 10
18 17
19 10
20 10
21 9
22 10
23 10
24 11
25 10

Tabela 5: Tabela para o exercício 34.

3.1 Sistemas com Memória x Sistemas sem Memória


Um sistema com memória é aquele que deve usar algum tipo de elemento de memorização, como registradores
(no caso de implementação em hardware) ou variáveis (no caso de implementação em software), por precisar
de valores de entrada ou de saída anteriores para calcular cada amostra de saída. O sistema atrasador e o de
média móvel são deste tipo.
Um sistema sem memória, para calcular a amostra de saída em um certo instante, só usa a amostra de
entrada do mesmo instante. Como ele não precisa de amostras passadas, não precisa de memória. Exemplo:
um sistema que calculasse o negativo de cada amostra que lhe viesse à entrada, y[n] = −x[n]. (Normalmente,
sistemas de processamento digital de sinais lidam com valores negativos usando a representação binária em
complemento de dois.) Uma realização deste sistema em hardware usaria apenas lógica combinatória, sem
registradores.

3.2 Sistemas Lineares x Sistemas Não Lineares


Se um sistema for linear, dada uma constante K e dada uma sequência x[n],

T {Kx[n]} = KT {x[n]} (18)


e, dadas as sequências x1 [n] e x2 [n]:

T {x1 [n] + x2 [n]} = T {x1 [n]} + T {x2 [n]} (19)


Disto decorre que, dadas constantes K1 e K2 ,
Ricardo Pires - Processamento Digital de Sinais 22

T {K1 x1 [n] + K2 x2 [n]} = K1 T {x1 [n]} + K2 T {x2 [n]} (20)


Assim, os sistemas lineares seguem o princípio da superposição: para se calcular o efeito, na saída, da
aplicação de uma soma de sequências à entrada, basta que, inicialmente, calculem-se os efeitos de cada entrada
individualmente e que, finalmente, somem-se estes efeitos à saída.
Como exemplos de sistemas lineares, têm-se o atrasador e o sistema de média móvel.
Qualquer sistema que não respeite a equação 20 é não linear.

Exercício 35
Verifique que o sistema que implementa y[n] = {x[n]}2 não é linear.

Sempre que possível, deve-se procurar projetar sistemas lineares, devido à maior facilidade de se lidar
matematicamente com eles do que com os não lineares.

3.3 Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo


Um sistema variante no tempo é tal que, para ele, existe pelo menos uma sequência de entrada x1 [n] para a
qual ele fornece uma certa y1 [n] e que, se, à sua entrada, for aplicada uma entrada x2 [n] que seja uma versão
atrasada de x1 [n], x2 [n] = x1 [n−n0 ], sua saída não será uma versão atrasada de y1 [n], ou seja, y2 [n] 6= y1 [n−n0 ].
Pode ocorrer de um sistema variante no tempo calcular suas amostras de saída de forma variável com o
tempo. Por exemplo, se um sistema calcular sua saída usando y[n] = m0 x[n] + m1 x[n − 1], sendo os coeficientes
m0 e m1 variáveis com o tempo, ele será um sistema variante no tempo. Neste caso, poderia acontecer de, por
exemplo, no instante n = 0, m0 = 3 e m1 = 7 e, mais tarde, no instante n = 1, m0 = 13 e m1 = 2.
Um sistema variante no tempo pode ter até mesmo a forma de calcular sua saída variando no tempo. Por
exemplo, ele poderia passar um tempo usando a expressão y[n] = m0 x[n] + m1 x[n − 1] e, depois, poderia passar
a usar y[n] = m0 x[n] + m1 x[n − 1] + m2 x[n − 2].

Exercício 36
Demonstre que o sistema que implementa a equação y[n] = x[2n] é variante no tempo.

Um sistema invariante no tempo é tal que, se for aplicada a ele uma sequência de entrada x1 [n] para a
qual ele forneça uma certa y1 [n], se, à sua entrada, for aplicada uma x2 [n] que seja uma versão atrasada de
x1 [n], x2 [n] = x1 [n − n0 ], sua saída será, simplesmente, uma versão atrasada de y1 [n], ou seja, y2 [n] = y1 [n − n0 ],
com atraso igual ao de x2 [n] em relação a x1 [n]. Para que isto ocorra, o sistema deverá calcular cada amostra
de saída usando sempre a mesma forma de cálculo, todo o tempo (mesma equação e mesmos coeficientes).

Exercício 37
Verifique que o sistema de média móvel é invariante no tempo.

Sistemas invariantes no tempo são de tratamento matemático mais simples do que os variantes no tempo.

3.4 Sistemas Causais x Sistemas Não Causais


Um sistema causal é aquele que calcula a amostra de saída em cada instante usando apenas valores de entrada
do mesmo instante, de instantes anteriores ou valores de saída anteriores. Exemplo de equação de um sistema
causal: y[n] = 21 x[n] − 41 x[n − 2] + 18 y[n − 1].
Ricardo Pires - Processamento Digital de Sinais 23

Um sistema não causal calcula a amostra de saída em um certo instante usando alguma amostra de entrada
ou de saída futura. Exemplo de equação de um sistema não causal: y[n] = 12 x[n] − 41 x[n + 2] + 18 y[n − 1]. (No
cálculo da saída atual, ele usa uma entrada futura.)
Sistemas não causais não podem funcionar em tempo real, já que, para calcular cada valor de saída, eles
teriam de adivinhar algum valor futuro de entrada ou de saída. Porém, quando se projeta um sistema de
processamento digital de sinais, pode ocorrer de o projetista descobrir que a equação que o sistema deveria
implementar para satisfazer às especificações do projeto deveria ser do tipo não causal. Neste caso, para se
obter um sistema realizável, estas especificações deveriam ser alteradas, substituídas por outras que permitissem
a obtenção de um sistema causal que as satisfizesse. Isto ocorre, por exemplo, no projeto de um filtro passa-
baixas ideal, tanto em tempo contínuo quanto em tempo discreto. Um tal filtro seria não causal. (Ele será
estudado adiante.) Assim, não pode ser realizado. Mas, bons filtros, com características parecidas com a do
ideal, podem ser realizados.

Exercício 38
O sistema de média móvel definido pela equação 17 é causal? Por que?

Exercício 39
Escreva a equação de um sistema de média móvel não causal.

3.5 Estabilidade de Sistemas


Um sistema é estável, no sentido entrada limitada, saída limitada, se e somente se, para qualquer sequência
de entrada com valores limitados recebida, ele produzir uma sequência de saída com valores limitados. Assim,
se:

|x[n]| ≤ Lx < ∞, ∀n (21)


com Lx sendo o limite dos valores absolutos da sequência x[n], então:

|y[n]| ≤ Ly < ∞, ∀n (22)


com Ly sendo o limite dos valores absolutos da sequência y[n]. Note que o valor de Lx não precisa ser igual ao
de Ly .

Exercício 40
O sistema de média móvel definido pela equação 17 é estável? Por que?

Exercício 41
O sistema definido pela equação y[n] = x[n] + y[n − 1] é estável? Por que?

3.6 Sistemas Lineares e Invariantes no Tempo


Devido à relativa facilidade de tratamento matemático que possuem, os sistemas de maior interesse em proces-
samento digital de sinais são os lineares invariantes no tempo (ou seja, os que são tanto lineares quanto
Ricardo Pires - Processamento Digital de Sinais 24

invariantes no tempo). Serão referenciados, neste texto, como sistemas LIT.


Um sistema LIT pode ter seu comportamento completamente caracterizado pela sua resposta ao impulso,
chamada de resposta impulsiva, simbolizada como h[n].

Exercício 42
Qual é a resposta impulsiva do sistema que implementa a equação y[n] = x[n − 2]?

Exercício 43
Qual é a resposta impulsiva do sistema de cálculo de média móvel, que implementa y[n] = 41 {x[n] + x[n − 1] +
x[n − 2] + x[n − 3]}?

Para se compreender este fato, suponha que um certo sistema LIT, chamado aqui de sistema X, tenha
a resposta impulsiva hipotética dada na tabela 6. (Suponha que todos os valores de h[n] em instantes não
tabelados sejam nulos.) Isto significa que, se, à entrada do sistema X, for aplicada uma única amostra não nula
no instante zero, com valor unitário (ou seja, a entrada é o impulso, δ[n]), o sistema apresentará, à saída, a
sequência h[n] dada na tabela 6.

n δ[n] h[n]
-2 0 0
-1 0 0
0 1 3
1 0 5
2 0 2
3 0 1
4 0 0
5 0 0

Tabela 6: Valores não nulos da resposta impulsiva hipotética de um certo sistema X

Suponha, agora, que ao sistema X, seja aplicada a sequência de entrada dada na tabela 7.

n x[n]
-2 0
-1 0
0 4
1 5
2 -2
3 10
4 0
5 0

Tabela 7: Valores não nulos de uma certa sequência de entrada aplicada ao sistema X

O problema, então, é calcular-se a sequência de saída, y[n], causada pela aplicação, ao sistema X, da
sequência de entrada x[n] dada na tabela 7.
Para se resolver este problema, explora-se o fato de que o sistema X é LIT, usando-se as seguintes etapas:

1. Decompõe-se a sequência de entrada x[n] em várias sequências, cada uma contendo somente uma amostra
não nula, conforme a tabela 8. Verifique que x[n] = x0 [n] + x1 [n] + x2 [n] + x3 [n].
Ricardo Pires - Processamento Digital de Sinais 25

2. Calcula-se a resposta do sistema X para cada uma destas sequências simples, de xo [n] a x3 [n], sendo
aplicadas à sua entrada. A resposta do sistema a x0 [n] será chamada y0 [n], a resposta a x1 [n] será y1 [n]
etc.

3. Devido à linearidade do sistema (equação 19), sua resposta a x[n] = x0 [n] + x1 [n] + x2 [n] + x3 [n] será igual
à soma das respostas individuais, y[n] = y0 [n] + y1 [n] + y2 [n] + y3 [n].

n x[n] x0 [n] x1 [n] x2 [n] x3 [n]


-2 0 0 0 0 0
-1 0 0 0 0 0
0 4 4 0 0 0
1 5 0 5 0 0
2 -2 0 0 -2 0
3 10 0 0 0 10
4 0 0 0 0 0
5 0 0 0 0 0

Tabela 8: Decomposição de uma sequência de entrada x[n] em várias sequências

Para se calcular cada resposta individual no item 2, explora-se a linearidade e a invariância no tempo do
sistema.
Iniciando-se pelo cálculo de y0 [n], como ele é a resposta do sistema X à entrada x0 [n] = 4δ[n], por linearidade,
y0 [n] = 4h[n]. Ou seja, como x0 [n] é um impulso multiplicado por 4, a saída que x0 [n] causa é 4 vezes a saída
causada pelo impulso, a qual é a resposta impulsiva, h[n]. Este resultado é mostrado na tabela 9.

n xo [n] h[n] y0 [n] = 4h[n]


-2 0 0 0
-1 0 0 0
0 4 3 12
1 0 5 20
2 0 2 8
3 0 1 4
4 0 0 0
5 0 0 0

Tabela 9: Resposta y0 [n] do sistema X à sequência x0 [n]

No cálculo de y1 [n], que é a resposta a x1 [n], deve-se notar que x1 [n] = 5δ[n − 1], ou seja, x1 [n] equivale
a um impulso atrasado e multiplicado por 5. Pela linearidade, a resposta a este impulso multiplicado por 5
deve ser igual à h[n] multiplicada por 5. Mas, como este impulso está com atraso unitário, deve-se não só
multiplicar h[n] por 5, mas, também, atrasá-la em uma unidade em n. Assim, a resposta a x1 [n] = 5δ[n − 1]
será y1 [n] = 5h[n − 1], conforme a tabela 10.
Seguindo-se a mesma lógica, a resposta a x2 [n] = −2δ[n − 2] é y2 [n] = −2h[n − 2], conforme a tabela 11.
A resposta a x3 [n] = 10δ[n − 3] é y3 [n] = 10h[n − 3], conforme a tabela 12.
Finalmente, a resposta y[n] à entrada x[n] é calculada como y[n] = y0 [n] + y1 [n] + y2 [n] + y3 [n], conforme a
tabela 13.

Exercício 44
Seguindo o procedimento anterior, calcule a resposta y[n] fornecida pelo sistema X anterior quando ele receber
a entrada x[n] dada na tabela 14.
Ricardo Pires - Processamento Digital de Sinais 26

n x1 [n] h[n] y1 [n] = 5h[n − 1]


-2 0 0 0
-1 0 0 0
0 0 3 0
1 5 5 15
2 0 2 25
3 0 1 10
4 0 0 5
5 0 0 0

Tabela 10: Resposta y1 [n] do sistema X à sequência x1 [n]

n x2 [n] h[n] y2 [n] = −2h[n − 2]


-2 0 0 0
-1 0 0 0
0 0 3 0
1 0 5 0
2 -2 2 -6
3 0 1 -10
4 0 0 -4
5 0 0 -2

Tabela 11: Resposta y2 [n] do sistema X à sequência x2 [n]

O procedimento aqui apresentado para o cálculo da sequência de saída de um sistema LIT pode ser gener-
alizado como:

y[n] = . . . + x[0]h[n] + x[1]h[n − 1] + x[2]h[n − 2] + x[3]h[n − 3] + . . .


X ∞
⇒ y[n] = x[k]h[n − k] (23)
k=−∞
⇒ y[n] = x[n] ∗ h[n]

A operação que calcula y[n] a partir de x[n] e de h[n], dada pela equação 23, é chamada de convolução
de x[n] com h[n]. Portanto, pode-se dizer que um sistema LIT realiza uma convolução de sua entrada com sua
resposta impulsiva. O símbolo usado para a operação convolução é o asterisco.

A convolução é uma operação comutativa, ou seja,

x[n] ∗ h[n] = h[n] ∗ x[n] (24)


Assim, se, para um sistema LIT, forem trocados, entre si, os papéis da entrada e da resposta impulsiva, sua
sequência de saída não se alterará. Isto pode ser verificado, usando-se a mudança de variáveis m = n − k na
equação 23:
Ricardo Pires - Processamento Digital de Sinais 27

n x3 [n] h[n] y3 [n] = 10h[n − 3]


-2 0 0 0
-1 0 0 0
0 0 3 0
1 0 5 0
2 0 2 0
3 10 1 30
4 0 0 50
5 0 0 20
6 0 0 10

Tabela 12: Resposta y3 [n] do sistema X à sequência x3 [n]

n y0 [n] y1 [n] y2 [n] y3 [n] y[n]


-1 0 0 0 0 0
0 12 0 0 0 12
1 20 15 0 0 35
2 8 25 -6 0 27
3 4 10 -10 30 34
4 0 5 -4 50 51
5 0 0 -2 20 18
6 0 0 0 10 10
7 0 0 0 0 0

Tabela 13: Resposta y[n] do sistema X composta pelas respostas individuais anteriores

y[n] = x[n] ∗ h[n]


X∞
⇒ y[n] = x[k]h[n − k]
k=−∞
X∞
⇒ y[n] = x[n − m]h[m]
m=−∞

X
⇒ y[n] = h[m]x[n − m]
m=−∞
⇒ y[n] = h[n] ∗ x[n] (25)

3.6.1 Estabilidade de Sistemas LIT


A estabilidade de sistemas foi definida na seção 3.5. No projeto de um sistema de processamento digital de
sinais, é importante que se garanta que o sistema obtido seja estável, porque um sistema instável pode ter seus
valores de saída crescendo sem limites, mesmo com os valores da sequência de entrada mantidos numa faixa
limitada. Como um sistema de processamento digital de sinais representa cada valor manipulado usando um
número finito de bits, um sistema instável, com o tempo, poderia começar a tentar apresentar, à saída, valores
que estivessem fora de sua faixa de valores representáveis. A partir deste momento, ele passaria a cometer erros,
fornecendo valores errados à saída e, possivelmente, usando estes valores errados nos seus próximos cálculos (no
caso de ele usar valores de saída anteriores para calcular a saída atual).
Para se encontrar a condição necessária para que um sistema LIT seja estável, parte-se da equação 25,
aplicando-a ao cálculo do módulo de cada amostra de saída:
Ricardo Pires - Processamento Digital de Sinais 28

n x[n]
-2 0
-1 0
0 3
1 -1
2 20
3 5
4 3
5 0

Tabela 14: Sequência de entrada para o exercício 44

No Octave, a função conv calcula a convolução de duas sequências. Para que ela seja realizada
sobre as duas sequências do exemplo mostrado nesta seção, deve-se seguir o procedimento:

octave > h = [3 5 2 1]
octave > x = [4 5 − 2 10]
octave > y = conv(h, x)

Aqui, foi dada, pelo usuário, a resposta impulsiva, h[n], e a entrada, x[n]. O Octave, então,
calculou a convolução daquelas duas sequências. Deve-se lembrar que os índices usados pelo
Octave começam em 1, enquanto que, no exemplo desta seção, começavam em 0. Porém, a
sequência de valores da saída fica correta, embora deslocada, no tempo, em relação à deste
texto.

∞ ∞
X X
|y[n]| = h[m]x[n − m] ≤ |h[m]||x[n − m]| (26)

m=−∞ m=−∞

Na equação 26, se a sequência x[n] tiver valores limitados, cujos módulos não superarem um certo valor Lx ,
ter-se-á:

X ∞
X ∞
X
|y[n]| ≤ |h[m]||x[n − m]| ≤ |h[m]|Lx = Lx |h[m]| (27)
m=−∞ m=−∞ m=−∞

Assim, para que y[n] tenha valores limitados, deve-se ter:



X
|h[m]| < ∞ (28)
m=−∞

Exercício 45
Usando-se a condição 28, verifique se o sistema que implementa a equação y[n] = x[n − 2] é estável.

Exercício 46
Usando-se a condição 28, verifique se o sistema que implementa a equação y[n] = 14 {x[n] + x[n − 1] + x[n − 2] +
x[n − 3]} é estável.
Ricardo Pires - Processamento Digital de Sinais 29

Exercício 47
Usando-se a condição 28, verifique se o sistema LIT cuja resposta impulsiva é dada na tabela 6 é estável. Caso
positivo, se a sequência à sua entrada tiver valores limitados a 3, qual será o módulo do maior valor possível à
sua saída?

Exercício 48
Qual é a resposta impulsiva do sistema dado pela equação y[n] = x[n] + y[n − 1]? Ele é estável? Caso positivo,
se a sequência à sua entrada tiver valores limitados a 3, qual será o módulo do maior valor possível à sua saída?
(Considere que y[n] = 0 para n < 0.)

Exercício 49
Qual é a resposta impulsiva do sistema dado pela equação y[n] = x[n] + 21 y[n − 1]? Ele é estável? Caso positivo,
se a sequência à sua entrada tiver valores limitados a 3, qual será o módulo do maior valor possível à sua saída?
(Considere que y[n] = 0 para n < 0.)

3.6.2 Causalidade de Sistemas LIT


Um sistema LIT é causal se sua resposta impulsiva começar no instante zero ou após o instante zero. Se a
resposta impulsiva começar antes do instante zero, o sistema não é causal.
Se, num projeto, for obtido um sistema S1 não causal, se sua resposta impulsiva h1 [n] começar num certo
instante ni , com −∞ < ni < 0, será possível obter-se um novo sistema S2 , com comportamento semelhante ao
de S1 , porém causal, fazendo-se com que a resposta impulsiva h2 [n] seja uma versão atrasada de h1 [n], de tal
forma que h2 [n] comece no instante zero ou depois de zero.

Exercício 50
Se um sistema tiver em sua resposta impulsiva, como únicas amostras não nulas, h[−2] = 3, h[0] = 10 e
h[1] = −2, como poderia ser a resposta impulsiva de um sistema causal semelhante a ele?

A utilidade desta técnica consiste em se obter um sistema realizável em tempo real (causal) a partir de um
sistema não realizável em tempo real (não causal). O efeito negativo da aplicação desta técnica é o sistema
resultante ter, em seu funcionamento, um atraso em relação ao sistema original.
Esta técnica só pode ser aplicada se a resposta impulsiva do sistema não causal começar em um ni 6= −∞.
Se esta resposta impulsiva começar em −∞, não será possível a obtenção de um sistema causal semelhante
apenas por atraso da resposta impulsiva.

3.7 Equações de Diferenças Lineares a Coeficientes Constantes


Uma tal equação é da forma:
N
X M
X
ak y[n − k] = bk x[n − k] (29)
k=0 k=0

com os ak e bk constantes. Assim, uma equação desta forma representa um cálculo envolvendo amostras de
entrada e de saída de vários instantes, cada uma delas multiplicada por uma constante.
Um exemplo de equação de diferenças linear a coeficientes constantes é:
Ricardo Pires - Processamento Digital de Sinais 30

3y[n] + 5y[n − 1] = 4x[n] − 10x[n − 2] + x[n − 5] (30)


na qual, no membro da esquerda, estão amostras da saída, de dois instantes, cada uma multiplicada por um
coeficiente constante e, no membro da direita, estão três amostras de entrada, de instantes diferentes, cada uma
multiplicada por um coeficiente.
A maioria dos sistemas de processamento digital de sinais são projetados para implementar equações deste
tipo, porque, se y[n] = 0 para todos os instantes anteriores à aplicação da primeira amostra x[n] 6= 0, estas
equações correspondem a sistemas lineares e invariantes no tempo, sendo fáceis de se tratar matematicamente
e de se realizar em hardware ou em software. Sua realização em hardware exige apenas elementos de memória
(para guardar amostras passadas de entrada e de saída), multiplicadores e somadores. Em software, basta
que estejam disponíveis variáveis em número suficiente para a memorização das amostras passadas e estejam
disponíveis operações de multiplicação e de adição.
Na prática, é comum que estas equações sejam escritas isolando-se y[n] no membro da esquerda, para que
fique explícita a forma de se calcular cada amostra de saída a partir de amostras de saída anteriores e das
amostras de entrada. Assim, a equação 30 fica:
5 4 10 1
y[n] = − y[n − 1] + x[n] − x[n − 2] + x[n − 5] (31)
3 3 3 3

Exercício 51
Se um sistema implementar a equação
1
y[n] =y[n − 1] + x[n] (32)
2
qual será sua sequência de saída, para 0 ≤ n ≤ 8, se y[n] = 0 para n < 0 e se as únicas amostras não nulas de
x[n] forem x[0] = 200 e x[1] = 100?

Um sistema que, para calcular cada amostra de saída, só utilize amostras de entrada (atual e anteriores)
tem resposta impulsiva com duração finita, ou seja, a partir de um certo instante, todas as amostras de h[n]
são nulas. Este tipo de sistema é chamado sistema FIR, da sigla em inglês para resposta impulsiva com
duração finita, finite impulse response.
Um sistema que tenha resposta impulsiva com duração infinita, ou seja, resposta impulsiva que nunca
se estabiliza em zero, é chamado sistema IIR, de infinite impulse response. Para que um sistema seja IIR, ele
deve calcular cada amostra de saída usando alguma amostra de saída anterior.

3.8 Representação no Domínio da Frequência


Se um sistema LIT receber, à sua entrada, uma sequência senoidal, ele fornecerá, à saída, uma sequência também
senoidal, com a mesma frequência que a da entrada, mas podendo ter outra amplitude e outra fase. Assim, da
entrada para a saída, neste caso, o sistema mantém a forma e a frequência do sinal.
Para se verificar isto, deve-se lembrar que uma sequência senoidal, A cos(ωn), pode ser escrita como A 2 (e
+jωn
+
e−jωn
). Então, para se calcular a saída fornecida pelo sistema LIT quando sua entrada for uma senoide, usando-
se a linearidade, podem-se calcular suas saídas para e+jωn , para e−jωn , somarem-se estes resultados e, finalmente,
multiplicar-se esta soma por A 2.
Partindo-se da equação 25 da convolução e usando-se, como entrada, x[n] = e+jωn , tem-se:
Ricardo Pires - Processamento Digital de Sinais 31


X
y[n] = h[m]x[n − m]
m=−∞

X
⇒ y[n] = h[m]e+jω(n−m)
m=−∞

X
⇒ y[n] = h[m]e+jωn e−jωm
m=−∞

!
X
⇒ y[n] = e+jωn h[m]e−jωm (33)
m=−∞

Assim, vê-se que a saída y[n] tem a mesma forma e+jωn da entrada, estando esta multiplicada pelo fator
entre parênteses, o qual é um número complexo. O módulo deste número complexo determina a alteração na
amplitude da senoide da entrada para a saída. O ângulo deste número complexo determina a defasagem entre
as senoides de entrada e de saída. Desta forma, o valor entre parênteses é a chamada resposta em frequência
do sistema LIT, simbolizada por H(ejω ):

X
H(ejω ) = h[m]e−jωm (34)
m=−∞

Com isto, uma forma de se caracterizar um sistema LIT é por meio de sua resposta em frequência , a qual
especifica como o sistema reage a cada possível senoide aplicada à sua entrada, em termos de modificação, da
entrada para a saída, da amplitude e da fase desta senoide.
Nos parágrafos anteriores, já está calculada y[n] para entrada e+jωn . Se a entrada for e−jωn (outra compo-
nente do cosseno, A cos(ωn) = A 2 (e
+jωn
+ e−jωn )), seguindo-se procedimento semelhante ao anterior, obtém-se


X
y[n] = h[m]x[n − m]
m=−∞

X
⇒ y[n] = h[m]e−jω(n−m)
m=−∞

X
⇒ y[n] = h[m]e−jωn e+jωm
m=−∞

!
X
+jωm
⇒ y[n] = e −jωn
h[m]e (35)
m=−∞

Assim, por linearidade, para se obter a resposta de um sistema LIT a uma senoide do tipo A cos(ωn) =
A +jωn
2 (e + e−jωn ), soma-se sua resposta para e+jωn , dada em (33), com sua resposta a e−jωn , dada em (35) e
multiplica-se, finalmente, esta soma por A
2 . Isto resulta:
( ∞
! ∞
!)
A +jωn
X X
+jωm
y[n] = e h[m]e −jωm
+e−jωn
h[m]e (36)
2 m=−∞ m=−∞

Já foi visto que a primeira somatória de (36) é, usualmente, escrita como H(ejω ) (resposta em frequência).
Como H(ejω ) é um número complexo, pode ser escrito como:

H(ejω ) = |H(ejω )|∠H(ejω ) (37)


Para qualquer sequência h[n] de números reais, a segunda somatória de (36) tem o mesmo módulo da
primeira somatória, mas tem fase oposta. Assim, a segunda somatória é o complexo conjugado da primeira.
Ricardo Pires - Processamento Digital de Sinais 32

Então, indicando-se a fase da primeira somatória como ejφ , a fase da segunda somatória será e−jφ . Usando-se
estes fatos, a equação 36 pode ser reescrita como:
A +jωn
y[n] = {e |H(ejω )|ejφ + e−jωn |H(ejω )|e−jφ } (38)
2
Desta equação, pode-se verificar que, realmente, quando a entrada de um sistema LIT for senoidal, sua saída
também o será, com a mesma frequência, mas podendo ter outra amplitude e outra fase:

A +jωn
y[n] = {e |H(ejω )|ejφ + e−jωn |H(ejω )|e−jφ }
2
A
⇒ y[n] = |H(ejω )| {e+jωn ejφ + e−jωn e−jφ }
2
jω A
⇒ y[n] = |H(e )| {e+j(ωn+φ) + e−j(ωn+φ) }
2
⇒ y[n] = |H(ejω )|A cos(ωn + φ) (39)

Para que faça sentido o uso da informação sobre a resposta em frequência de um sistema LIT, deve-se ter
informação detalhada sobre como é a sequência de entrada do sistema em termos de frequências, ou seja, deve-
se supor que a sequência de entrada seja formada por uma sobreposição de senoides, com várias frequências,
amplitudes e fases, mesmo que esta sequência de entrada não tenha sido formada fisicamente desta maneira.
Como exemplo de aplicação, um filtro passa-baixas é um sistema que tem uma resposta em frequência com
atenuação das senoides de frequências altas em relação às senoides de frequências baixas. Ele permite que
senoides de baixas frequências “passem” de sua entrada para sua saída mais facilmente do que senoides de
frequências altas.

Exercício 52
Calcule e interprete a resposta em frequência de um sistema atrasador que implemente y[n] = x[n − 2].

Exercício 53
Calcule e interprete a resposta em frequência de um sistema de média móvel que implemente
1
y[n] = (x[n] + x[n − 1])
2
Simule seu funcionamento com o Octave.

Exercício 54
Calcule e interprete a resposta em frequência de um sistema de média móvel que implemente
1
y[n] = (x[n] + x[n − 1] + x[n − 2] + x[n − 3])
4
Simule seu funcionamento com o Octave.

Exercício 55
Usando a equação 34, verifique que a resposta em frequência é periódica em frequência, com período de 2π.
Ricardo Pires - Processamento Digital de Sinais 33

Uma sequência de comandos que pode ser usada para se ver um gráfico do módulo e um gráfico
da fase de H(ejω ) do exercício 53 é:

octave1 > h = 1/2 ∗ [1 1]


octave2 > [H, w] = f reqz(h)
octave3 > plot(w, abs(H))
octave4 > plot(w, angle(H))

O comando 1 define a resposta impulsiva do sistema. O comando 2 faz com que seja calculada
a resposta em frequência deste sistema e que seu resultado seja memorizado em dois vetores:
H e w. O vetor w, que tem o papel de ω, memoriza as frequências angulares, em radianos,
para as quais a resposta em frequência foi calculada. O vetor H memoriza os valores de H(ejω )
correspondentes às frequências de w. O comando 3 faz com que seja apresentado o gráfico do
módulo (abs) de H(ejω ). Finalmente, o comando 4 faz com que seja apresentado o gráfico da
fase (angle) de H(ejω ).

Como a resposta em frequência é periódica em frequência, com período de 2π, basta que ela seja especificada
num intervalo de frequências com largura de 2π. A resposta para qualquer frequência fora deste intervalo é igual
à resposta para alguma frequência dentro dele. Usualmente, ela é especificada para o intervalo 0 ≤ ω < 2π ou
para −π < ω ≤ π. Como exemplo, a resposta em frequência de um filtro passa-baixas é mostrada na figura 14.

|Hf pb (ejω )|
1

−π −ωc ωc π

Figura 14: Resposta em frequência de um filtro passa-baixas

3.9 Representação de Sequências por Transformada de Fourier


Em tempo contínuo, a decomposição de um sinal em senoides é feita usando-se a série de Fourier ou a transfor-
mada de Fourier, apresentada em livros de Circuitos Elétricos e de Sistemas de Comunicação, tais como [4]. De
forma semelhante, sequências podem ser representadas por uma transformada de Fourier adaptada ao tempo
discreto.
A transformada de Fourier de tempo discreto é definida como:

X
X(ejω ) = x[n]e−jωn (40)
n=−∞

em que x[n] é a sequência a ser transformada, ω é uma frequência angular e X(ejω ) é o resultado da transformada
para esta ω. X(ejω ) é uma função que informa, para cada ω, com que intensidade e com que fase uma senoide
com frequência ω está presente na sequência x[n]. X(ejω ) é chamada de espectro de x[n].
Para se entender por que a expressão 46 “revela” quais frequências estão presentes numa certa sequência
x[n], supõe-se que uma certa sequência a ser analisada seja:
π π π π
x[n] = 3ej 2 n + 3e−j 2 n + 5ej 3 n + 5e−j 3 n , 0 ≤ n < 12 (41)
Ricardo Pires - Processamento Digital de Sinais 34

e que x[n] = 0 fora deste intervalo. Nesta expressão para x[n], podem-se identificar dois cossenos: um com
ω = π2 e o outro com ω = π3 . (Lembre-se de como o cosseno pode ser escrito como combinação de exponenciais
complexas.)
Supõe-se, então, que alguém que não conheça esta expressão para x[n], mas que conheça a sua sequência de
valores numéricos (eles podem ter sido medidos) queira descobrir quais são as senoides que formam esta x[n].
Para se descobrir se a x[n] de (41) tem uma componente do tipo ejωn com, por exemplo, ω = π2 , calcula-se
a expressão 46 usando-se aquela x[n] e ω = π2 , obtendo-se:

π P∞ π
X(ej 2 ) = n=−∞ x[n]e−j 2 n
π P11 π π π π π
⇒ X(ej 2 ) = n=0 (3ej 2 n + 3e−j 2 n + 5ej 3 n + 5e−j 3 n )e−j 2 n
π P11 π π π π π π π π
⇒ X(ej 2 ) = n=0 (3ej 2 n e−j 2 n + 3e−j 2 n e−j 2 n + 5ej 3 n e−j 2 n + 5e−j 3 n e−j 2 n )
π 11 π π π π π π π π
X(ej 2 ) = n=0 (3ej 2 n−j 2 n + 3e−j 2 n−j 2 n + 5ej 3 n−j 2 n + 5e−j 3 n−j 2 n )
P

π P11 π 5π
⇒ X(ej 2 ) = n=0 (3ej0n + 3e−jπn + 5e−j 6 n + 5e−j 6 n )
π P11 π 5π
⇒ X(ej 2 ) = n=0 (3 + 3e−jπn + 5e−j 6 n + 5e−j 6 n )
π P11 P11 P11 π P11 5π
⇒ X(ej 2 ) = n=0 3 + n=0 3e−jπn + n=0 5e−j 6 n + n=0 5e−j 6 n
π P11 P11 π P11 5π
⇒ X(ej 2 ) = 36 + 3 n=0 e−jπn + 5 n=0 e−j 6 n + 5 n=0 e−j 6 n
π
⇒ X(ej 2 ) = 36 + 0 + 0 + 0
π
⇒ X(ej 2 ) = 36 (42)

Exercício 56
Por que, ao final do cálculo feito em (42), as três últimas somatórias resultaram 0?

Em (42), viu-se que, quando se procurou em x[n] uma exponencial complexa que tivesse a frequência ω = π2 ,
as somatórias relacionadas a componentes de outras frequências resultaram 0, enquanto a somatória relacionada
à própria componente ω = π2 resultou 36. Este valor 36 está relacionado à presença de uma componente com
ω = π2 em x[n]. De fato, a sequência exponencial com frequência ω = π2 está presente em x[n] com comprimento
12 (a sequência só era não nula para 0 ≤ n < 12). O resultado 36 veio de uma somatória de 12 valores iguais
a 3. Assim, neste caso, o coeficiente 3 da exponencial complexa de frequência ω = π2 é revelado como sendo
36 jπ
12 = 3. Portanto, a aplicação da transformada de Fourier à x[n] permite que seja revelado o coeficiente de e
2n

em x[n].
π π
Se ej 2 n estivesse presente com maior duração dentro de x[n], o resultado obtido para X(ej 2 ) seria propor-

cionalmente maior. Por exemplo, se e 2 estivesse presente em x[n] com duração de 24 instantes (ao invés de
n
π π
12), X(ej 2 ) resultaria 72 (ao invés de 36). Mas, o coeficiente de ej 2 n continuaria sendo revelado como tendo o
72
valor 3, já que 24 = 3. Portanto, o resultado da transformada de Fourier para uma dada frequência depende não
só do coeficiente da exponencial complexa correspondente dentro de x[n], mas depende, também, da duração
desta exponencial complexa dentro de x[n].

Exercício 57
π
Calcule X(ej 3 ) para a x[n] dada em (41). Interprete o resultado.

O que faz com que a transformada de Fourier consiga revelar a presença de uma certa exponencial complexa
ejωx n dentro de uma sequência é que a multiplicação desta exponencial por e−jωx n resulta ejωx n e−jωx n = 1,
como visto em (42). E a somatória destes valores 1 cresce ao longo da duração da sequência. Por outro lado,
para frequências diferentes da procurada, o expoente de e não se anula. Neste caso, a somatória de valores desta
exponencial complexa ao longo da duração da sequência oscila, ao invés de crescer continuamente.
Ricardo Pires - Processamento Digital de Sinais 35

A sequência x[n] pode ser recuperada a partir de X(ejω ) usando-se a transformada inversa de Fourier,
definida como:
Z π
1
x[n] = X(ejω )ejωn dω (43)
2π −π
A demonstração de que a equação 43 é a transformação inversa da equação 46 é apresentada em [1].
Da equação 43, vê-se que a resposta impulsiva h[n] de um sistema é a transformada inversa de Fourier da
resposta em frequência deste sistema.
A equação 43 permite que se calcule a sequência de amostras x[n] cuja transformada de Fourier é uma certa
X(ejω ) conhecida. Isto é usado em processos de compactação de dados. Se uma longa sequência de amostras
for formada por umas poucas componentes senoidais, pode ser vantajoso se armazenar em uma memória digital
uma descrição de X(ejω ), ao invés de se memorizarem os próprios valores lidos das amostras, x[n]. Nesta
técnica, então, primeiro é lida e memorizada a longa sequência de amostras x[n]. Em seguida, é calculada a
transformada de Fourier de x[n]. Os resultados desta X(ejω ), então, são memorizados e as amostras originais
x[n] são descartadas. Se for necessário recuperar-se x[n], basta que se calcule a transformada inversa de X(ejω ),
usando-se a equação 43.
Uma aplicação popular da transformada de Fourier é a codificação de som no formato MP3 [5]. Nesta
técnica, uma sequência de amostras de som x[n] a ser compactada é subdividida em subsequências x1 [n], x2 [n]
etc., que duram, cada uma, uma fração de segundo. Cada uma destas subsequências sofre uma transformada
de Fourier, resultando X1 (ejω ), X2 (ejω ) etc. O resultado da transformada de Fourier de cada trecho indica
o conteúdo em frequências deste trecho. São, então, removidas as componentes com frequências inaudíveis de
cada trecho. E, ainda, em cada trecho, é identificada a senoide com maior energia. As senoides que não seriam
audíveis no mesmo trecho devido à presença simultânea desta senoide muito mais forte também são removidas.
Então, para cada trecho, são memorizadas, no domínio da frequência, apenas as senoides remanescentes. Nesta
memorização, ainda é usada uma técnica genérica de compactação de arquivos digitais.
O Teorema da Convolução se aplica a sequências e a suas transformadas de Fourier, ou seja, se

F
x[n] −→ X(ejω )
e

F
h[n] −→ H(ejω )
F
(em que a notação −→ representa a transformada de Fourier), se uma sequência y[n] for o resultado da convolução
destas x[n] e h[n], ou seja,

X
y[n] = x[k]h[n − k] = x[n] ∗ y[n]
k=−∞

então

Y (ejω ) = X(ejω )H(ejω )


ou seja, convolução no domínio do tempo corresponde a multiplicação no domínio de frequência. Uma demon-
stração deste teorema é apresentada em [1].

3.10 Transformada de Fourier Discreta


A transformada de Fourier discreta é uma transformada de Fourier calculada apenas para sequências x[n] de
duração finita. É muito comum que se refiram a ela pela sua sigla em inglês, DFT. Ela é chamada de “discreta”
porque apresenta o resultado da transformada de Fourier apenas para um número finito de frequências e não
para todos os valores de frequência, como acontece com a transformada de Fourier contínua. O número de
frequências para as quais a DFT apresenta resultados é igual ao número de valores de x[n] usados no cálculo desta
transformada. Por exemplo, se a sequência x[n] a ser transformada tiver apenas 10 valores, a DFT fornecerá uma
Ricardo Pires - Processamento Digital de Sinais 36

sequência contendo, também, 10 valores. Estes valores gerados pela DFT são amostras igualmente espaçadas
em frequência do espectro contínuo de x[n].
A DFT tem grande utilidade prática, por ser, em geral, de cálculo mais rápido do que um cálculo analítico
da transformada de Fourier contínua e, mesmo assim, fornecer amostras exatas do espectro contínuo do sinal
transformado. Quanto menos amostras de uma x[n] forem usadas no cálculo da DFT, maior será a rapidez deste
cálculo, mas serão obtidas menos amostras do espectro. Inversamente, se muitas amostras de x[n] forem usadas
no cálculo da DFT, maior será o trabalho nos cálculos, mas se obterá uma melhor visualização do espectro
(mais amostras dele).
A DFT é definida como:
N −1

X
X[k] = x[n]e−j N kn (44)
n=0

em que x[n] é a sequência de duração finita a ser transformada e X[k] é o resultado da transformação. X[k] é
uma sequência que contém amostras uniformemente espaçadas, em frequência, do espectro X(ejω ) de x[n]. A
diferença de frequência angular entre duas amostras seguidas de X(ejω ) contidas em X[k] é de 2π N , em que N é
o número de amostras da sequência x[n] usadas no cálculo de X[k]. Assim, por exemplo, se N = 10, a diferença
de frequência angular entre amostras de X(ejω ) contidas em X[k] será de 2π 10 . Então, para N = 10, X[0] tem o
valor de X(ejω ) para ω = 0 2π
10 = 0 rad. X[1] tem o valor de X(ejω
) para ω = 1 2π 2π
10 = 10 rad e assim por diante,

até X[9], que tem o valor de X(e ) para ω = 9 10 rad. Para k = 10, o valor obtido para X[k], X[10], seria o

de X(ejω ) para ω = 10 2π10 = 2π rad, o qual equivale ao valor obtido para ω = 0 rad, X[0], já que X(e ) é

periódico em frequência, com período de 2π. Por isto, só são de interesse os valores de X[k] em número igual
ao número de amostras de x[n] usadas no cálculo. Valores de X[k] fora da faixa de interesse são sempre iguais
a valores de X[k] normalmente calculados.
A figura 15 é um gráfico do módulo da transformada de Fourier contínua de uma sequência, apresentado
em linha contínua, sobreposto ao gráfico do módulo da DFT da mesma sequência, apresentado como hastes.
A sequência utilizada nesta transformação tinha comprimento de oito amostras, tendo as quatro primeiras
amostras o valor 1 e as quatro últimas o valor 0. (Esta sequência não é mostrada na figura.) Como a sequência
a ser transformada tinha oito amostras, com a DFT, obtiveram-se oito amostras de seu espectro contínuo. Vê-se,
na figura 15, que os resultados da DFT coincidem com os do espectro contínuo.
A transformada de Fourier discreta inversa é calculada como:
N −1
1 X 2π
x[n] = X[k]ej N kn (45)
N
k=0

Aqui, X[k] é um espectro discreto conhecido. x[n] é a sequência correspondente a este espectro. N é o
comprimento de x[n] e é, assim, o número de valores não redundantes de X[k].
Atualmente, a DFT é calculada, para longas sequências, em programas de computador e em circuitos inte-
grados, usando-se algoritmos rápidos chamados de FFT (do inglês “Fast Fourier Transform” ou Transformada

Rápida de Fourier). A FFT usa recursão e se aproveita do fato de que fatores do tipo ej N kn são periódicos
em k e em n, evitando, com isto, que eles sejam recalculados muitas vezes. Resultados parciais de fatores
deste tipo já calculados são reaproveitados ao máximo. Cita-se o matemático Gauss como um dos primeiros a
descrever a FFT, em 1805 [1].

A FFT de uma dada sequência x é calculada usando-se o comando fft(x). O resultado é uma
sequência com o mesmo comprimento de x, contendo amostras do espectro de x.
Ricardo Pires - Processamento Digital de Sinais 37

3
modulo do espectro

-1
-1 0 1 2 3 4 5 6 7
omega(rad)

Figura 15: Módulo de uma DFT e de uma transformada de Fourier contínua da mesma sequência

Exercício 58
No Octave, gere uma sequência de instantes, com o comando
octave> n=[0:11]
Em seguida, especifique uma frequência ω = π2 , com
octave> omega=pi/2
Então, gere uma senoide, com (usando x minúsculo)
octave> x=cos(omega*n)
Calcule e memorize a FFT de x com (usando X maiúsculo)
octave> X=fft(x)
Visualize o módulo desta FFT com
octave> stem(n,abs(X))
Interprete o resultado.

Exercício 59
No exercício anterior, o eixo x do gráfico mostrava os instantes n. Modifique a escala do eixo x, para que ela
passe a mostrar ω, com os comandos:
octave> eixox=2*pi/12*n
octave> stem(eixox,abs(X))
Verifique os valores de ω em que ficaram as raias não nulas do espectro.
Ricardo Pires - Processamento Digital de Sinais 38

Exercício 60
π π
Repita o procedimento anterior para: ω = 4, ω= 8 e ω = π. Interprete os resultados.

Exercício 61
Repita o procedimento anterior para sequências mais longas, para mais instantes, usando o programa para o
Octave:

n=[0:99];
omega=input("omega=");
x=cos(omega*n);
X=fft(x);
eixox=2*pi/100*n;
stem(eixox,abs(X))

para vários valores de ω. Interprete os resultados.

Exercício 62
Verifique o espectro de uma sequência x que consista numa soma de duas senoides, com diferentes frequências
e diferentes amplitudes.

A FFT inversa de um espectro discreto X é calculada usando-se o comando ifft(X). O resultado


é uma sequência temporal com o mesmo comprimento de X, a qual é a sequência de amostras
cujo espectro discreto é X.

4 Transformada Z
A transformada Z é uma generalização da transformada de Fourier. Uma de suas utilidades é ter notação mais
simples do que a transformada de Fourier. Outra utilidade é a de facilitar a visualização de propriedades de
sistemas de tempo discreto.
A transformada de Fourier foi definida na seção 3.9 como:

X
X(ejω ) = x[n]e−jωn (46)
n=−∞

Na definição da transformada Z, troca-se a expressão ejω da transformada de Fourier por uma variável complexa
z, obtendo-se:

X
X(z) = x[n]z −n (47)
n=−∞

Na definição da transformada Z, z é uma variável complexa que pode assumir qualquer valor. Quanto à
expressão ejω , ela também é um número complexo, mas só pode assumir valores cujo módulo valha 1. Assim,
a transformada de Fourier e a transformada Z só coincidem quando o módulo da variável z for restrito a 1.
Ricardo Pires - Processamento Digital de Sinais 39

De forma similar à usada com a transformada de Fourier, uma notação usada para se indicar um par formado
por uma sequência e sua transformada Z é:

Z
x[n] −→ X(z) (48)

Exercício 63
Qual é a transformada Z da sequência dada na tabela 14?

Vê-se que a transformada Z de uma sequência apresenta cada valor desta sequência multiplicado pela variável
z elevada ao negativo do instante daquele valor na sequência.

Exercício 64
Qual é a transformada Z de uma versão atrasada da sequência do exercício anterior (considere atraso unitário)?

Vê-se que atrasar uma sequência em uma unidade de tempo corresponde a multiplicá-la por z −1 no domínio
z. Atrasá-la de k unidades de tempo corresponde a multiplicá-la por z −k . Adiantá-la corresponde a multiplicá-la
por z elevada a um expoente positivo, cujo valor é o número de unidades de tempo de adiantamento.

Exercício 65
Se a transformada Z de uma sequência x[n] for chamada de X(z), qual será a transformada Z da sequência
1
2 x[n − 3]?

Exercício 66
Se a transformada Z de uma sequência x[n] for chamada de X(z), qual será a transformada Z da sequência
x[n] − 31 x[n − 1] + 12 x[n − 3]?

Exercício 67
Se a transformada Z de uma sequência x[n] for chamada de X(z) e a transformada Z de uma sequência y[n] for
chamada de Y (z), qual será a transformada Z da equação y[n] = x[n] − 13 x[n − 1] + 12 x[n − 3] − 10
1
y[n − 2]?

4.1 Transformada Z e Equações de Diferenças


Conforme visto na seção 3.7, muitos sistemas de tempo discreto são projetados para implementar equações de
diferenças do tipo:
N
X M
X
ak y[n − k] = bk x[n − k] (49)
k=0 k=0

A transformada Z da equação 49 é:
Ricardo Pires - Processamento Digital de Sinais 40

PN PM
k=0ak z −k Y (z) = k=0 bk z −k X(z)
PN PM
⇒ Y (z)( k=0 ak z −k ) = X(z)( k=0 bk z −k )
PM
Y (z) k=0 bk z
−k
⇒ H(z) = X(z) = PN
a z −k (50)
k=0 k

em que H(z) é a função de transferência do sistema, no domínio z.

Exercício 68
Qual é a função de transferência no domínio z do sistema que implementa
1 1 1
y[n] = x[n] − x[n − 1] + x[n − 3] − y[n − 2] ?
3 2 10

Exercício 69
Qual é a função de transferência no domínio z do sistema que implementa
1 1
y[n] = x[n] − x[n − 1] + x[n − 3] ?
3 2

A H(z) de um sistema que implementa uma equação de diferenças pode ser escrita de forma que seu
numerador e seu denominador apareçam como produtos de fatores do tipo (z − k), com k sendo um número
complexo constante. Escrita desta forma, a H(z) revela diretamente seus zeros e seus polos. Um zero de H(z)
é um valor de z que faz com que a H(z) assuma valor zero. Assim, um zero é um valor de z que faz com que
o numerador de H(z) assuma valor zero. Um polo de H(z) é um valor de z que faz com que a H(z) assuma
valor tendendo a infinito. Assim, um polo é um valor de z que faz com que o denominador de H(z) assuma
valor zero.

Exercício 70
Quais são os zeros e os polos da função de transferência dada abaixo?

(z − 0, 5)(z + 0, 5)
H(z) =
z(z − 0, 8)

Escreva uma equação de diferenças correspondente.

Exercício 71
Quais são os zeros e os polos da função de transferência dada abaixo?

1 + 0, 1z −1 − 0, 12z −2
H(z) =
1 − 0, 6z −1 + 0, 25z −2
Escreva uma equação de diferenças correspondente.
Ricardo Pires - Processamento Digital de Sinais 41

Para se obterem as raízes de um polinômio p(x), por exemplo, p(x) = x2 − 5x + 6, deve-se


fornecer este polinômio montando-se um vetor com seus coeficientes, usando-se:
octave > p = [1 − 5 6]
e deve-se, em seguida, usar o comando roots:
octave > roots(p)

Exercício 72
Escreva uma equação de diferenças cuja H(z) tenha um único zero em 0,8 e tenha dois polos, em ±0, 7i.

Exercício 73
Escreva uma equação de diferenças cuja H(z) tenha zeros em ±0, 8 e tenha polos em 0, 5 ± 0, 7i.

Para se obter um polinômio p(x) que possua certas raízes, por exemplo, 2 e 3, deve-se montar
com elas um vetor, usando-se:
octave > raizes = [2 3]
e deve-se, em seguida, usar o comando poly:
octave > poly(raizes)
O resultado será a sequência de coeficientes de um polinômio que possua as raízes fornecidas. No
resultado, o coeficiente dado mais à esquerda é o do termo de maior expoente. Neste exemplo,
o resultado é:
1 −5 6
o que significa que um polinômio cujas raízes são 2 e 3 é
x2 − 5x + 6

4.2 Cálculo de Resposta em Frequência Usando a Transformada Z


Sabe-se que a transformada Z, H(z), e a transformada de Fourier, H(ejω ), coincidem quando |z| = 1, já que
|ejω | = 1 para qualquer valor de ω. Para qualquer valor de ω, ejω é um número complexo com módulo igual a
1 e com ângulo igual a ω. Assim, para se avaliar H(ejω ) para algum valor de ω, pode-se calcular ejω para este
ω, fazer-se z igual a este valor de ejω e avaliar-se H(z) para este valor de z.

Exercício 74
Dada a função de transferência:
(z − 0, 5)(z + 0, 5)
H(z) =
z(z − 0, 8)
π
Qual é seu módulo e qual é sua fase para ω = 0? E para ω = 2? E para ω = π?

Pelo que se vê no exercício anterior, para se calcular aquela H(z) em várias frequências, calcula-se
(ejω − 0, 5)(ejω + 0, 5)
H(ejω ) =
ejω (ejω − 0, 8)
naquelas frequências.
Ricardo Pires - Processamento Digital de Sinais 42

Esta H(z) tem dois fatores correspondentes a seus zeros e dois fatores correspondentes a seus polos. Um
dos fatores correspondentes a um zero é (z − 0, 5). Ele corresponde a um zero em +0, 5. Para um dado valor
de z, o valor deste fator, obviamente, é a diferença entre o valor de z e o valor 0, 5, ou seja, é a diferença
entre o valor de z e o zero do fator. Por exemplo, para ω = 0, z = ej0 = 1, este termo assumirá o valor
π
(z − 0, 5) = 1 − 0, 5 = 0, 5. E, para ω = π2 , z = ej 2 = j, (z − 0, 5) = j − 0, 5. Neste último caso, o módulo do
p √
fator é |j − 0, 5| = 0, 52 + 12 = 1, 25. Este módulo é igual ao comprimento da linha pontilhada da figura 16,
na qual kz representa o valor do zero deste fator. Vê-se que o comprimento desta linha é igual ao da linha
tracejada, a qual liga z = j ao zero de valor 0, 5. Em geral, para uma dada frequência ω, o módulo de um fator
do tipo (z − kz ), em que kz é um zero do sistema, é igual à distância entre z = ejω e kz . A fase θz deste fator
também está indicada na figura.


plano complexo

j − kz ω= π
(z = j)
2

|j − kz |

θz θz

kz ℜ

raio unitário

π
Figura 16: Visualização do efeito de um zero kz em H(z), para ω = 2

Exercício 75
Usando a representação de um zero do sistema no plano complexo, calcule, usando desenhos, o módulo e a fase
do fator (z − 0, 5) para ω = 0, ω = π2 e ω = π.

Exercício 76
Usando a representação de um zero do sistema no plano complexo, calcule, usando desenhos, o módulo e a fase
do fator (z + 0, 5) para ω = 0, ω = π2 e ω = π.

Vê-se que, quanto maior for a distância do ponto ejω a um zero do sistema, maior será a contribuição deste
zero para o ganho. Assim, no projeto de um sistema, devem-se colocar zeros próximos à circunferência unitária
Ricardo Pires - Processamento Digital de Sinais 43

(ou sobre ela) nas frequências para as quais se desejar baixo valor de ganho e vice-versa.
O efeito de um polo sobre o módulo e a fase de H(z) pode ser visualizado de maneira semelhante à do efeito
de um zero. Mas, como o fator de um polo está no denominador de H(z), quando ejω estiver próximo a um
polo, o ganho correspondente será grande e vice-versa. Também por estar no denominador, o polo não deverá
estar sobre a circunferência unitária, pois isto levaria a uma divisão por zero no cálculo do ganho (o ganho
tenderia a infinito).
O ângulo correspondente a um polo, obtido na forma da figura 16, contribuirá para H(z) com o oposto de
seu sinal, já que ele é um ângulo que está no denominador de um número complexo.

Exercício 77
Usando a representação de um polo do sistema no plano complexo, calcule, usando desenhos, o módulo e a fase
1
do fator (z+0,8) para ω = 0, ω = π2 e ω = π.

Exercício 78
Usando a representação de um polo do sistema no plano complexo, calcule, usando desenhos, o módulo e a fase
do fator z1 para ω = 0, ω = π2 e ω = π.

Exercício 79
Um certo sistema tem, como zeros, z1 = 1, z2 = 0, 8j e z3 = −0, 8j. Seus polos são: p1 = −0, 2, p2 = −0, 2+0, 3j
e p2 = −0, 2 − 0, 3j. Esboce seu diagrama de zeros e polos no plano complexo. Esboce o gráfico do módulo de
seu ganho em frequência. Este sistema tem característica passa-baixas? Passa-altas?

A seguinte sequência de comandos permite a visualização do módulo do ganho do sistema do


exercício 79.
octave > z1 = 1;
octave > z2 = 0.8j;
octave > z3 = −0.8j;
octave > p1 = −0.2;
octave > p2 = −0.2 + 0.3j;
octave > p3 = −0.2 − 0.3j;
octave > zrs = [z1 z2 z3];
octave > pls = [p1 p2 p3];
octave > numerador = poly(zrs);
octave > denominador = poly(pls);
octave > [H, w] = f reqz(numerador, denominador);
octave > plot(w, abs(H))

Assim, para se obter um sistema com uma determinada característica de resposta em frequência, devem-se
colocar zeros próximos às frequências para as quais se deseja ganho pequeno e polos próximos às frequências
para as quais se deseja ganho grande. Escolhidos os zeros e os polos, podem-se construir os polinômios do
numerador e do denominador de H(z). Com a H(z) preparada desta forma, pode-se escrever a equação de
diferenças correspondente. E, finalmente, tendo-se a equação de diferenças, pode-se implementar o sistema em
hardware ou em software.
Ricardo Pires - Processamento Digital de Sinais 44

Referências
[1] OPPENHEIM,A.V., SCHAFER,R.W.
Discrete-Time Signal Processing
Prentice-Hall, 1989
[2] http://www.octave.org, acessado em 23/12/2008

[3] http://www.ti.com, acessado em 26/12/2008

[4] CARLSON,A.B.; CRILLY,P.; RUTLEDGE,J.


Communication Systems
McGraw-Hill, 2001

[5] http://www.mp3-converter.com/mp3codec, acessado em 17/05/2009

Vous aimerez peut-être aussi