Você está na página 1de 118

Pontifcia Universidade Catlica do Paran

Centro de Cincias Exatas e de Tecnologia CCET


Engenharia Eltrica nfase Telecomunicaes

Processamento Digital de Sinais (PDS)


Prof. Marcelo E. Pellenz - PPGIA Tel. 3271-1690
http://www.ppgia.pucpr.br/~marcelo
e-mail: marcelo@ppgia.pucpr.br

Perodo: 6/8
1

Ano: 2005

Ementa
Introduo ao processamento digital de sinais
Processo de digitalizao de sinais analgicos: converso A/D, teorema de Nyquist amostragem,
quantizao, codificao e reconstruo do sinal analgico (Converso D/A).
Sinais e Seqncias Discretas: sinais senoidais discretos/contnuos, normalizao de freqncias,
periodicidade de seqncias discretas senoidais, interpretao de freqncias altas e baixas,
interpretao da freqncia normalizada.
Operaes com seqncias discretas: seqncias discretas, impulso unitrio, degrau unitrio,
seqncias exponenciais reais/complexas, seqncia par e mpar.
Representao de Sinais e Sistemas Discretos no Domnio do Tempo/Freqncia: sistemas
discretos lineares invariantes no tempo (LTI), propriedades de sistemas LTI, convoluo Linear,
equao de diferenas.
Transformada de Fourier em Tempo Discreto (DTFT)
Transformada Discreta de Fourier (DFT/FFT)
Transformada-Z
Projeto de Filtros Digitais FIR e IIR
Estrutura de Filtros Digitais e Aspectos de Implementao
Aplicaes do Processamento Digital de Sinais em Sistemas de Comunicao Digital

Semestre: 1./2

Objetivos
Capacitar o aluno para a caracterizao, projeto e implementao de filtros digitais, anlise espectral
de sinais usando DFT e desenvolvimento de algoritmos para processamento digital de sinais
aplicados em sistemas de comunicao.

Bibliografia
Digital signal processing using MATLAB, V. K. Ingle and J. G. Proakis, Brooks/Cole, 2000
Digital signal processing: principles, algorithms, and applications, J. G. Proakis and D. G.
Manolakis, Prentice Hall, 1996
Digital Signal Processing: A computer based approach, S. K. Mitra, McGraw-Hill, 1998
Material didtico (apostila) e tcnico (artigos) fornecidos pelo professor

Procedimentos de Avaliao

Trs notas parciais no semestre, onde cada nota ser composta pela nota da prova (peso 7) e da
nota dos trabalhos de laboratrio (peso 3) correspondentes ao perodo avaliado.
O contedo das provas acumulativo e tambm englobar as atividades e conceitos
desenvolvidos em laboratrio.
Trabalhos sero desenvolvidos em sala de aula e em laboratrio (Exerccios/Matlab/DSP), com a
entrega dos resultados e/ou relatrios ao final do experimento.
As datas das avaliaes sero estabelecidas com um prazo mnimo de uma semana de
antecedncia.
A mdia e freqncia mnimas para a aprovao sero regidas pelas regras da instituio.

Processamento Digital de Sinais: Teoria e Aplicaes

Observaes Importantes
O desenvolvimento de alguns experimentos de laboratrio ser feito em grupo. Aps a definio dos
grupos, eles no podem ser modificados. Um aluno do grupo ser escolhido pelo professor para
defender o trabalho no momento da apresentao.
Os relatrios devem ser entregues impreterivelmente na data e horrio limite estipulado pelo
professor. No sero aceitos relatrios fora do prazo.
Os alunos que faltarem as aulas de laboratrio devero realizar o experimento extra classe e
entregar os resultados/relatrios impreterivelmente na prxima aula.

Prof. Marcelo E. Pellenz

Material de Laboratrio

2 fones de ouvido para desenvolvimento dos experimentos de laboratrio no Matlab e no kit DSP

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 2

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

NDICE
Introduo ao processamento digital de sinais .............................................................. 5
Digitalizao de Sinais e Normalizao de Freqncias ............................................... 28
Periodicidade de Seqncias Discretas ........................................................................ 30
Interpretao da Freqncia Normalizada ..................................................................... 31
Sinais de Freqncias Distintas com o mesmo Perodo ................................................ 32
Interpretao de Freqncias Altas e Baixas ................................................................ 33
Interpretao de Freqncias Altas e Baixas em Tempo Discreto ................................ 34
Operaes com Seqncias Discretas .......................................................................... 35
Funo Impulso Unitrio ................................................................................................ 35
Funo Degrau Unitrio ................................................................................................ 35
Pr-Lab 1 Representao e Operaes com Seqencias Discretas .......................... 36
Laboratrio 1 Representao e Operaes com Sinais em Tempo Discreto ............. 37
Pr-Relatrio para o Laboratrio 2 ................................................................................. 40
Decomposio em Seqncia Par e mpar .................................................................... 40
Sinais de Energia e Sinais de Potncia .......................................................................... 41
Escalonamento no Tempo (Down-Sampling) ................................................................. 41
Sistemas Discretos Lineares e Invariantes no Tempo (LTI) ........................................... 41
Estabilidade de Sistemas LTI ......................................................................................... 42
Sistema LTI Causal ........................................................................................................ 42
Correlao e Autocorrelao de Seqncias ................................................................. 42
Equao de Diferenas .................................................................................................. 43
Representao de sistemas usando diagrama de blocos .............................................. 43
Pr-Lab 2 Sistema de Discagem por Tons (DTMF) .................................................... 43
Laboratrio 2 Sinais e Sistemas Discretos ................................................................. 44
Pr-Relatrio para o Laboratrio 3 ................................................................................. 46
Anlise Espectral de Sinais Contnuos no Tempo .......................................................... 47
Anlise Espectral de Sinais Discretos no Tempo ........................................................... 48
Transformada Discreta de Fourier (DFT) ........................................................................ 53
Representao de Sistemas LTI no Domnio da Freqncia ......................................... 56
Laboratrio 3 Transformada de Fourier Discreta (DFT) .............................................. 57
Transformada de Fourier Discreta (DFT) ....................................................................... 58
Transformada-Z .............................................................................................................. 61
Regio de Convergncia (ROC) ..................................................................................... 61
Transformada-Z Inversa usando Fraes Parciais ......................................................... 63
Relao da Funo de Transferncia com a Equao de Diferenas ........................... 64
Projeto de Filtros Digitais FIR ......................................................................................... 65
Laboratrio 4 Aplicaes do Processamento Digital de Sinais ................................... 70
Laboratrio 5 Transformada-Z ..................................................................................... 74
Projeto de Filtros FIR ...................................................................................................... 76

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 3

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Prefcio

Este curso ter por objetivo apresentar os fundamentos da teoria de processamento digital de sinais
aplicados rea de transmisso digital, demonstrando os conceitos e algoritmos atravs de simulao no

software Matlab e da implementao prtica (em tempo real) destes algoritmos usando o kit DSP
TMS320C5416. Os modernos dispositivos de comunicao (por exemplo: celulares/modems/rdios
digitais/placas de rede local/placas de WLAN (WiFi)/Bluetooth) realizam todo o processamento do sinal na
forma digital (modulao, demodulao, deteo de smbolo, recuperao de portadora, filtragem,
sincronismo, equalizao, deteo e correo de erros) utilizando DSPs. Os circuitos analgicos so
utilizados apenas na converso A/D-D/A, nos misturadores (mixers) para translao de freqncia e nos
estgios de amplificao de potncia. Esta a atual estratgia de desenvolvimento e implementao de
dispositivos de comunicao digital.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 4

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

1. Introduo ao Processamento Digital de Sinais

Porque Processamento Digital ?




As tcnicas de processamento digital de sinais so


atualmente to poderosas que extremamente
difcil, se no impossvel, que o processamento
analgico de sinais atinja desempenho similar.
Exemplos:



Filtros FIR com fase linear


Filtros Adaptativos
fase

freqncia

freqncia
f1

AULA 1

f2

1-1

Porque Processamento Digital ?




O processamento analgico de sinais feito atravs


do uso de componentes analgicos:




Resistores.
Capacitores.
Indutores.

As tolerncias inerentes associadas com estes


componentes, temperatura, variaes de tenso e
vibraes mecnicas podem afetar dramaticamente
a eficincia dos circuitos analgicos.

AULA 1

Processamento Digital de Sinais

1-2

Prof. Marcelo E. Pellenz

pg. 5

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Porque Processamento Digital ?


ADC

DAC

Com o processamento digital de sinais fcil:


Alterar aplicaes.
Corrigir aplicaes.
Atualizar aplicaes.





PROCESSA

Adicionalmente o processamento digital de


sinais reduz:
Suscetibilidade ao Rudo.
Tempo de Desenvolvimento.
Custo.
Consumo de Potncia.






AULA 1

1-3

Programao


1 Hardware = Muitas Tarefas

SOFTWARE 1
SOFTWARE 2

..

FILTRO PASSA-BAIXA
MESMO
HARDWARE

..

CONTROLE DE MOTOR

SOFTWARE N

SINTETIZADOR MUSICAL

Atualizao e Flexibilidade



DSP: Desenvolvimento de Novo Cdigo


Atualizao do software
Sistema Analgico
Soldar novos componentes

AULA 1

Processamento Digital de Sinais

1-4

Prof. Marcelo E. Pellenz

pg. 6

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Restries ao uso do
Processamento Digital ?


Sinais de alta freqncia no podem ser


processados digitalmente devido a duas
razes:



Conversores Analgico-para-Digital (ADC) no


podem operar rpido o suficiente.
A aplicao pode ser tambm muito complexa
para operar em tempo real.

1-5

AULA 1

Processamento em Tempo Real






Os DSPs precisam realizar tarefas em tempo real,


portanto como podemos definir tempo real ?
A definio de tempo real depende da aplicao.
Exemplo: Um filtro digital FIR com 100 taps
implementado em tempo real se o DSP pode
realizar e completar a seguinte operao entre duas
amostras:
99

y (n ) = a (k )x(n k )
k =0

AULA 1

Processamento Digital de Sinais

1-6

Prof. Marcelo E. Pellenz

pg. 7

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Processamento em Tempo Real


Tempo de
Processamento

Tempo de
Espera

n+1
Tempo de Amostragem

Podemos dizer que temos uma aplicao


em tempo real se:


Tempo de Espera 0

AULA 1

1-7

Porque Precisamos de DSPs ?




Porque no utilizar um processador para


aplicaes gerais como um Pentium ao
invs do DSP ?



Qual o consumo de potncia de um Pentium e


de um DSP ?
Qual o custo de um Pentium e de um DSP ?

AULA 1

Processamento Digital de Sinais

1-8

Prof. Marcelo E. Pellenz

pg. 8

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Porque Precisamos de DSPs ?




Use um DSP quando os seguintes requisitos forem


necessrios:





Reduo de Custo.
Tamanho Reduzido.
Baixo consumo de potncia.
Processamento de muitos sinais de alta freqncia em
tempo real.

Use um processador genrico quando for necessrio:





Grande memria.
Sistemas operacionais avanados.

1-9

AULA 1

Quais so os algoritmos tpicos de um DSP ?




A soma de produtos o elemento chave na maioria dos


algoritmos DSP:
Algorithm

Equation
M

Finite Impulse Response Filte r

y (n ) =

x (n k )

x( n k ) +

k =0
M

Infinite Impulse Response Filter

y (n ) =

k=0

y( n k )

k =1

Convolution

x( k ) h ( n k )

y (n ) =

k=0
N 1

Discrete Fourier Transform

X (k ) =

x( n) exp[ j ( 2 / N ) nk ]
n= 0

Discrete Cosine Transform

F (u ) =

N 1

c (u ). f (x ). cos 2 N u(2 x + 1)
x =0

AULA 1

Processamento Digital de Sinais

1-10

Prof. Marcelo E. Pellenz

pg. 9

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Digital Signal Processor (DSP)


O que um DSP ?
Computador Analgico

Um pouco
alto

Computador Digital
DSP

DAC

ADC
1010

SADA

1001

1-11

AULA 1

Sistema DSP Tpico


MEMRIA





ADC

Chip DSP
Memria
Conversores (Opcional)


DSP

DAC

Analgico para Digital


Digital para Analgico

Portas de Comunicao



Serial
Paralela

PORTAS

AULA 1

Processamento Digital de Sinais

1-12

Prof. Marcelo E. Pellenz

pg. 10

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Multiplicao e Adio
Adio

1+2 = 3

Multiplicao
0
1
0
1

0001
+

0010
0011

x
x
x
x

8
4
2
1

x
x
x
x

0011
0011
0011
0011

Deslocado e
adicionado
mltiplas vezes

5*3 = 15

0000
0011
0000
0011
=

Operao MAC

Operaes Mais Comuns no DSP


A = B*C + D

Tipicamente 70 ciclos de clock


em processadores normais

E = F*G + A

...

Tipicamente 1 ciclo de clock


em processadores digitais de
sinais

Multiplica, Adiciona, e Acumula


Instruo MAC

1-13

AULA 1

Evoluo nos Tempos de Multiplicao


TEMPO (ns)

600
500
400
300
200
100
0
1971

AULA 1

Processamento Digital de Sinais

5 ns

1976

1998

ANOS

1-14

Prof. Marcelo E. Pellenz

pg. 11

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Sistemas DSP Prticos












Equipamentos Hi-Fi
Brinquedos
Videofones
Modem/xDSL
Sistemas Telefnicos
Placas Grficas 3D
Processamento de Imagens
Telefones Celulares
Cmeras de Vdeo

AULA 1

1-15

Vantagens de Sistemas Analgicas




Baixo Custo e Simplicidade em Algumas Aplicaes

Atenuadores / Amplificadores
Filtros Simples

Grande Largura de Banda (GHz)

Sinais de Baixo Nvel

Taxa de Amostragem Efetiva Infinita

Infinita resoluo em freqncia

Infinita Resoluo em Amplitude

Sem rudo de quantizao

AULA 1

Processamento Digital de Sinais

1-16

Prof. Marcelo E. Pellenz

pg. 12

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Vantagens do
Processamento de Sinais (DSP)


Invariabilidade
Baixa sensibilidade para tolerncias de componentes
Baixa sensitividade para mudanas de temperatura
Baixa sensitividade para efeitos de envelhecimento

Desempenho praticamente idntico de unidade para unidade


Circuitos idnticos custam menos

Alta imunidade ao rudo

Na maioria das aplicaes o DSP oferece maior


desempenho e baixo custo

AULA 1

1-17

Circuitos Analgicos no
Processamento Digital de Sinais


A maioria dos transdutores so analgicos por natureza

Circuitos analgicos so necessrios para pr-processar


sinais de baixo nvel antes do ADC
Filtros analgicos podem ser usados para limitar a banda
dos sinais

Microfones, alto-falantes, etc.

Filtros anti-aliasing (antes do ADC) e filtros de reconstruo


(depois do DAC)

Circuitos analgicos podem ser usados para acionar


transdutores de sada

Um amplificador de potncia necessrio para habilitar o


DAC acionar um alto-falante

AULA 1

Processamento Digital de Sinais

1-18

Prof. Marcelo E. Pellenz

pg. 13

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Sinais no Domnio do Tempo


e da Freqncia
Domnio do Tempo

Domnio da Freqncia
AMPLITUDE

T1=1/f1
AMPLITUDE

f1

TEMPO

FREQNCIA

AMPLITUDE

T2=1/f2
AMPLITUDE

f2

TEMPO

T = perodo

FREQNCIA

f = freqncia

1-19

AULA 1

Sinais Reais
AMPLITUDE

TEMPO

Sinais reais so uma combinao


de muitas freqncias

AMPLITUDE
|A|

FREQNCIA

fm

-fm
2fm
AULA 1

Processamento Digital de Sinais

1-20

Prof. Marcelo E. Pellenz

pg. 14

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

SHARE PRICES

Amostragem
 Pegar amostras de dados
(sinais) com variao contnua

2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0

 O Perodo de amostragem fixo


 This makes information
understandable
 My share price hit its lowest
point in week 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14
TEMPO (SEMANAS)

 My share price reached its peak


in week 9

Perodo de Amostragem Perodo entre amostras


Tempo de Amostragem Tempo para pegar uma
amostra

1-21

AULA 1

Informao Perdida
PREOS

1.4
1.2

1
0.8
0.6

Amostras No-Peridicas
 Pode perder informao

PCOMPRA

A queda de preos entre


T3 e T4 fica imperceptvel

0.4
0.2
0

 A informao no pode ser


interpretada facilmente

TEMPO
T1 T2

T3

T4T5 T6

1.4

PRIOS

1.2
1

0.8
0.6

PCOMPRA

0.4
0.2
0

TEMPO
T1

T2

T3

Processamento Digital de Sinais

 Pode perder informao


A queda de preos entre
T2 e T3 fica imperceptvel

 Fcil para interpretar

T4

A chave a freqncia de
amostragem.

Variao Atual
Curva Inferida

AULA 1

Amostragem Peridica

1-22

Prof. Marcelo E. Pellenz

pg. 15

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Pegando as Amostras Corretamente


TEMPO

FREQNCIA

|A|

fs- fa fs+ fa

|A|
CASO 1

fs>>fa

fa

fs

2fs

fs = Freqncia de amostragem
fa = Freqncia do sinal
|A|

|A|
CASO 2

fs=2fa

fa fs

2fs

|A|
|A|
t

CASO 3

fs<2fa

fs

Alias
Sinal Original fa

Sinal Inferido

1-23

AULA 1

Limitando o Espectro
|A|

 Sinais no mundo real possuem


muitas freqncias
fs

fm

fs

Aliasing

 Elimine (filtragem) freqncias


acima de fm (sem aliasing)

|A|

fs>2fm

fm

AULA 1

Processamento Digital de Sinais

 Componentes de freqncia
maiores que 1/2fs causam
aliasing (f>fm)

 Assegure que a taxa de


amostragem seja maior que 2fm

1-24

Prof. Marcelo E. Pellenz

pg. 16

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Digitalizando o Sinal
|A|

amostre &

retenha

 O objetivo obter uma


representao discreta
ts

4ts

8ts

 Amostre o sinal periodicamente

|A|
11
10

 Retenha o valor amostrado at a


prxima amostra

01
00
ts

4ts

|A|

8ts

quantize
? ? ?

 Quantize o sinal

 Mais nveis de quantizao


significam melhor preciso

11
10
01

Sinal = 10 10 01 01 00 00 01

00
ts

4ts

8ts

1-25

AULA 1

Erro de Quantizao
|A|

Erro de Quantizao

 A quantizao introduz erros


 Aumentar o nmero de nveis
no sempre a soluo
t

|A|

 Quantizao No-Uniforme
 Utiliza mais nveis onde existe
maior variao
 Utiliza menos nveis onde h
menos variaes
t

AULA 1

Processamento Digital de Sinais

1-26

Prof. Marcelo E. Pellenz

pg. 17

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Conversor Analgico-Digital
(ADC)
Voltagem

ADC por Aproximaes Sucessivas


-

Vin

V3 11
V2 10
V1 01
V0 00

LGICA DE
CONTROLE

Vin
tempo

Comparador

 Ajusta a sada DAC para V2 = 01

APROXIMAES
SUCESSIVAS

10

 DAC gera tenso analgica V2


(Vin>V2)
 Ajusta MSB para 1

DAC

 DAC gera agora V3


 Ajusta LSB para 0 dado que V3>Vin
 Digitaliza em dois ciclos
 n Bits = n Ciclos

1-27

AULA 1

Outros Tipos de ADC


Digitalizao Paralela
ADC

ANALGICO

LIMITAO
DE BANDA

AMOSTRA
E RETM

DIGITALIZA

0
1
0
0
1
1

Dual Slope ADC


 Lento
 Caro

Flash ADC
 Requer componentes de preciso

Sigma Delta ADC


 Estvel

AULA 1

Processamento Digital de Sinais

1-28

Prof. Marcelo E. Pellenz

pg. 18

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Converso Digital para o Analgico


 Para Controle Digital 10:
Chavear em R para fonte (Vcc)
2R para terra (GND)
Sada Analgica = (R1/R) * Vcc

Voltage Source Multiplying DAC


 Ganho = R1/Resistncia de Entrada
CONTROLE DIGITAL
Vcc

