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 Semestre: 1./2 Ano: 2005

1 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

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.

3 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

4 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 Prof. Marcelo E. Pellenz

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

6 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 f2

AULA 1 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 1-2

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 5


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Porque Processamento Digital ?


ADC PROCESSA DAC

 Com o processamento digital de sinais fcil:


 Alterar aplicaes.
 Corrigir aplicaes.
 Atualizar aplicaes.
 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 FILTRO PASSA-BAIXA


SINTETIZADOR MUSICAL
..
SOFTWARE 2 MESMO
HARDWARE ..
SOFTWARE N CONTROLE DE MOTOR

 Atualizao e Flexibilidade
 DSP: Desenvolvimento de Novo Cdigo Atualizao do software
 Sistema Analgico Soldar novos componentes

AULA 1 1-4

Processamento Digital de Sinais 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.

AULA 1 1-5

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 1-6

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 7


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Processamento em Tempo Real

Tempo de Tempo de
Processamento Espera

n 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 1-8

Processamento Digital de Sinais 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.

AULA 1 1-9

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 a
y (n ) = k x (n k )
k =0

M N
Infinite Impulse Response Filter a
y (n ) =
k=0
k x( n k ) + bk =1
k y( n k )

N
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

N 1

Discrete Cosine Transform F (u ) = c (u ). f (x ). cos 2 N u(2 x + 1)
x =0

AULA 1 1-10

Processamento Digital de Sinais 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 ?
Um pouco
Computador Analgico alto

Computador Digital
DSP

DAC SADA
ADC
1010 1001

AULA 1 1-11

Sistema DSP Tpico

MEMRIA
 Chip DSP
 Memria
 Conversores (Opcional)
ADC  Analgico para Digital
DSP  Digital para Analgico
 Portas de Comunicao
DAC  Serial
 Paralela

PORTAS

AULA 1 1-12

Processamento Digital de Sinais 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 5*3 = 15

0001 0 x 8 x 0011 0000


1 x 4 x 0011 0011
+ 0010 0 x 2 x 0011 0000
1 x 1 x 0011 0011
0011 Deslocado e
adicionado =
5 3
mltiplas vezes

Operaes Mais Comuns no DSP Operao MAC

A = B*C + D
Tipicamente 70 ciclos de clock
E = F*G + A em processadores normais
...
Tipicamente 1 ciclo de clock
Multiplica, Adiciona, e Acumula
em processadores digitais de
Instruo MAC sinais

AULA 1 1-13

Evoluo nos Tempos de Multiplicao

TEMPO (ns)

600
500
400
300
200
100
0 5 ns

1971 1976 1998 ANOS

AULA 1 1-14

Processamento Digital de Sinais 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 1-16

Processamento Digital de Sinais 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


Microfones, alto-falantes, etc.
 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
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 1-18

Processamento Digital de Sinais 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

TEMPO f1 FREQNCIA

T2=1/f2 AMPLITUDE

AMPLITUDE

TEMPO f2 FREQNCIA

T = perodo f = freqncia

AULA 1 1-19

Sinais Reais
AMPLITUDE

TEMPO

AMPLITUDE Sinais reais so uma combinao


de muitas freqncias
|A|

FREQNCIA
-fm fm

2fm

AULA 1 1-20

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 14


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Amostragem
2  Pegar amostras de dados
1.8 (sinais) com variao contnua
1.6
1.4  O Perodo de amostragem fixo
SHARE PRICES

1.2
1  This makes information
0.8 understandable
0.6
0.4  My share price hit its lowest
0.2 point in week 4
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14  My share price reached its peak
TEMPO (SEMANAS) in week 9

Perodo de Amostragem Perodo entre amostras


Tempo de Amostragem Tempo para pegar uma
amostra

AULA 1 1-21

Informao Perdida
1.4
1.2  Amostras No-Peridicas
1
 Pode perder informao
PREOS

0.8 PCOMPRA
0.6 A queda de preos entre
0.4 T3 e T4 fica imperceptvel
0.2
0 TEMPO  A informao no pode ser
T1 T2 T3 T4T5 T6 interpretada facilmente
1.4
1.2  Amostragem Peridica
1
 Pode perder informao
PRIOS

0.8 PCOMPRA
0.6 A queda de preos entre
0.4 T2 e T3 fica imperceptvel
0.2
0 TEMPO  Fcil para interpretar
T1 T2 T3 T4
A chave a freqncia de
Variao Atual
Curva Inferida amostragem.

AULA 1 1-22

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 15


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Pegando as Amostras Corretamente


TEMPO FREQNCIA
|A|
|A| fs- fa fs+ fa

CASO 1 t fs>>fa f
fa fs 2fs
fs = Freqncia de amostragem
fa = Freqncia do sinal
|A|
|A|

CASO 2 t fs=2fa f
fa fs 2fs

|A|
|A|

CASO 3 t fs<2fa f
fs
Alias
Sinal Inferido Sinal Original fa

AULA 1 1-23

Limitando o Espectro
|A|

 Sinais no mundo real possuem


