Você está na página 1de 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 x a (t). Neste caso,

x[n] = x a (nT a )

(1)

em que T a , intervalo entre a coleta de duas amostras seguidas, é chamado período de amostragem. Seu inverso,

f a , é 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:

No software Octave, uma sequência é definida como: octave > x = [11 22 33 44]

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

Ricardo Pires - Processamento Digital de Sinais 4 Figura 1: Gráfico de uma função de domínio

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 n 0 ], em que n 0 é 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 n 0 ], para

Ricardo Pires - Processamento Digital de Sinais

5

Ricardo Pires - Processamento Digital de Sinais 5 Figura 2: Gráfico de uma função de domínio

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

n 0 = 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:

δ[n] = 0

1

para n = 0

para n = 0

(2)

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

Ricardo Pires - Processamento Digital de Sinais

6

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

No Octave, pode-se verificar uma soma de sequências como: octave > a = [2 − 1

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:

  • 2.3.2 Degrau Unitário

x[n] =

x[k]δ[n k]

k=−∞

A sequência degrau unitário, denotada u[n], é definida como:

(3)

Ricardo Pires - Processamento Digital de Sinais

7

No Octave, cada sequência fornecida como nos exemplos anteriores é vista pelo software como

No Octave, cada sequência fornecida como nos exemplos anteriores é vista pelo software como uma matriz

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)

e é representada na figura 4.

Exercício 7

Desenhe o gráfico de 3u[n].

u[n] = 0

1

para

n < 0

para n 0

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].

(4)

Ricardo Pires - Processamento Digital de Sinais

8

Pode-se verificar o produto de uma sequência por uma constante como: octave > a = [2
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] = 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 >

alfa = 0.7

octave : 4 >

seqExpo = A alfa. n

octave : 5 > octave : 6 >

octave : 5 >

octave : 6 >

stem(n, seqExpo)

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 alfa, 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

Ricardo Pires - Processamento Digital de Sinais 9 Figura 3: Gráfico da função impulso de tempo

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 = , φ 0 = 0 e n indo de 1 a 20.

π

4

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,

No Octave, a função cosseno é digitada, simplesmente, como cos . A função seno é digitada

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

Ricardo Pires - Processamento Digital de Sinais 10 Figura 4: Gráfico da função degrau unitário Exercício

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 = . Para isto,

π

4

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