TENSO DE SADA
VO = - [

10
R1
R
+

MSB
LSB
MSB = Bit mais significativo
LSB = Bit menos significativo

VO

2R

Vin * ( R1/R) + Vin * (R1/2R)

SADA
ANALGICA

 Possveis Entradas e Sadas para R1 = R

TERRA

ENTRADA
11
10

SADA
1.5 Vcc
Vcc

01

0.5 Vcc

00

1-29

AULA 1

Suavizando a Sada
FILTRO
PASSA
BAIXA

DAC

010001

ENTRADA DIGITAL

AMOSTRA E RETM

SADA SUAVIZADA
|A|

|A|

 Converta a entrada digital para valor analgico


 Mantenha o valor analgico at a prxima entrada digital
 Suavize o sinal de sada
AULA 1

Processamento Digital de Sinais

1-30

Prof. Marcelo E. Pellenz

pg. 19

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Computadores Digitais
Arquitetura Von Neuman
A
PROGRAMA
E DADOS
ARMAZENADOS

UNIDADE
LGICA
ARITMTICA

ENTRADA/
SADA

A = ENDEREO
D = DADOS

Arquitetura Harvard
A

A
UNIDADE
LGICA
ARITMTICA

PROGRAMA
ARMAZENADO

DADOS
ARMAZENADOS

ENTRADA/

SADA

1-31

AULA 1

Sistemas de Numerao
 Representao digital de nmeros
Decimal

128

Digit Number

64

32

16

Digit Number

 Qualquer nmero pode ser representado como uma srie de 1s e 0s


 Decimal 3 em binrio
Decimal

Digit Number

Binary

Digit Number

2+

1=
0

0000 0011

 Decimal 26 em binrio
Decimal
Digit Number

16+

8+
3

0
2

2=

Binary

0
2

Digit Number

0
2

AULA 1

Processamento Digital de Sinais

26

0001 1010

1-32

Prof. Marcelo E. Pellenz

pg. 20

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Binrio e Hexadecimal
Decimal
0, 1, 2 , ., 9
Binrio
0, 1
Hexadecimal 0, 1, 2 ,..,A,B,C,D,E,F

16 Decimal
20 Decimal

0x10 Hex
0x14 Hex

 4 bits do sistema binrio so representados por

um nico dgito hexadecimal:


Decimal

8+

4+

2+

1=

2Digit Number

23

22

21

20

Binary

Hex

15
1111

 Decimal 26 em binrio e hexadecimal:


Decimal

16+

8+

2=

2Digit Number

27

26

25

24

23

22

21

20

Digit Number

Binary

Hex

26

0001 1010
1A

1-33

AULA 1

Representao de Nmeros
Inteiros com Sinal
 Magnitude de nmeros inteiros com sinal
Signed
Decimal
2

Hex
00 00 00 02

Number

000 0000 0000 0000 0000 0000 0000 0010

00 00 00 03

000 0000 0000 0000 0000 0000 0000 0011

-2

80 00 00 02

000 0000 0000 0000 0000 0000 0000 0010

-3

80 00 00 03

000 0000 0000 0000 0000 0000 0000 0011

AULA 1

Processamento Digital de Sinais

Binary
Sign

1-34

Prof. Marcelo E. Pellenz

pg. 21

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Notao Complemento de Dois


para Representao de Nmeros
Inteiros com Sinal
2Digit number

-27

26

25

24

23

22

21

Decimal

-128

64

32

16

+2

+1=

-128

+64

+32

+16

+8

+4

+2

+0=

Binary
twos complement

Decimal
calculation
Binary
twos complement

-2

Decimal
calculation

20

-2

1-35

AULA 1

Notao Complemento de Dois


 Converso para a notao complemento de dois
Action

Binary

Decimal

Sign

Number

000 0000 0000 0000 0000 0000 0000 0010

Strip sign bit

000 0000 0000 0000 0000 0000 0000 0010

Invert

111 1111 1111 1111 1111 1111 1111 1101

Add one

Twos complement

111 1111 1111 1111 1111 1111 1111 1110

Signed integer

-2

Hex

 Adio usando a notao complemento de dois

Decimal

Hex

-2

FF FF FF FE

Twos Complement Binary


Sign

Number

111 1111 1111 1111 1111 1111 1111 1110

00 00 00 03

000 0000 0000 0000 0000 0000 0000 0011

-2 + 3 = 1

00 00 00 01

000 0000 0000 0000 0000 0000 0000 0001

AULA 1

Processamento Digital de Sinais

1-36

Prof. Marcelo E. Pellenz

pg. 22

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Notao de Ponto-Fixo
Convenes:
 Faixa do nmero est entre 1 e -1
 O ponto decimal est sempre numa localizao fixa (ex: 0.74, 0.34, etc.)
 Multiplicando uma frao por uma frao sempre resulta em uma frao
e no ir produzir um overflow (ex: 0.99 x 0.9999 = menor que 1)
 Adies sucessivas podem causar overflow

Porque ?
 O processamento de sinais intensivo em multiplicaes
 A notao de ponto-fixo previne overflow
(til com uma pequena faixa dinmica de variao)
 A notao de ponto-fixo mais barata

Como a notao de ponto-fixo realizada no DSP ?


 A maioria dos DSPs de ponto-fixo so de 16 bits
 A faixa de nmeros que podem ser representados de 32767 at -32768
 O formato mais comum de ponto-fixo denominado Q15

Notao Q15
Bit 15

Bits 14 to 0

sign

twos complement number

1-37

AULA 1

Formato Q15
Faixa Dinmica no Formato Q15
Number

Biggest

Smallest

Fractional number

0.999

-1.000

Scaled integer for Q15

32767

-32768

Representao do Nmero no Formato Q15


Q15 = Decimal x 215

Q15 Integer

0.5

0.5 x 32767

16384

0.05

0.05 x 32767

1638

0.0012 x 32767

39

Decimal

0.0012

Regras de operao

 Evite operaes com nmeros maiores que 1


2.0 x (0.5 x 0.45) = (0.2 x 0.5 x 0.45) x 10 = (0.5 x 0.45) + (0.5 x 0.45)
 Escale os nmeros antes da operao
0.5 in Q15 = 0.5 x 32767 =16384
AULA 1

Processamento Digital de Sinais

1-38

Prof. Marcelo E. Pellenz

pg. 23

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Operaes no Formato Q15


Adio
Decimal

Q15

0.5 + 0.05 = 0.55

16384 + 1638 =
18022

0.5 0.05 = 0.45

16384 1638 =

Scale back
Q15 / 32767
0.55

Multiplicao
2 x 0.5 x 0.45 =
Decimal

Q15

0.5 x 0.45 = 0.225

Back to Q15
Product / 32767

16384 x 14745 =
241584537

Scale back
Q15 / 32767

7373

0.225 + 0.225 = 0.45 7373 + 7373 =


14746

0.45

1-39

AULA 1

Formato de Ponto Flutuante do TMS


Formato de Ponto Flutuante
31

... 24
e
8 bits

23
s
1 bit

22

..............
f
23 bits

No. do Bit

e = o expoente um nmero de 8 bits com sinal na representao


complemento dois e determina a localizao do ponto binrio Q
s = sinal da mantissa (s = 0 positivo, s =1 negativo)
f = parte fracionria da mantissa; um valor 1.0 adicionado a esta frao
mas no alocado no campo de bit pois este valor est sempre presente

Equaes de Converso
s=0
s=1

Binary
e
X = 01.f x 2
e
X = 10.f x 2

Caso Especial
s=0

X=0

Decimal
e
X = 01.f x 2
e
X = ( -2 + 0.f ) x 2

Equation
1
2

e = -128

Expoente (e)
Decimal
Hex
twos comp.

AULA 1

Processamento Digital de Sinais

127

-1

-128

00

01

7F

FF

80

1-40

Prof. Marcelo E. Pellenz

pg. 24

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Nmeros Ponto-Flutuante
Calcula 1.0e0

Em hex
00 00 00 00
Em binria
0000 0000 0000 0000 0000 0000 0000 0000
s=0
Equao 1: X = 01.f x2e
f=0
e=0

01.0 x 20

= 1.0

Calcula 1.5e01
Em hex
Em binria
s=0

03 70 00 00
0011 0111 0000 0000 0000 0000 0000 0000
Equao 1: X = 01.f x2e

0011
s111 ...

e=3
f = 0.5 + 0.25 + 0.125 = 0.875

X = 01.875 x 23 = 15.0 decimal

1-41

AULA 1

Ponto Flutuante
Calcula -2.0e0
Em hex
Em binrio
s=1

00 80 00 00
0000 0000 1000 0000 0000 0000 0000 0000
Equao 2:
X = ( -2.0 + 0.f ) x 2e

f=0
( -2.0 + 0.0 ) x 20

e=0

= -2.0

Adio
1.5 + (-2.0) = 0.5

Multiplicao
1.5e00 x 1.5e01 = 2.25e01 = 22.5

AULA 1

Processamento Digital de Sinais

1-42

Prof. Marcelo E. Pellenz

pg. 25

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Faixa Dinmica
Faixas dos Sistemas de Numerao
Numbers

Base 2

Largest Integer

Smallest Integer
2

Smallest Q15
Smallest Floating Point

31

-1

2 147 483 647

7F FF FF FF

31

-2 147 483 648

80 00 00 00

-1

32 767

7F FF

15

-32 768

80 00

38

7F 7F FF FD

38

83 39 44 6E

-2

Largest Q15
Largest Floating Point

15

-2
(2-2

Twos
Complement
Hex

Decimal

-23

127

)x2

127

-2 x 2

3.402823 x 10
-3.402823 x 10

 A faixa dinmica da representao de ponto flutuante muito ampla


 Concluso
 Maior inteiro x (1.5 x 10 29 ) ~ = maior ponto flutuante
 Maior Q15 x (1.03 x 10 34 ) ~ = maior ponto flutuante

AULA 1

1-43

Ponto Fixo versus Flutuante


Dispositivos DSP so projetados para ponto fixo ou ponto flutuante
Dispositivos ponto-fixo so usualmente 16-bits, Ex: TMS320C5x
Dispositivos ponto-flutuante so usualmente 32-bits, Ex: TMS320C3x
Dispositivos ponto-flutuante possuem usualmente um conjunto completo de
instrues ponto-fixo
 Dispositivos ponto flutuante so mais fceis de programar
 Dispositivos ponto-fixo podem emular operao ponto flutuante em software






Comparao
Characteristic

Floating point

Dynamic range

much larger

smaller

Resolution

comparable

comparable

Speed

comparable

comparable

Ease of programming

much easier

more difficult

Compiler efficiency

more efficient

less efficient

Power consumption

comparable

comparable

Chip cost

comparable

comparable

System cost

comparable

comparable

Design cost

less

more

faster

slower

Time to market

AULA 1

Processamento Digital de Sinais

Fixed point

1-44

Prof. Marcelo E. Pellenz

pg. 26

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Famlia TMS320
Dispositivos 32-Bit Ponto
Flutuante

Dispositivos 16-Bit Ponto Fixo


C1x

Controladores de Hard-Disk

C2x

Fax

C3x

Videofones

C4x

Processamento Paralelo

C2xx Controle
C5x

Outros Dispositivos

Processamento de Voz

C54x Telefones Celulares Digitais

C6x Processador Avanado


Estaes Base Wireless
Modems
C8x

AULA 1

Processamento Digital de Sinais

Vdeo Conferncia

1-45

Prof. Marcelo E. Pellenz

pg. 27

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

2. Digitalizao de Sinais e Normalizao de Freqncias


Considere a digitalizao de um sinal analgico, xC (t ) , usando uma freqncia de
amostragem FS = 1 TS Hz (amostras/s). A seqncia amostrada (vetor de amostras) representada
por
x[n] = xC (n TS )
n
onde t = n TS =
so os instantes de amostragem do sinal analgico. Como exemplo considere a
FS
digitalizao de um coseno com freqncia, F ,
xC (t ) = A cos(2 F t + ) = A cos( t + )

(Hz )

= 2 F

(rad s )

2 F n

x[n] = xC (n TS ) = A cos(2 F n TS + ) = A cos


+
FS

x[n] = A cos(2 f + )
f

(ciclos

amostra )

w = TS = 2 f
w

(rad

amostra )

, F Notao de freqncia para sinais analgicos


w, f Notao de freqncia para sinais em tempo discreto (amostrados)
f =

F
FS

w = TS = 2 f

Normalizao de freqncias

Considerando a digitalizao na taxa de Nyquist, FS = 2 FMAX , onde FMAX = F , teremos os


seguintes valores de freqncia normalizada:
f =

F
1
=
2F 2

w = 2 f =

Normalizao de freqncias

Portanto, a faixa de variao de valores para as freqncias do sinal em tempo contnuo e tempo
discreto so:
< F < 1/ 2 < f < 1/ 2
< < < w <

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 28

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Relao entre Freqncias do Sinal Contnuo e Discreto (Normalizao)


Interpretao Considerando a Digitalizao de Sinais Senoidais
Sinais em Tempo
Contnuo
= 2 F (rad s )
F (Hz)

Sinais em Tempo Discreto


w = 2 f (rad amostra )
f (ciclos/amostra)

1/ 2 < f < 1/ 2

f = F FS

w = TS

< F <

< w <

< <

FS = 2 FMAX = 2 F

FS
F
F S
2
2

TS

= w TS

F = f FS

TS

FMAX =

1/ 2 < f < 1/ 2

< w <

FS
1
=
2
2 TS

MAX = FS =

TS
TABELA 1

EXEMPLO 2.1 ANLISE DO DO EFEITO DE ALIASING

x1 (t ) = cos(2 10 t )
x 2 (t ) = cos(2 50 t )

F1 = FMAX = 10 Hz
F2 = FMAX = 50 Hz

FS = 40 Hz
FS = 40 Hz

10

x1 [n] = cos 2 n = cos n
2
40
50

5


x 2 [n] = cos 2 n = cos
n = cos 2 n + n = cos n
2
2

2
40

x1 [n] = x 2 [n] => ALIASING (indistinguvel)


F2 F1
alias

(F1 + FS k ) alias
F1

Fk = F0 + k FS
Processamento Digital de Sinais

< k <

k = 1, 2, 3, K (inteiro)

Freqncias de alias

Prof. Marcelo E. Pellenz

pg. 29

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

EXERCCIOS

1) x c (t ) = sen (2 100t )

2) x[n] = cos n
4

FS = 400 Hz

Determine x[n]

FS = 1000Hz

Determine dado que x c (t ) = cos ( t )

3) x c (t ) = cos (4000 t ) x[n] = cos n


3

4) x c (t ) = sen (20 t ) + cos (40 t )

Determine FS


2
x[n] = sen n + cos
n
5
5
x c (t ) = 3 cos (100 t )

Determine FS

5) Considere o sinal analgico


a) Determine a freqncia de amostragem mnima para evitar aliasing
b) Sendo FS = 200 Hz , determine o sinal x[n]
c) Sendo FS = 75Hz , determine o sinal x[n]

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 30

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

3. Periodicidade de Seqncias Discretas


Caractersticas dos sinais senoidais em tempo discreto:
a) Um sinal senoidal em tempo discreto peridico, somente se a sua freqncia
normalizada, f , for um nmero racional (razo de inteiros)
x[n] = x[n + N ] Condio de periodicidade para um sinal de perodo N
Para um sinal senoidal (em tempo discreto) de freqncia, f , ser peridico, tem que ser satisfeita a
seguinte relao
x[n] = cos(2 f n ) = cos(2 f (n + N )n )
x[n] = cos(2 f n ) = cos(2 f n + 2 f N )
cos( ) = cos( + 2 )
O termo, 2 f N , deve ser mltiplo inteiro de 2 , ou seja,
2 f N = 2 k ,
f =

k
N

f =

k inteiro

w
k
=
2 N

w=

2 k
N

2 k
da seguinte forma: existem N freqncias distintas para as
N
quais as seqncias correspondentes so peridicas com perodo N.

Podemos interpretar a relao w =

b) Sinais senoidais discretos, cujas freqncias so separadas por um mltiplo inteiro de


2 , so idnticos
cos(( w + 2 ) n + ) = cos(w n + )
EXEMPLO 3.1

x1 [n] = cos n
4
wk =

2 k
8

f =

1
8

k =1

w=

2 k
1
= 2
8
8

k = 0,1, 2, 3, 4, 5, 6, 7

Contudo existem 8 sinais com freqncias diferentes, wk , e com o mesmo perodo N=8:

3
w0 = 0
w1 =
w2 =
w3 =
4
2
4
5
3
7
w4 =
w5 =
w6 =
w7 =
4
2
4
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 31

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

4. Interpretao da Freqncia Normalizada


k
, indica em quantos perodos do sinal analgico, k , esto
N
contidos num perodo, N , do sinal em tempo discreto (amostrado).

A freqncia normalizada, f =

EXEMPLO 4.1

A seguir so apresentadas trs seqncias discretas amostradas com freqncias distintas, que
possuem a mesma freqncia normalizada:
3
x1 (t ) = 1,5 cos 2 t
8

FS = 1

3
x1 [n] = 1,5 cos 2 n
8

x 2 (t ) = 1,5 cos 2 t
16

FS =

1
2

3
x 2 [n] = 1,5 cos 2 n
8

x 3 (t ) = 1,5 cos 2 t
4

FS = 2

3
x3 [n ] = 1,5 cos 2 n
8

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 32

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

5. Sinais de Freqncias Distintas com o mesmo Perodo

1
0.5
0
-0.5
-1

10

15

20

25

30

w0 = 2

1
8

w0 = 2

2
8

w0 = 2

3
8

w0 = 2

4
8

35

1
0.5
0
-0.5
-1

10

15

20

25

30

35

1
0.5
0
-0.5
-1

10

15

20

25

30

35

1
0.5
0
-0.5
-1

10

Processamento Digital de Sinais

15

20

25

30

35

Prof. Marcelo E. Pellenz

pg. 33

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

6. Interpretao de Freqncias Altas e Baixas


Para sinais contnuos, quando aumentamos a freqncia, aumentamos a oscilao.
x(t ) = cos( 0 t + ) 0

OSCILAO

Para sinais discretos, quando aumentamos a freqncia de 0 para , aumentamos a


oscilao. Aumentando a freqncia de para 2 , a oscilao diminui.
x[n] = A cos(w0 n + )
0 w0 w0

OSCILAO

w0 2 w0

OSCILAO

Isso ocorre porque w0 = 0 indistinguvel de w0 = 2 , ou seja, freqncias em torno de


w0 = 0 so indistinguveis de freqncias em torno de w0 = 2 .
Freqncias Baixas

w0 = 2k

Freqncias Altas

w0 = + 2k

Exemplo

w0 = 0 = 2

15
w0 = = 2 =
8
8
8

7
w0 = = 2 =
4
4
4
Exemplos de Sinais Peridicos:

x1 [n] = cos
4

N =8

3
x 2 [n] = cos
n
8

N = 16

Neste caso aumentando a freqncia de w0 = 2 8 para w0 = 3 8 , o perodo tambm aumentou


de N = 8 para N = 16 . No caso de sinais contnuos, aumentando a freqncia, o perodo diminui.
Exemplo de Sinal no Peridico:
x 3 [n] = cos(n )

1=

2k
N

No existe k inteiro tal que N seja inteiro.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 34

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

7. Interpretao de Freqncias Altas e Baixas


em Tempo Discreto
1

w0 = 0 = 2

0.5

10

15

20

25

30

35

1
0.5

w0 =

0
-0.5
-1

10

15

20

25

30

35

1
0.5

w0 =

-0.5
-1

10

15

20

25

30

35

1
0.5

w0 =

0
-0.5
-1

10

15

20

25

30

35

1
0.5

w0 =

0
-0.5
-1

10

Processamento Digital de Sinais

15

20

25

30

35

Prof. Marcelo E. Pellenz

pg. 35

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

8. Operaes com Seqncias Discretas