muitas freqncias

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

|A|  Elimine (filtragem) freqncias


acima de fm (sem aliasing)

fs>2fm  Assegure que a taxa de


amostragem seja maior que 2fm
f
fm

AULA 1 1-24

Processamento Digital de Sinais 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 t  Amostre o sinal periodicamente


|A|
11
 Retenha o valor amostrado at a
10
prxima amostra
01
00
 Quantize o sinal
ts 4ts 8ts t

|A| quantize  Mais nveis de quantizao


11
? ? ? significam melhor preciso
10
01
Sinal = 10 10 01 01 00 00 01
00

ts 4ts 8ts t

AULA 1 1-25

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 1-26

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 17


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Conversor Analgico-Digital
(ADC)
ADC por Aproximaes Sucessivas Voltagem
V3 11
V2 10
Vin - LGICA DE Vin
V1 01
CONTROLE
+ V0 00
tempo
Comparador
APROXIMAES  Ajusta a sada DAC para V2 = 01
SUCESSIVAS
 DAC gera tenso analgica V2
10 (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

AULA 1 1-27

Outros Tipos de ADC


Digitalizao Paralela
ADC 0
1
LIMITAO AMOSTRA 0
DIGITALIZA 0
DE BANDA E RETM
ANALGICO 1
1

Dual Slope ADC


 Lento
 Caro

Flash ADC
 Requer componentes de preciso

Sigma Delta ADC


 Estvel

AULA 1 1-28

Processamento Digital de Sinais 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 TENSO DE SADA

Vcc 10 VO = - [ Vin * ( R1/R) + Vin * (R1/2R) ]


R1 MSB LSB
R MSB = Bit mais significativo
VO
LSB = Bit menos significativo
2R -

+ SADA
ANALGICA  Possveis Entradas e Sadas para R1 = R

TERRA ENTRADA SADA


11 1.5 Vcc
10 Vcc
01 0.5 Vcc
00 0

AULA 1 1-29

Suavizando a Sada
FILTRO
010001 DAC PASSA
BAIXA

ENTRADA DIGITAL AMOSTRA E RETM SADA SUAVIZADA

|A| |A|

t t

 Converta a entrada digital para valor analgico

 Mantenha o valor analgico at a prxima entrada digital

 Suavize o sinal de sada

AULA 1 1-30

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 19


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Computadores Digitais
Arquitetura Von Neuman
A
PROGRAMA UNIDADE
E DADOS ENTRADA/ A = ENDEREO
ARMAZENADOS SADA LGICA
D ARITMTICA D = DADOS

Arquitetura Harvard
A A
UNIDADE ENTRADA/ DADOS
PROGRAMA
ARMAZENADO LGICA SADA ARMAZENADOS
ARITMTICA
D D

AULA 1 1-31

Sistemas de Numerao
 Representao digital de nmeros

Decimal 128 64 32 16 8 4 2 1
Digit Number 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2
Digit Number 7 6 5 4 3 2 1 0

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

 Decimal 3 em binrio
Decimal 0 0 0 0 0 0 2+ 1= 3
Digit Number 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2
Digit Number 7 6 5 4 3 2 1 0
Binary 0 0 0 0 0 0 1 1 0000 0011

 Decimal 26 em binrio
Decimal 0 0 0 16+ 8+ 0 2= 0 26
Digit Number 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2
Digit Number 7 6 5 4 3 2 1 0
Binary 0 0 0 1 1 0 1 0 0001 1010

AULA 1 1-32

Processamento Digital de Sinais 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
16 Decimal 0x10 Hex
Binrio 0, 1
20 Decimal 0x14 Hex
Hexadecimal 0, 1, 2 ,..,A,B,C,D,E,F

 4 bits do sistema binrio so representados por


um nico dgito hexadecimal:
Decimal 8+ 4+ 2+ 1= 15
2Digit Number 23 22 21 20
Binary 1 1 1 1 1111
Hex F F

 Decimal 26 em binrio e hexadecimal:

Decimal 0 0 0 16+ 8+ 0 2= 0 26
2Digit Number 27 26 25 24 23 22 21 20
Digit Number 7 6 5 4 3 2 1 0
Binary 0 0 0 1 1 0 1 0 0001 1010
Hex 1 A 1A

AULA 1 1-33

Representao de Nmeros
Inteiros com Sinal
 Magnitude de nmeros inteiros com sinal

Signed
Decimal Binary
Hex
Sign Number
2 00 00 00 02 0 000 0000 0000 0000 0000 0000 0000 0010
3 00 00 00 03 0 000 0000 0000 0000 0000 0000 0000 0011
-2 80 00 00 02 1 000 0000 0000 0000 0000 0000 0000 0010
-3 80 00 00 03 1 000 0000 0000 0000 0000 0000 0000 0011

AULA 1 1-34

Processamento Digital de Sinais 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 20


Decimal -128 64 32 16 8 4 2 1
Binary 3 0 0 0 0 0 0 1 1
twos complement
Decimal 0 0 0 0 0 0 +2 +1= 3
calculation
Binary -2 1 1 1 1 1 1 1 0
twos complement
Decimal -128 +64 +32 +16 +8 +4 +2 +0= -2
calculation

AULA 1 1-35

Notao Complemento de Dois


 Converso para a notao complemento de dois

Binary
Action Decimal
Sign Number
Signed integer -2 1 000 0000 0000 0000 0000 0000 0000 0010
Strip sign bit 0 000 0000 0000 0000 0000 0000 0000 0010
Invert 1 111 1111 1111 1111 1111 1111 1111 1101
Add one 1 1
Twos complement 1 111 1111 1111 1111 1111 1111 1111 1110
Hex F F F F F F F E

 Adio usando a notao complemento de dois

Twos Complement Binary


Decimal Hex
Sign Number
-2 FF FF FF FE 1 111 1111 1111 1111 1111 1111 1111 1110
3 00 00 00 03 0 000 0000 0000 0000 0000 0000 0000 0011
-2 + 3 = 1 00 00 00 01 0 000 0000 0000 0000 0000 0000 0000 0001

AULA 1 1-36

Processamento Digital de Sinais 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

AULA 1 1-37

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


Decimal Q15 = Decimal x 215 Q15 Integer
0.5 0.5 x 32767 16384
0.05 0.05 x 32767 1638
0.0012 0.0012 x 32767 39

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 1-38

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 23


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Operaes no Formato Q15


Adio
Decimal Q15 Scale back
Q15 / 32767
0.5 + 0.05 = 0.55 16384 + 1638 = 0.55
18022
0.5 0.05 = 0.45 16384 1638 =

Multiplicao
2 x 0.5 x 0.45 =

Decimal Q15 Back to Q15 Scale back


Product / 32767 Q15 / 32767
0.5 x 0.45 = 0.225 16384 x 14745 = 7373
241584537
0.225 + 0.225 = 0.45 7373 + 7373 = 0.45
14746

AULA 1 1-39

Formato de Ponto Flutuante do TMS


Formato de Ponto Flutuante
31 ... 24 23 22 .............. 0 No. do Bit
e s f
8 bits 1 bit 23 bits

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
Binary Decimal Equation
s=0 e e 1
X = 01.f x 2 X = 01.f x 2
s=1 e e 2
X = 10.f x 2 X = ( -2 + 0.f ) x 2

Caso Especial
s=0 X=0 e = -128 Expoente (e)
Decimal 0 1 127 -1 -128
Hex
twos comp. 00 01 7F FF 80

AULA 1 1-40

Processamento Digital de Sinais 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

01.0 x 20 e=0 = 1.0

Calcula 1.5e01
Em hex 03 70 00 00
Em binria 0011 0111 0000 0000 0000 0000 0000 0000
s=0 Equao 1: X = 01.f x2e

0011 e=3
s111 ... f = 0.5 + 0.25 + 0.125 = 0.875

X = 01.875 x 23 = 15.0 decimal

AULA 1 1-41

Ponto Flutuante
Calcula -2.0e0
Em hex 00 80 00 00
Em binrio 0000 0000 1000 0000 0000 0000 0000 0000
s=1 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 1-42

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 25


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Faixa Dinmica
Faixas dos Sistemas de Numerao

Twos
Numbers Base 2 Decimal Complement
Hex
31
Largest Integer 2 -1 2 147 483 647 7F FF FF FF
31
Smallest Integer -2 -2 147 483 648 80 00 00 00
Largest Q15 15 32 767 7F FF
2 -1
15
Smallest Q15 -2 -32 768 80 00
-23 127 38
Largest Floating Point (2-2 )x2 3.402823 x 10 7F 7F FF FD
127 38
Smallest Floating Point -2 x 2 -3.402823 x 10 83 39 44 6E

 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 Fixed 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
Time to market faster slower

AULA 1 1-44

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 26


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Famlia TMS320
Dispositivos 16-Bit Ponto Fixo Dispositivos 32-Bit Ponto
Flutuante
C1x Controladores de Hard-Disk
C3x Videofones
C2x Fax
C4x Processamento Paralelo
C2xx Controle

C5x Processamento de Voz Outros Dispositivos

C54x Telefones Celulares Digitais C6x Processador Avanado


Estaes Base Wireless
Modems

C8x Vdeo Conferncia

AULA 1 1-45

Processamento Digital de Sinais 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 + )