Ricardo Pires - Processamento Digital de Sinais 11 Figura 5: Gráfico de sequência exponencial problema, deve-se

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] = Ae j(ω 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:

e jx = 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, e jx 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 e jx é sempre 1, independentemente do valor de x

(verifique). Assim, o módulo de Ae jx é A.

Ricardo Pires - Processamento Digital de Sinais

12

Ricardo Pires - Processamento Digital de Sinais 12 Figura 6: Gráfico de sequência senoidal Exercício 16

Figura 6: Gráfico de sequência senoidal

Exercício 16

Represente e +j π no plano complexo, anotando suas coordenadas.

3

Exercício 17

Represente e j π no plano complexo, anotando suas coordenadas.

4

Exercício 18

Represente e +jπ no plano complexo, anotando suas coordenadas.

Exercício 19

Represente 5e +j π no plano complexo, anotando suas coordenadas.

6

Exercício 20

Represente 7e +j 7π no plano complexo, anotando suas coordenadas.

6

Ricardo Pires - Processamento Digital de Sinais

13

ω x

0

π

       

2π

π

     

2π

 

3π

   

4π

 

3π

     
 

.

.

.

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

ℑ e jx x cos x ℜ
e jx
x
cos x

sen x

Figura 8: Representação de e jx no plano complexo

Exercício 21

Represente 4e +j 11π no plano complexo, anotando suas coordenadas.

6

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

Exercício 22

Prove a validade da equação 9.

cos x = 1 2 (e +jx + e jx )

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

Exercício 23

1

sen x = 2j (e +jx e jx )

(9)

(10)

Ricardo Pires - Processamento Digital de Sinais

14

Como e jx , com um valor fixo para x, pode ser representado como um ponto no plano complexo, o valor e jω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 e jωt à origem continua sendo 1. A frequência de giro deste

ponto é constante, de ω ( rad ). Assim, uma grandeza física variando de forma senoidal, como, por exemplo,

s

uma tensão elétrica v(t) = cos(ωt), poderia ser considerada como a projeção horizontal do ponto giratório e jω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 Ae jωt , o qual gira sobre uma

circunferência de raio A. Esta projeção horizontal é denotada ℜ{e jωt }. (O operador ℜ{} fornece a parte real

de seu argumento.) A projeção vertical é denotada ℑ{e jωt }. (O operador ℑ{} fornece a parte imaginária de

seu argumento.)

ℑ e jωt sen(ωt) ωt cos(ωt) ℜ
e jωt
sen(ωt)
ωt
cos(ωt)

Figura 9: Representação de e jω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 π t e a de e j π t , para t = 1s, t = 2s e t = 3s.

4

4

Em cada caso, indique a posição do ponto médio entre e +j π

4 t e e j π t

4

.

Ricardo Pires - Processamento Digital de Sinais

15

ℑ e jωt sen(ωt) ωt cos(ωt) ℜ −ωt −sen(ωt) e −jωt
e jω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 π n , para 0 < n < 8.

4

Exercício 27

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

3

Exercício 28

Represente, no plano complexo, as sucessivas posições ocupadas pelo ponto e j π n , para 0 < n < 12.

3

Ricardo Pires - Processamento Digital de Sinais

16

ℑ e jωn sen(ωn) ωn cos(ωn) ℜ
e jωn
sen(ωn)
ωn
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 π n e de e j π n , para

4

4

0 < n < 8. Com base neste gráfico, desenhe o gráfico de cos( π n) × n

4

  • 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 x c (t) a

intervalos regulares, formando-se a sequência de amostras x[n] segundo a relação:

x[n] = x c (nT a )

(11)

em que n é o número da amostra, sempre inteiro, podendo assumir valores desde −∞ a +e T a é o chamado

período de amostragem, o qual é o intervalo de tempo entre a obtenção de duas amostras seguidas de x c (t).

1

O inverso de T a é a chamada frequência de amostragem, f a = T a . Esta indica quantas amostras de x c (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 x c (t) e

fornece a sequência de amostras x[n]. As chaves ch 1 e ch 2 são implementadas como transistores operando como

chaves. Quando ch 1 se fecha, o valor de tensão correspondente a x c (t) no instante do fechamento é registrado

como tensão de carga do capacitor C. Em seguida, ch 1 é aberta, congelando-se a leitura feita por C. ch 2 é,

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 ch 1 é o de obter uma amostra instantânea de x c (t) e de

colocá-la em C. ch 1 é 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,

f a . 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 T a . 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.

x c (t)

ch 1 ch 2 conversor C A/D
ch 1
ch 2
conversor
C
A/D

x[n]

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 = ω 1 . Para se evitar esta ambiguidade,

antes de se fazer a amostragem, deve-se garantir que x c (t) não contenha frequências equivalentes entre si. Na

prática, isto consiste em se fazer com que o espectro de x c (t) só possa conter frequências de 0 até um certo valor

limite f max , 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.

x c (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 x c (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

T a , duas amostras seguidas são coletadas num tempo igual a 2T a . Isto corresponde a uma frequência f max de

tempo contínuo de

Ricardo Pires - Processamento Digital de Sinais

18

f max =

1

2T a

=

f a

2

(12)

em que f a é a frequência de amostragem. Esta f max , 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 T a . 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 f a 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 f a 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,

f a = 2f max

(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, f max , então, equivale a ω = π rad.

Assim, pode-se montar a regra de três:

Exercício 30

f (Hz) ω (rad)

f max π

(14)

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 é

Usando-se o Octave, podem-se gerar arquivos de som no formato wave , por meio do co-

de 8000 amostras s

. Eis um exemplo:

octave >

fAmostr = 8000

octave >

duracaoSegundos = 5

octave >

numAmostras = fAmostr 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 n 0 ],

−∞ < n < +

(16)

na qual n 0 é 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 (n 0 = 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 é:

y[n] = 1 4 {x[n] + x[n 1] + x[n 2] + x[n 3]}

(17)

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[n1], um para x[n2] e um para x[n3]. 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]

x[n 1]

x [ n − 1]
x [ n − 1]
 
clock

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