x[n] = {K, x[ 1], x[0], x[1],K} < n <
x1 [n] = {K, x1 [ 1], x1 [0], x1 [1], K}
x 2 [n] = {K, x 2 [ 1], x 2 [0], x 2 [1], K}
Multiplicao por escalar: y[n] = x1 [n] = {K, x1 [ 1], x1 [0], x1 [1],K}
Multiplicao de seqncias: y[n] = x1 [n] x 2 [n] = {K, x1 [ 1] x 2 [ 1], x1 [0] x 2 [0], x1 [1] x 2 [1],K}
Adio de seqncias: y[n] = x1 [n] + x 2 [n] = {K, x1 [ 1] + x 2 [ 1], x1 [0] + x 2 [0], x1 [1] + x 2 [1],K}
Deslocamento no Tempo: y[n] = x[n n0 ], n0 inteiro

x[n]

-2 -1 0 1 2

y[n] = x[n 2]

0 1 2 3 4

9. Funo Impulso Unitrio


A funo impulso em tempo discreto desempenha o mesmo papel da funo delta de Dirac
para sinais contnuos:
1

1, n = 0
[n] =
0, n 0

[n]

-2 -1 0 1 2

Qualquer seqncia discreta, x[n] , pode ser escrita como um somatrio de funes impulsos:
x[n ] =

x[k ] [n k ]
k =

10. Funo Degrau Unitrio


1, n 0
u[n] =
0, n < 0

Processamento Digital de Sinais

u[n ] = [n k ]

[n] = u[n] u[n 1]

k =0

Prof. Marcelo E. Pellenz

pg. 36

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PR-LAB 1 REPRESENTAO E OPERAES COM SEQUENCIAS DISCRETAS


- Leitura dos Captulos 1 e 2
- Fazer o download do toolbox de funes do livro (trazer em disquete)
Link:
HTTP://WWW.BROOKSCOLE.COM/CGI-WADSWORTH/COURSE_PRODUCTS_WP.PL?FID=M20B&PRODUCT_ISBN_ISSN=0534371744&DISCIPLINE_NUMBER=9

- Leitura do Captulo 2 pg. 8-20


- Trazer uma pgina, escrita a mo, descrevendo as funes para gerao e operao com
seqncias discretas, com os respectivos parmetros de passagem e retorno.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 37

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 1 REPRESENTAO E OPERAES
COM SINAIS EM TEMPO DISCRETO
PROF. MARCELO PELLENZ

Atualmente o software MATLAB uma ferramenta amplamente utilizada para o


desenvolvimento e simulao de algoritmos para processamento digital de sinais. As ltimas
verses do software permitem simulaes em tempo real e tambm possuem bibliotecas que
permitem o interfaceamento direto com determinados kits de DSP.
No MATLAB podemos representar uma seqncia discreta de durao finita por um vetor
linha (coluna). Contudo, este vetor no tem nenhuma informao de referncia sobre a posio n de
cada amostra. Portanto, a representao correta de uma seqncia discreta x[n], necessita de dois
vetores, um representando os valores das amostras e outro representando a posio das amostras.
Exemplo - Considere a representao da seguinte seqncia:
x[n ] = {2 , 1 , - 1 , 0 , 1 , 4 , 3 , 7}

A seta indica que a amostra est na posio n=0. Os vetores x e n podem ser definidos no
MATLAB da seguinte forma:

>>
>>
ou
>>
>>

n = [- 3 , - 2 , - 1 , 0 , 1 , 2 , 3 , 4]
x = [2 , 1 , - 1 , 0 , 1 , 4 , 3 , 7]
n = [- 3 - 2 - 1 0 1 2 3 4]
x = [2 1 - 1 0 1 4 3 7]

Para traar o grfico da seqncia discreta utilize o seguinte comando:


>> stem(n, x)
Ser utilizado apenas o vetor x quando a informao da posio das amostras no
necessria ou quando tal informao for trivial (um exemplo quando a seqncia inicia em n=0).
Uma seqncia de durao infinita no pode ser representada no MATLAB.
EXERCCIO 1 Defina e faa o grfico das seguintes seqncias discretas:
x1 [n] = {3 , 0 , 2 , 1 , 5 , 7 , 0 , 0 , 1 , 1 , 10}

x 2 [n] = {- 4 , - 3 , - 2 , - 1 , 0 , 1 , 2 , 3 , 4}

x3 [n ] = {0 , 0 , 0 , 1 , 0 , 0 , 0}

x 4 [n] = {1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

EXERCCIO 2 Gerao de seqncias exponenciais reais: x[n] = k a n , n ; a, k R


Representar e traar as seguintes seqncias exponenciais reais:
n
n
x1 [n ] = (0.8)
N 1 = 100
x 2 [n] = (1.5)
N 2 = 50

x3 [n] = 2 (0.5)

N 3 = 30

x 4 [n] = 0.5 (2 )

N 4 = 200

As seqncias devem ter comprimento N, ou seja, 0 n N 1 .


Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 38

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

EXERCCIO 3 Gerao de seqncias exponenciais complexas

x[n] = e (+ j ) n , n

= freqncia

= fator de atenuao

Utilizando o programa em anexo, trace os grficos das seqncias exponenciais complexas, para os
seguintes parmetros:
= 0.5 = /6 N = 50
= 1 = / 4 N = 100
= -0.5 = /4 N = 30
= 0 = /6 N = 60

Como as seqncias so complexas (amostras complexas) devemos visualizar a parte real e


imaginria ou as componentes em mdulo e fase. Na anlise espectral de sinais usando a
Transformada Discreta de Fourier (DFT/FFT) trabalharemos com amostras complexas.
% Gerao de uma seqncia exponencial complexa
clear; clc;
sigma=input('Digite o valor de sigma:');
w=input('Digite a frequencia: ');
N= input('Digite o comprimento da sequencia: ');
n=0:(N-1); c=sigma+w*i; x=exp(c*n);
figure(1)
subplot(2,1,1);
stem(n,real(x));
xlabel('n');
ylabel('Amplitude');
title('Parte Real');
subplot(2,1,2);
stem(n,imag(x));
xlabel('n');
ylabel('Amplitude');
title('Parte Imaginria');
figure(2)
subplot(2,1,1);
stem(n,abs(x));
xlabel('n');
ylabel('Mdulo');
subplot(2,1,2);
stem(n,angle(x));
xlabel('n'); ylabel('Fase');

EXERCCIO 4 Implemente um programa para gerar seqncias, x[n] = cos ( 0 n ) , para as


seguintes freqncias:
0 = 0, / 4, 2 / 4, 3/ 4,

0 = 5/ 4, 6 / 4, 7 / 4, 2
Interprete o conceito de freqncias altas e baixas. Se estas seqncias forem sintetizadas pelo
conversor D/A para uma freqncia de amostragem especificada, FS , quais as freqncias dos
sinais analgicos gerados (Hz) ?

0 = / 4

0 = 2 / 4

0 = 3 / 4

0 =

0 = 5 / 4

FS = 8 kHz
FS = 16 kHz
(Preencher Tabela)
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 39

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

EXERCCIO 5 Implemente um programa para traar a seguinte seqncia

x[n] = 5 cos (0.5 n + /4) + 2 sen (0.5 n ) ,

20 n 20

EXERCCIO 6 Analisar o funcionamento das seguintes funes, fornecidas com o livro Digital
Signal Processing using Matlab (V. K. Ingle and J. G. Proakis):

A biblioteca de funes do livro est disponvel no endereo:


HTTP://WWW.BROOKSCOLE.COM/CGIWADSWORTH/COURSE_PRODUCTS_WP.PL?FID=M20B&PRODUCT_ISBN_ISSN=0534371744&DISCIPLINE_NUMBER=9

Gerar uma funo impulso, x(t ) = (t t o ) em tempo discreto, x[n] = (n no ) , n1 n n2 .


[x,n]=impseq(n0,n1,n2)
x[n] = [n]

x[n] = [n 4]

20 n 20

20 n 20

Gerar uma funo degrau unitrio, x(t ) = u (t t o ) em tempo discreto, x[n] = u (n no ) , n1 n n2 .


[x,n]=stepseq(n0,n1,n2)
x[n] = u[n]

20 n 20

x[n] = u[n 4]

20 n 20

Somar dois sinais em tempo discreto, y[n] = x1 [n] + x 2 [n] : [y,n]=sigadd(x1,n1,x2,n2)


Multiplicar dois sinais em tempo discreto, y[n] = x1[n] x 2 [n] : [y,n]=sigmult(x1,n1,x2,n2)
x1 [n] = {3 , 0 , 2 , 1 , 5 , 7 , 0 , 0 , 1 , 1 , 10}

x 2 [n] = {- 4 , - 3 , - 2 , - 1 , 0 , 1 , 2 , 3 , 4}

Deslocar um sinal em tempo discreto, y[n] = x[n n0 ] : [y,n]=sigshift(x,n,n0)


x1 [n] = {3 , 0 , 2 , 1 , 5 , 7 , 0 , 0 , 1 , 1 , 10}

y[n] = x1 [n 4]

Rebater um sinal em tempo discreto, y[n] = x[ n] : [y,n]=sigfold(x,n)


y[n] = x1 [n]
EXERCCIO 7 Implemente e trace o grfico das seguintes seqncias utilizando as funes da
biblioteca do livro Digital Signal Processing using MATLAB (Vinay K. Ingle and John G. Proakis).

a) x[n] = 2 [n + 2] [n 4]
20 n 20
b) x[n] = n { u[n] u[n 10] } + 10 exp[ 0.3 (n 10)] { u[n 10] u[n 20] }

0 n 50

11.

EXERCCIO 8 Trace o grfico das seguintes seqncias discretas e determine se estes sinais so
peridicos.

x[n ] = cos
4

Processamento Digital de Sinais

3
x[n ] = cos
8

x[n] = cos (n )

Prof. Marcelo E. Pellenz

0 n 30
pg. 40

Processamento Digital de Sinais: Teoria e Aplicaes

12.

Prof. Marcelo E. Pellenz

PR-RELATRIO PARA O LABORATRIO 2

Resolver os problemas P2.1 (itens b,c), P2.2 (itens a, b,c) da pg. 35 do livro Digital Signal
Processing using MATLAB (Vinay K. Ingle and John G. Proakis).
OBS: O livro est disponvel na biblioteca.

OBSERVAO SOBRE GERAO DE SEQNCIAS


x[n ] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 6 , 5 , 4 , 3, 2, 1}

x1 [n] = 2 x[n 5] 3 * x[n + 4]


clear;
clc;
n = -2:10;
x = [1:7,6:-1:1];
[x11,n11] = sigshift(x,n,5);
[x12,n12] = sigshift(x,n,-4);
[x1,n1] = sigadd(2*x11,n11,-3*x12,n12);
figure(1);
subplot(2,1,1);
stem(n1,x1);

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 41

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

13. Decomposio em Seqncia Par e mpar


Uma seqncia discreta, x[n] , classificada como par (simtrica) se xe [n] = xe [ n ] .

Uma seqncia discreta, x[n] , classificada como mpar (assimtrica) se xo [n] = xo [ n] .


Qualquer sinal real pode ser escrito como x[n ] = xe [n] + xo [n ] , onde

xe [n ] =

1
[x[n] + x[ n]]
2

xo [n] =

1
[x[n] x[ n]]
2

14. Sinais de Energia e Sinais de Potncia


Ex =

2
x[n]

EN =

n =

Px = lim

+N

x[n]

E x = lim E N
N

n= N
N
1
1
2
x[n] = lim
EN

N 2 N + 1
2 N + 1 n= N

Para sinais peridicos

Px =

1
N

N 1

x[n]

n =0

15. Escalonamento no Tempo (Down-Sampling)


y[n] = x[k n] , k inteiro, (k > 0)

16. Sistemas Discretos Lineares e Invariantes no Tempo (LTI)


x[n]

y[n]

T{ }

[n]

h[n]

[n k ]

h[n k ]

T {a x1 [n] + b x2 [n]} = a T {x1 [n]}+ b T {x2 [n]}


x[n ] =

x[k ] [n k ]

k =

y[n] = T {x[n]} = T x[k ] [n k ]


k =

Aplicando a propriedade da linearidade, temos


y[n ] =

x[k ] T { [n k ]}
k =

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 42

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Aplicando a propriedade da invarincia da resposta ao impulso, temos

y[n] =

x[k ] h[n k ]
k =

Este resultado representa a expresso de convoluo (soma de convoluo) para se calcular a


resposta de um sistema LTI com resposta ao impulso h[n] ao sinal de entrada, y[n] .
y[n ] =
y[n ] =

x[k ] h[n k ] = x[n] h[n]


k =

h[k ] x[n k ] = h[n] x[n]

k =

PROPRIEDADES DA CONVOLUO

a) Comutativa: x[n] h[n] = h[n] x[n]


b) Associativa: ( x1 [n] x2 [n]) x3 [n] = x1 [n] ( x2 [n] x3 [n])
c) Distributiva: x1 [n] ( x2 [n] + x3 [n]) = x1 [n] x2 [n] + x1 [n] x3 [n]
h1[n]

x[n]

h1[n]

y[n]

h2[n]

x[n]

h1[n] h2[n]

y[n]
h2[n]
h1[n]+h2[n]

Exerccio 1 Realizar a convoluo entre as duas seqncias discretas:


x[n ] = [3 , 0 , 4 , 0 , 0 , - 2 ]

n = [-2 , - 1 , 0 , 1, 2, 3]

h[n ] = [3 , 2 , 1]

n = [0 , 1 , 2 ]

Exerccio 2 Calcular a resposta ao impulso do sistema: y[n] a y[n 1] = x[n]

17. Estabilidade de Sistemas LTI


Um sistema LTI estvel no sentido BIBO (Bounded InputBounded Output) se

S=

h[k ] <
k =

Um sistema BIBO implica que para uma seqncia de entrada limitada teremos uma sada
limitada,
x[n] < y[n] <
x, y

18. Sistema LTI Causal


Um sistema LTI causal se h[n] = 0 para n < 0 .

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 43

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

19. Correlao e Autocorrelao de Seqncias


rx , y [l ] =

x[n] y[n l ] = x[n] y[ l ]

Correlao

n =

rx , x [l ] =

x[n] x[n l ] = x[l ] x[ l ]

Autocorrelao

n =

20. Equao de Diferenas Linear com Coeficientes Constantes


N

a k y[n k ] = bk x[n k ]

k =0

a 0 y[n] +

y[n k ] =

k =1

k =0

x[n k ]

y[n] =

k =0

k =1

M
ak
bk
y[n k ] +
x[n k ]
a0
a0
k =0

21. Representao de Sistemas usando Diagrama de Blocos


x1[n]

Somador

y[n]=x1[n]+x2[n]

x1[n]

x2[n]

y[n]=x1[n]*x2[n]

x2[n]

x[n]

x[n]

y[n]=a*x[n]

Z-1

Multiplicador

Multiplicador
por escalar

y[n]=x[n-1]

y[n]=x[n+1]

Atraso unitrio
Avano unitrio

PR-LAB 2 SISTEMA DE DISCAGEM POR TONS DE FREQNCIA (DTMF)


697 Hz

770 Hz

852 Hz

941 Hz

Implementar no Matlab um programa para gerar os


tons de freqncia (DTMF) utilizados nos sistemas
de discagem. Utilize uma freqncia de amostragem
de 8kHz. A durao de cada tom deve ser de 125ms.
Utilize a funo sound do Matlab para escutar os
tons gerados.

1209 Hz 1336 Hz 1477 Hz 1633 Hz

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 44

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 2 SINAIS E SISTEMAS DISCRETOS
PROF. MARCELO PELLENZ
EXERCCIO 1 Decomposio do Sinal em Componente Simtrica (Par)
e Componente Assimtrica (mpar)

Qualquer seqncia discreta real, x[n] , pode ser decomposta em suas componentes par e mpar:
x[n ] = x par [n ] + xmpar [n]
x par [n] =

1
{ x[n] + x[ n] }
2

xmpar [n ] =

1
{ x[n] x[ n] }
2

O programa a seguir utiliza a funo [xe,xo,m]=evenodd(x,n) do toolbox do livro para decompor a


seqncia discreta x[n] = u[n] u[n 10] em suas componentes par e mpar. Verifique nos grficos
gerados, que se adicionarmos as seqncias x par [n] + xmpar [n ] obteremos a seqncia original x[n] .
n = [0:10];
x = stepseq(0,0,10)-stepseq(10,0,10);
[xe,xo,m] = evenodd(x,n);
subplot(1,1,1)
subplot(2,2,1); stem(n,x); title('Pulso Retangular')
xlabel('n'); ylabel('x(n)'); axis([-10,10,0,1.2])
subplot(2,2,2); stem(m,xe); title('Componente Par')
xlabel('n'); ylabel('xe(n)'); axis([-10,10,0,1.2])
subplot(2,2,4); stem(m,xo); title('Componente Impar')
xlabel('n'); ylabel('xe(n)'); axis([-10,10,-0.6,0.6])

EXERCCIO 2 Convoluo Linear

Para sistemas lineares invariantes no tempo (LTI Linear Time-Invariant Systems), podemos
relacionar os sinais de entrada e sada do sistema atravs da soma de convoluo, definida pela
equao:
y[n ] = x[n] h[n] =

k =

k =

x[k ] h[n k ] = h[k ] x[n k ]

Se conhecermos a resposta ao impulso do sistema (por exemplo um filtro digital) podemos calcular
a sada y[n] fazendo a convoluo do sinal de entrada, x[n] , com a resposta ao impulso do sistema,
h[n] . Utilize a funo y=conv(x,h) do Matlab para calcular a convoluo linear entre duas
seqncias discretas de durao finita. A funo conv assume que as duas seqncias iniciam no
instante n=0.
x[n] = [ 3 11 7 0 - 1 4 2] - Sinal de entrada do sistema
h[n] = [ 2 3 0 - 5 2 1]
- Resposta ao impulso do sistema
y[n ] = x[n] * h[n] =

x[k ] h[n k ] - Sada do sistema


k =

No programa trace os grficos das seqncias x[n] , h[n] e y[n] . Interprete graficamente a operao
de convoluo.
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 45

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

EXERCCIO 3 Convoluo Linear

Para se fazer a convoluo entre seqncias genricas


x[n], n xb n n xe
h[n], nhb n nhe
utilize a funo [y,ny]=conv_m(x,nx,h,nh) do toolbox do livro. Esta funo j retorna tambm um
vetor para traar o grfico correto de y[n] . Faa a convoluo linear entre as duas seqncias
discretas abaixo:
x[n] = [ 3 11 7 0 - 1 4 2] , 3 n 3
h[n] = [ 2 3 0 - 5 2 1] , 1 n 4
Trace o grfico de x[n] , h[n] e y[n] = x[n] h[n] . Interprete graficamente a convoluo.
EXERCCIO 4 Clculo de Correlao entre Seqncias

A correlao uma operao muito usada em aplicaes de processamento digital de sinais. uma
medida do grau de similaridade entre duas seqncias (sinais).
rxy [l ] =

x[n] y[n l ] = y[l ]* x[ l ]


n =

A autocorrelao nos d uma medida de auto-similaridade do sinal com verses deslocadas dele
mesmo:
rxx [l ] =

x[n] x[n l ] = x[l ]* x[ l ]


n =

O clculo da correlao e autocorrelao podem ser implementados usando a convoluo.


Considere a seqncia x[n] = [ 3 11 7 0 - 1 4 2] , 3 n 3 e a seqncia y[n] como sendo uma
verso deslocada e com rudo da seqncia x[n] , ou seja, y[n] = x[n 2] + w[n] .
% sequencia com ruido 1
x = [3, 11, 7, 0, -1, 4, 2]; nx=[-3:3];
% sinal x(n)
[y,ny] = sigshift(x,nx,2);
% x(n-2)
w = randn(1,length(y)); nw = ny;
% ruido w(n)
[y,ny] = sigadd(y,ny,w,nw);
% y(n) = x(n-2) + w(n)
[x,nx] = sigfold(x,nx);
% x(-n)
[rxy,nrxy] = conv_m(y,ny,x,nx);
% autocorrelacao
subplot(1,1,1)
subplot(2,1,1);stem(nrxy,rxy)
axis([-4,8,-50,250]);xlabel('deslocamento l')
ylabel('rxy');title('Autocorrelacao: sequencia com ruido 1')
gtext('Maximo')
% sequencia com ruido 2
x = [3, 11, 7, 0, -1, 4, 2]; nx=[-3:3];
% sinal x(n)
[y,ny] = sigshift(x,nx,2);
% x(n-2)
w = randn(1,length(y)); nw = ny;
% ruido w(n)
[y,ny] = sigadd(y,ny,w,nw);
% y(n) = x(n-2) + w(n)
[x,nx] = sigfold(x,nx);
% x(-n)
[rxy,nrxy] = conv_m(y,ny,x,nx);
% autocorrelacao
subplot(2,1,2);stem(nrxy,rxy)
gtext('Maximum')
axis([-4,8,-50,250]);xlabel('deslocamento l')
ylabel('rxy');title('Autocorrelacao: sequence com ruido 2')