F (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 + ) w = TS = 2 f

f (ciclos amostra ) w (rad amostra )

, F Notao de freqncia para sinais analgicos

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

F
f = w = TS = 2 f Normalizao de freqncias
FS

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


seguintes valores de freqncia normalizada:

F 1
f = = w = 2 f = Normalizao de freqncias
2F 2

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
Sinais em Tempo Discreto
Contnuo
= 2 F (rad s ) w = 2 f (rad amostra )
F (Hz) f (ciclos/amostra)

w = TS f = F FS 1/ 2 < f < 1/ 2
< F <
< w <
< <

FS = 2 FMAX = 2 F

FS F
F S 1/ 2 < f < 1/ 2
2 2
= w TS F = f FS

< w <
TS TS

FS 1
FMAX = =
2 2 TS

MAX = FS =
TS
TABELA 1

EXEMPLO 2.1 ANLISE DO DO EFEITO DE ALIASING

x1 (t ) = cos(2 10 t ) F1 = FMAX = 10 Hz FS = 40 Hz
x 2 (t ) = cos(2 50 t ) F2 = FMAX = 50 Hz FS = 40 Hz

10
x1 [n] = cos 2 n = cos n
40 2
50 5
x 2 [n] = cos 2 n = cos n = cos 2 n + n = cos n
40 2 2 2

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