O MATLAB possui a funo xcorr(x,y) e xcorr(x) para calcular a correlao e autocorrelao.


Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 46

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

EXERCCIO 5 Exemplo de Implementao de um Filtro Digital

Exemplo de aplicao do filtro de mdia mvel para filtragem de um sinal com rudo:
y[n ] =

1
M

M 1

x[n k ]
i =0

% Filtro de mdia mvel para M=3


clear; clc;
figure(1);
N=50;
d=rand(N,1)-0.5;
n=0:1:N-1;
s=2*n.*(0.9.^n);
subplot(2,1,1); stem(n,s); xlabel('n'); ylabel('Amplitude'); title('s[n]');
subplot(2,1,2); stem(n,d); xlabel('n'); ylabel('Amplitude'); title('d[n]');
N=50;
d=rand(N,1)-0.5;
n=0:1:N-1;
s=2*n.*(0.9.^n);
x=s+d';
figure(2);
plot(n,d,'r-',n,s,'b-',n,x,'g-'); xlabel('n'); ylabel('Amplitude'); legend('r-','d[n]','b-','s[n]','g-','x[n]');
M=3;
b=ones(M,1)/M;
y=filter(b,1,x);
figure(3);
plot(n,s,'r-',n,y,'b-'); legend('r-','s[n]','b-','y[n]'); xlabel('n'); ylabel('Amplitude');

EXERCCIO 6 Equaes Lineares com Coeficientes Constantes

Um sistema discreto linear pode ser caracterizado por uma equao linear de coeficientes constantes
na forma
N

k =0

k =0

ak y[n k ] = bk x[n k ]
A funo y=filter(b,a,x) do Matlab resolve a equao de diferenas. Considere a seguinte equao
de diferenas
y[n] y[n 1] + 0.9 y[n 2] = x[n]
Determine:
a) Determine a resposta ao impulso do sistema, h[n] , no intervelo 20 n 120
b) Determine a resposta ao degrau do sistema, s[n] , no intervelo 20 n 120
PR-RELATRIO PARA O LABORATRIO 3
Resolver os problemas P2.3, P2.4 (para itens a, b, c do P2.2), P2.5, P2.6 e P2.7 do livro
Digital Signal Processing using MATLAB (Vinay K. Ingle and John G. Proakis).

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 47

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Anlise Espectral de Sinais Contnuos no Tempo


1 Srie de Fourier

Sinais contnuos peridicos (sinais de potncia) podem sem expressos pela srie complexa
de Fourier,
x(t ) =

e j 2 k F0 t

F0 =

k =

ck =

1
T0

T0 / 2

T0 / 2

ck = ck e j k

x(t ) e j 2 k F0 t dt

1
T0

k = 0, 1, 2,K

Coeficientes complexos da srie de Fourier

2 Transformada de Fourier

Sinais contnuos aperidicos (sinais de energia)


x(t ) =

1
2

( )

X e jw =

Processamento Digital de Sinais

( )

X e jw e jw t dw

x(t ) e jw t dt

Prof. Marcelo E. Pellenz

pg. 48

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Anlise Espectral de Sinais Discretos no Tempo


1 Srie de Fourier

Sinais discretos peridicos, x[n] = x[n + N ] , podem sem expressos pela srie complexa de
Fourier,
N 1

x[n] =

ck e j2 k n / N =

N 1

k =0

ck =

1
N

e j 2

fn

f =

k =0

N 1

x[n] e

j 2 k n / N

k
N

k = 0,1, K, N 1

k =0

e j 2 k n / N = e jwk n

wk =

2k
N

O espectro do sinal x[n] tambm uma seqncia peridica com perodo N .


0 wk < 2

0 F FS

0 k N 1

wk <

N
N
<k
2
2

2 Transformada de Fourier em Tempo Discreto (DTFT)

Sinais discretos no peridicos


+

( ) x[n] e

X e jw =

jw n

n =

x[n] =

1
2

X (e ) e
+

jw

jw n

dw

( )

( )

Seqncia
[n]

DTFT
1

u[n]

1
+
[w + 2k ]
1 e jw k =

X e jw = X Re (w) + j X Im (w) = X e jw e j (w )

2 [w w

jw0 n

+ 2 k ]

k =

n u[n]

<1

1
1 e jw

TABELA 1 Pares da transformada de Fourier em tempo discreto (DTFT)

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 49

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Exemplo

x[n] = (0,5) n u[n]

( )

X e jw =

1
1 0,5 e jw

1.8

Mdulo

1.6

1.4

1.2

0.8

0.6
-3

-2

-1

0
1
Frequncia Normalizada

-2

-1

0
1
Frequncia Normalizada

0.6

0.4

Fase (radianos)

0.2

-0.2

-0.4

-0.6
-3

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 50

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Parte Real

1
0.8
0.6
0.4

Amplitude

0.2
0
-0.2
-0.4
-0.6
-0.8
-1

0.1

0.2

0.3

0.4
0.5
0.6
Frequncia Normalizada

0.7

0.8

0.9

0.7

0.8

0.9

Parte Imaginria

1
0.8
0.6

Amplitude

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8

0.1

Processamento Digital de Sinais

0.2

0.3

0.4
0.5
0.6
Frequncia Normalizada

Prof. Marcelo E. Pellenz

pg. 51

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

1
0.9
0.8
0.7

Mdulo

0.6
0.5
0.4
0.3
0.2
0.1
0

0.1

0.2

0.3

0.4
0.5
0.6
Frequncia Normalizada

0.7

0.8

0.9

0.1

0.2

0.3

0.4
0.5
0.6
Frequncia Normalizada

0.7

0.8

0.9

4
3
2

Fase

1
0
-1
-2
-3
-4

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 52

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

-1

-2

Fase

-3

-4

-5

-6

-7

0.1

Processamento Digital de Sinais

0.2

0.3

0.4
0.5
0.6
Frequncia Normalizada

0.7

Prof. Marcelo E. Pellenz

0.8

0.9

pg. 53

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

TRANSFORMADA DISCRETA DE FOURIER (DFT)


x[n] , 0 n N 1

X (e jw )

Precisamos apenas de N pontos de freqncia distintas para representar unicamente x[n] e


X (e jw ) . Os valores de freqncia so calculados em w = wk , k = 0,1,K, N 1 . A DFT aplicvel
apenas para seqncias finitas.
X [k ] = X (e
x[n ] =

jw

N 1

w=

2k
N

= x[n] e

2kn
N

k = 0,1,K, N 1

n =0

1 N 1
X [k ] WNkn
N n =0

n = 0,1,K, N 1

A seqncia X [k ] chamada de DFT. Podemos definir WN = e


N 1

X [k ] = x[n ] WNkn

2
N

k = 0,1,K, N 1

(DFT)

n =0

x[n] =

N 1

X [k ] W N kn
N n=0

(IDFT)

n = 0, 1, K , N 1

Representao Matricial
N 1

X [k ] = x[n ] WNkn

k = 0,1,K, N 1

n =0

X = DN x

DFT de N pontos

x = DN1 X

IDFT de N pontos

X = [ X [0] X [1] K X [N 1]]

x = [x[0] x[1] K x[N 1]]

1
1
1
1 W 1
WN2
N

DN = 1 WN2
WN4

M
M
M
N

1
2
(
1 WN
WN N 1)

Processamento Digital de Sinais

L
1

N 1
L
WN

L WN2( N 1)

O
M

L WN( N 1)( N 1)

x[0]
X [0]
x[1]

= DN1 X [1]

x[N 1]
X [N 1]

Prof. Marcelo E. Pellenz

DN1 =

1
DN*
N

pg. 54

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Clculo Numrico da DTFT usando a DFT

( )

X e jw

( )

X e jw a DTFT de uma seqncia x[n] de comprimento N . Se desejarmos calcular


2k
numa escala densa de freqncias wk =
, k = 0,1,K, M 1 , onde M >> N , teremos
M

Seja

( )

N 1

N 1

n =0

n =0

X e jw = x[n] e jwk n = x[n] e

2kn
M

Definindo xe [n] = x[n] + ( M N ) amostras nulas,


M 1

( ) = x [n] e

X e

jw

2kn
M

DFT de M pontos

n =0

A DFT de uma seqncia de comprimento M calculada eficientemente usando o algoritmo de FFT


para M inteiro, potncia de dois.
Propriedades da DFT
Seqncia de comprimento N
x[n]
h[n]
x[n] + h[n]

x n n0

DFT de N pontos
X [k ]
H [k ]
X [k ] + H [k ]

W Nk n0 X [k ]

N 1

x[k ] h[ n k ]

G[k ] H [k ]

k =0

Convoluo Circular versus Convoluo Linear


N 1

y L [n ] = x[k ] h[n k ] = x[n] h[n]

n = 0,1, K ,2 N 2

k =0
N 1

yC [n] = x[k ] h n k
k =0

Processamento Digital de Sinais

] = x[n] h[n]

n = 0,1, K ,2 N 2

Prof. Marcelo E. Pellenz

pg. 55

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz


x[n]

1
0.9
0.8
0.7

Amplitude

0.6
0.5
0.4
0.3
0.2
0.1
0

Amplitude das Amostras da DFT

Amplitude

6
4
2
0

1.5

10
k
Fase das Amostras da DFT

15

10

15

1
Fase

0.5
0
-0.5
-1
-1.5

Amplitude das Amostras da DFT

10

Amplitude

8
6
4
2
0

50

50

100

150
k
Fase das Amostras da DFT

200

250

200

250

2
Fase

1
0
-1
-2
-3

100

150
k

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 56

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Representao de Sistemas LTI no Domnio da Freqncia

( )

A resposta em freqncia, H e jw , uma funo complexa com perodo 2 :


+

( ) h[n] e

H e jw =

jwn

( )

= H e jw e j ( w )

n =

( )

G (w) = 20 log 10 H e jw

(dB)

Funo de Ganho

Para h[n] real, H (e jw ) uma funo par e (w) uma funo mpar. A derivada da
resposta em fase denominada de atraso de grupo, (w) . A funo de atraso de grupo fornece uma
medida da linearidade da funo de fase. O atraso de grupo dado em segundos. Se a resposta em
fase (w) for linear, o atraso de grupo ser constante.

(w ) =

Processamento Digital de Sinais

d ( w )
dw

Prof. Marcelo E. Pellenz

pg. 57

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 3 TRANSFORMADA DE FOURIER DISCRETA (DFT)
PROF. MARCELO PELLENZ

Para o clculo do espectro de freqncias de sinais contnuos, utilizamos a srie de Fourier (sinais
peridicos/potncia) e a transformada de Fourier (sinais no peridicos/energia). A transformada de
Fourier de particular interesse porque na prtica utilizamos sinais de energia para transmisso
digital. As expresses da transformada e transformada inversa de Fourier so:
+

X ( ) = F {x(t )} = x(t ) e j t dt

1 +
x(t ) = F 1 {X ( f )} =
X ( ) exp( j t ) df
2
Quando aplicamos a transformada de Fourier numa seqncia em tempo discreto, x[n] , as
expresses da transformada se simplificam para

X ( ) = F {x[n]} =

x[n] e

j n

n =

x[n ] = F 1 {X ( )} =

1
2

X ( ) e

j n

Exerccio 1 Determine analiticamente a transformada de Fourier em tempo discreto (DTFT) das


seqncias abaixo e trace o espectro (mdulo/fase/parte real/parte imaginria) num intervalo
6 6 .

a) x[n ] = (0,5) u[n ]


n

b)

x[n ] = {1 , 2 , 3 , 4 , 5}

Analise a periodicidade do grfico do espectro e responda as seguintes questes:


a) Entre que faixa de valores de freqncia normalizada, = 2 f , devemos analisar os grficos
de espectro
b) Se desejarmos a informao do espectro em hertz, como podemos proceder ?
c) Atravs das observaes dos grficos de espectro, classifique o mdulo, fase, parte real e parte
imaginria como funo par ou mpar.

Exerccio 2 Considere as seguintes DTFTs

( )

X e jw =

( )

X e

jw

1
1 0.5 e jw

0.008 0.033 e jw + 0.05 e j 2 w 0.033 e j 3 w + 0.008 e j 4 w


=
1 + 2.37 e jw + 2.7 e j 2 w + 1.6 e j 3 w + 0.41e j 4 w

Desenhe os grficos da parte real, imaginria, mdulo e fase das DTFTs, para k pontos de
freqncia. Considere k = 256, 512, 1024, 2048.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 58

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Transformada de Fourier Discreta (DFT)

Como podemos observar, o clculo do espectro de uma seqncia em tempo discreto deve ser feito
analiticamente atravs da DTFT. Para termos um clculo no analtico (computacional), o que
implementa a Transformada Discreta de Fourier (DFT), que so amostras da DTFT.
N 1

X [k ] = x[n ] W Nkn ,

k = 0,1, ..., N 1

DFT

n=0

x[n ] =

1
N

N 1

X [k ] W

kn
N

, n = 0,1, ..., N 1 IDFT

k =0

WN = e j 2 N

Exerccio 2 - Determine a DFT de M pontos, U [k ] , da seguinte seqncia discreta de comprimento


N,
1 0 n N 1
u[n] =
0 fora

Utilize N = 8 , M = 8 , M = 16 , M = 64 , M = 256 .
% Exemplo do calculo computacional da DFT
N=input('Digite o comprimento N da sequencia = ');
M=input('Digite o comprimento da DFT = ');
u=[ones(1,N)];
U=fft(u,M);
n=0:1:N-1;
figure(1);
stem(n,u);
title('x[n]');
ylabel('Amplitude');
xlabel('n');
figure(2);
subplot(2,1,1);
k=0:1:M-1;
stem(k,abs(U));
axis([0 256 0 10]);
title('Amplitude das Amostras da DFT');
ylabel('Amplitude');
xlabel('k');
subplot(2,1,2);
stem(k,angle(U));
axis([0 256 -3 3]);
title('Fase das Amostras da DFT');
ylabel('Fase');
xlabel('k');

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 59

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Exerccio 3 - Determine a DTFT X e jw de uma seqncia x[n ] = cos 2


n de comprimento
16

16, usando uma DFT de 512 pontos.

( )

% Calculo numerico da DTFT usando a DFT


clear; clc;
k=0:15;
x=cos(2*pi*k*3/16);
X=fft(x);
XE=fft(x,512);
L=0:511;
plot(L/M,abs(XE),'b');
hold
plot(k/N,abs(X),'or');
xlabel('Frequencia Angular Normalizada');
ylabel('Amplitude');

Exerccio 4 Filtro FIR Passa Alta O programa a seguir implementa um filtro FIR de
comprimento 3, definido pela equao de diferenas,

y[n] = 6.76195 x[n] + 13.456335 x[n 1] 6.76195 x[n 2] .


O sinal de entrada do filtro x[n] = {cos (0.1 n ) + cos (0.4 n )} u[n] .
% Filtro Digital FIR Passa Alta
% Especifica os coeficientes do filtro
b=[-6.76195 13.456335 -6.76195];
% Gera as duas sequencias senoidais
n=0:99;
x1=cos(0.1*n);
x2=cos(0.4*n);
% Gera a sequencia de saida do filtro
y=filter(b,1,x1+x2);
% Mostra as sequencias de entrada e saida
plot(n,y,'r-',n,x2,'b-',n,x1,'g-',n,x1+x2,'c-'); grid;
axis([0 100 -2 4]);
ylabel('Amplitude');
xlabel('n');
legend('r-','y[n]','b-','x2[n]','g-','x1[n]','c-','x1[n]+x2[n]');

Exerccio 5 Filtro FIR Passa Baixa Utilize o mesmo programa do Exerccio 4 substituindo
apenas os novos coeficientes do filtro, b=[6.7619 -12.4563 6.7619].
Exerccio 6 O programa a seguir mostra a resposta em freqncia (mdulo/fase) do filtro FIR
implementado no Exerccio 4.

( )

H e jw = (2 cos + ) e jw

= -6.76195

= 13.456635

% Resposta em frequencia do filtro FIR


clear; clc;
% Coeficientes do filtro
h=[-6.76195 13.456335 -6.76195];
w=0:pi/1000:pi;
%Calcula a resposta em frequencia
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 60

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

H=freqz(h,1,w);
%Calcula e mostra a resposta em amplitude
m=abs(H);
figure(1);
plot(w,m,'r-');
axis([0 0.4 0 1]);
ylabel('Amplitude');
xlabel('w');
figure(2);
plot(w/pi,m,'r-');
ylabel('Amplitude');
xlabel('w/pi (normalizado)');
%Calcula e mostra as respostas em fase
pha=angle(H);
figure(3);
plot(w/pi,pha);
axis([0 1 -4 4]);
ylabel('Fase em Graus');
xlabel('Frequncia Angular Normalizada');

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 61

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Transformada-Z
Nas sees anteriores estudamos a Transformada de Fourier em Tempo Discreto (DTFT)
para representar sinais discretos usando seqncias exponenciais complexas. A DTFT de um
sistema linear invariante no tempo, com resposta ao impulso h[n] , denominada de resposta em
freqncia do sistema, H e jw . Contudo, existem duas restries para a abordagem da DTFT. A
primeira que para muitos sinais teis na prtica como u[n] e n u[n] a DTFT no existe (no
converge). A segunda que a resposta transitria de um sistema devido a condies iniciais ou
alteraes da entrada no podem ser calculadas usando a abordagem da DTFT. Portanto utilizamos
uma extenso da DTFT denominada de transformada-Z:

( )

H (Z ) =

h[n] z

Transformada-Z

n =

onde z = r e jw uma varivel complexa. O conjunto de valores de Z para o qual H ( z ) existe


chamado de regio de convergncia (ROC), Rx < z < Rx + , para nmeros positivos Rx e Rx + . A

transformada Z inversa para uma seqncia complexa H (Z ) dada por


h[n ] =

1
2 j

H (Z ) z n 1 dz

Transformada-Z Inversa

A varivel complexa Z chamada de freqncia complexa dada por z = z e jw , onde z a


atenuao e w a freqncia real. Dado que a regio de convergncia definida em termos da
magnitude z , o formato da ROC um anel. Note que Rx pode ser igual a zero e/ou Rx + pode ser
inclusive . Se Rx + < Rx , ento a ROC um espao nulo e a transformada Z no existe. A funo

z = 1 (z = e jw ) um crculo de raio unitrio no plano Z e denominado crculo unitrio. Se a ROC


contm o crculo unitrio, a transformada z se reduz a transformada de Fourier em tempo discreto
(DTFT), X (e jw ) . A DTFT converge se a regio de convergncia da transformada Z incluir o crculo
de raio unitrio,

( )

H (z ) z =e jw = H e jw .
Exerccio Calcule a transformada-Z da seqncia x[n] = a n u[n] , 0 < a < .

Propriedades da Regio de Convergncia (ROC)

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 62

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

1 A regio de convergncia sempre limitada por um crculo pois a condio de convergncia


sobre o z .
2 Para uma seqncia limitada a esquerda (zero para n < n0 ), a regio de convergncia sempre a
parte externa de um crculo de raio Rx . Para n0 0 a seqncia causal.

x[n] = a n u[n]

3 Para uma seqncia limitada a direita (zero para n > n0 ), a regio de convergncia sempre a
parte interna do crculo de raio Rx + .

x[n] = b n u[ n 1]
4 Para uma seqncia no limitada a direita nem esquerda, a regio de convergncia um anel,
Rx < z < Rx + .
5 Seqncias que so zero para n < n1 e n > n2 so chamadas de seqncias com durao finita. A
regio de convergncia para tais seqncias todo o plano Z. Se n1 < 0 , ento z = no est na
regio de convergncia. Se n2 > 0 , ento z = 0 no est na regio de convergncia
6 A regio de convergncia no pode incluir nenhum plo pois H (Z ) converge uniformemente
nesta regio.
7 Existe pelo menos um plo no limite da regio de convergncia. A ROC limitada por plos.
Seqncia Discreta
[n]

u[n]
u[ n 1]
a n u[n]
b n u[ n 1]

[a
[a

sen (w0 n ) u[n]

cos( w0 n ) u[n]

n a u[n]
n

n b u[ n 1]
n

Processamento Digital de Sinais

Transformada Z
1
1
1 z 1
1
1 z 1
1
1 a z 1
1
1 b z 1

[a sen(w0 )] z 1
1 [2 a cos(w0 )] z 1 + a 2 z 2
1 [a cos (w0 )] z 1
1 [2 a cos(w0 )] z 1 + a 2 z 2
a z 1

(1 a z )

1 2

b z 1

(1 b z )

1 2

Prof. Marcelo E. Pellenz

ROC
z

z >1
z <1
z >a
z<b
z >a
z >a
z >a
z<b

pg. 63

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Regio de Convergncia (ROC)


H (z ) =

B( z ) b0 + b1 z 1 + K + bM 1 z ( M 1) + bM z M
=
A( z ) a0 + a1 z 1 + K + a N 1 z ( N 1) + a N z N
b
H (z ) = 0 z ( N M )
a0

Zeros
Plos

z = zl
z = pl

(z z )
(z p )
M

l =1
N

l =1

H (zl ) = 0
H ( pl ) =

Se N > M teremos ( N M ) zeros em z = 0


Se N < M teremos ( N M ) plos em z = 0

Transformada-Z Inversa usando Fraes Parciais


A transformada-Z inversa pode ser obtida atravs da expanso em fraes parciais:
N

H (z ) =
k =1

M N
Rk
+
C k z k

1
1 pk z
k =0
1
4243
M N

~ ~
~
b0 + b1 z 1 + L + bN 1 z ( N 1)
Rk =
1 pk z 1
1
( N 1)
N
1 + a1 z + L + a N 1 z
+ aN z

)
z = pk

M N
1
h[n ] = Rk 1
+ C k (n k )
1
l =1
k =0
1 p k z 1
442443
M N

Teorema 1 - Um sistema LTI estvel se e somente se o crculo de raio unitrio est dentro da
regio de convergncia (ROC) de H ( z )
Teorema 2 - Um sistema LTI causal estvel se e somente se a funo de transferncia H ( z )
possui todos os plos dentro do crculo de raio unitrio.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 64

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Relao da Funo de Transferncia com a Equao de Diferenas


N

k =0

k =0

d k y[n k ] = p k x[n k ]
M

p
Y (e )
H (e ) =
=
X (e )
d
jw

e jwk

e jwk

k =0
N

jw

jw

k =0
M

Y ( z ) k =0 k
H (z ) =
= N
X (z )
d z k

p z k

k =0

Exerccio 1 Determine a funo de transferncia de um sistema com a seguinte equao de


diferenas:
y[n ] = 2 x[n ] + 2,6 x[n 1] + 0,78 x[n 2] + 0,054 x[n 3]

+ 1,5 y[n 1] 0,47 y[n 2] 0,063 y[n 3]

Exerccio 2 Determine a funo de transferncia do sistema com a seguinte equao de


diferenas:
y[n ] = 3 x[n] + 1,2 x[n 1] 5,22 x[n 2] 1,548 x[n 3] + 0,359 x[n 4]

0,6 y[n 1] 0,68 y[n 2] 0,5 y[n 3] + 0,477 y[n 4]

Exerccio 3 Determine os primeiros 3 termos da resposta ao impulso, h[n] , do filtro IIR causal
com a seguinte funo de transferncia:
H (z ) =

Processamento Digital de Sinais

(2 + 0,4 z )(0,5 + 2 z )
(1 2 z + 2 z )(1 0,5 z )
1

Prof. Marcelo E. Pellenz

pg. 65

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Projeto de Filtros Digitais FIR


(Finite Impulse Response)
Vantagens dos filtros FIR:
- A resposta em fase pode ser exatamente linear
- So fceis de implementar porque no h problemas de estabilidade
- A DFT pode ser usada na implementao
Vantagens da resposta em fase linear:
- A implementao envolve apenas aritmtica real e no complexa
- No existe distoro de atraso e sim apenas um atraso fixo entre entrada/sada
- Para filtros de comprimento N (ordem N-1) o nmero de operaes da ordem de N/2

Metodologia de Projeto Mtodo das Janelas


A nfase do mtodo est em selecionar uma janela apropriada e um filtro ideal:
a) Selecionar um filtro ideal (no causal), que possui resposta ao impulso infinita
b) Truncar a resposta ao impulso (usando uma janela) para obter um filtro FIR causal
c) Deslocar o incio do vetor de amostras, h[n], para iniciar em n=0
(equivale a associar uma fase linear)
OBSERVAO: A notao utilizada para o comprimento da janela N, onde N=2M+1

Resposta ao Impulso dos Filtros Ideais


1 - Filtro Passa Baixa Ideal
1, w wC
H LP e jw =
0, wc < w

( )

hLP [n] =

sen (wc n )
n
n

Resposta em freqncia do filtro ideal

Resposta ao impulso do filtro ideal

Truncando a resposta ao impulso entre M n M obtemos uma seqncia finita no causal de


comprimento N=2M+1, que quando deslocada para a direita torna-se os coeficientes do filtro FIR
causal, com fase linear.
Resposta ao impulso do filtro projetado (real):
sen (wc (n M ) )
hLP [n] = hLP [n] w[n] =
0 n N 1
(n M )
w[n] = janela simtrica em relao a M entre 0 n N 1
Resposta em freqncia do filtro projetado:
H LP (e jw ) = {H LP (e jw ) W (e jw )} e jMw
Processamento Digital de Sinais

(convoluo)
Prof. Marcelo E. Pellenz

pg. 66

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

2 - Filtro Passa Alta Ideal


wc

1 , n = 0
hHP [n] =
sen( wc n)

, n >0
n

Resposta ao impulso ideal

3 - Filtro Passa Faixa Ideal


hBP [n ] =

sen( wc 2 n) sen( wc1 n)

,
n
n

n 0

Resposta ao impulso ideal

4 - Filtro Rejeita Faixa Ideal


( w wc1 )

1 c2
, n=0

hBS [n] =
sen( wc1 n) sen( wc 2 n)

, n >0
n
n

Resposta ao impulso ideal

Estes mtodos so para filtros com 2 nveis de amplitude. O mtodo pode ser generalizado para
filtros FIR multinveis (multibanda).

Tipos de Janelas Fixas


1 Janela Retangular

1, 0 n N 1
w[n] =
0, fora

( )

W e jw

w N
N 1
sen 2 jw N 1
jw

(
)
=
e
= Wr w e 2
sen w

2 Janela de Bartlett

w[n] =
2

2n
N 1
, 0n
N 1
2
2n
N 1
,
n N 1
N 1
2

3 Janela de Hanning

2 n
, 0 n N 1
N-1
0, fora

0,5 1 cos
w[n] =

4 Janela de Hamming

2n
0,54 0,46 cos
, 0 n N 1
w[n] =
N-1

0, fora
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 67

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

5 Janela de Blackman

2n
4n
0,42 0,5 cos
+ 0,08 cos

, 0 n N 1
w[n] =
N-1
N-1

0, fora

Os parmetros das janelas que definem o desempenho do filtro FIR so interpretados analisando-se
o espectro da janela.
Considere os seguintes parmetros do espectro da janela:
ML = largura do lbulo principal do espectro da janela
ASL = diferena em dB entre as amplitudes do lbulo lateral mais largo e o lbulo principal
(nvel relativo dos lbulos laterais)
- Para larguras pequenas do lbulo principal temos transies mais rpidas na resposta do filtro.
- Para reduzirmos o ripple (oscilao) na banda passante e na banda de corte, a rea sob os lbulos
laterais deve ser pequena.
- Para as janelas fixas (retangular/hanning/hamming/blackman/bartlett) o valor do ripple no
depende do comprimento da janela.
- A freqncia de corte, wc , essencialmente constante
- A largura da faixa (banda) de transio do filtro dada por
w

c
M

c = constante

A tabela abaixo ilustra o desempenho entre as janelas fixas para wc = 0,4 e M = 128 :

Tipo da Janela
Retangular
Hanning
Hamming
Blackman

Largura do
Lbulo Principal
ML
4 (2M + 1)
8 (2M + 1)
8 (2M + 1)
12 (2M + 1)

Nvel Relativo do
Lbulo Lateral
ASL
13,3 dB
31,5 dB
42,7 dB
58,1 dB

Atenuao
Mnima Fora da
Faixa
20,9 dB
43,9 dB
54,5 dB
75,3 dB

w = w p ws

0,92
3,11
3,32
5,56

c
M

M
M
M
M

Mtodo de Projeto do Filtro FIR


1) Determinar a freqncia de corte wc =

w p + ws
2

2) Estimar o valor de M usando a relao w


Processamento Digital de Sinais

c
M
Prof. Marcelo E. Pellenz

pg. 68

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Janelas Ajustveis
Nas janelas fixas o ripple fixo, mas com as janelas ajustveis possvel controlar o ripple.
1 Janela de Dolph-Chebyshev
M

1 1
k
2kn
+
2

Tk cos
cos

2M + 1
2M + 1
2 M + 1
k =1

w[n] =

Amplitude do lbulo lateral


Amplitude do lbulo principal

(
(

1
1
cosh 1

2M

= cosh

cos l cos 1 x , x 1
Tl ( x ) =
1
cosh l cosh x , x > 1

2 Janela de Kaiser

I 1 (n / M )
w[n] = 0
I 0 ( )

M n M

I 0 (u ) = funo de Bessel modificada de ordem zero


(u / 2)r
I 0 (u ) = 1 +

r!
r =1

= parmetro ajustvel
0,1102 ( s 8,7 ) s > 50

0,4
= 0,5842 ( s 21) + 0,07886 ( s 21) 21 s 50

0
s < 21

s 7,95
s > 21
14,36 f
N
0,9222

s 21
f
(w p + ws )
(ws w p )
f =
wc =
2
2
p = 20 log10 (1 - p ) dB
s = 20 log10 ( s ) dB
s = atenuao mnima na banda de corte (dB)
s = ripple na banda de corte
p = ripple na banda passante (dB)
1 - p = ripple na banda passante

Exerccio - Projete um filtro digital FIR passa baixa, usando a janela de Kaiser. As
especificaes do filtro so w p = 0.3 , ws = 0.4 e s = 50 dB .
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 69

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

EXEMPLOS DE APLICAES
Filtro de Eco: Um filtro de eco possui uma equao de diferenas no formato:

y[n] = x[n] + a x[n D]

A funo de transferncia e a resposta ao impulso do filtro so:


H (z ) = 1 + a z D
h[n] = [n] + a [n D ]

Escolha o nmero de amostras, D, que o sinal deve ser atrasado, de tal forma que o sinal seja
atrasado de 0,125s a especifique a=0,5.
Trace a resposta em freqncia do filtro usando o comando freqz do Matlab.
Execute o experimento com valores de D cada vez menores e escute o sinal com eco ate que no
seja mais perceptvel distinguir do sinal original. Calcule a quantos milisegundos de atraso este
valor corresponde.
Filtro Pente (Comb Filter):

Implemente um filtro que adicione 3 ecos sucessivos, que possui a equao de diferenas no
formato:
y[n] = x[n] + a x[n D ] + a 2 x[n 2 D ] + a 3 x[n 3D ]
A funo de transferncia e a resposta ao impulso do filtro so:
H ( z ) = 1 + a z D + a 2 z 2 D + a 3 z 3 D

Implemente a forma no recursiva deste filtro escolhendo D tal que o atraso seja 0,2s. Utilize a=0,5
and trace a resposta em freqncia deste filtro. Mantendo o mesmo atraso, D, escolha a=0,2 e rode
o programa novamente. Que efeito voc escuta ? Repita para a=0,1.
Filtro de Reverberao:

Se uma quantidade infinita de ecos for adicionada ao sinal, o efeito imita a reverberao natural de
uma sala e fornece o filtro pente (comb filter) IIR ou reverberador. A equao de diferenas e a
funo de transferncias so:
y[n] = x[n] + a y[n D ]
H (z ) =

1
1 a z D

Novamente, escolha D tal que o atraso seja 0,125s, especifique a=0,5 e trace o grfico da resposta
em freqncia do filtro reverberador. Execute o programa com o novo coeficiente a=0,9. Trace a
resposta ao impulso. Repita para a=0,25. Discuta o efeito de aumentar ou diminuir a.
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 70

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 4 APLICAES DO PROCESSAMENTO DIGITAL DE SINAIS
SNTESE E DETEO DTMF
PROF. MARCELO PELLENZ

(DTMF) DUAL-TONE MULTIFREQUENCY


N=205

Tom de
frequncia
(Hz)
697
770
852
941
1209
1336
1477
1633

FT = 8 kHz
Valor inteiro
Valor
de k mais
exato de k
prximo
17,861
18
19,731
20
21,833
22
24,113
24
30,981
31
34,235
34
37,848
38
41,846
42
N=201

Segunda
harmnica
(Hz)
1394
1540
1704
1882
2418
2672
2954
3266

FT = 8 kHz
Valor inteiro
Valor
de k mais
exato de k
prximo
35,024
35
38,692
39
42,813
43
47,285
47
60,752
61
67,134
67
74,219
74
82,058
82

Erro
absoluto
em k
0,139
0,269
0,167
0,113
0,019
0,235
0,152
0,154
Erro
absoluto
em k
0,024
0,308
0,187
0,285
0,248
0,134
0,219
0,058

697 Hz

770 Hz

852 Hz

941 Hz

1209 Hz 1336 Hz 1477 Hz 1633 Hz


Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 71

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Frmulas do clculo da DFT de N pontos:

( )

X e jw

( )

X [k ] = X e
X [k ] =

jw

wk =

DTFT
k = 0, 1, K , N 1

2 k
N

N 1

x[n] W

k = 0, 1, K , N 1

kn
N

n =0

j2
W N = exp

1 No sistema DTMF so utilizadas duas freqncias distintas para representar cada dgito. O
programa a seguir calcula a DFT de cada freqncia. Podemos observar que existe um
espalhamento da energia em torno da freqncia central (leakage).
fk =

k FS
, k = 0, 1, K , N 1
N

% Amostras selecionadas da DFT para


% cada um dos tons de sinais DTMF
clear; clc;
close all;
fs=8000;
n=0:204;
f=[697 770 852 941 1209 1336 1447 1633];
escala=[[10 25];[10 25];[15 30];[15 30];[25 40];[25 40];[35 50];[35 50]];
for i=1:8
figure(i);
x=sin(2*pi*f(i)*n*(1/fs));
X=fft(x);
stem(n,abs(X));
label=num2str(f(i));
title(strcat(label,' Hz'));
ylabel('|X[k]|');
xlabel('n')
axis([escala(i,1) escala(i,2) 0 110]);
end

2 O programa a seguir sintetiza, analiza e decodificada os tons de freqncia de discagem. Os


tons transmitidos so enviados para o conversor D/A e podem ser ouvidos atravs da placa de
som.
%
%
%
%
%
%

Funcao para calcular 1 amostra da DFT


XF=gfft(x,N,k)
x = sequencia de entrada de comprimento <= N
N = comprimento da DFT
k = numero da amostra
XF = amostra desejada da DFT

function XF=gfft(x,N,k)
if length(x)<N
xe=[x zeros(1,N-length(x))];
else
xe=x;
end
x1=[xe 0];
d1=2*cos(2*pi*k/N); W=exp(-i*2*pi*k/N);
y=filter(1,[1 -d1 1],x1);
XF=y(N+1)-W*y(N);
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 72

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

% DUAL-TONE MULTIFREQUENCY TONE DETECTION


clear; clc;
fs=8000;
n=0:204;
n1=0:319;
loop=0;
while loop==0,
d=input('Digite Numero:');
symbol=abs(d);
if symbol==1
f1=697; f2=1209;
end
if symbol==2
f1=697; f2=1336;
end
if symbol==3
f1=697; f2=1477;
end
if symbol==4
f1=770; f2=1209;
end
if symbol==5
f1=770; f2=1336;
end
if symbol==6
f1=770; f2=1477;
end
if symbol==7
f1=852; f2=1209;
end
if symbol==8
f1=852; f2=1336;
end
if symbol==9
f1=852; f2=1477;
end
if symbol==0
f1=941; f2=1336;
end
y=sin(2*pi*f1*n1*(1/fs))+sin(2*pi*f2*n1*(1/fs));
sound(y,fs);
x=sin(2*pi*f1*n*(1/fs))+sin(2*pi*f2*n*(1/fs));
k=[18 20 22 24 31 34 38 42];
for m=1:8;
Fx(m)=gfft(x,205,k(m));
val=abs(Fx);
end
stem(k,val); grid;
limit=8100;
if val(1)*val(5)>limit
disp('Tecla Apertada = 1');
end
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 73

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

if val(1)*val(6)>limit
disp('Tecla Apertada = 2');
end
if val(1)*val(7)>limit
disp('Tecla Apertada = 3');
end
if val(2)*val(5)>limit
disp('Tecla Apertada = 4');
end
if val(2)*val(6)>limit
disp('Tecla Apertada = 5');
end
if val(2)*val(7)>limit
disp('Tecla Apertada = 6');
end
if val(3)*val(5)>limit
disp('Tecla Apertada = 7');
end
if val(3)*val(6)>limit
disp('Tecla Apertada = 8');
end
if val(3)*val(7)>limit
disp('Tecla Apertada = 9');
end
if val(4)*val(6)>limit
disp('Tecla Apertada = 0');
end
end

3 No programa a seguir analisamos o efeito do comprimento da DFT na anlise espectral. O sinal


analisado no domnio da freqncia
x[n] = 0,5 sen(2 f 1 n) + sen(2 f 2 n),
0 n N 1
f 1 = 0,22
f 2 = 0,34
Calcule a DFT do sinal de comprimento N=16. Utilize os seguintes comprimentos para a DFT:
22. R=16 R=32 R=64 R=128
clear; clc;
close all;
N=input('Comprimento do Sinal: ');
R=input('Comprimento da DFT: ');
f1=0.22; f2=0.34;
n=0:N-1;
x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n);
X=fft(x,R);
figure(1);
k=0:R-1;
stem(k,abs(X)); grid;
title(['N = ', num2str(N),' R = ',num2str(R)]);
xlabel('k'); ylabel('|X[k]|');
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 74

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 5 TRANSFORMADA-Z
PROF. MARCELO PELLENZ

A Transformada de Fourier em Tempo Discreto (DTFT) de um sistema linear invariante no


tempo, com resposta ao impulso h[n] , denominada de resposta em freqncia do sistema, H e jw .
Contudo, existem duas restries para a abordagem da DTFT. A primeira que para muitos sinais
teis na prtica como u[n] e n u[n] a DTFT no existe. A segunda que a resposta transitria de
um sistema devido a condies iniciais ou alteraes da entrada no podem ser calculadas usando a
abordagem da DTFT. Portanto utilizamos uma extenso da DTFT denominada de transformada Z:

( )

h[n] z

H (Z ) =

Transformada-Z

n =

h[n ] =

1
2 j

H (Z ) z n 1 dz

Transformada-Z Inversa

A transformada z pode ser escrita como uma funo racional em z 1 , ou seja, como uma razo de
polinmios em z 1 :
B( z ) b0 + b1 z 1 + L + bM 1 z ( M 1) + bM z M
H (z ) =
=
A( z ) a0 + a1 z 1 + L + a N 1 z ( N 1) + a N z N
H (z ) =

R h < z < Rh +

~ ~
~
M N
b0 + b1 z 1 + L + bN 1 z ( N 1)
C k z k
+

1
( N 1)
N
1 + a1 z + L + a N 1 z
+ aN z
k =0
1
4243
M N

A transformada-z inversa pode ser obtida atravs da expanso em fraes parciais:


N

H (z ) =
k =1

M N
Rk
+ C k z k
1
1 pk z
k =0
1
4243
M N

~ ~
~
b0 + b1 z 1 + L + bN 1 z ( N 1)
Rk =
1 p k z 1
1
( N 1)
N
1 + a1 z + L + a N 1 z
+ aN z

)
z = pk

M N
1
h[n ] = Rk 1
+ C k (n k )
1
l =1
k =0
1 p k z 1
442443
M N