F2 F1
alias
(F1 + FS k ) alias
F1 k = 1, 2, 3, K (inteiro)

Fk = F0 + k FS < k < Freqncias de alias


Processamento Digital de Sinais 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 ) FS = 400 Hz Determine x[n]



2) x[n] = cos n FS = 1000Hz Determine dado que x c (t ) = cos ( t )
4

3) x c (t ) = cos (4000 t ) x[n] = cos n Determine FS
3
2
4) x c (t ) = sen (20 t ) + cos (40 t ) x[n] = sen n + cos n Determine FS
5 5
5) Considere o sinal analgico x c (t ) = 3 cos (100 t )
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 , k inteiro

k w k 2 k
f = f = = w=
N 2 N N

2 k
Podemos interpretar a relao w = da seguinte forma: existem N freqncias distintas para as
N
quais as seqncias correspondentes so peridicas com perodo N.

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

1 2 k 1
x1 [n] = cos n f = k =1 w= = 2
4 8 8 8

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

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
A freqncia normalizada, f = , indica em quantos perodos do sinal analgico, k , esto
N
contidos num perodo, N , do sinal em tempo discreto (amostrado).

EXEMPLO 4.1

A seguir so apresentadas trs seqncias discretas amostradas com freqncias distintas, que
possuem a mesma freqncia normalizada:

3 3
x1 (t ) = 1,5 cos 2 t FS = 1 x1 [n] = 1,5 cos 2 n
8 8

3 1 3
x 2 (t ) = 1,5 cos 2 t FS = x 2 [n] = 1,5 cos 2 n
16 2 8

3 3
x 3 (t ) = 1,5 cos 2 t FS = 2 x3 [n ] = 1,5 cos 2 n
4 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

0.5

0 1
w0 = 2
-0.5 8
-1
0 5 10 15 20 25 30 35

0.5
2
0 w0 = 2
-0.5
8
-1
0 5 10 15 20 25 30 35

0.5
3
0 w0 = 2
-0.5 8
-1
0 5 10 15 20 25 30 35

0.5

0 4
w0 = 2
-0.5 8
-1
0 5 10 15 20 25 30 35

Processamento Digital de Sinais 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 n N =8
4
3
x 2 [n] = cos n N = 16
8
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:

2k
x 3 [n] = cos(n ) 1=
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

0.5 w0 = 0 = 2

0
0 5 10 15 20 25 30 35

0.5

0 w0 =
-0.5 8
-1
0 5 10 15 20 25 30 35

0.5

0 w0 =
-0.5
4
-1
0 5 10 15 20 25 30 35

0.5

0 w0 =
-0.5
2
-1
0 5 10 15 20 25 30 35

0.5

0 w0 =
-0.5

-1
0 5 10 15 20 25 30 35

Processamento Digital de Sinais 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] y[n] = x[n 2]

-2 -1 0 1 2 n 0 1 2 3 4 n

9. Funo Impulso Unitrio

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

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

-2 -1 0 1 2 n
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] = u[n ] = [n k ] [n] = u[n] u[n 1]
0, n < 0 k =0

Processamento Digital de Sinais 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:

>> n = [- 3 , - 2 , - 1 , 0 , 1 , 2 , 3 , 4]
>> x = [2 , 1 , - 1 , 0 , 1 , 4 , 3 , 7]
ou
>> 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:
x1 [n ] = (0.8) x 2 [n] = (1.5)
n n
N 1 = 100 N 2 = 50
x3 [n] = 2 (0.5) x 4 [n] = 0.5 (2 )
n n
N 3 = 30 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/CGI-
WADSWORTH/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] 20 n 20 x[n] = [n 4] 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.

3
x[n ] = cos n x[n ] = cos n x[n] = cos (n ) 0 n 30
4 8
Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 40
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

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

1 1
xe [n ] = [x[n] + x[ n]] xo [n] = [x[n] x[ n]]
2 2

14. Sinais de Energia e Sinais de Potncia


+ +N

x[n] x[n]
2 2
Ex = EN = E x = lim E N
n = n= N N

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

Para sinais peridicos

N 1
1
x[n]
2
Px =
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] T{ } y[n]
[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 ] y[n] = T {x[n]} = T x[k ] [n k ]
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 ] = x[k ] h[n k ] = x[n] h[n]
k =