Teorema 1: Um sistema LTI estvel se e somente se o crculo de raio unitrio est dentro da
regio de convergncia (ROC) de H ( z )
Teorema 2: Um sistema LTI causal estvel se e somente se a funo de transferncia H ( z )
possui todos os plos dentro do crculo de raio unitrio.
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 75

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Relao entre a funo de transferncia e a equao de diferenas:


Y (Z ) = H (Z ) X (Z )
N

k =1

l =1

y[n ] + a k y[n k ] = bl x[n l ]


M

Y (z )
H (z ) =
=
X (z )

l =0
N

z l

1 + ak z

=
k

B(z )
A( z )

Equao de Diferenas

Funo de Transferncia

k =0

b
b0 z M z M + L + M
b0

H (z ) =
N
N
z
z + L + aN

(z z )
(z p )
N 1

H ( z ) = b0 z

(N M )

l =1
N

k =1

Exerccio 1 Determine a expanso em fraes parciais da transformada-z, para a seguinte


seqncia:
z
H (z ) = 2
3z 4 z +1
Utilize a funo residuez do Matlab.
Exerccio 2 Dado um sistema LTI causal com a seguinte funo de transferncia:
H (z ) =

z +1
z 0,9 z + 0,81
2

Determine:
a) Expresso da resposta em freqncia
b) Expresso da equao de diferenas
c) Escreva H ( z ) na forma fatorada utilizando expanso em fraes parciais (residuez)
d) Determine os zeros e plos (roots)
e) Faa o diagrama de plos e zeros (zplane)
Exerccio 3 Um sistema LTI causal descrito pela seguinte equao de diferenas:

y[n] = 0,81 y[n 2] + x[n] x[n 2]

Determine:
a) Expresso da funo de transferncia, H ( z )
b) Traar o grfico da resposta em freqncia, H (e jw ) (mdulo/fase) (freqz)
c) Escreva H ( z ) na forma fatorada utilizando expanso em fraes parciais (residuez)
d) Traar o diagrama de plos e zeros (zplane)
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 76

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Exerccio 4 Expresse a seguinte transformada-z na forma fatorada (produto de sees de segunda


ordem), trace o diagrama de plos e zeros e determine as regies de convergncia.

2 z 4 + 16 z 3 + 44 z 2 + 56 z + 32
H (z ) =
3 z 4 + 3 z 3 15 z 2 + 18 z 12
Funo do Matlab: tf2sos

b01
b
sos = 02
M

b0 L

b11
b12
M
b1L

b21
b22
M
b2 L

a 01
a02
M
a0 L

a11
a12
M
a1L

a 21
a 22
M

a2L

b0 k + b1k z 1 + b2 k z 2
H (z ) =
1
+ a 2k z 2
k =1 a 0 k + a1k z
L

Exerccio 5 Determine a forma racional da transformada-z a partir da localizao de seus zeros e


plos.

- Os zeros so: z 1 = 0.21 , z 2 = 3.14 , z 3 = 0.3 + j 0.5 e z 4 = 0.3 j 0.5 .


- Os plos so: p1 = 0.45 , p 2 = 0.67 , p 3 = 0.81 + j 0.72 e p 4 = 0.81 j 0.72
- O ganho constante k = 2.2
Funo do Matlab: zp2tf

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 77

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROJETO DE FILTROS FIR


TIPOS DE FASE LINEAR PARA FILTROS FIR

Fase Linear Resposta ao impulso simtrica


TIPO 1 SIMTRICO - COMPRIMENTO MPAR
h[n] = h[N n] , 0 n N
N

H(z) = h[n] z n

Funo de Transferncia

n =0

Exemplo com N=8

H ( z ) = h[0] + h[1]z 1 + h[2]z 2 + h[3]z 3 + h[4]z 4 + h[5]z 5 + h[6]z 6 + h[7]z 7 + h[8]z 8


h[0] = h[8]
h[1] = h[7]
SIMETRIA
h[2] = h[6]
h[3] = h[5]

H ( z ) = z 4 h[0] z 4 + z 4 + h[1] z 3 + z 3 + h[2] z 2 + z 2 + h[3] z + z 1 + h[4]

( )

H e jw = e j 4 w {2 h[0]cos(4w) + 2h[1] cos(3w) + 2h[2] cos(2 w) + 2h[3] cos(w) + h[4]}

(w ) = 4

( )= e

He
N
a[0] = h
2

Processamento Digital de Sinais

jw

Nw
2

N 2

a[n] cos (wn )


n =0

N
N

a[n] = 2 h n , 1 n
2
2

Prof. Marcelo E. Pellenz

pg. 78

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

TIPO 2 SIMTRICO - COMPRIMENTO PAR


Exemplo para N=7

H ( z ) = h[0] 1 + z 7 + h[1] z 1 + z 6 + h[2] z 2 + z 5 + h[3] z 3 + z 4

H ( z ) = z 7 2 h[0] z 7 2 + z 7 2 + h[1] z 5 2 + z 5 2 + h[2] z 3 2 + z 3 2 + h[3] z 1 2 + z 1 2

( )

H e jw = e

(w) =

7w
2

)}

7w
5w
3w
w
+ 2 h[1]cos + 2 h[2]cos + 2 h[3]cos
2 h[0]cos
2
2
2
2

7
2

(N +1 )/ 2

1
H e jw = e jNw/ 2 b[n] cos w n
2

n =1

( )

N +1
b[n] = 2 h
n
2

Processamento Digital de Sinais

1 n

N +1
2

Prof. Marcelo E. Pellenz

pg. 79

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

TIPO 3 ANTISIMTRICO COMPRIMENTO MPAR


Caractersticas:
- Atraso de grupo constante
- Resposta em fase quase linear
h[n] = h[N n]

0n N

Exemplo para N=8

H ( z ) = z 4 {h[0] (z 4 z 4 ) + h[1] (z 3 z 3 ) + h[2] (z 2 z 2 ) + h[3] (z 1 z 1 )


h[N 2] = 0

( )

H e jw = e j 4 w e

j
2

{2h[0] sen 4w + 2h[1] sen 3w + 2h[2] sen 2w + 2h[3] sen w}


(w) = 4

N/ 2

H e jw = e jNw/ 2 e j2 c[n] sen (wn )


n=1

( )

N
N

c[n] = 2 h n , 1 n
2
2

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 80

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

TIPO 4 ANTISIMTRICO COMPRIMENTO PAR


Exemplo para N=7
7
5
3
1

72

52

32

12

2
2
2
H ( z ) = z h[0] z z + h[1] z z + h[2] z z + h[3] z z 2

7
2

( )

H e jw = e

(w ) =

7w
2

7w
5w
3w
w
+ 2h[1]sen
+ 2h[2]sen + 2h[3]sen
2h[0]sen
2
2
2
2

7
2

( )

H e jw = e

Nw
2

( N +1) / 2
1

d [n] sen w (n )
2

n =1

N +1
d [ n] = 2 h
n
2

( )= e

He

jw

Nw
2

~
e j H ( w)

1 n

N +1
2

= 0 ou

~
H (w) = Resposta em Amplitude

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 81

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

LAB. DSP 1 Introduo ao Kit TMS320C5416


Documentao para o Laboratrio
Nos experimentos de laboratrio utilizaremos o TMS320C5416 DSP STARTER KIT da Texas Instruments
(TI).
As cpias eletrnicas destes documentos so encontradas abaixo.
NO IMPRIMA estes documentos, apenas utilize na forma eletrnica. Para maiores informaes sobre a
famlia de
processadores TMS320C54xx, consulte o site da TI. (www.ti.com)
Documentao Tcnica
TMS320C5416 Digital Signal Processor Data Sheet (C:\ti\docs\hlp\C5416DSK.HLP)
TMS320C54x DSP Functional Overview (SPRU307A)
TMS320C54x Code Composer Studio Tutorial (SPRU327C)
TMS320C54x Code Composer Studio User's Guide (SPRU328B)
TMS320C54x Assembly Language Tools User's Guide (SPRU102E)
TMS320C54x Evaluation Module Technical Reference (SPRU135)
TMS320C54x Optimizing C/C++ Compiler (SPRU103f)
TMS320C54x DSP Ref. Set Vol. 2: Mnemonic Instruction Set (SPRU172C)
Atividades de Laboratrio
Atividade 1 - Abrir o arquivo de help c:\ti2\docs\hlp\c5416dsk.hlp
Ler a descrio geral do kit TMS320C5416 e executar os exemplos do tutorial
que utilizam o DSP/BIOS (Real-Time Multitasking Kernel):
a) O exemplo do LED reside no diretrio c:\ti2\examples\dsk5416\bsl\led
Faa uma cpia de todo o diretrio para o diretrio de trabalho c:\ti2\myprojects
a partir do qual voc deve trabalhar.
b) O exemplo de gerao de TOM reside no diretrio c:\ti2\examples\dsk5416\bsl\tone
Faa uma cpia de todo o diretrio para o diretrio de trabalho c:\ti2\myprojects
a partir do qual voc deve trabalhar.
b.1) Identificar a freqncia de amostragem utilizada pelo A/D - D/A
b.2) Calcular a freqncia normalizada "w=2*pi*f"
b.3) Calcular o perodo do sinal em tempo discreto em nmero de amostras
b.4) Calcular o nmero de amostras por perodo do sinal analgico
b.5) Identifique no Codec API Summary quais as freqncias de amostragem
padres que podem ser utilizadas
V para o item Software Overview --> BSL API Summary --> Codec API
Este tpico importante para os trabalhos futuros de laboratrio para entender como utilizar a
API
para escrever programas com I/O de streams de udio para aplicaes do DSP.
Atividade 2 - Ler os captulos 2, 3, 4 e 6 do help do CCS DSK: Code Composer Studio Overview.
Captulo 2 - Developing a Simple Program
Captulo 3 - Developing a DSP/BIOS Program
Captulo 4 - Testing Algorithms and Data from a file
Captulo 6 - Analyzing Real-Time Behavior
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 82

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 6 PROJETO DE FILTROS DIGITAIS FIR
PROF. MARCELO PELLENZ

Vantagens dos filtros FIR:


- A resposta em fase pode ser exatamente linear
- So fceis de implementar porque no h problemas de estabilidade
- A DFT pode ser usada na implementao
Vantagens da resposta em fase linear:
- A implementao envolve apenas aritmtica real e no complexa
- No existe distoro de atraso e sim apenas um atraso fixo entre entrada/sada
- Para filtros de comprimento N (ordem N-1) o nmero de operaes da ordem de N/2

Metodologia de Projeto Mtodo das Janelas


A nfase do mtodo est em selecionar uma janela apropriada e um filtro ideal:
a) Selecionar um filtro ideal (no causal), que possui resposta ao impulso infinita
b) Truncar a resposta ao impulso (usando uma janela) para obter um filtro FIR causal
c) Deslocar o incio do vetor de amostras, h[n] , para iniciar em n=0
(equivale a associar uma fase linear)
OBSERVAO: A notao utilizada para o comprimento da janela N, onde N=2M+1

Resposta ao Impulso dos Filtros Ideais


1 - Filtro Passa Baixa Ideal

1, w wC
H LP e jw =
0, wc < w

( )

hLP [n] =

sen (wc n )
n
n

Resposta em freqncia do filtro ideal

Resposta ao impulso ideal

Truncando a resposta ao impulso entre M n M obtemos uma seqncia finita no


causal de comprimento N=2M+1, que quando deslocada para a direita torna-se os coeficientes
do filtro FIR causal, com fase linear.
Resposta ao impulso do filtro projetado (real)

sen (wc (n M ) )
hLP [n] = hLP [n] w[n] =
0 n N 1
(n M )
w[n] = janela simtrica em relao a M entre 0 n N 1

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 83

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Resposta em freqncia do filtro projetado

( ) { ( ) ( )}

H LP e jw = H LP e jw W e jw e jMw

2 - Filtro Passa Alta Ideal


wc

1 , n = 0
hHP [n] =
sen( wc n)

, n >0
n

Resposta ao impulso ideal

3 - Filtro Passa Faixa Ideal


sen( wc 2 n) sen( wc1 n)
hBP [n ] =

,
n
n

n 0

4 - Filtro Rejeita Faixa Ideal


( w wc1 )

1 c2
, n=0

hBS [n] =
sen( wc1 n) sen( wc 2 n)

, n >0
n
n

Resposta ao impulso ideal

Resposta ao impulso ideal

Estes mtodos so para filtros com 2 nveis de amplitude. O mtodo pode ser generalizado
para filtros FIR multinveis.

Tipos de Janelas Fixas


1 Janela Retangular
1, 0 n N 1
w[n] =
0, fora

2 Janela de Bartlett
2n
N 1

, 0n

N 1
2
w[n] =
2n
N 1
2
,
n N 1
N 1
2

3 Janela de Hanning

2 n
0,5 1 cos
, 0 n N 1
w[n] =
N-1

0, fora

4 Janela de Hamming

2n
0,54 0,46 cos
, 0 n N 1
w[n] =
N-1

0, fora
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 84

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

5 Janela de Blackman

2n
4n
0,42 0,5 cos
+ 0,08 cos
, 0 n N 1
w[n] =
N-1
N-1

0, fora

Os parmetros das janelas que definem o desempenho do filtro FIR so interpretados


analisando-se o espectro da janela.
Considere os seguintes parmetros do espectro da janela:

ML = largura do lbulo principal do espectro da janela


ASL = diferena em dB entre as amplitudes do lbulo lateral mais largo e o lbulo principal
(nvel relativo dos lbulos laterais)
Para larguras pequenas do lbulo principal temos transies mais rpidas na resposta do
filtro.
Para reduzirmos o ripple na banda passante e na banda de corte, a rea sob os lbulos
laterais deve ser pequena.
Para as janelas fixas (retangular/hanning/hamming/blackman/Bartlett) o valor do ripple no
depende do comprimento da janela.
A freqncia de corte, wc , essencialmente constante
A largura de faixa de transio dada por
w

c
M

c = constante

Comandos do MATLAB para o projeto das janelas:


w=blackman(N)
w=hanning(N)
w=kaiser(N,BETA)

w=hamming(N)
w=chebwin(N,R)
N=comprimento da janela
L = N-1 = ordem do filtro
b=fir1(L,Wn)
b=fir1(L,Wn,filtertype)
b=fir1(L,Wn,window)
b=fir1(L,Wn,filtretype,window)
Wn = Freqncia de Corte Normalizada (0 <=Wn <=1)

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 85

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

1 Neste exemplo voc ir projetar apenas a janela (tipo blackman), w[n], e visualizar o seu
espectro:
clear; clc;
N=input('Comprimento da Janela:');
w=blackman(N)
disp(w)
[h,omega]=freqz(w,1,256);
mag=20*log10(abs(h));
figure(1);
plot(omega/pi,mag); grid;
ylabel('Frequencia Normalizada');
xlabel('Ganho (dB)'); title('Janela');

Analise todos os tipos de janelas fixas e anote os seguintes parmetros:


ML = largura do lbulo principal do espectro da janela
ASL = diferena em dB entre a amplitude do lbulo lateral e o lbulo principal

TAREFAS
a) Analisar o espectro das janelas e anotar numa tabela os valores da largura do lbulo principal,
ML e a atenuao relativa do lbulo lateral, ASL .
b) Projetar os seguintes filtros digitais FIR, considerando Fs=8kHz:
- Filtro passa baixa Fc=2kHz N=17
- Filtro passa alta Fc=2kHz N=17
- Filtro passa faixa Fc1=2kHz Fc2=3kHz N=17
- Filtro rejeita faixa Fc1=2kHz Fc2=3kHz N=17
Traar o grfico da resposta em freqncia de cada filtro (mdulo/fase)
Entregar no final da aula para cada filtro projetado, h[n] , H ( z ) e a equao de
diferenas.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 86

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 7 PROJETO DE FILTROS DIGITAIS FIR
PROF. MARCELO PELLENZ

Projetar os seguintes filtros digitais e converter os coeficientes para a notao de 16 bits (Q15)
utilizada pelo DSP. Os coeficientes devem estar no formato final hexadecimal. Os nmeros
negativos devem ser representados utilizando a notao complemento de 2.
Tipo de
Filtro

Aluno

n
0
1
:
N-1

h[n]

h[n]*32767

Tipo de
Janela

Ordem do
Filtro

Freqncia de Corte

Formato Binrio

Freqncia de
Amostragem

Formato Hexadecimal

Ao final da aula devem ser entregues as tabelas com os coeficientes projetados no formato final
para implementao no kit DSP TMS320C5416.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 87

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROJETO DE FILTROS DIGITAIS FIR


TCNICA DA AMOSTRAGEM EM FREQNCIA

( )

A funo de transferncia obtida das amostras H [k ] da resposta em freqncia H e jw .


Considere a resposta ao impulso, h[n] , de um filtro FIR com M amostras. A sua DFT, H [k ]
tambm ter M pontos.
H (z ) =

M 1

h[n] z n =
n =0

H [k ] =

M 1

h[n ] e

1 z M M 1
H [k ]

1
M
e j 2k M
k =0 1 z

2 kn
M

1
h[n] =
M

n=0

H (e jw ) =
j 2Mk
H e

M 1

H [k ] e

2 kn
M

k =0

1 e jwM M 1
H [k ]

jw
M
e j 2k M
K =0 1 e

H [0],
= H [k ] =

H [M-k ],

k =0
k = 1,...,M 1

Para filtros FIR com fase linear,

h[n] = h[M 1 n],

n = 0,1,...,M 1

H [k ] = H r [k ] e jH [k ]
H [0],
H r [k ] = r
H r [M k ],

k =0
k = 1,...,M 1

Para filtros tipo 1 e 2:


M 1 2k
2 M ,

H [k ] =
M

1
2

+
(M k ),

2 M

M 1
k = 0 ,...,

2
M 1
k=
+ 1,...,M 1
2

Para filtros tipo 3 e 4:


M 1 2k
2 2 M ,

H [k ] =

1
2

+
(M k ),
2 2 M

M 1
k = 0 ,...,

2
M 1
k=
+ 1,...,M 1
2

h[n] = IDFT{H [k ]}

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 88

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Dada a resposta ideal do filtro, H d (e jw ) , especificar o valor de M e amostras H d (e jw ) em

( )

M freqncias igualmente espaadas entre 0 e 2 . A resposta do filtro obtido, H e jw , a


interpolao das amostras H [k ] .

a) O erro de aproximao, ou seja, a diferena entre a resposta ideal e a projetada, zero nas
freqncias de amostragem.
b) O erro de aproximao nas outras freqncias depende do formato da resposta ideal. Quanto mais
abrupto a resposta ideal, maior o erro.
c) O erro maior prximo dos limites das faixas de transio e menor dentro das faixas.

Verificar Grfico

Aplicao direta do mtodo (sem considerar o


erro de aproximao)

Mtodos de Construo (duas abordagens) Projeto timo, onde tenta - se minimizar


o erro na banda de corte variando - se os

valores das amostras na banda de transio.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 89

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

PROCESSAMENTO DIGITAL DE SINAIS (PDS)


LABORATRIO 8 PROJETO DE FILTROS DIGITAIS FIR
PROF. MARCELO PELLENZ

Metodologia de Projeto usando Janelas Ajustveis


A nfase do mtodo est em selecionar uma janela apropriada e um filtro ideal:
a) Selecionar um filtro ideal (no causal), que possui resposta ao impulso infinita
b) Truncar a resposta ao impulso (usando uma janela) para obter um filtro FIR causal
c) Deslocar o incio do vetor de amostras, h[n] , para iniciar em n=0
(equivale a associar uma fase linear)
OBSERVAO: A notao utilizada para o comprimento da janela N, onde N=2M+1

Janela Ajustvel de kaiser


1 Considere o projeto de um filtro digital FIR passa baixa, usando a janela de Kaiser. As
especificaes do filtro so w p = 0.3 , ws = 0.4 e s = 50 dB .
A freqncia de corte dada por

wc =

(w

+ ws )
2

f =

(w

wp )
2

s = 20 log10 ( s ) dB

0.1102 ( s 8.7 ) s > 50

0.4
= 0.5842 ( s 21) + 0.07886 ( s 21) 21 s 50

0
s < 21

s 7.95
s > 21
14.36 f
N
0.9222

s 21
f

% Geracao da Janela de Kaiser