y[n ] = 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] y[n]
x[n] h1[n] h2[n] y[n]
h2[n]

h1[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 M

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

21. Representao de Sistemas usando Diagrama de Blocos

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


+
Somador Multiplicador
x2[n] x2[n]

x[n] a y[n]=a*x[n] Multiplicador


por escalar

x[n] y[n]=x[n-1]
Z-1 Atraso unitrio

y[n]=x[n+1]
Z Avano unitrio

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


697 Hz 1 2 3 A Implementar no Matlab um programa para gerar os
tons de freqncia (DTMF) utilizados nos sistemas
de discagem. Utilize uma freqncia de amostragem
770 Hz 4 5 6 B de 8kHz. A durao de cada tom deve ser de 125ms.
Utilize a funo sound do Matlab para escutar os
tons gerados.
852 Hz 7 8 9 C

941 Hz * 0 # D

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]


1 1
x par [n] = { x[n] + x[ n] } xmpar [n ] = { x[n] x[ n] }
2 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] = x[k ] h[n k ] = h[k ] x[n k ]
k = 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:

M 1
1
y[n ] = x[n k ]
M 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 M

ak y[n k ] = bk x[n k ]
k =0 k =0

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,


1
x(t ) = c k e j 2 k F0 t F0 =
k = T0

1 T0 / 2
ck = x(t ) e j 2 k F0 t dt k = 0, 1, 2,K
T0 T0 / 2

ck = ck e j k Coeficientes complexos da srie de Fourier

2 Transformada de Fourier

Sinais contnuos aperidicos (sinais de energia)

1
x(t ) =
2
+
( )
X e jw e jw t dw

( )
X e jw =
+


x(t ) e jw t dt

Processamento Digital de Sinais 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 N 1

c
k
x[n] = ck e j2 k n / N = k e j 2 fn
f =
k =0 k =0
N

N 1
1
ck =
N
x[n] e
k =0
j 2 k n / N
k = 0,1, K, N 1

2k
e j 2 k n / N = e jwk n wk =
N

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

0 wk < 2 0 k N 1 0 F FS

N N
wk < <k
2 2

2 Transformada de Fourier em Tempo Discreto (DTFT)

Sinais discretos no peridicos

+
( ) x[n] e
X e jw = jw n

n =

1
X (e ) e
+
x[n] = jw jw n
dw
2

( )
X e jw = X Re (w) + j X Im (w) = X e jw e j (w ) ( )
Seqncia DTFT
[n] 1

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

e jw0 n
2 [w w
k =
0 + 2 k ]

1
n u[n] <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

1
x[n] = (0,5) n u[n] ( )
X e jw =
1 0,5 e jw

1.8

1.6

1.4
Mdulo

1.2

0.8

0.6
-3 -2 -1 0 1 2 3
Frequncia Normalizada

0.6

0.4

0.2
Fase (radianos)

-0.2

-0.4

-0.6
-3 -2 -1 0 1 2 3
Frequncia Normalizada

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

0.2
Amplitude

-0.2

-0.4

-0.6

-0.8

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequncia Normalizada

Parte Imaginria
1

0.8

0.6

0.4

0.2
Amplitude

-0.2

-0.4

-0.6

-0.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequncia Normalizada

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 51


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

0.9

0.8

0.7

0.6
Mdulo

0.5

0.4

0.3

0.2

0.1

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequncia Normalizada

1
Fase

-1

-2

-3

-4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequncia Normalizada

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 52


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

-1

-2

-3
Fase

-4

-5

-6

-7
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequncia Normalizada

Processamento Digital de Sinais Prof. Marcelo E. Pellenz 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.

N 1 2kn
X [k ] = X (e ) j
jw
2k = x[n] e N
k = 0,1,K, N 1
w=
N n =0

1 N 1
x[n ] = X [k ] WNkn n = 0,1,K, N 1
N n =0

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

N 1
X [k ] = x[n ] WNkn k = 0,1,K, N 1 (DFT)
n =0
N 1
1
x[n] =
N n=0
X [k ] W N kn n = 0, 1, K , N 1 (IDFT)

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


T

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


T

1 1 1 L 1
1 W 1 N 1 x[0] X [0]
WN2 L WN x[1]
= DN1 X [1]
N 1
DN = 1 WN2 WN4 L WN2( N 1) DN1 = DN*
M M N
M M M O M
1 WNN 1
WN N 1)
2 (
L WN( N 1)( N 1) x[N 1] X [N 1]

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 54


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Clculo Numrico da DTFT usando a DFT

Seja ( )
X e jw a DTFT de uma seqncia x[n] de comprimento N . Se desejarmos calcular
2k
( )
X e jw numa escala densa de freqncias wk =
M
, k = 0,1,K, M 1 , onde M >> N , teremos

N 1 N 1 2kn
( )
X e jw = x[n] e jwk n = x[n] e
j
M

n =0 n =0

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

M 1 2kn
( ) = x [n] e
X e jw
e
j
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 DFT de N pontos


x[n] X [k ]
h[n] H [k ]
x[n] + h[n] X [k ] + H [k ]
[
x n n0 N
] W Nk n0 X [k ]
N 1

x[k ] h[ n k ]
k =0
N
G[k ] H [k ]

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 [ N
] = x[n] h[n] n = 0,1, K ,2 N 2
k =0

Processamento Digital de Sinais 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

0.6

Amplitude
0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7
n

Amplitude das Amostras da DFT


8

6
Amplitude

0
0 5 10 15
k
Fase das Amostras da DFT
1.5
1

0.5
Fase

0
-0.5

-1

-1.5
0 5 10 15
k

Amplitude das Amostras da DFT


10

8
Amplitude

0
0 50 100 150 200 250
k
Fase das Amostras da DFT
3
2

1
Fase

0
-1

-2

-3
0 50 100 150 200 250
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.

d ( w )
(w ) =
dw

Processamento Digital de Sinais 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 =
1 +
x[n ] = F 1 {X ( )} = X ( ) e
j n
d
2

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

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

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

1
( )
X e jw =
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


( )
X e jw
=
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

N 1
1
x[n ] = X [k ] W kn
N , n = 0,1, ..., N 1 IDFT
N 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

3
( )
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
n =
n
Transformada-Z

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

1
h[n ] = H (Z ) z n 1 dz Transformada-Z Inversa
2 j C

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 Transformada Z ROC


[n] 1 z
1
u[n] z >1
1 z 1
1
u[ n 1] z <1
1 z 1
1
a n u[n] z >a
1 a z 1
1
b n u[ n 1] z<b
1 b z 1

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

a z 1
n a u[n]
n
z >a
(1 a z )
1 2

b z 1
n b u[ n 1]
n
z<b
(1 b z )
1 2

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 63


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

Regio de Convergncia (ROC)

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

(z z )
M
b
H (z ) = 0 z ( N M ) l =1 l

(z p )
N
a0 l
l =1

Zeros z = zl H (zl ) = 0
Plos z = pl 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 M N
Rk
H (z ) = 1
+ C k z k
k =1 1 pk z k =0
1 4243
M N

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

N 1 M N
h[n ] = Rk 1 1
+ C k (n k )
l =1 1 p k z 1 k =0
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 M

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

Y (e )
p
jw k e jwk
H (e ) = jw
= k =0

X (e ) jw N

d k =0
k e jwk


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

d z k
k =0
k

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 ) =
(2 + 0,4 z )(0,5 + 2 z )
1 1

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

Processamento Digital de Sinais 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 = Resposta em freqncia do filtro ideal
0, wc < w

sen (wc n )
hLP [n] = n Resposta ao impulso do filtro ideal
n

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 (convoluo)
Processamento Digital de Sinais 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] = Resposta ao impulso ideal
sen( wc n)
, n >0
n

3 - Filtro Passa Faixa Ideal

sen( wc 2 n) sen( wc1 n)


hBP [n ] = , n 0 Resposta ao impulso ideal
n n

4 - Filtro Rejeita Faixa Ideal

( w wc1 )
1 c2 , n=0
hBS [n] = Resposta ao impulso ideal
sen( wc1 n) sen( wc 2 n)
, n >0
n n

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

w N
1, 0 n N 1 sen 2 jw N 1 N 1
w[n] =
0, fora
( )
W e jw = e 2
( )
jw
= Wr w e 2
sen w

2
2 Janela de Bartlett

2n N 1
, 0n
w[n] = N 1 2
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. 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

c
w c = constante
M

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

Largura do Nvel Relativo do Atenuao


Lbulo Lateral c
Tipo da Janela Lbulo Principal Mnima Fora da w = w p ws
ML ASL Faixa M
Retangular 4 (2M + 1) 13,3 dB 20,9 dB 0,92 M
Hanning 8 (2M + 1) 31,5 dB 43,9 dB 3,11 M
Hamming 8 (2M + 1) 42,7 dB 54,5 dB 3,32 M
Blackman 12 (2M + 1) 58,1 dB 75,3 dB 5,56 M

Mtodo de Projeto do Filtro FIR


w p + ws
1) Determinar a freqncia de corte wc =
2
c
2) Estimar o valor de M usando a relao w
M

Processamento Digital de Sinais 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

1 1 M
k 2kn
w[n] = + 2 Tk cos cos
2M + 1 k =1 2M + 1 2 M + 1
Amplitude do lbulo lateral 1 1
= = cosh cosh 1
Amplitude do lbulo principal 2M
( )
cos l cos 1 x , x 1
Tl ( x ) =
( 1
)
cosh l cosh x , x > 1

2 Janela de Kaiser

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

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


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

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

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

0 s < 21

s 7,95
14,36 f s > 21
N
0,9222
s 21
f
(w p + ws ) (ws w p )
wc = f =
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 ]