clear; clc;
N=input('Comprimento da Janela:');
beta=input('Valor de Beta:');
w=kaiser(N,beta);
disp(w)
[h,omega]=freqz(w,1,256);
mag=20*log10(abs(h));
figure(1);
plot(omega/pi,mag); grid;
ylabel('Frequencia Normalizada');
xlabel('Ganho (dB)');
title('Janela de Kaiser');

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 90

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

2 Projete um filtro FIR passa baixa usando a janela de kaiser para os mesmos parmetros do
programa anterior.
% Projeto do Filtro FIR usando a janela de Kaiser
clear; clc;
N=input('Comprimento da Janela:');
beta=input('Valor de Beta:');
wc==input('Frequencia de corte:');
kw=kaiser(N,beta);
b=fir1(N-1,wc,kw);
[h,omega]=freqz(b,1,256);
mag=20*log10(abs(h));
figure(1);
plot(omega/pi,mag); grid;
ylabel('Frequencia Normalizada');
xlabel('Ganho (dB)');
title('Filtro FIR Passa Baixa');

Mtodo de Projeto de Filtros FIR baseado na


Amostragem em Freqncia
b=fir2(L,f,m)
b=fir2(L,f,m,window)
b=remez(N,f,m)
b=remez(N,f,m,wt)
b=remez(N,f,m,ftype)
b=remez(N,f,m,wt,ftype)

3 Considere o projeto de um filtro FIR de ordem 100 com 3 nveis diferentes de amplitude:
- 0.3 na faixa de freqncia de 0 a 0.28
- 1 na faixa de freqncia de 0.3 a 0.5
- 0.7 na faixa de freqncia de 0.52 a 1
% Projeto do Filtro FIR multifaixa usando a janela de Hamming
clear; clc;
fpts=[0 0.28 0.3 0.5 0.52 1];
mval=[0.3 0.3 1 1 0.7 0.7];
b=fir2(100,fpts,mval);
[h,omega]=freqz(b,1,512);
mag=abs(h);
figure(1);
plot(omega/pi,mag); grid;
ylabel('Frequencia Normalizada');
xlabel('Ganho (dB)');
title('Filtro FIR Passa Baixa');

4 Determine a funo de transferncia e trace a resposta em freqncia de um filtro digital FIR


passa faixa, com fase linear, utilizando o mtodo da amostragem em freqncia. A ordem do
filtro deve ser 27, a faixa de passagem de 0.3 a 0.5 e as faixas de corte de 0 a 0.25 e de 0.55 a 1.
f=[0 0.25 0.3 0.5 0.55 1]
m=[0.01 0.01 1 1 0.01 0.01]
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 91

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

% Projeto de um filtro digital FIR passa faixa


clear; clc;
N=input('Ordem do Filtro:');
f=input('Faixas de Frequencia:');
m=input('Valores de Amplitude:');
b=remez(N,f,m);
disp(b)
[h,w]=freqz(b,1,256);
mag=20*log10(abs(h));
fase=angle(h);
figure(1);
plot(w/pi,mag); grid;
ylabel('Frequencia Normalizada');
xlabel('Ganho (dB)');
title('Filtro Digital de FIR Passa Faixa');
figure(2);
plot(w/pi,fase); grid;
ylabel('Frequencia Normalizada');
xlabel('Fase');
title('Filtro Digital de FIR Passa Faixa');

5 Projete um filtro digital FIR, passa baixa, usando o mtodo da srie de Fourier truncada,
com as seguintes especificaes:
p = 1 rad/s

s = 2 rad/s

p = 0.1 dB

s = 45 dB

T = 2 FT = 10 rad/s

->

Freqncia de amostragem

Use o comando fir1 do Matlab. Utilize as seguintes janelas: Hamming, Hann, Blackman e
Kaiser. Mostre os coeficientes da resposta ao impulso e trace a resposta em freqncia dos
filtros projetados para cada caso.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 92

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

LAB. 1 Introduo ao kit DSP TMS320C5416


Documentao para o Laboratrio
Nos experimentos de laboratrio utilizaremos o TMS320C5416 DSP STARTER KIT da Texas Instruments (TI).
As cpias eletrnicas destes documentos so encontradas abaixo.
NO IMPRIMA estes documentos, apenas utilize na forma eletrnica. Para maiores informaes sobre a famlia de
processadores TMS320C54xx, consulte o site da TI. (www.ti.com)

Documentao Tcnica
TMS320C5416 Digital Signal Processor Data Sheet (C:\ti\docs\hlp\C5416DSK.HLP)
TMS320C54x DSP Functional Overview (SPRU307A)
TMS320C54x Code Composer Studio Tutorial (SPRU327C)
TMS320C54x Code Composer Studio User's Guide (SPRU328B)
TMS320C54x Assembly Language Tools User's Guide (SPRU102E)
TMS320C54x Evaluation Module Technical Reference (SPRU135)
TMS320C54x Optimizing C/C++ Compiler (SPRU103f)
TMS320C54x DSP Ref. Set Vol. 2: Mnemonic Instruction Set (SPRU172C)

Atividades de Laboratrio
Atividade 1 - Abrir o arquivo de help c:\ti2\docs\hlp\c5416dsk.hlp
Ler a descrio geral do kit TMS320C5416 e executar os exemplos do tutorial
que utilizam o DSP/BIOS (Real-Time Multitasking Kernel):
a) O exemplo do LED reside no diretrio c:\ti2\examples\dsk5416\bsl\led
Faa uma cpia de todo o diretrio para o diretrio de trabalho c:\ti2\myprojects
a partir do qual voc deve trabalhar.

b) O exemplo de gerao de TOM reside no diretrio c:\ti2\examples\dsk5416\bsl\tone


Faa uma cpia de todo o diretrio para o diretrio de trabalho c:\ti2\myprojects
a partir do qual voc deve trabalhar.
b.1) Identificar a freqncia de amostragem utilizada pelo A/D - D/A
b.2) Calcular a freqncia normalizada "w=2*pi*f"
b.3) Calcular o perodo do sinal em tempo discreto em nmero de amostras
b.4) Calcular o nmero de amostras por perodo do sinal analgico
b.5) Identifique no Codec API Summary quais as freqncias

de amostragem

padres que podem ser utilizadas


V para o item Software Overview --> BSL API Summary --> Codec API
Este tpico importante para os trabalhos futuros de laboratrio para entender como utilizar a API
para escrever programas com I/O de streams de udio para aplicaes do DSP.
Atividade 2 - Ler os captulos 2, 3, 4 e 6 do help do CCS DSK: Code Composer Studio Overview.
Captulo 2 - Developing a Simple Program
Captulo 3 - Developing a DSP/BIOS Program
Captulo 4 - Testing Algorithms and Data from a file
Captulo 6 - Analyzing Real-Time Behavior

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 93

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Lab. 2 TMS320C5416
Laboratrio de Efeitos de udio
Este laboratrio trata de efeitos de udio. Os algoritmos so implementados usando o DSP de
maneira que os arquivos de udio possam ser processados em tempo real. Vamos implementar um
circuito fechado de udio neste laboratrio e escutar um trecho de musico do CD player. Na parte 1
usaremos o Matlab para implementao e processamento de udio (no em tempo real) usando
arquivos WAV. Isso permite um bom entendimento dos efeitos de udio e seus algoritmos. Na parte
2 os algoritmos sero implementados em tempo real usando o KIT DSP TMS320C5416. Estes
efeitos de udio podem ser combinados para gerar efeitos complexos de udio. Voc pode gravar a
sua prpria voz para testar os algoritmos. Grave no modo mono com 8 bits de resoluo na
freqncia de amostragem de 8kHz e que o arquivo seja salvo no formato WAV.
Equipamentos Necessrios:
- PC com Matlab e Toolbox de Processamento Digital de Sinais
- Microfone e alto-falante (fone de ouvido)
- CD player porttil
- KIT DSP TMS320C5416

PARTE 1 EFEITOS DIGITAIS DE AUDIO NO MATLAB


Filtro de Eco:

Implemente um filtro de eco que possui uma equao de diferenas no formato:

y[n] = x[n] + a x[n D]


A funo de transferncia e a resposta ao impulso do filtro so:

H (z ) = 1 + a z D
h[n] = [n] + a [n D ]
Escolha o numero de amostras, D, que o sinal deve ser atrasado, de tal forma que o sinal seja
atrasado de 0,125s a especifique a=0,5.
Trace a resposta em freqncia do filtro usando o comando freqz do Matlab.
Execute o experimento com valores de D cada vez menores e escute o sinal com eco ate que no
seja mais perceptvel distinguir do sinal original. Calcule a quantos milisegundos de atraso este
valor corresponde.
Filtro Pente (Comb Filter):

Implemente um filtro que adicione 3 ecos sucessivos, que possui a equao de diferenas no
formato:

y[n] = x[n] + a x[n D ] + a 2 x[n 2 D ] + a 3 x[n 3D ]


Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 94

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

A funo de transferncia e a resposta ao impulso do filtro so:

H ( z ) = 1 + a z D + a 2 z 2 D + a 3 z 3 D
Implemente a forma no recursiva deste filtro escolhendo D tal que o atraso seja 0,2s. Utilize a=0,5
and trace a resposta em freqncia deste filtro. Mantendo o mesmo atraso, D, escolha a=0,2 e rode
o programa novamente. Que efeito voc escuta ? Repita para a=0,1.
Filtro de Reverberao:

Se uma quantidade infinita de ecos for adicionada ao sinal, o efeito imita a reverberao natural de
uma sala e fornece o filtro pente (comb filter) IIR ou reverberador. A equao de diferenas e a
funo de transferncias so:

y[n] = x[n] + a y[n D ]


H (z ) =

1
1 a z D

Novamente, escolha D tal que o atraso seja 0,125s, especifique a=0,5 e trace o grfico da resposta
em freqncia do filtro reverberador. Execute o programa com o novo coeficiente a=0,9. Trace a
resposta ao impulso. Repita para a=0,25. Discuta o efeito de aumentar ou diminuir a.

PARTE 2 LOOP BACK DE AUDIO NO KIT DSP


Esta seo do laboratrio e uma introduo programao em tempo real no KIT DSP
TMS320C5416 da Texas Instruments. O objetivo e tornar o aluno familiar com o hardware e o
software usado no curso e introduzir os conceitos de processamento digital de sinais em tempo real.
Cada sinal em tempo real deve ser recuperado, digitalizado (quantizado), processado pelo chip DSP
C5416 e finalmente devera ser convertido para um sinal analgico.

Seo 2a
1 Modelo para o projeto de udio: Configura o CODEC, as 4 chaves para configurar o
programa e 4 leds para funcionar como um grfico de barras. Este template pode ser usado como
um modelo para outros projetos.
2 Atrasos e Ecos: Simula o atraso em redes de comunicao e reflexo do som escutada em um
canyon. Introduz buffer circular e a configurao usada para filtros de resposta ao impulso finita
(FIR)
3 Reverberao: Simula uma e mltiplas reflexes das paredes de uma sala. Introduz a
configurao usada em filtros de resposta ao impulso infinita (IIR)
4 Crossover eletrnico: Divide um sinal de udio em bass e treble e usa para acionar os diferentes
alto-falantes. Usa um filtro FIR e o usurio muda para selecionar 15 diferentes freqncias de
crossover entre 100Hz e 6,4kHz
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 95

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Seo 2b Exemplo de Loop Back de Audio

O DSK usa um codec stereo Burr Brown PCM3002 para entrada e sada de sinais de udio. O codec
amostra os sinais analgicos no microfone e line in e converte eles para dados digitais de tal forma
que ele possa ser processado no DSP. Quando o DSP termina o processamento ele usa o codec para
converter as amostras de volta para sinais analgicos no line out e alto-falantes para que o usurio
possa ouvir a sada.
A biblioteca de perifricos on-board fornece suporte de alto nvel para as aplicaes do DSP
rodando no C5416 DSK. Esta biblioteca habilita o usurio a desenvolver aplicaes que podem
controlar e operar os perifricos da plataforma DSK. O suporte dos perifricos on-board inclui:
- Inicializao on-board do perifrico
- Acesso aos registradores
- Movimento de dados

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 96

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Lab. 3 TMS320C5416 DSK: Instalando Aplicaes


O seguinte procedimento foi escrito para instalar a aplicao chamada template, que est
armazenada no arquivo template.zip. Para outros projetos, modifique o nome template para aquela
do arquivo zip que esta sendo instalado, por exemplo, electronic_crossover:
1- Inicie o software CCS (Code Composer Studio) para o TMS320C5416 DSK.
2- Selecione Project -> New. Para o nome do projeto digite a palavra template. Selecione o
boto Finish. O novo projeto ser criado. Este procedimento mostrado na Figura 1. Faa
uma anotao do diretrio em que o projeto est sendo armazenado ento minimize a janela
do CCS. Os projetos devem ser criados em diretrios especficos, dentro do diretrio
myprojects.
3- Usando o Windows Explorer selecione o diretrio onde o novo projeto foi criado, por
4- exemplo, c:\ti\myprojects\template.
5- Copie o arquivo template.zip para o diretrio c: \ti\myprojects\template.
6- Descompacte o arquivo template.zip usando WinZip no diretrio corrente, na opo Extract
Here .
7- Retorne ao CCS. Selecione Project -> Add Files to Project. Selecione a pasta
c:\ti\myprojects\template. Selecione todos os arquivos *.c e aperte a tecla Open.
8- Selecione Project -> Add Files to Project. Selecione a pasta c:\ti\myprojects\template. Na
caixa tipo de arquivo selecione Configuration File (*.cdb). Selecione o arquivo template.cdb
e tecle Open para adicionar ao projeto.
9- Selecione Project -> Add Files to Project. Selecione a pasta c:\ti\myprojects\template. Na
caixa tipo de arquivo selecione Linker Command File (*.cmd). Selecione o arquivo
template.cmd e pressione a tecla Open.
10- Selecione Project -> Add Files to Project. Selecione a pasta c:\ti\myprojects\template. Na
caixa tipo de arquivo selecione os arquivos (*.a, * .s). Selecione os arquivos (.asm), se
existirem, ento pressione a tecla Open. Caso contrrio pressione Cancel.
11- Apenas necessrio quando estiver usando a biblioteca dsplib. Selecione Project -> Add Files
to Project. Selecione a pasta c:\ti\myprojects\template. Na caixa tipo de arquivo selecione os
arquivos (*.o, *.lib). Selecione os arquivos (.lib), se existirem, ento pressione a tecla Open.
Caso contrrio pressione Cancel.
12- No h nenhuma necessidade de adicionar os arquivos (*.h) ao projeto. Isto feito
automaticamente.
13- Selecione Project -> Build Options. Selecione a pasta Compiler. Selecione Advanced na
janela Category. Habilite a opo Calls (-mf) (548 and higher) como indicado na Figura 2.
14- Ainda na mesma janela, selecione a subpasta Linker. Na linha Include Libraries (-l) digite
dsk5416f.lib, a seguir selecione OK . Este procedimento ilustrado na Figura 3.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 97

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

15- Selecione Project ->Rebuild All. Ir aparecer uma mensagem de Error e um Warning. Os
novos arquivos templatecfg.s54, templatecfg_c.c e templatecfg.h, devem ter sido criados no
diretrio do projeto.
16- Selecione Project -> Add Files to Project. Na caixa tipo de arquivo selecione os arquivos
(*.cmd). Selecione o arquivo templatecfg.cmd e aperte Open. Haver uma mensagem de erro
indicando que um arquivo (*.cmd) j existe no projeto. Substitua o arquivo template.cmd
pelo novo arquivo templatecfg.cmd, selecionando a opo Yes.
17- Selecione Option -> Customize -> Program Load Options. Habilite a opo Load Program
after Build, conforme ilustrado na Figura 4.
18- Selecione Project -> Build. Desta vez o projeto deve ser compilado com sucesso e o arquivo
template.out deve ser carregado automaticamente para o DSP.
19- Selecione Debug -> Go Main para mostrar o cdigo principal. Selecione Debug -> Run
para executar o projeto.

Figura 1 Criando um novo projeto

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 98

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Figura 2 Selecionando as opes de Compiler da etapa 11

Figura 3 Configurando as opes de Linker da etapa 11

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 99

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Figura 4 Configurando a opo de Load Program

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 100

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

LAB. 4 DSP Implementao de Filtros Digitais FIR


Neste laboratrio dever ser utilizado como base o projeto electronic_crossover.zip, a partir
do qual sero implementados os filtros digitais.
a) Utilizar o software MATLAB para projetar os seguintes filtros digitais FIR:

Tipo

Fs=24kHz
Freqncia
de Corte
(Fc)

Comprimento (N) Ordem (N-1)

Filtro Passa Baixa (FPB)


Filtro Passa Alta (FPA)
Filtro Passa Faixa (FPF)
Filtro Rejeita Faixa (FRF)
Filtro Multibanda (Equalizador)
b) Implementar os filtros projetados no DSP e testar em tempo real utilizando como sinal de
entrada uma forma de onda senoidal analgica, com freqncia ajustada atravs do gerador
de funes
c) Ajustar no programa a freqncia correta de amostragem (Fs) dos conversores A/D e D/A
(codec)

LAB. 5 Implementao de Filtros Digitais IIR


Neste laboratrio dever ser utilizado como base o projeto electronic_crossover.zip, a partir
do qual sero implementados os filtros digitais.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 101

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Projeto Final da Disciplina de Processamento Digital de Sinais


Tpico
Modulador AM-DSB

Descrio
Implementar um modulador AM utilizando o DSP. Sintetizar via
software a freqncia de portadora de 6kHz e gerar o sinal modulado
AM para um sinal analgico de informao (sinal modulante) obtido do
conversor A/D. O sinal analgico no deve ter freqncia superior a
2kHz. O sinal modulado deve ser convertido para analgico (D/A) e
visualizado no osciloscpio. (Fs=48kHz)
Modulador AM DSB-SC Implementar um modulador AM utilizando o DSP. Sintetizar via
software a freqncia de portadora de 12kHz e gerar o sinal modulado
AM para um sinal analgico de informao (sinal modulante) obtido do
conversor A/D. O sinal analgico no deve ter freqncia superior a
2kHz. O sinal modulado deve ser convertido para analgico (D/A) e
visualizado no osciloscpio. (Fs=48kHz)
Modulador 4-ASK
Sintetizar o sinal de portadora de 8kHz via software. Escolher uma
seqncia de smbolos de informao a serem modulados (10 smbolos)
e gerar o sinal modulado 4-ASK. A seqncia de informao escolhida
deve ser modulada periodicamente, por questes de visualizao no
osciloscpio. Considerar uma taxa de transmisso de 200 baud. O sinal
modulado deve ser convertido para analgico (D/A) e visualizado no
osciloscpio. (Fs=48kHz)
Modulador 4-PSK
Sintetizar o sinal de portadora de 3kHz via software. Escolher uma
seqncia de smbolos de informao a serem modulados (10 smbolos)
e gerar o sinal modulado 4-PSK. A seqncia de informao escolhida
deve ser modulada periodicamente, por questes de visualizao no
osciloscpio. Considerar uma taxa de transmisso de 500 baud. O sinal
modulado deve ser convertido para analgico (D/A) e visualizado no
osciloscpio. (Fs=48kHz)
Modulador 4-FSK
Sintetizar as freqncias do modulador via software:
1,5kHz 1,7kHz 1,9kHz 2,1kHz
Escolher uma seqncia de smbolos de informao a serem modulados
(10 smbolos) e gerar o sinal modulado 4-FSK. A seqncia de
informao escolhida deve ser modulada periodicamente, por questes
de visualizao no osciloscpio. Considerar uma taxa de transmisso de
300 baud. O sinal modulado deve ser convertido para analgico (D/A) e
visualizado no osciloscpio. (Fs=48kHz)
Modulador 8-QAM
Sintetizar via software as freqncias das portadoras que formam os
sinais base (seno/coseno) de 5kHz e gerar o sinal modulado 8-QAM.
A seqncia de informao escolhida deve ser modulada periodicamente,
por questes de visualizao no osciloscpio. Considerar uma taxa de
transmisso de 1000 baud. O sinal modulado deve ser convertido para
analgico (D/A) e visualizado no osciloscpio. (Fs=48kHz)
Analisador de Espectro
Modulador AM SSB
Costas Loop
Squaring Loop

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 102

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