1
H (z ) =
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 FT = 8 kHz
Tom de Valor inteiro Erro
Valor
frequncia de k mais absoluto
exato de k
(Hz) prximo em k
697 17,861 18 0,139
770 19,731 20 0,269
852 21,833 22 0,167
941 24,113 24 0,113
1209 30,981 31 0,019
1336 34,235 34 0,235
1477 37,848 38 0,152
1633 41,846 42 0,154

N=201 FT = 8 kHz
Segunda Valor inteiro Erro
Valor
harmnica de k mais absoluto
exato de k
(Hz) prximo em k
1394 35,024 35 0,024
1540 38,692 39 0,308
1704 42,813 43 0,187
1882 47,285 47 0,285
2418 60,752 61 0,248
2672 67,134 67 0,134
2954 74,219 74 0,219
3266 82,058 82 0,058

697 Hz 1 2 3 A

770 Hz 4 5 6 B

852 Hz 7 8 9 C

941 Hz * 0 # D

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 DTFT
( )
X [k ] = X e jw
wk =
2 k k = 0, 1, K , N 1
N
N 1
j2
X [k ] = x[n] W
n =0
kn
N k = 0, 1, K , N 1 W N = exp
N

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

k FS
fk = , 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 (Z ) = h[n] z
n =
n
Transformada-Z

1
h[n ] = H (Z ) z n 1 dz Transformada-Z Inversa
2 j C

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 ) = = R h < z < Rh +
A( z ) a0 + a1 z 1 + L + a N 1 z ( N 1) + a N z N

~ ~ ~
b0 + b1 z 1 + L + bN 1 z ( N 1) M N
H (z ) = 1 ( N 1) N
+ C k z k
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 M N
Rk
H (z ) = 1
+ C k z k
k =1 1 pk z k =0
1 4243
M N

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

N 1 M N
h[n ] = Rk 1 1
+ C k (n k )
l =1 1 p k z 1 k =0
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 M
y[n ] + a k y[n k ] = bl x[n l ] Equao de Diferenas
k =1 l =1

Y (z )
b l z l
B(z )
H (z ) = = l =0
= Funo de Transferncia
X (z ) N
A( z )
1 + ak z k

k =0

b
b0 z M z M + L + M
(z z )
N 1
b0
H (z ) = H ( z ) = b0 z (N M ) l =1 l

z N
(z + L + aN
N
) (z p )
N
k =1 k

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:

z +1
H (z ) = 2
z 0,9 z + 0,81
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 b11 b21 a 01 a11 a 21


b a 22
b12 b22 a02 a12 L
b0 k + b1k z 1 + b2 k z 2
sos = 02 H (z ) =
M M M M M M k =1 a 0 k + a1k z
1
+ a 2k z 2

b0 L b1L b2 L a0 L a1L a2L

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

Nw
N 2
He ( )= e
jw
j
2
a[n] cos (wn )
n =0

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

Processamento Digital de Sinais 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 )}
7w
7w 5w 3w w
( )
H e jw = e
j
2
2 h[0]cos + 2 h[1]cos + 2 h[2]cos + 2 h[3]cos
2 2 2 2

7
(w) =
2

(N +1 )/ 2 1
( )
H e jw = e jNw/ 2 b[n] cos w n
2
n =1

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

Processamento Digital de Sinais 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
72 7
52 5
32 3
12 1

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

7w
7w 5w 3w w
( )
H e jw = e
j
2
e
j
2
2h[0]sen + 2h[1]sen + 2h[2]sen + 2h[3]sen
2 2 2 2

7
(w ) =
2


Nw
( N +1) / 2 1
( )
H e jw = e
j
2
e
j
2
d [n] sen w (n )
2
n =1

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


Nw
~
He( )= e
jw
j
2
e j H ( w) = 0 ou
2
~
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 = Resposta em freqncia do filtro ideal
0, wc < w

sen (wc n )
hLP [n] = n Resposta ao impulso ideal
n

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] = Resposta ao impulso ideal
sen( wc n)
, n >0
n

3 - Filtro Passa Faixa Ideal


sen( wc 2 n) sen( wc1 n)
hBP [n ] = , n 0 Resposta ao impulso ideal
n n

4 - Filtro Rejeita Faixa Ideal


( w wc1 )
1 c2 , n=0
hBS [n] = Resposta ao impulso ideal
sen( wc1 n) sen( wc 2 n)
, n >0
n n

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
w[n] = N 1 2
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

c
w c = constante
M

Comandos do MATLAB para o projeto das janelas:

w=blackman(N) w=hamming(N)
w=hanning(N) w=chebwin(N,R)
w=kaiser(N,BETA)

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 Tipo de Ordem do Freqncia de


Aluno Freqncia de Corte
Filtro Janela Filtro Amostragem

n h[n] h[n]*32767 Formato Binrio Formato Hexadecimal


0
1
:
N-1

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.

M 1
1 z M M 1 H [k ]
H (z ) = h[n] z n =
n =0 M

k =0 1 z
1
e j 2k M

M 1 2 kn M 1 2 kn
j 1
H [k ] = h[n ] e h[n] = H [k ] e
j
M M

n=0 M k =0

1 e jwM M 1 H [k ]
H (e jw ) = jw
M K =0 1 e e j 2k M

j 2Mk H [0], k =0
H e = H [k ] =

H [M-k ],

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], k =0
H r [k ] = r
H r [M k ], k = 1,...,M 1

Para filtros tipo 1 e 2:

M 1 2k M 1
2 M , k = 0 ,...,
H [k ] = 2
M 1 2 M 1
+ (M k ), k= + 1,...,M 1
2 M 2

Para filtros tipo 3 e 4:

M 1 2k M 1
2 2 M , k = 0 ,...,
H [k ] = 2
+
M 1 2 M 1
(M k ), k= + 1,...,M 1
2 2 M 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

(w + ws ) (w wp )
s = 20 log10 ( s ) dB
p s
wc = f =
2 2

0.1102 ( s 8.7 ) s > 50 s 7.95


14.36 f s > 21

= 0.5842 ( s 21) + 0.07886 ( s 21) 21 s 50
0.4
N
0.9222
0 s < 21 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 ]

1
H (z ) =
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:

Fs=24kHz
Freqncia
Tipo de Corte Comprimento (N) Ordem (N-1)
(Fc)
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 Descrio
Modulador AM-DSB 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 ) cos(w0 t ) =
2
( )
f (t ) e jw0t + f (t ) e jw0t
1
f (t ) cos(w0 t ) (F (w w0 ) + F (w + w0 ))
2

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

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

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
(
Vm = A e jwC t e jwC t ) (
m jwmodt
e + e jwmodt )
2j 2

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

Am
Vm = (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 )
2
+ w02 y (n ) w02 x(n ) = 0
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 )
y(n ) + =0
1 + w02 T 2 1 + w02 T 2 1 + w02 T 2
1 2 1
y(n ) = 2 2
x(n ) + 2 2
y (n 1) y (n 2 )
1 + w0 T 1 + w0 T 1 + w02 T 2

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
onde c1 = 2 e d T cos(wT ) , c2 = e 2d T , T =
, 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.

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
wC = 2 = 0,04
50000
A resposta em freqncia do filtro ideal :

e jw , w 0,04 N 1
He ( )
jw
= onde =
0, 0,04 < w 2

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

1
H (e ) e

h[n] = jw jwn
dw
2

1 0, 04 1 0,04
h[n] = e jw e jwn dw + 0 e jwn dw
2 0 2 0

1 0 , 04 1 0, 04 jw( n )
h[n ] = 2 0
e jw e jwn dw = e dw
2 0

0 , 04
1 e jw( n ) 1
h[n ] =
2 j (n ) 0
=
2j (n )
(
e j 0, 04 ( n ) 1 )

1
h[n] = 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 Prof. Marcelo E. Pellenz

sen[A (n )] 0
h[n] = = quando n = diferencie separadamente o numerador e o denominador
(n ) 0

A [cos( An A ) )]
h[n ] =

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]

1
onde c1 = 2 e d T cos(wT ) , c2 = e 2d T , T = , 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 AMOSTRAGEM PROCESSAMENTO


CONTNUO PERIDICA 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)

C/D
IDEAL
xc (t ) x[n] = xc (nT )
T

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 )
Converso
Trem de Impulsos
X para

xc (t ) xs (t ) Sequncia em Tempo
Discreto x[n] = xc (nT )

xc (t ) T = T1 xc (t ) T = 2 T1

xs (t ) xs (t )

-2T -T 0 T 2T t -2T -T 0 T 2T t

x[n] x[n]

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

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 113


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

X C ( )

N N

2 S ( )
T

2 S S 0 S 2 S

X S ( )
1
T

2 S S 0 S 2 S
( S N )

X S ( )
1
T

3 S 2 S S 0 S 2 S 3 S

( S N )
S N > N S > 2 N

Processamento Digital de Sinais 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 nT ) (t ) = funo delta de Dirac
n =

+
x s (t ) = x c (t ) s(t ) x s (t ) = x (nT ) (t nT )
c
n =

+ 1 +
X ( ) = x(t ) exp( jt ) dt x(t ) = X ( ) exp( jt ) d
2

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

2 +
1
S ( ) = ( n ) X s ( ) = X c ( ) S ( )
2
s
T n =

+
1
X s ( ) = X ( n )
c s
T n =

Processamento Digital de Sinais 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 ) y (t )
S S

2 2

sen (t / T )
hr (t ) =
t / T
+
sen[ (t nT ) / T ]
x r (t ) = x[n]
n = (t nT ) / T

+
s(t ) = (t nT )
n =

X H r ( )
xc (t ) xs (t ) xr (t )

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 116


Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz

X C ( )
1

N N

X S ( )
1/ T
S > 2 N

S N N S

H r ( )
T

N < C < ( S N )

C C

X r ( )
1

N N

Processamento Digital de Sinais 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 ) n = 0,1,2,...

2
S = 2 N
T

N = Freqncia de Nyquist
2 N = Taxa de Nyquist

Processamento Digital de Sinais Prof. Marcelo E. Pellenz pg. 118