LAB. 6 Modulao em Amplitude (AM/ASK) usando DSP


1. Introduo
Por muitos anos a modulao em amplitude foi o esquema de modulao padro devido ao
baixo custo e fcil implementao. Para a modulao e demodulao em amplitude so utilizados
multiplicadores, que so implementados com semicondutores. Uma abordagem mais moderna da
modulao em amplitude o uso de tcnicas de processamento digital de sinais. A gerao da
portadora e tambm a multiplicao pelo sinal de informao so feitos pelo software do DSP. As
tcnicas de modulao em amplitude (AM/ASK) so ainda muito utilizadas devido economia em
largura de banda.

2. Sistemas de Modulao em Amplitude


Na modulao AM/ASK significa simplesmente o deslocamento da freqncia do sinal de
informao para outra freqncia (usualmente maior). O contedo espectral do sinal de informao
(sinal modulante) transladado para outra freqncia, em torno da portadora. A translao em
freqncia feita pela multiplicao dos dois sinais no domnio do tempo. Multiplicao no
domnio do tempo corresponde ao deslocamento no domnio da freqncia, conforme ilustrado na
Figura 1.

a) Justificativa Matemtica para o Deslocamento em Freqncia


O deslocamento em freqncia pode ser provado aplicando-se a transformada de Fourier numa
funo f (t ) multiplicada por uma funo coseno.
1
f (t ) e jw0t + f (t ) e jw0t
2
1
f (t ) cos(w0 t ) (F (w w0 ) + F (w + w0 ))
2
f (t ) cos(w0 t ) =

Isso mostra que a multiplicao do sinal f (t ) pela freqncia da portadora w0 desloca o espectro
F (w) por w0 . Este tipo de modulao chamado de modulao em amplitude.
b) Modulao em Amplitude Padro

A modulao em amplitude balanceada resulta na perda do sinal de portadora, que transporta


apenas informao redundante. Contudo a portadora transmitida por diferentes razes na
modulao em amplitude padro. Portanto um offset adicionado a portadora e ela transmitida
igualmente.
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 103

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Vm = A sen (wC t ) (1 + m cos(wmod t ))


1
1

Vm = A e jwC t e jwC t 1 + m e jwmodt e jwmodt


2

2j
A jwC t
Am
Vm =
e
e jwC t
e jwmodt + e jwmodt e jwC t e jwC t
2j
4j
A jwC t
Am j (wmod + wC )t
Vm =
e
e jwC t
e
e j (wmod + wC )t + e j ( wmod wC )t e j (wmod wC )t
2j
4j

((

)(

))

onde m chamado de ndice de modulao (razo entre o pico do sinal modulante e o pico da
portadora), e A a amplitude do sinal de portadora. Sinais usando modulao em amplitude padro
podem ser demodulados por meio de diodos.
c) Modulao em Amplitude Balanceada

Nesta modulao o sinal de portadora suprimido pois no contm informao til e consome
muita energia na transmisso.

Vm = A sen (wC t ) m cos(wmod t )


1
m jwmodt
Vm = A e jwC t e jwC t
e
+ e jwmodt
2
2j
Am j (wC + wmod )t
Vm =
e
e j ( wC + wmod )t + e j ( wC wmod )t e j (wC wmod )t
4j

Am 1
1
sen (wC + wmod ) sen (wC wmod )
Vm =
4j 2j
2j

Am
Vm =
( j sen(wC + wmod ) j sen(wC wmod ))
2j

) (

Vm =

Am
(sen (wC + wmod ) + sen (wC wmod ))
2

4. Modulao em Amplitude usando DSP


Em sistemas de modulao em amplitude usando mtodos de processamento digital de
sinais a gerao da portadora e a aritmtica (multiplicao e gerao de portadora) so feitos por
meio de um processador digital de sinais. O sinal modulante alimentado atravs do ADC para o
sistema. A transmisso (canal) pode ser digital ou analgico. Para uma transmisso analgica a
portadora digital modulada em amplitude deve ser convertida para analgica e de volta para digital
no receptor. O objetivo do laboratrio projetar o sistema modulador e demodulador em amplitude
em linguagem C. O sinal modulante foi implementado via uma funo seno e o sinal de portadora
foi implementado atravs de um filtro IIR de segunda ordem. O filtro passa baixa para remover as
componentes indesejveis foi implementado atravs de um filtro digital FIR.

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 104

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

a) Oscilador Digital

O oscilador para o sinal de portadora foi implementado por meio de um filtro digital IIR
(recursivo) de segunda ordem. A equao diferencial de um oscilador analgico de segunda ordem
dada por:
d 2 y (t )
+ w02 y (t ) = w02 x(t )
dt 2
[ y(nT ) y (nT T )]/ T [ y(nT T ) y (nT 2T )]/ T + w 2 y(nT ) = w 2 x(nT )
0
0
T
y (n ) 2 y (n 1) + y (n 2 )
+ w02 y (n ) w02 x(n ) = 0
2
T
y(n ) 2 y (n 1) + y (n 2 ) + w02 T 2 y (n ) w02 T 2 x(n ) = 0
2 y(n 1) y (n 2) w02 T 2 x(n )
+

=0
1 + w02 T 2 1 + w02 T 2 1 + w02 T 2
1
2
1
y(n ) =
x(n ) +
y (n 1)
y (n 2 )
2
2
2
2
1 + w0 T
1 + w0 T
1 + w02 T 2

y(n )

onde x[n] usualmente um impulso para iniciar o sistema. O problema da aproximao de


diferenas recursiva que ela muda a freqncia do oscilador e a capacidade de oscilar sem perda
do sinal devido a alterao dos coeficientes (Transforms in Signals and Systems, Peter Kraniauskas,
Addison-Wesley, pg. 321). Um bom clculo dos coeficientes resulta na seguinte equao (C
Algorithms for Real-Time DSP, Paul M. Embree, Prentice Hall, 1995, pg. 178)

y[n] = c1 y[n 1] c2 y[n 2] + x[n]


1
, w = 2 FS e d = 0 = damping .
FS
Para a capacidade de oscilao os plos da transformada-Z devem estar sobre o crculo de raio
unitrio, o que no dado pela aproximao de diferenas recursiva. A freqncia da portadora do
sinal pode ser facilmente verificada comparando com a freqncia da modulao. A razo deve ser
1/10.

onde c1 = 2 e d T cos(wT ) , c2 = e 2d T , T =

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 105

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

c) Filtro Passa Baixa

A funo de transferncia do filtro FIR, H(z), dada por:


N 1

H ( z ) = h[n] z n
n =0

Os coeficientes do filtro foram calculados usando o mtodo da Srie de Fourier Truncada. As


especificaes so fcutoff=1kHz, fsample=50kHz, sem especificao da banda de transio e atenuao
na banda de corte. Assim uma funo de janela retangular foi usada.
1000
= 0,04
50000
A resposta em freqncia do filtro ideal :
wC = 2

( )

He

jw

e jw , w 0,04
=
0, 0,04 < w

onde =

N 1
2

Aplicando-se a IDTFT na resposta em freqncia obtemos a resposta ao impulso:


h[n] =

1
2

1
2
1
h[n ] =
2

h[n] =

H (e ) e
jw

jwn

dw

0, 04

0 , 04

e jw e jwn
0 , 04

1 e jw( n )
h[n ] =

2 j (n ) 0

h[n] =

1 0,04
0 e jwn dw

0
2
1 0, 04 jw( n )
dw =
e
dw
2 0

e jw e jwn dw +

1
e j 0, 04 ( n ) 1
2j (n )

1
sen[0,04 (n )]
(n )

A partir desta equao os coeficientes podem ser diretamente calculados pois nenhuma funo de
janela foi usada. Para calcular o coeficiente central do filtro aplicamos o teorema de L`Hospital para
resolver a indeterminao (0/0):
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 106

Processamento Digital de Sinais: Teoria e Aplicaes

h[n] =
h[n ] =

sen[A (n )] 0
=
(n )
0

Prof. Marcelo E. Pellenz

quando n = diferencie separadamente o numerador e o denominador

A [cos( An A ) )]

h[n] = A = 0,04

5. Realizao usando C
a) O sinal de modulao

Na modulao usual do sinal em amplitude, onde voz ou sinais equivalentes so modulados,


o sinal modulante alimentado para o DSP via um conversor A/D. No laboratrio de simulao o
sinal modulante foi gerado usando uma funo seno com freqncia 1kHz. A realizao em C
dada por y[n] = sen (n wn1 ) , onde wn1 a freqncia normalizada do sinal de 1kHz.

b) O Oscilador Digital

O oscilador foi projetado baseado na seguinte equao de diferenas derivada atravs da


aproximao de diferenas recursivas. Apenas os coeficientes precisam ser determinados para
preencher os requisitos de freqncia de oscilao de 10kHz para uma freqncia de amostragem de
50kHz.

y[n] = c1 y[n 1] c2 y[n 2] + x[n]


onde c1 = 2 e d T cos(wT ) , c2 = e 2d T , T =

1
, w = 2 FS e d = 0 = damping .
FS

2 10kHz
c1 = 2 1 cos
= 0,6180339
50kHz
c2 = 1

O cdigo resultante o seguinte:


x[0]=0.6180339*x[1]-x[2]+i;
x[2]=x[1]; // shifting oscillator array
x[1]=x[0];

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 107

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

c) Modulao e Demodulao

A modulao e demodulao baseada numa simples multiplicao:


// Modulating
mod=(ampmod+(2-ampmod*1.5)*signal)*carrier;
// Demodulating
demod=-mod*carrier;

A varivel ampmod usada para alterar entre modulao em amplitude normal e balanceada. O
valor especificado como 0 para modulao balanceada e 1 para modulao no balanceada. O
fator 1 e 0.5 (=2-1.5) so escolhidos para obter-se resultados apropriados de modulao, porque a
razo entre sinal modulado e portadora deve ser entre 0<m<1, para obtermos resultados visveis da
modulao AM padro. Os valores para modulao balanceada foram A=2 e m=1:

d) Filtragem Passa Baixa

O filtro passa baixa de ordem 51 implementado usando convoluo:


// Calculating Convolver Filter coefficients
for(n=0; n<=25 ; n++)
{
h[n]=sin((0.04)*pi*(n-25))/(pi*(n-25));
h[(50)-n]=h[n];
// Remove comments for printing filter coefficients
// printf("%d=>%f | %d=>%f \n",n,h[n],(50-n),h[50-n]);
}
h[25]=0.04; // Set mid filter coefficient (from L'Hospital)

Programa de filtragem que implementa a convoluo:


// Filtering via convolver ------------------------------filter_out=0;
for(k=0; k<=50; k++)
{
filter_out+=xstore[k]*h[k]; // convoling
xstore[k]=xstore[k+1]; // shifting array
}
xstore[50]=demod; /* writing new xstore(n) value */
// END OF CONVOLVER --------------------------------------

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 108

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

a) Cdigo fonte completo do software de modulao


#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define pi 3.14159
#define end 640
//
// Amplitude modulation - DSP simulation using C
// Dirk Becker, BENG 2/3, 9801351
//
// Balanced and Standard Amplitude Modulation
//
float x(int n);
void difference(int ypos, int scale, int ampmod);
int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode, scale=3;
char key;
int modtype=1;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
setbkcolor(BLACK);
do {
/* start */
difference(40,scale,modtype);
setcolor(LIGHTBLUE);
moveto(0,447);lineto(639,447);
outtextxy(5,450,"+- for scaling or Esc for exit, B for toggling
modulating mode");
key=getch();
if (key=='+') scale++;
if (key=='-') scale--;
if ((key=='b')||(key=='B')) modtype=abs(modtype-1); // toggle
if (scale<=0) {scale=1;};
cleardevice();
clrscr;
} while (key!=27);
/* closegraph (clean up) */
closegraph();
return 0;
}
/* ---------- END OF MAIN FUNCTION --------------------------------- */
/* ----------------------------------------------------------------- */
/* ---------- Oscillators, modulator, demodulator and filter ------- */
void difference(int ypos, int scale, int ampmod)
{
int n, k, y_old, x_old, y_old2, xplot, yplot, yplot2, z_old, zplot,
f_old=500, fplot; // Vars for line drawing
// (storing old points)
int m_old=290, mplot; // ( -"- )
float xvalue, y[1]={0}, x[5]={0}, mod, demod, i=1;
float fsignal1=1000, fsignal2=10000; // signal and oscillator
float fsample=50000; // and sample frequencies
float wn1=2*pi*fsignal1/fsample; // normalisation of them and
float wn2=2*cos(2*pi*fsignal2/fsample); // coefficients of difference
// equation
float carrier, signal; // outputs vars
float filter_out, xstore[52]={0}, h[52]={0}; // filter vars
setcolor(RED);
int scaley=25; // scaling in y direction
float carriermax=0, signalmax=0, modmax=0, demodmax=0 ; // max-min
calcs
// Calculating Convolver Filter coefficients
for(n=0; n<=25 ; n++)
{
h[n]=sin((0.04)*pi*(n-25))/(pi*(n-25));
h[(50)-n]=h[n];
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 109

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

// Remove comments for printing filter coefficients


// printf("%d=>%f | %d=>%f \n",n,h[n],(50-n),h[50-n]);
}
h[25]=0.04; // Set mid filter coefficient (from L'Hospital)
moveto(0,ypos);
i=1;
y_old=ypos;y_old2=ypos+70;z_old=ypos+200; // preset storings
// for line function
x_old=0;
for(n=0; n<=end; n++) // main loop
{
// Calculating frequency 1 (signal)
y[0]=sin(n*wn1);
signal=y[0]; // for normalisation to 1 (already is)
if (signal>=signalmax) signalmax=signal;
// Calculating frequency 2 (carrier)
x[0]=wn2*x[1]-x[2]+i;
carrier=x[0]; // for normalisation to 1 ( - "" - )
if (carrier>=carriermax) carriermax=carrier;
// Modulating Ymod=A*f1*(1+m*f2) and change between
// Balanced and Standard modulation
// Standard Modulation: A=1(ampmod) , m=1.5
// Balanced Modulation: A=2 , m=1
//
mod=(ampmod+(2-ampmod*1.5)*signal)*carrier;
if (mod>=modmax) modmax=mod;
// Demodulating
demod=-mod*carrier;
if (demod<=demodmax) demodmax=demod;
// Filtering via convolver -------------------------------filter_out=0;
for(k=0; k<=50; k++)
{
filter_out+=xstore[k]*h[k]; // convoling
xstore[k]=xstore[k+1]; // shifting array
}
xstore[50]=demod; /* writing new xstore(n) value */
// END OF CONVOLVER --------------------------------------x[2]=x[1]; // shifting oscillator array
x[1]=x[0];
// Drawing the waveforms
// the old points are always stored in the _old vars
setcolor(RED); // Raw signal
xplot=n*scale;
yplot=-signal*scaley+ypos;
line(x_old, y_old, xplot, yplot);
y_old=yplot;
setcolor(GREEN); // Carrier frequency
yplot2=carrier*scaley+ypos+70;
line(x_old ,y_old2, xplot, yplot2);
y_old2=yplot2;
setcolor(BLUE); // Modulated signal
zplot=mod*scaley+ypos+170;
line(x_old ,z_old, xplot, zplot);
z_old=zplot;
setcolor(LIGHTRED); // Demodulated (multiplied)
mplot=demod*scaley+ypos+295;
line(x_old ,m_old, xplot, mplot);
m_old=mplot;
setcolor(LIGHTGREEN); // Filtered via convolver
if ((filter_out>400)|(filter_out<-400)) filter_out=0;
fplot=filter_out*(50+100*ampmod)+ypos+(370+60*ampmod);
line(x_old ,f_old, xplot, fplot);
f_old=fplot;
x_old=xplot;
i=0; /* End of impulse */
}
// Adding text to curves
//
setcolor(WHITE);
outtextxy(0,5,"Modulating signal:");
Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 110

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

outtextxy(0,65,"Carrier signal:");
outtextxy(0,155,"Modulated signal:");
outtextxy(0,265,"Demodulated signal:");
outtextxy(0,340,"Demodulated and filtered signal:");
// Printing max values
gotoxy(60,1);
printf("sigmax: %1.2f \n",signalmax);
gotoxy(60,5);
printf("carmax: %1.2f \n",carriermax);
gotoxy(60,11);
printf("modmax: %1.2f \n",modmax);
gotoxy(60,17);
printf("demmax: %1.2f \n",demodmax);
}

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 111

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

Anexo A
Teorema de Nyquist
1 AMOSTRAGEM PERIDICA

SINAL
CONTNUO

AMOSTRAGEM
PERIDICA

PROCESSAMENTO
EM TEMPO DISCRETO

RECONSTITUIO
DO SINAL CONTNUO

Considere um sinal contnuo xC (t ) . O sinal discreto no tempo pode ser obtido atravs da
amostragem peridica do sinal xC (t ) ,

x[n] = xC (nT ) , n = 0,1,2,...


..., x[ 2], x[ 1], x[0], x[1], x[2], ...
onde

TS = Perodo de amostragem
f S = 1 / TS = Freqncia de amostragem
S = 2 / TS = Freqncia angular (radianos/s)

xc (t )

C/D
IDEAL

x[n] = xc (nT )

A/D

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 112

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

CONVERSOR

C/D

s(t )
X

xc (t )

xc (t )

Converso
Trem de Impulsos
para
Sequncia em Tempo
Discreto

xs (t )

x[n] = xc (nT )

xc (t )

T = T1

T = 2 T1

xs (t )

xs (t )

-2T -T

2T

-2T

-T

2T

-2

-1

x[n]

x[n]

-6

-5

-4

-3

-2

-1

Processamento Digital de Sinais

-3

Prof. Marcelo E. Pellenz

pg. 113

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

X C ( )

S ( )

2
T

2 S

2 S

2 S

X S ( )
1
T

2 S

( S N )

X S ( )
1
T

3 S

2 S

2 S

3 S

( S N )
S N > N

Processamento Digital de Sinais

S > 2 N

Prof. Marcelo E. Pellenz

pg. 114

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

2 REPRESENTAO DA AMOSTRAGEM
NO DOMNIO DA FREQUNCIA
s (t ) =

(t ) = funo delta de Dirac

(t nT )
n =

x s (t ) = x c (t ) s(t )

x s (t ) =

x (nT ) (t nT )
c

n =

1
2

X ( ) = x(t ) exp( jt ) dt

x(t ) =

x1 (t ) x 2 (t ) X 1 ( )X 2 ( )

x1 (t ) x 2 (t )

S ( ) =

2
T

( n )

X s ( ) =

n =

X s ( ) =

Processamento Digital de Sinais

1
T

X ( ) exp( jt ) d

1
X 1 ( ) X 2 ( )
2

1
X c ( ) S ( )
2

X ( n )
c

n =

Prof. Marcelo E. Pellenz

pg. 115

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

3 RECONSTRUO DO SINAL DE BANDA LIMITADA


A PARTIR DE SUAS AMOSTRAS

x s (t ) =

x[n] (t nT )
n =

y (t ) = x s (t ) hr (t ) = x r (t )

H r ( )

xs (t )

S
2

hr (t ) =
x r (t ) =

sen (t / T )
t / T

x[n]
n =

s(t ) =

S
2

y (t )

sen[ (t nT ) / T ]
(t nT ) / T

(t nT )
n =

xc (t )

Processamento Digital de Sinais

xs (t )

H r ( )

Prof. Marcelo E. Pellenz

xr (t )

pg. 116

Processamento Digital de Sinais: Teoria e Aplicaes

1/ T

Prof. Marcelo E. Pellenz

X C ( )

N
X S ( )
S > 2 N

H r ( )
T

N < C < ( S N )

Processamento Digital de Sinais

X r ( )

Prof. Marcelo E. Pellenz

pg. 117

Processamento Digital de Sinais: Teoria e Aplicaes

Prof. Marcelo E. Pellenz

4 TEOREMA DE NYQUIST
x c ( ) = 0 para N
xc (t ) um sinal de faixa limitada
x[n] = xc (nT )
S =

n = 0,1,2,...

2
2 N
T

N = Freqncia de Nyquist
2 N = Taxa de Nyquist

Processamento Digital de Sinais

Prof. Marcelo E. Pellenz

pg. 118

Você também pode gostar