You are on page 1of 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


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

2
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

3
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

4




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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

5
1. Introduo ao Processamento Digital de Sinais

1-1 AULA 1
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
f
1
f
2
fase
freqncia freqncia






1-2 AULA 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.
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

6


1-3 AULA 1
Porque Processamento Digital ?
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.
ADC DAC PROCESSA
1-4 AULA 1
1 Hardware = Muitas Tarefas
Atualizao e Flexibilidade
DSP: Desenvolvimento de Novo Cdigo Atualizao do software
Sistema Analgico Soldar novos componentes
Programao
FILTRO PASSA-BAIXA
SINTETIZADOR MUSICAL
CONTROLE DE MOTOR
SOFTWARE 1
SOFTWARE 2
SOFTWARE N
MESMO
HARDWARE
.
.
.
.





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


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

7




1-5 AULA 1
Restries ao uso do
Processamento Digital ?
Sinais de alta freqncia no podem ser
processados digitalmente devido a duas
razes:
Conversores Analgico-para-Digital (ADC) no
podem operar rpido o suficiente.
A aplicao pode ser tambm muito complexa
para operar em tempo real.
1-6 AULA 1
Processamento em Tempo Real
Os DSPs precisam realizar tarefas em tempo real,
portanto como podemos definir tempo real ?
A definio de tempo real depende da aplicao.
Exemplo: Um filtro digital FIR com 100 taps
implementado em tempo real se o DSP pode
realizar e completar a seguinte operao entre duas
amostras:
( ) ( ) ( )

=
=
99
0 k
k n x k a n y



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


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

8



1-7 AULA 1
Processamento em Tempo Real
Podemos dizer que temos uma aplicao
em tempo real se:
Tempo de Espera 0
Tempo de Tempo de
Processamento Processamento
Tempo de Tempo de
Espera Espera
Tempo de Amostragem Tempo de Amostragem
n n n+1 n+1
1-8 AULA 1
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 ?




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


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

9


1-9 AULA 1
Porque Precisamos de DSPs ?
Use um DSP quando os seguintes requisitos forem
necessrios:
Reduo de Custo.
Tamanho Reduzido.
Baixo consumo de potncia.
Processamento de muitos sinais de alta freqncia em
tempo real.
Use um processador genrico quando for necessrio:
Grande memria.
Sistemas operacionais avanados.

1-10 AULA 1
Quais so os algoritmos tpicos de um DSP ?
A soma de produtos o elemento chave na maioria dos
algoritmos DSP:

Algorithm Equation
Finite Impulse Response Filter

=
=
M
k
k
k n x a n y
0
) ( ) (
Infinite Impulse Response Filter

= =
+ =
N
k
k
M
k
k
k n y b k n x a n y
1 0
) ( ) ( ) (
Convolution

=
=
N
k
k n h k x n y
0
) ( ) ( ) (
Discrete Fourier Transform

=
=
1
0
] ) / 2 ( exp[ ) ( ) (
N
n
nk N j n x k X
Discrete Cosine Transform ( ) ( )

=
(

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








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


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

10


1-11 AULA 1
Digital Signal Processor (DSP)
O que um DSP ?
Um pouco
alto
Computador Analgico
Computador Digital
ADC
DSP
DAC
SADA
1010 1001
1-12 AULA 1
Sistema DSP Tpico
Chip DSP
Memria
Conversores (Opcional)
Analgico para Digital
Digital para Analgico
Portas de Comunicao
Serial
Paralela
DSP
MEMRIA
ADC
PORTAS
DAC





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


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

11


1-13 AULA 1
Multiplicao e Adio
Operaes Mais Comuns no DSP
A = B*C + D
Multiplica, Adiciona, e Acumula
E = F*G + A
.
.
.
Instruo MAC
1+2 = 3
+
0001
0010
0011
Adio Multiplicao 5*3 = 15
Tipicamente 70 ciclos de clock
em processadores normais
Operao MAC
0
1
0
1
x
x
x
x
8
4
2
1
0011
0011
0011
0011
x
x
x
x
0000
0011
0000
0011
=
5 3
Deslocado e
adicionado
mltiplas vezes
Tipicamente 1 ciclo de clock
em processadores digitais de
sinais
1-14 AULA 1
Evoluo nos Tempos de Multiplicao
0
100
200
300
400
500
600
1971 1976 1998 ANOS
TEMPO (ns)
5 ns





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


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

12


1-15 AULA 1
Sistemas DSP Prticos
Equipamentos Hi-Fi
Brinquedos
Videofones
Modem/xDSL
Sistemas Telefnicos
Placas Grficas 3D
Processamento de Imagens
Telefones Celulares
Cmeras de Vdeo
1-16 AULA 1
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





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


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

13


1-17 AULA 1
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
1-18 AULA 1
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





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


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

14


1-19 AULA 1
Sinais no Domnio do Tempo
e da Freqncia
Domnio do Tempo Domnio da Freqncia
AMPLITUDE
TEMPO
FREQNCIA
AMPLITUDE
AMPLITUDE
FREQNCIA
AMPLITUDE
TEMPO
T
1
=1/f
1
T
2
=1/f
2
f
1
f
2
T = perodo f = freqncia
1-20 AULA 1
Sinais Reais
TEMPO
AMPLITUDE
AMPLITUDE
FREQNCIA
-f
m
f
m
|A|
2f
m
Sinais reais so uma combinao
de muitas freqncias





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


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

15


1-21 AULA 1
Amostragem
Tempo de Amostragem Tempo para pegar uma
amostra
Perodo de Amostragem Perodo entre amostras
Pegar amostras de dados
(sinais) com variao contnua
O Perodo de amostragem fixo
This makes information
understandable
My share price hit its lowest
point in week 4
My share price reached its peak
in week 9
14
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
1 2 3 4 5 6 7 8 9 10 11 12 13
TEMPO (SEMANAS)
S
H
A
R
E

P
R
I
C
E
S
1-22 AULA 1
Informao Perdida
Amostras No-Peridicas
Pode perder informao
A queda de preos entre
T3 e T4 fica imperceptvel
A informao no pode ser
interpretada facilmente
Amostragem Peridica
Pode perder informao
A queda de preos entre
T2 e T3 fica imperceptvel
Fcil para interpretar
A chave a freqncia de
amostragem.
Curva Inferida
Variao Atual
TEMPO
P
R
E

O
S
P
COMPRA
T1 T2 T3 T4T5 T6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
TEMPO
P
R
I

O
S
P
COMPRA
1.4
1.2
1
0.8
0.6
0.4
0.2
0
T1 T2 T4 T3





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


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

16


1-23 AULA 1
Pegando as Amostras Corretamente
TEMPO FREQNCIA
f
s
>>f
a
f
s
<2f
a
t
|A|
t
t
|A|
|A|
f
|A|
|A|
|A|
f
f
f
s
f
s
f
s
2f
s
2f
s
Alias
Sinal Original f
a
Sinal Inferido
CASO 1
CASO 2
CASO 3
f
s
= Freqncia de amostragem
f
a
= Freqncia do sinal
f
a
f
a
f
s
- f
a
f
s
+ f
a
f
s
=2f
a
1-24 AULA 1
Limitando o Espectro
f
s
f
s
|A|
f
|A|
f
f
m
f
s
>2f
m
Aliasing
Sinais no mundo real possuem
muitas freqncias
Componentes de freqncia
maiores que 1/2f
s
causam
aliasing (f>f
m
)
Elimine (filtragem) freqncias
acima de f
m
(sem aliasing)
Assegure que a taxa de
amostragem seja maior que 2f
m
f
m





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


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

17


1-25 AULA 1
Digitalizando o Sinal
|A|
t
amostre & retenha
t
s 8t
s
4t
s
O objetivo obter uma
representao discreta
Amostre o sinal periodicamente
Retenha o valor amostrado at a
prxima amostra
Quantize o sinal
Mais nveis de quantizao
significam melhor preciso
Sinal = 10 10 01 01 00 00 01
t
s 8t
s
4t
s
t
|A|
00
01
10
11
quantize
t
s 8t
s
4t
s
t
|A|
00
01
10
11
? ? ?
1-26 AULA 1
Erro de Quantizao
|A|
t
Erro de Quantizao
A quantizao introduz erros
Aumentar o nmero de nveis
no sempre a soluo
|A|
t
Quantizao No-Uniforme
Utiliza mais nveis onde existe
maior variao
Utiliza menos nveis onde h
menos variaes





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


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

18


1-27 AULA 1
Conversor Analgico-Digital
(ADC)
+
-
Comparador
LGICA DE
CONTROLE
APROXIMAES
SUCESSIVAS
DAC
V
in
10
ADC por Aproximaes Sucessivas
11
10
01
00
V
in
V
0
V
3
V
2
V
1
Ajusta a sada DAC para V
2
= 01
DAC gera tenso analgica V
2
(V
in
>V
2
)
Ajusta MSB para 1
DAC gera agora V
3
Ajusta LSB para 0 dado que V
3
>V
in
Digitaliza em dois ciclos
n Bits = n Ciclos
Voltagem
tempo
1-28 AULA 1
Outros Tipos de ADC
Dual Slope ADC
Lento
Caro
Flash ADC
Requer componentes de preciso
Sigma Delta ADC
Estvel
LIMITAO
DE BANDA
AMOSTRA
E RETM
DIGITALIZA
ANALGICO
ADC
Digitalizao Paralela
0
1
0
0
1
1





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


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

19



1-29 AULA 1
Converso Digital para o Analgico
Voltage Source Multiplying DAC
Para Controle Digital 10:
Chavear em R para fonte (V
cc
)
2R para terra (GND)
Sada Analgica = (R1/R) * V
cc
Ganho = R1/Resistncia de Entrada
TENSO DE SADA
V
O
= - [ V
in
* ( R
1
/R) + V
in
* (R
1
/2R) ]
MSB LSB
CONTROLE DIGITAL
+
-
R
R
1
V
cc
TERRA
SADA
ANALGICA
10
2R
V
O
MSB = Bit mais significativo
LSB = Bit menos significativo
Possveis Entradas e Sadas para R1 = R
ENTRADA
11
0
SADA
1.5 V
cc
V
cc
0.5 V
cc
10
01
00
1-30 AULA 1
Suavizando a Sada
DAC
FILTRO
PASSA
BAIXA
010001
ENTRADA DIGITAL AMOSTRA E RETM SADA SUAVIZADA
|A|
t t
|A|
Converta a entrada digital para valor analgico
Mantenha o valor analgico at a prxima entrada digital
Suavize o sinal de sada




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


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

20



1-31 AULA 1
Computadores Digitais
PROGRAMA
E DADOS
ARMAZENADOS
UNIDADE
LGICA
ARITMTICA
ENTRADA/
SADA
Arquitetura Von Neuman
Arquitetura Harvard
PROGRAMA
ARMAZENADO
UNIDADE
LGICA
ARITMTICA
ENTRADA/
SADA
DADOS
ARMAZENADOS
A
D D
D
A
A
A = ENDEREO
D = DADOS
1-32 AULA 1
Sistemas de Numerao
Representao digital de nmeros
Decimal 3 em binrio
Qualquer nmero pode ser representado como uma srie de 1s e 0s
Decimal 26 em binrio
Decimal 128 64 32 16 8 4 2 1
2
Digit Number
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Digit Number 7 6 5 4 3 2 1 0

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




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


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

21



1-33 AULA 1
Binrio e Hexadecimal
Decimal 0, 1, 2 , ., 9
Binrio 0, 1
Hexadecimal 0, 1, 2 ,..,A,B,C,D,E,F
16 Decimal 0x10 Hex
20 Decimal 0x14 Hex
4 bits do sistema binrio so representados por
um nico dgito hexadecimal:
Decimal 26 em binrio e hexadecimal:
Decimal 8+ 4+ 2+ 1= 15
2
Digit Number
2
3
2
2
2
1
2
0
Binary 1 1 1 1 1111
Hex F F
Decimal 0 0 0 16+ 8+ 0 2= 0 26
2
Digit Number
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
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
1-34 AULA 1
Representao de Nmeros
Inteiros com Sinal
Magnitude de nmeros inteiros com sinal
Signed
Binary Decimal
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




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


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

22



1-35 AULA 1
Notao Complemento de Dois
para Representao de Nmeros
Inteiros com Sinal
2
Digit number
-2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Decimal -128 64 32 16 8 4 2 1
Binary
twos complement
3 0 0 0 0 0 0 1 1
Decimal
calculation
0 0 0 0 0 0 +2 +1= 3
Binary
twos complement
-2 1 1 1 1 1 1 1 0
Decimal
calculation
-128 +64 +32 +16 +8 +4 +2 +0= -2
1-36 AULA 1
Notao Complemento de Dois
Converso para a notao complemento de dois
Adio usando 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
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




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


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

23



1-37 AULA 1
Notao de Ponto-Fixo
Convenes:
Faixa do nmero est entre 1 e -1
O ponto decimal est sempre numa localizao fixa (ex: 0.74, 0.34, etc.)
Multiplicando uma frao por uma frao sempre resulta em uma frao
e no ir produzir um overflow (ex: 0.99 x 0.9999 = menor que 1)
Adies sucessivas podem causar overflow
Porque ?
O processamento de sinais intensivo em multiplicaes
A notao de ponto-fixo previne overflow
(til com uma pequena faixa dinmica de variao)
A notao de ponto-fixo mais barata
Como a notao de ponto-fixo realizada no DSP ?
A maioria dos DSPs de ponto-fixo so de 16 bits
A faixa de nmeros que podem ser representados de 32767 at -32768
O formato mais comum de ponto-fixo denominado Q15
Notao Q15
Bit 15 Bits 14 to 0
sign twos complement number
1-38 AULA 1
Formato Q15
Faixa Dinmica no Formato Q15
Representao do Nmero no Formato Q15
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
Number Biggest Smallest
Fractional number 0.999 -1.000
Scaled integer for Q15 32767 -32768
Decimal Q15 = Decimal x 2
15
Q15 Integer
0.5 0.5 x 32767 16384
0.05 0.05 x 32767 1638
0.0012 0.0012 x 32767 39




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


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

24



1-39 AULA 1
Operaes no Formato Q15
Adio
Multiplicao
2 x 0.5 x 0.45 =
Decimal Q15 Scale back
Q15 / 32767
0.5 + 0.05 = 0.55 16384 + 1638 =
18022
0.55
0.5 0.05 = 0.45 16384 1638 =
Decimal Q15 Back to Q15
Product / 32767
Scale back
Q15 / 32767
0.5 x 0.45 = 0.225 16384 x 14745 =
241584537
7373
0.225 + 0.225 = 0.45 7373 + 7373 =
14746
0.45
1-40 AULA 1
Formato de Ponto Flutuante do TMS
Equaes de Converso
Binary Decimal Equation
s = 0
X = 01.f x 2
e
X = 01.f x 2
e
1
s = 1
X = 10.f x 2
e
X = ( -2 + 0.f ) x 2
e
2
Caso Especial
s = 0 X = 0 e = -128
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
Formato de Ponto Flutuante
31 ... 24 23 22 .............. 0
e s f
8 bits 1 bit 23 bits
No. do Bit
Expoente (e)
Hex
twos comp.
00 01 7F FF 80
Decimal 1 127 -1 -128 0




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


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

25


1-41 AULA 1
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 x2
e
01.0 x 2
0
= 1.0
e = 0
f = 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 x2
e
0011 e = 3
s111 f = 0.5 + 0.25 + 0.125 = 0.875
X = 01.875 x 2
3
= 15.0 decimal
...
1-42 AULA 1
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 2
e
( -2.0 + 0.0 ) x 2
0
= -2.0
e = 0
f = 0
Adio
1.5 + (-2.0) = 0.5
Multiplicao
1.5e00 x 1.5e01 = 2.25e01 = 22.5





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


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

26

1-43 AULA 1
Faixa Dinmica
Numbers Base 2 Decimal
Twos
Complement
Hex
Largest Integer
2
31
- 1
2 147 483 647 7F FF FF FF
Smallest Integer
- 2
31
-2 147 483 648 80 00 00 00
Largest Q15
2
15
- 1
32 767 7F FF
Smallest Q15
- 2
15
-32 768 80 00
Largest Floating Point
( 2 - 2
-23
) x 2
127
3.402823 x 10
38
7F 7F FF FD
Smallest Floating Point
-2 x 2
127
-3.402823 x 10
38
83 39 44 6E
Faixas dos Sistemas de Numerao
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
1-44 AULA 1
Ponto Fixo versus Flutuante
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
Comparao
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






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


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

27


1-45 AULA 1
Famlia TMS320
Dispositivos 16-Bit Ponto Fixo
C1x Controladores de Hard-Disk
C2x Fax
C2xx Controle
C5x Processamento de Voz
C54x Telefones Celulares Digitais
Dispositivos 32-Bit Ponto
Flutuante
C3x Videofones
C4x Processamento Paralelo
Outros Dispositivos
C6x Processador Avanado
Estaes Base Wireless
Modems
C8x Vdeo Conferncia


















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


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

28
2. Digitalizao de Sinais e Normalizao de Freqncias


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

( ) ( ) ( ) + = + = t A t F A t x
C
cos 2 cos

( ) Hz F ( ) s rad F 2 =

[ ] ( ) ( )
|
|

\
|
+ = + = =


S
S S C
F
n F
A T n F A T n x n x
2
cos 2 cos

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

( ) amostra ciclos f ( ) amostra rad w

F , Notao de freqncia para sinais analgicos

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

S
F
F
f = f T w
S
2 = = Normalizao de freqncias

Considerando a digitalizao na taxa de Nyquist,
MAX S
F F 2 = , onde F F
MAX
= , teremos os
seguintes valores de freqncia normalizada:

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

Portanto, a faixa de variao de valores para as freqncias do sinal em tempo contnuo e tempo
discreto so:

2 / 1 2 / 1 < < < < f F

< < < < w




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


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

29

Relao entre Freqncias do Sinal Contnuo e Discreto (Normalizao)
Interpretao Considerando a Digitalizao de Sinais Senoidais

Sinais em Tempo
Contnuo
Sinais em Tempo Discreto
( ) s rad F 2 = ( ) amostra rad f w 2 =
F (Hz) f (ciclos/amostra)
< < F

< <








F F F
MAX S
2 2 = =

2 / 1 2 / 1 < < f

< < w

2 2
S S
F
F
F

S S
T T










2 / 1 2 / 1 < < f

< < w

S
S
MAX
T
F
F
2
1
2
= =
S
S MAX
T
F

= =

TABELA 1

EXEMPLO 2.1 ANLISE DO DO EFEITO DE ALIASING

( ) ( ) t t x 10 2 cos
1
= Hz F F
MAX
10
1
= = Hz F
S
40 =
( ) ( ) t t x 50 2 cos
2
= Hz F F
MAX
50
2
= = Hz F
S
40 =

[ ] |

\
|
=
(

\
|
= n n n x
2
cos
40
10
2 cos
1


[ ] |

\
|
= |

\
|
+ = |

\
|
=
(

\
|
= n n n n n n x
2
cos
2
2 cos
2
5
cos
40
50
2 cos
2



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

1 2
F F
alias
( )
1 1
F k F F
alias
S
+ K , 3 , 2 , 1 = k (inteiro)

S k
F k F F + =
0
< < k Freqncias de alias
S
T w =
S
F F f =
S
T w =
S
F f F =
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

30
EXERCCIOS

1) ( ) ( ) t sen t x
c
100 2 = Hz F
S
400 = Determine [ ] n x
2) [ ] |

\
|
= n n x
4
cos

Hz F
S
1000 = Determine dado que ( ) ( ) t t x
c
= cos
3) ( ) ( ) t t x
c
4000 cos = [ ] |

\
|
= n n x
3
cos

Determine
S
F
4) ( ) ( ) ( ) t t sen t x
c
40 cos 20 + = [ ] |

\
|
+ |

\
|
= n n sen n x
5
2
cos
5

Determine
S
F
5) Considere o sinal analgico ( ) ( ) t t x
c
100 cos 3 =
a) Determine a freqncia de amostragem mnima para evitar aliasing
b) Sendo Hz F
S
200 = , determine o sinal [ ] n x
c) Sendo Hz F
S
75 = , determine o sinal [ ] n x





































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


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

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

[ ] [ ] N n x n x + = 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

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

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

( ) ( ) 2 cos cos + =

O termo, N f 2 , deve ser mltiplo inteiro de 2 , ou seja,

k N f = 2 2 , k inteiro

N
k
f =
N
k w
f = =
2

N
k
w
2
=

Podemos interpretar a relao
N
k
w
2
= da seguinte forma: existem N freqncias distintas para as
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

( ) ( ) + = + + n w n w cos ) 2 ( cos
EXEMPLO 3.1

[ ]
|

\
|
= n n x
4
cos
1


8
1
= f 1 = k
8
1
2
8
2

= =
k
w

8
2 k
w
k

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

Contudo existem 8 sinais com freqncias diferentes,
k
w , e com o mesmo perodo N=8:
0
0
= w
4
1

= w
2
2

= w
4
3
3

= w
=
4
w
4
5
5

= w
2
3
6

= w
4
7
7

= w

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


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

32
4. Interpretao da Freqncia Normalizada

A freqncia normalizada,
N
k
f = , indica em quantos perodos do sinal analgico, k , esto
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:

( )
|

\
|
= t t x
8
3
2 cos 5 , 1
1
1 =
S
F [ ]
|

\
|
= n n x
8
3
2 cos 5 , 1
1


( )
|

\
|
= t t x
16
3
2 cos 5 , 1
2

2
1
=
S
F [ ]
|

\
|
= n n x
8
3
2 cos 5 , 1
2


( ) |

\
|
= t t x
4
3
2 cos 5 , 1
3
2 =
S
F [ ]
|

\
|
= n n x
8
3
2 cos 5 , 1
3






























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


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

33
5. Sinais de Freqncias Distintas com o mesmo Perodo


0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1
0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1
0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1
0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1












8
2
2
0
= w
8
3
2
0
= w

8
1
2
0
= w
8
4
2
0
= w
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

34
6. Interpretao de Freqncias Altas e Baixas

Para sinais contnuos, quando aumentamos a freqncia, aumentamos a oscilao.

( ) ( ) OSCILAO cos
0 0
+ = t t x

Para sinais discretos, quando aumentamos a freqncia de 0 para , aumentamos a
oscilao. Aumentando a freqncia de para 2 , a oscilao diminui.

[ ] ( ) cos
0
+ = n w A n x

OSCILAO 0
0 0
w w

OSCILAO 2
0 0
w w

Isso ocorre porque 0
0
= w indistinguvel de 2
0
= w , ou seja, freqncias em torno de
0
0
= w so indistinguveis de freqncias em torno de 2
0
= w .

Freqncias Baixas k w 2
0
=

Freqncias Altas k w 2
0
+ =


Exemplo

2 0
0
= = w
8
15
8
2
8
0

= = = w
4
7
4
2
4
0

= = = w
















Exemplos de Sinais Peridicos:

[ ] |

\
|
= n n x
4
cos
1

8 = N
[ ] |

\
|
= n n x
8
3
cos
2

16 = N
Neste caso aumentando a freqncia de 8 2
0
= w para 8 3
0
= w , o perodo tambm aumentou
de 8 = N para 16 = N . No caso de sinais contnuos, aumentando a freqncia, o perodo diminui.

Exemplo de Sinal no Peridico:

[ ] ( ) n n x cos
3
=
N
k 2
1 =
No existe k inteiro tal que N seja inteiro.
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

35
7. Interpretao de Freqncias Altas e Baixas
em Tempo Discreto

0 5 10 15 20 25 30 35
0
0.5
1
0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1
0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1

0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1

0 5 10 15 20 25 30 35
-1
-0.5
0
0.5
1


2 0
0
= = w

8
0

= w
4
0

= w
=
0
w

2
0

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


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

36
8. Operaes com Seqncias Discretas

[ ] [ ] [ ] [ ] { } < < = n x x x n x K K , 1 , 0 , 1 ,

[ ] [ ] [ ] [ ] { } K K , 1 , 0 , 1 ,
1 1 1 1
x x x n x =
[ ] [ ] [ ] [ ] { } K K , 1 , 0 , 1 ,
2 2 2 2
x x x n x =

Multiplicao por escalar: [ ] [ ] [ ] [ ] [ ] { } K K , 1 , 0 , 1 ,
1 1 1 1
x x x n x n y = =

Multiplicao de seqncias: [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] { } K K , 1 1 , 0 0 , 1 1 ,
2 1 2 1 2 1 2 1
x x x x x x n x n x n y = =

Adio de seqncias: [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] { } K K , 1 1 , 0 0 , 1 1 ,
2 1 2 1 2 1 2 1
x x x x x x n x n x n y + + + = + =

Deslocamento no Tempo: [ ] [ ]
0 0
, n n n x n y = inteiro








9. Funo Impulso Unitrio

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

[ ]

=
=
0 , 0
0 , 1

n
n
n



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

+
=
=
k
k n k x n x

10. Funo Degrau Unitrio

[ ]

<

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

+
=
=
0

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



0 1 2 3 4 n
[ ] [ ] 2 = n x n y
-2 -1 0 1 2 n
[ ] n x
1
-2 -1 0 1 2 n
[ ] n
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

37






































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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

38





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:

[ ] { }

=

7 , 3 , 4 , 1 , 0 , 1 - , 1 , 2 n x

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

da seguinte forma:

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

Para traar o grfico da seqncia discreta utilize o seguinte comando:
x) stem(n, >>

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:

[ ] { }

=

10 , 1 , 1 , 0 , 0 , 7 , 5 , 1 , 2 , 0 , 3
1
n x

[ ] { }

=

4 , 3 , 2 , 1 , 0 , 1 - , 2 - , 3 - , 4 -
2
n x

[ ] { }

=

0 , 0 , 0 , 1 , 0 , 0 , 0
3
n x

[ ] { }

=

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
4
n x

EXERCCIO 2 Gerao de seqncias exponenciais reais: [ ]
n
a k n x = , n ; R k a ,
Representar e traar as seguintes seqncias exponenciais reais:
[ ] ( )
n
n x 8 . 0
1
= 100
1
= N [ ] ( )
n
n x 5 . 1
2
= 50
2
= N
[ ] ( )
n
n x 5 . 0 2
3
= 30
3
= N [ ] ( )
n
n x 2 5 . 0
4
= 200
4
= N

As seqncias devem ter comprimento N, ou seja, 1 0 N n .
PROCESSAMENTO DIGITAL DE SINAIS (PDS)
LABORATRIO 1 REPRESENTAO E OPERAES
COM SINAIS EM TEMPO DISCRETO
PROF. MARCELO PELLENZ
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

39
EXERCCIO 3 Gerao de seqncias exponenciais complexas

[ ]
( ) n
e n x
j +
=
, n freqncia = atenuao de fator =

Utilizando o programa em anexo, trace os grficos das seqncias exponenciais complexas, para os
seguintes parmetros:

50 /6 5 . 0 = = = N
100 4 / 1 = = = N
30 /4 -0.5 = = = N
60 /6 0 = = = N

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, [ ] ( ) n n x
0
cos = , para as
seguintes freqncias:
, / , , 4 3 4 / 2 4 / , 0
0
=
, , / 2 4 / 7 4 / 6 , 4 5
0
=

Interprete o conceito de freqncias altas e baixas. Se estas seqncias forem sintetizadas pelo
conversor D/A para uma freqncia de amostragem especificada,
S
F , quais as freqncias dos
sinais analgicos gerados (Hz) ?

4 /
0
= 4 / 2
0
= 4 / 3
0
= =
0
4 / 5
0
=
kHz 8 =
S
F
kHz 16 =
S
F
(Preencher Tabela)
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

40
EXERCCIO 5 Implemente um programa para traar a seguinte seqncia

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


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, ( ) ( )
o
t t t x = em tempo discreto, ( )
o
n n n x = ] [ ,
2 1
n n n .
[x,n]=impseq(n0,n1,n2)

[ ] [ ] 20 20 = n n n x [ ] [ ] 20 20 4 = n n n x

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

[ ] [ ] 20 20 = n n u n x [ ] [ ] 20 20 4 = n n u n x

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

[ ] { }

=

10 , 1 , 1 , 0 , 0 , 7 , 5 , 1 , 2 , 0 , 3
1
n x

[ ] { }

=

4 , 3 , 2 , 1 , 0 , 1 - , 2 - , 3 - , 4 -
2
n x


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

[ ] { }

=

10 , 1 , 1 , 0 , 0 , 7 , 5 , 1 , 2 , 0 , 3
1
n x
] 4 [ ] [
1
= n x n y
Rebater um sinal em tempo discreto, ] [ ] [ n x n y = : [y,n]=sigfold(x,n)

] [ ] [
1
n x n y =

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) [ ] [ ] [ ] 20 20 4 2 2 + = n n n n x
b) [ ] [ ] [ ] { } ( ) [ ] [ ] [ ] { } 50 0 20 10 10 3 . 0 exp 10 10 + = n n u n u n n u n u n n x
11.
EXERCCIO 8 Trace o grfico das seguintes seqncias discretas e determine se estes sinais so
peridicos.

[ ]
|

\
|
= n n x
4

cos [ ] |

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


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

41

12.









OBSERVAO SOBRE GERAO DE SEQNCIAS


[ ] { }

=

1 2, 3, , 4 , 5 , 6 , 7 , 6 , 5 , 4 , 3 , 2 , 1 n x


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

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

















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


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

42

13. Decomposio em Seqncia Par e mpar

Uma seqncia discreta, [ ] n x , classificada como par (simtrica) se [ ] [ ] n x n x
e e
= .
Uma seqncia discreta, [ ] n x , classificada como mpar (assimtrica) se [ ] [ ] n x n x
o o
= .
Qualquer sinal real pode ser escrito como [ ] [ ] [ ] n x n x n x
o e
+ = , onde

[ ] [ ] [ ] [ ] n x n x n x
e
+ =
2
1
[ ] [ ] [ ] [ ] n x n x n x
o
=
2
1


14. Sinais de Energia e Sinais de Potncia

[ ]

+
=
=
n
x
n x E
2
[ ]

+
=
=
N
N n
N
n x E
2

N
N
x
E E

= lim

[ ]
N
N
N
N n
N
x
E
N
n x
N
P
1 2
1
lim
1 2
1
lim
2
+
=
+
=

=




Para sinais peridicos

[ ]

=
=
1
0
2
1
N
n
x
n x
N
P

15. Escalonamento no Tempo (Down-Sampling)

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

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

T{ }





[ ] [ ] { } [ ] { } [ ] { } n x T b n x T a n x b n x a T
2 1 2 1
+ = +

[ ] [ ] [ ]

=
=
k
k n k x n x [ ] [ ] { } [ ] [ ]
)
`

= =

= k
k n k x T n x T n y

Aplicando a propriedade da linearidade, temos

[ ] [ ] [ ] { }

=
=
k
k n T k x n y

[ ] n x [ ] n y
[ ] n
[ ] n h
[ ] k n
[ ] k n h
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

43
Aplicando a propriedade da invarincia da resposta ao impulso, temos
[ ] [ ] [ ]

=
=
k
k n h k x n y
Este resultado representa a expresso de convoluo (soma de convoluo) para se calcular a
resposta de um sistema LTI com resposta ao impulso [ ] n h ao sinal de entrada, [ ] n y .
[ ] [ ] [ ] [ ] [ ] n h n x k n h k x n y
k
= =

=

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

=


PROPRIEDADES DA CONVOLUO

a) Comutativa: [ ] [ ] [ ] [ ] n x n h n h n x =
b) Associativa: [ ] [ ] ( ) [ ] [ ] [ ] [ ] ( ) n x n x n x n x n x n x
3 2 1 3 2 1
=
c) Distributiva: [ ] [ ] [ ] ( ) [ ] [ ] [ ] [ ] n x n x n x n x n x n x n x
3 1 2 1 3 2 1
+ = +
h
1
[n] h
2
[n] x[n]
y[n]
h
1
[n]
*
h
2
[n]

h
1
[n]
h
2
[n]
x[n] y[n]
h
1
[n]+h
2
[n]










17. Estabilidade de Sistemas LTI

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

[ ] < =

= k
k h S

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

18. Sistema LTI Causal

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


Exerccio 1 Realizar a convoluo entre as duas seqncias discretas:

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

Exerccio 2 Calcular a resposta ao impulso do sistema: [ ] [ ] [ ] n x n y a n y = 1
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

44
19. Correlao e Autocorrelao de Seqncias

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

=
,
Correlao

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

=
,
Autocorrelao

20. Equao de Diferenas Linear com Coeficientes Constantes

[ ] [ ]

= =
=
M
k
k
N
k
k
k n x b k n y a
0 0

[ ] [ ] [ ]

= =
= +
M
k
k
N
k
k
k n x b k n y a n y a
0 1
0
[ ] [ ] [ ]

= =
+ =
M
k
k
N
k
k
k n x
a
b
k n y
a
a
n y
0
0
1
0


21. Representao de Sistemas usando Diagrama de Blocos

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

x
1
[n] y[n]=x
1
[n]*x
2
[n]
x
2
[n]


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



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


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
















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

697 Hz
770 Hz
852 Hz
941 Hz
1209 Hz 1336 Hz 1477 Hz 1633 Hz
A
B
C
D
3
6
9
#
2
5
8
0
1
4
7
*

Implementar no Matlab

um programa para gerar os


tons de freqncia (DTMF) utilizados nos sistemas
de discagem. Utilize uma freqncia de amostragem
de 8kHz. A durao de cada tom deve ser de 125ms.
Utilize a funo sound do Matlab para escutar os
tons gerados.
Somador Multiplicador
Multiplicador
por escalar
Atraso unitrio
Avano unitrio
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

45




EXERCCIO 1 Decomposio do Sinal em Componente Simtrica (Par)
e Componente Assimtrica (mpar)

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

[ ] [ ] [ ] n x n x n x
mpar par
+ =
[ ] [ ] [ ] { } n x n x n x
par
+ =
2
1
[ ] [ ] [ ] { } n x n x n x
mpar
=
2
1


O programa a seguir utiliza a funo [xe,xo,m]=evenodd(x,n) do toolbox do livro para decompor a
seqncia discreta [ ] [ ] [ ] 10 = n u n u n x em suas componentes par e mpar. Verifique nos grficos
gerados, que se adicionarmos as seqncias [ ] [ ] n x n x
mpar par
+ obteremos a seqncia original [ ] n x .

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


=

=
= = =
k k
k n x k h k n h k x n h n x n y
Se conhecermos a resposta ao impulso do sistema (por exemplo um filtro digital) podemos calcular
a sada [ ] n y fazendo a convoluo do sinal de entrada, [ ] n x , com a resposta ao impulso do sistema,
[ ] n h . 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.
[ ] [ ] 2 4 1 - 0 7 11 3 = n x - Sinal de entrada do sistema
[ ] [ ] 1 2 5 - 0 3 2 = n h - Resposta ao impulso do sistema
[ ] [ ] [ ] [ ] [ ]

=
= =
k
k n h k x n h n x n y * - Sada do sistema
No programa trace os grficos das seqncias [ ] n x , [ ] n h e [ ] n y . Interprete graficamente a operao
de convoluo.
PROCESSAMENTO DIGITAL DE SINAIS (PDS)
LABORATRIO 2 SINAIS E SISTEMAS DISCRETOS
PROF. MARCELO PELLENZ

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


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

46
EXERCCIO 3 Convoluo Linear

Para se fazer a convoluo entre seqncias genricas
[ ]
xe xb
n n n n x ,
[ ]
he hb
n n n n h ,
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 [ ] n y . Faa a convoluo linear entre as duas seqncias
discretas abaixo:
[ ] [ ] 2 4 1 - 0 7 11 3 = n x , 3 3 n
[ ] [ ] 1 2 5 - 0 3 2 = n h , 4 1 n

Trace o grfico de [ ] n x , [ ] n h e [ ] [ ] [ ] n h n x n y = . 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).
[ ] [ ] [ ] [ ] [ ] l x l y l n y n x l r
n
xy
= =

=
*
A autocorrelao nos d uma medida de auto-similaridade do sinal com verses deslocadas dele
mesmo:
[ ] [ ] [ ] [ ] [ ] l x l x l n x n x l r
n
xx
= =

=
*
O clculo da correlao e autocorrelao podem ser implementados usando a convoluo.
Considere a seqncia [ ] [ ] 2 4 1 - 0 7 11 3 = n x , 3 3 n e a seqncia [ ] n y como sendo uma
verso deslocada e com rudo da seqncia [ ] n x , ou seja, [ ] [ ] [ ] n w n x n y + = 2 .

% 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

47
EXERCCIO 5 Exemplo de Implementao de um Filtro Digital

Exemplo de aplicao do filtro de mdia mvel para filtragem de um sinal com rudo:

[ ] [ ]

=
=
1
0
1
M
i
k n x
M
n y
% Filtro de mdia mvel para M=3
clear; clc;

figure(1);
N=50;
d=rand(N,1)-0.5;
n=0:1:N-1;
s=2*n.*(0.9.^n);
subplot(2,1,1); stem(n,s); xlabel('n'); ylabel('Amplitude'); title('s[n]');
subplot(2,1,2); stem(n,d); xlabel('n'); ylabel('Amplitude'); title('d[n]');

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


EXERCCIO 6 Equaes Lineares com Coeficientes Constantes

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

= =
=
N
k
M
k
k k
k n x b k n y a
0 0


A funo y=filter(b,a,x) do Matlab resolve a equao de diferenas. Considere a seguinte equao
de diferenas
[ ] [ ] [ ] [ ] n x n y n y n y = + 2 9 . 0 1
Determine:
a) Determine a resposta ao impulso do sistema, [ ] n h , no intervelo 120 20 n
b) Determine a resposta ao degrau do sistema, [ ] n s , no intervelo 120 20 n









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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

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

( )

=
=
k
t F k j
k
e c t x
0
2

0
0
1
T
F =

( )

=
2 /
2 /
2
0
0
0
0
1
T
T
t F k j
k
dt e t x
T
c

K , 2 , 1 , 0 = k

k
j
k k
e c c

= Coeficientes complexos da srie de Fourier

2 Transformada de Fourier

Sinais contnuos aperidicos (sinais de energia)

( ) ( )

+

= dw e e X t x
t jw jw
2
1


( ) ( )

= dt e t x e X
t jw jw


























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


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

49
Anlise Espectral de Sinais Discretos no Tempo

1 Srie de Fourier

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


=

=
= =
1
0
2
1
0
/ 2
N
k
n f j
k
N
k
N n k j
k
e c e c n x


N
k
f =

[ ]

=
1
0
/ 2
1
N
k
N n k j
k
e n x
N
c

1 , , 1 , 0 = N k K

n jw N n k j
k
e e =
/ 2

N
k
w
k
2
=

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

2 0 <
k
w 1 0 N k
S
F F 0

<
k
w
2 2
N
k
N
<

2 Transformada de Fourier em Tempo Discreto (DTFT)

Sinais discretos no peridicos

( ) [ ]

+
=

=
n
n jw jw
e n x e X

[ ] ( )

dw e e X n x
n jw jw
2
1


( ) ( ) ( ) ( )
( ) w j jw jw
e e X w X j w X e X

= + =
Im Re


Seqncia DTFT
[ ] n 1
[ ] n u [ ]

+ +

k
jw
k w
e
2
1
1

n jw
e
0

[ ]

=
+
k
k w w 2 2
0

[ ] n u
n
1 <
jw
e

1
1


TABELA 1 Pares da transformada de Fourier em tempo discreto (DTFT)
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

50

Exemplo

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


=
5 , 0 1
1

-3 -2 -1 0 1 2 3
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Frequncia Normalizada
M

d
u
l
o


-3 -2 -1 0 1 2 3
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
Frequncia Normalizada
F
a
s
e

(
r
a
d
i
a
n
o
s
)

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


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

51
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Parte Real
Frequncia Normalizada
A
m
p
l
i
t
u
d
e




0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Parte Imaginria
Frequncia Normalizada
A
m
p
l
i
t
u
d
e




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


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

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

d
u
l
o
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-4
-3
-2
-1
0
1
2
3
4
Frequncia Normalizada
F
a
s
e
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

53
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-7
-6
-5
-4
-3
-2
-1
0
Frequncia Normalizada
F
a
s
e































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


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

54

TRANSFORMADA DISCRETA DE FOURIER (DFT)


[ ] n x , 1 0 N n ( )
jw
e X

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

[ ] ( ) [ ]

=
= =
1
0
2
2
N
n
N
kn
j
N
k
w
jw
e n x e X k X

1 , , 1 , 0 = N k K

[ ] [ ]

=
1
0
1
N
n
kn
N
W k X
N
n x 1 , , 1 , 0 = N n K

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

=

[ ] [ ]

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

=
1
0
1
N
n
kn
N
W k X
N
n x 1 , , 1 , 0 = N n K (IDFT)


Representao Matricial

[ ] [ ]

=
=
1
0
N
n
kn
N
W n x k X 1 , , 1 , 0 = N k K

x D X
N
= DFT de N pontos
X D x
N
=
1
IDFT de N pontos

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

(
(
(
(
(
(

) 1 )( 1 ( ) 1 ( 2 1
) 1 ( 2 4 2
1 2 1
1
1
1
1 1 1 1
N N
N
N
N
N
N
N
N N N
N
N N N
N
W W W
W W W
W W W
D
L
M O M M M
L
L
L

[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
(
(
(
(

=
(
(
(
(

1
1
0
1
1
0
1
N X
X
X
D
N x
x
x
N
M M

* 1
1
N N
D
N
D =




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


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

55
Clculo Numrico da DTFT usando a DFT

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

( ) [ ] [ ]


=

= =
1
0
2
1
0
N
n
M
kn
j
N
n
n jw jw
e n x e n x e X
k



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

( ) [ ]

=
1
0
2
M
n
M
kn
j
e
jw
e n x e X

DFT de M pontos

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
[ ] n x [ ] k X
[ ] n h [ ] k H
[ ] [ ] n h n x + [ ] [ ] k H k X +
[ ]
N
n n x
0
[ ] k X W
n k
N

0

[ ] [ ]

=

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


Convoluo Circular versus Convoluo Linear

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

=
1
0
2 2 , , 1 , 0 = N n K

[ ] [ ] [ ] [ ] [ ] n h n x k n h k x n y
N
k
N
C
= =

=
1
0
2 2 , , 1 , 0 = N n K




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


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

56
0 1 2 3 4 5 6 7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
n
A
m
p
l
i
t
u
d
e
x[n]


0 5 10 15
0
2
4
6
8
k
A
m
p
l
i
t
u
d
e
Amplitude das Amostras da DFT
0 5 10 15
-1.5
-1
-0.5
0
0.5
1
1.5
k
F
a
s
e
Fase das Amostras da DFT


0 50 100 150 200 250
0
2
4
6
8
10
k
A
m
p
l
i
t
u
d
e
Amplitude das Amostras da DFT
0 50 100 150 200 250
-3
-2
-1
0
1
2
3
k
F
a
s
e
Fase das Amostras da DFT



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


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

57
Representao de Sistemas LTI no Domnio da Freqncia


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

( ) [ ] ( )
( ) w j jw
n
jwn jw
e e H e n h e H

= =

+
=



( ) ( ) (dB) log 20
10
jw
e H w G = Funo de Ganho

Para [ ] n h real, ( )
jw
e H 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.

( )
( )
dw
w d
w

=
































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


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

58




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:
( ) ( ) { } ( ) dt e t x t x F X
t j

= =


( ) ( ) { } ( ) ( ) df t j X f X F t x

= =

exp
2
1
1

Quando aplicamos a transformada de Fourier numa seqncia em tempo discreto, [ ] n x , as
expresses da transformada se simplificam para
( ) [ ] { } [ ]

+
=

= =
n
n j
e n x n x F X


[ ] ( ) { } ( )

d e X X F n x
n j

= =
2
1
1


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) [ ] ( ) [ ] n u n x
n
= 5 , 0

b)
[ ] { }

=

5 , 4 , 3 , 2 , 1 n x

Analise a periodicidade do grfico do espectro e responda as seguintes questes:
a) Entre que faixa de valores de freqncia normalizada, f 2 = , 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

( )
jw
jw
e
e X

=
5 . 0 1
1


( )
w j w j w j jw
w j w j w j jw
jw
e e e e
e e e e
e X
4 3 2
4 3 2
41 . 0 6 . 1 7 . 2 37 . 2 1
008 . 0 033 . 0 05 . 0 033 . 0 008 . 0


+ + + +
+ +
=

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 (PDS)
LABORATRIO 3 TRANSFORMADA DE FOURIER DISCRETA (DFT)
PROF. MARCELO PELLENZ

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


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

59

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.

[ ] [ ]

=
=
1
0
N
n
kn
N
W n x k X , 1 ..., , 1 , 0 = N k DFT

[ ] [ ]

=
1
0
1
N
k
kn
N
W k X
N
n x , 1 ..., , 1 , 0 = N n IDFT

N j
N
e W
2
=
Exerccio 2 - Determine a DFT de M pontos, [ ] k U , da seguinte seqncia discreta de comprimento
N,
[ ]


=
fora
N n
n u
0
1 0 1


Utilize 8 = N , 8 = M , 16 = M , 64 = M , 256 = M .

% 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

60
Exerccio 3 - Determine a DTFT ( )
jw
e X de uma seqncia [ ]
|

\
|
= n n x
16
3
2 cos de comprimento
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,

[ ] [ ] [ ] [ ] 2 76195 . 6 1 456335 . 13 76195 . 6 + = n x n x n x n y .

O sinal de entrada do filtro [ ] ( ) ( ) { } [ ] n u n n n x 4 . 0 cos 1 . 0 cos + = .

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

( ) ( )
jw jw
e e H

+ = cos 2 -6.76195 = 456635 . 13 =

% 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

61
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

62
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 [ ] n h , denominada de resposta em
freqncia do sistema, ( )
jw
e H . Contudo, existem duas restries para a abordagem da DTFT. A
primeira que para muitos sinais teis na prtica como [ ] n u 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:

( ) [ ]

=
n
n
z n h Z H Transformada-Z

onde
jw
e r z = uma varivel complexa. O conjunto de valores de Z para o qual ( ) z H existe
chamado de regio de convergncia (ROC),
+
< <
x x
R z R , para nmeros positivos
x
R e
+ x
R . A
transformada Z inversa para uma seqncia complexa ( ) Z H dada por

[ ] ( )


=
C
n
dz z Z H
j
n h
1
2
1
Transformada-Z Inversa

A varivel complexa Z chamada de freqncia complexa dada por
jw
e z z = , 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
x
R pode ser igual a zero e/ou
+ x
R pode ser
inclusive . Se
+
<
x x
R R , ento a ROC um espao nulo e a transformada Z no existe. A funo
1 = z ( )
jw
e z = 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), ( )
jw
e X . A DTFT converge se a regio de convergncia da transformada Z incluir o crculo
de raio unitrio,

( ) ( )
jw
e z
e H z H
jw
=
=
.










Propriedades da Regio de Convergncia (ROC)



Exerccio Calcule a transformada-Z da seqncia [ ] [ ] n u a n x
n
= , < < a 0 .
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

63
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
0
n n < ), a regio de convergncia sempre a
parte externa de um crculo de raio
x
R . Para 0
0
n a seqncia causal.
[ ] [ ] n u a n x
n
=

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

[ ] [ ] 1 = n u b n x
n


4 Para uma seqncia no limitada a direita nem esquerda, a regio de convergncia um anel,
+
< <
x x
R z R .

5 Seqncias que so zero para
1
n n < e
2
n n > so chamadas de seqncias com durao finita. A
regio de convergncia para tais seqncias todo o plano Z. Se 0
1
< n , ento = z no est na
regio de convergncia. Se 0
2
> n , ento 0 = z no est na regio de convergncia

6 A regio de convergncia no pode incluir nenhum plo pois ( ) Z H 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
[ ] n u
1
1
1

z
1 > z
[ ] 1 n u
1
1
1

z
1 < z
[ ] n u a
n

1
1
1

z a

a z >
[ ] 1 n u b
n

1
1
1

z b

b z <
( ) [ ] [ ] n u n w a
n

0
sen
( ) [ ]
( ) [ ]
2 2 1
0
1
0
cos 2 1
sen

+

z a z w a
z w a
a z >
( ) [ ] [ ] n u n w a
n

0
cos
( ) [ ]
( ) [ ]
2 2 1
0
1
0
cos 2 1
cos 1

+

z a z w a
z w a
a z >
[ ] n u a n
n

( )
2
1
1
1

z a
z a

a z >
[ ] 1 n u b n
n

( )
2
1
1
1

z b
z b

b z <

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


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

64

Regio de Convergncia (ROC)

( )
( )
( )
N
N
N
N
M
M
M
M
z a z a z a a
z b z b z b b
z A
z B
z H

+ + + +
+ + + +
= =
) 1 (
1
1
1 0
) 1 (
1
1
1 0
K
K


( )
( )
( )

=
=

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


Zeros
l
z z = ( ) 0 =
l
z H
Plos
l
p z = ( ) =
l
p H

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






Transformada-Z Inversa usando Fraes Parciais

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

( )
43 42 1
N M
N M
k
k
k
N
k
k
k
z C
z p
R
z H

=
0 1
1
1


( )
( )
( )
k
p z
k
N
N
N
N
N
N
k
z p
z a z a z a
z b z b b
R
=


+ + + +
+ + +
=
1
1
1
1
1
1
1
1
1 0
1
1
~ ~ ~
L
L


[ ] ( )
4 4 3 4 4 2 1
N M
N M
k
k
N
l
k
k
k n C
z p
R n h

= =


+
)
`

=
0 1
1
1

1
1


Teorema 1 - Um sistema LTI estvel se e somente se o crculo de raio unitrio est dentro da
regio de convergncia (ROC) de ( ) z H

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






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


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

65

Relao da Funo de Transferncia com a Equao de Diferenas


[ ] [ ]

= =
=
M
k
k
N
k
k
k n x p k n y d
0 0


( )
( )
( )

= =
N
k
jwk
k
M
k
jwk
k
jw
jw
jw
e d
e p
e X
e Y
e H
0
0


( )
( )
( )

= =
N
k
k
k
M
k
k
k
z d
z p
z X
z Y
z H
0
0


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

[ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] 3 063 , 0 2 47 , 0 1 5 , 1
3 054 , 0 2 78 , 0 1 6 , 2 2
+
+ + + =
n y n y n y
n x n x n x n x n y


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

[ ] [ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ] 4 477 , 0 3 5 , 0 2 68 , 0 1 6 , 0
4 359 , 0 3 548 , 1 2 22 , 5 1 2 , 1 3
+
+ + =
n y n y n y n y
n x n x n x n x n x n y


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

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


+
+ +
=
z z z
z z
z H













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


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

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




Resposta ao Impulso dos Filtros Ideais

1 - Filtro Passa Baixa Ideal

( )

<

=
, 0
, 1
w w
w w
e H
c
C jw
LP
Resposta em freqncia do filtro ideal

[ ]
( )

= n
n
n w
n h
c
LP

sen
Resposta ao impulso do filtro ideal

Truncando a resposta ao impulso entre M n M obtemos uma seqncia finita no causal de
comprimento N=2M+1, que quando deslocada para a direita torna-se os coeficientes do filtro FIR
causal, com fase linear.

Resposta ao impulso do filtro projetado (real):

[ ] [ ] [ ]
( )
1 0
) (
) ( sen

= = N n
M n
M n w
n w n h n h
c
LP LP

[ ] 1 0 entre a relao em simtrica janela = N n M n w

Resposta em freqncia do filtro projetado:

( ) ( ) ( ) { }
jMw jw jw
LP
jw
LP
e e W e H e H

=

(convoluo)
OBSERVAO: A notao utilizada para o comprimento da janela N, onde N=2M+1
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

67
2 - Filtro Passa Alta Ideal

[ ]

>

=
=
0 ,

) sen(
0 ,

1
n
n
n w
n
w
n h
c
c
HP
Resposta ao impulso ideal

3 - Filtro Passa Faixa Ideal

[ ] 0 ,

) sen(

) sen(
1 2

= n
n
n w
n
n w
n h
c c
BP
Resposta ao impulso ideal

4 - Filtro Rejeita Faixa Ideal

[ ]

>

=
0 ,

) sen(

) sen(
0 ,

) (
1
2 1
1 2
n
n
n w
n
n w
n
w w
n h
c c
c c
BS
Resposta ao impulso ideal

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

Tipos de Janelas Fixas
1 Janela Retangular

[ ]


=
fora
N n
n w
, 0
1 0 , 1
( ) ( )
2
1
2
1
2
sen
2
sen

=
(
(
(
(

\
|
|

\
|
=
N
jw
r
N
jw
jw
e w W e
w
N w
e W
2 Janela de Bartlett

[ ]

=
1
2
1
,
1
2
2
2
1
0 ,
1
2
N n
N
N
n
N
n
N
n
n w

3 Janela de Hanning

[ ]

\
|

=
fora
N n
N-
n
n w
, 0
1 0 ,
1
2
cos 1 5 , 0


4 Janela de Hamming

[ ]

\
|

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

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


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

68
5 Janela de Blackman

[ ]

\
|
+
|

\
|

=
fora
N n
N-
n
N-
n
n w
, 0
1 0 ,
1
4
cos 08 , 0
1
2
cos 5 , 0 42 , 0


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

=
SL
A 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,
c
w , essencialmente constante

- A largura da faixa (banda) de transio do filtro dada por

M
c
w = c constante

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

Tipo da Janela
Largura do
Lbulo Principal
ML

Nvel Relativo do
Lbulo Lateral
SL
A
Atenuao
Mnima Fora da
Faixa
M
c
w w w
s p
=
Retangular
( ) 1 2 4 + M
13,3 dB 20,9 dB
M 92 , 0
Hanning
( ) 1 2 8 + M
31,5 dB 43,9 dB
M 11 , 3
Hamming
( ) 1 2 8 + M
42,7 dB 54,5 dB
M 32 , 3
Blackman
( ) 1 2 12 + M
58,1 dB 75,3 dB
M 56 , 5


Mtodo de Projeto do Filtro FIR
1) Determinar a freqncia de corte
2
s p
c
w w
w
+
=
2) Estimar o valor de M usando a relao
M
c
w
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

69
Janelas Ajustveis

Nas janelas fixas o ripple fixo, mas com as janelas ajustveis possvel controlar o ripple.

1 Janela de Dolph-Chebyshev

[ ]
(

\
|
+

|
|

\
|
|

\
|
+
+
+
=

=
M
k
k
M
kn
M
k
T
M
n w
1
1 2
2
cos
1 2
cos 2
1
1 2
1


principal lbulo do Amplitude
lateral lbulo do Amplitude
=
|
|

\
|
|
|

\
|
=

1
cosh
2
1
cosh
1
M

( )
( )
( )

>

=

1 , cosh cosh
1 , cos cos
1
1
x x l
x x l
x T
l


2 Janela de Kaiser

[ ]
( ) { }
( )
M n M
I
M n I
n w

0
2
0
/ 1


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

=
(

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

ajustvel parmetro =
( )
( ) ( )

<
+
>
=
21 0
50 21 21 07886 , 0 21 5842 , 0
50 7 , 8 1102 , 0

0,4
s
s s s
s s

>

21
9222 , 0
21
36 , 14
95 , 7
s
s
s

N
( )
2
s p
c
w w
w
+
=
( )
2
p s
w w
f

=
( ) dB - 1 log 20
10 p p
= ( ) dB log 20
10 s s
=

=
s
atenuao mnima na banda de corte (dB)
=
s
ripple na banda de corte
=
p
ripple na banda passante (dB)
=
p
- 1 ripple na banda passante

Exerccio - Projete um filtro digital FIR passa baixa, usando a janela de Kaiser. As
especificaes do filtro so 3 . 0 =
p
w , 4 . 0 =
s
w e dB 50 =
s
.
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

70
EXEMPLOS DE APLICAES

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

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

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

( )
D
z a z H

+ =1

[ ] [ ] [ ] D n a n n h + =

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:
[ ] [ ] [ ] [ ] [ ] D n x a D n x a D n x a n x n y 3 2
3 2
+ + + =

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

( )
D D D
z a z a z a z H
3 3 2 2
1

+ + + =

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:

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

( )
D
z a
z H


=
1
1


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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

71




(DTMF) DUAL-TONE MULTIFREQUENCY

N=205 F
T
= 8 kHz
Tom de
frequncia
(Hz)
Valor
exato de k
Valor inteiro
de k mais
prximo
Erro
absoluto
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 F
T
= 8 kHz
Segunda
harmnica
(Hz)
Valor
exato de k
Valor inteiro
de k mais
prximo
Erro
absoluto
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
770 Hz
852 Hz
941 Hz
1209 Hz 1336 Hz 1477 Hz 1633 Hz
A
B
C
D
3
6
9
#
2
5
8
0
1
4
7
*


PROCESSAMENTO DIGITAL DE SINAIS (PDS)
LABORATRIO 4 APLICAES DO PROCESSAMENTO DIGITAL DE SINAIS
SNTESE E DETEO DTMF
PROF. MARCELO PELLENZ
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

72
Frmulas do clculo da DFT de N pontos:

( ) DTFT
jw
e X
[ ] ( )
N
k
w
jw
k
e X k X
2
=
= 1 , , 1 , 0 = N k K
[ ] [ ]

=
=
1
0
N
n
n k
N
W n x k X 1 , , 1 , 0 = N k K |

\
|
=
N
j
W
N
2
exp

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

1 , , 1 , 0 , = = N k
N
F k
f
S
k
K

% 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

73
% 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

74

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

[ ] 1 0 ), 2 sen( ) 2 sen( 5 , 0
2 1
+ = N n n f n f n x
34 , 0 22 , 0
2 1
= = f f
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

75




A Transformada de Fourier em Tempo Discreto (DTFT) de um sistema linear invariante no
tempo, com resposta ao impulso [ ] n h , denominada de resposta em freqncia do sistema, ( )
jw
e H .
Contudo, existem duas restries para a abordagem da DTFT. A primeira que para muitos sinais
teis na prtica como [ ] n u 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:

( ) [ ]

=
n
n
z n h Z H Transformada-Z
[ ] ( )


=
C
n
dz z Z H
j
n h
1
2
1
Transformada-Z Inversa

A transformada z pode ser escrita como uma funo racional em
1
z , ou seja, como uma razo de
polinmios em
1
z :

( )
( )
( )
( )
( ) N
N
N
N
M
M
M
M
z a z a z a a
z b z b z b b
z A
z B
z H

+ + + +
+ + + +
= =
1
1
1
1 0
1
1
1
1 0
L
L

+
< <
h h
R z R

( )
( )
( )
43 42 1
L
L
N M
N M
k
k
k
N
N
N
N
N
N
z C
z a z a z a
z b z b b
z H

+
+ + + +
+ + +
=
0
1
1
1
1
1
1
1
1 0
1
~ ~ ~


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

( )
43 42 1
N M
N M
k
k
k
N
k
k
k
z C
z p
R
z H

=
0 1
1
1


( )
( )
( )
k
p z
k
N
N
N
N
N
N
k
z p
z a z a z a
z b z b b
R
=


+ + + +
+ + +
=
1
1
1
1
1
1
1
1
1 0
1
1
~ ~ ~
L
L


[ ] ( )
4 4 3 4 4 2 1
N M
N M
k
k
N
l
k
k
k n C
z p
R n h

= =


+
)
`

=
0 1
1
1

1
1


Teorema 1: Um sistema LTI estvel se e somente se o crculo de raio unitrio est dentro da
regio de convergncia (ROC) de ( ) z H

Teorema 2: Um sistema LTI causal estvel se e somente se a funo de transferncia ( ) z H
possui todos os plos dentro do crculo de raio unitrio.
PROCESSAMENTO DIGITAL DE SINAIS (PDS)
LABORATRIO 5 TRANSFORMADA-Z
PROF. MARCELO PELLENZ

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


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

76

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

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

[ ] [ ] [ ]

= =
= +
M
l
l
N
k
k
l n x b k n y a n y
1 1
Equao de Diferenas

( )
( )
( )
( )
( ) z A
z B
z a
z b
z X
z Y
z H
N
k
k
k
M
l
l
l
=
+
= =

0
0
1
Funo de Transferncia

( )
( )
N
N N
M M M
a z z
b
b
z z b
z H
+ +
|
|

\
|
+ +
=

L
L
0
0
( )
( )
( )
( )

=
N
k
k
N
l
l
M N
p z
z z
z b z H
1
1
1
0



Exerccio 1 Determine a expanso em fraes parciais da transformada-z, para a seguinte
seqncia:
( )
1 4 3
2
+
=
z z
z
z H
Utilize a funo residuez do Matlab.

Exerccio 2 Dado um sistema LTI causal com a seguinte funo de transferncia:

( )
81 , 0 9 , 0
1
2
+
+
=
z z
z
z H
Determine:

a) Expresso da resposta em freqncia
b) Expresso da equao de diferenas
c) Escreva ( ) z H 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:

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

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


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

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

( )
12 18 15 3 3
32 56 44 16 2
2 3 4
2 3 4
+ +
+ + + +
=
z z z z
z z z z
z H

Funo do Matlab: tf2sos

(
(
(
(

=
L L L L L L
a a a b b b
a a a b b b
a a a b b b
sos
2 1 0 2 1 0
22 12 02 22 12 02
21 11 01 21 11 01
M M M M M M
( )

=


+ +
+ +
=
L
k k k k
k k k
z a z a a
z b z b b
z H
1
2
2
1
1 0
2
2
1
1 0



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

- Os zeros so: 21 . 0 z
1
= , 14 . 3 z
2
= , 5 . 0 3 . 0 z
3
j + = e 5 . 0 3 . 0 z
4
j = .
- Os plos so: 45 . 0 p
1
= , 67 . 0 p
2
= , 72 . 0 81 . 0 p
3
j + = e 72 . 0 81 . 0 p
4
j =
- O ganho constante 2.2 = k

Funo do Matlab: zp2tf
































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


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

78
PROJETO DE FILTROS FIR
TIPOS DE FASE LINEAR PARA FILTROS FIR

Fase Linear Resposta ao impulso simtrica


TIPO 1 SIMTRICO - COMPRIMENTO MPAR

[ ] [ ] N n , n N h n h = 0

[ ]

=
N
n
n
z n h H(z)
0
Funo de Transferncia

Exemplo com N=8

( ) [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1 0

+ + + + + + + + = z h z h z h z h z h z h z h z h h z H

[ ] [ ]
[ ] [ ]
[ ] [ ]
[ ] [ ]

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

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



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



( ) 4 = w



( ) [ ] ( )
)
`

=

=

wn n a e e H
N
n
Nw
j
jw
cos
2
0
2


[ ]
(

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

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


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

79
TIPO 2 SIMTRICO - COMPRIMENTO PAR

Exemplo para N=7

( ) [ ] ( ) [ ] ( ) [ ] ( ) [ ] ( )
4 3 5 2 6 1 7
3 2 1 1 0

+ + + + + + + = z z h z z h z z h z h z H

( ) [ ] ( ) [ ] ( ) [ ] ( ) [ ] ( ) { }
2 1 2 1 2 3 2 3 2 5 2 5 2 7 2 7 2 7
3 2 1 0

+ + + + + + + = z z h z z h z z h z z h z z H

( ) [ ] [ ] [ ] [ ]
)
`

\
|
+ |

\
|
+ |

\
|
+ |

\
|
=

2
cos 3 2
2
3
cos 2 2
2
5
cos 1 2
2
7
cos 0 2
2
7
w
h
w
h
w
h
w
h e e H
w
j
jw



2
7
= (w)

( )
)
`

\
|
=

+
=

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



[ ]
(


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

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


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

80
TIPO 3 ANTISIMTRICO COMPRIMENTO MPAR

Caractersticas:

- Atraso de grupo constante

- Resposta em fase quase linear

N n n] h[N h[n] = 0

Exemplo para N=8

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

[ ] 0 2 = N h
( ) [ ] [ ] [ ] [ ] { } w h w h w h w h e e e H

j
w j jw
sen 3 2 2 sen 2 2 3 sen 1 2 4 sen 0 2
2
4
+ + + =



4 = (w)


( ) [ ] ( )
)
`

=

=

2
1
2 2
sen
N/
n
j jNw/ jw
wn n c e e e H

[ ]
2
1
2
2
N
n , n
N
h n c
(

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


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

81
TIPO 4 ANTISIMTRICO COMPRIMENTO PAR

Exemplo para N=7

( ) [ ] [ ] [ ] [ ]

|
|

\
|
+
|
|

\
|
+
|
|

\
|
+
|
|

\
|
=

2
1
2
1
2
3
2
3
2
5
2
5
2
7
2
7
2
7
3 2 1 0 z z h z z h z z h z z h z z H

( ) [ ] [ ] [ ] [ ]
)
`

\
|
+ |

\
|
+ |

\
|
+ |

\
|
=

2
sen 3 2
2
3
sen 2 2
2
5
sen 1 2
2
7
sen 0 2
2 2
7
w
h
w
h
w
h
w
h e e e H
j
w
j
jw



( )
2
7
= w

( )
)
`

\
|
=

+
=

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




2
1
1
2
1
2 ] [
+

(


+
=
N
n n
N
h n d

( )
2
ou 0 ) (
~
2

= =

w H e e e H
j
Nw
j
jw


( )= w H
~
Resposta em Amplitude
























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


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

82
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

83




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)




Resposta ao Impulso dos Filtros Ideais

1 - Filtro Passa Baixa Ideal

( )

<

=
, 0
, 1
w w
w w
e H
c
C jw
LP
Resposta em freqncia do filtro ideal

[ ]
( )

= n
n
n w
n h
c
LP

sen
Resposta ao impulso ideal

Truncando a resposta ao impulso entre M n M obtemos uma seqncia finita no
causal de comprimento N=2M+1, que quando deslocada para a direita torna-se os coeficientes
do filtro FIR causal, com fase linear.

Resposta ao impulso do filtro projetado (real)

[ ] [ ] [ ]
( )
1 0
) (
) ( sen

= = N n
M n
M n w
n w n h n h
c
LP LP

[ ] 1 0 entre a relao em simtrica janela = N n M n w

OBSERVAO: A notao utilizada para o comprimento da janela N, onde N=2M+1
PROCESSAMENTO DIGITAL DE SINAIS (PDS)
LABORATRIO 6 PROJETO DE FILTROS DIGITAIS FIR
PROF. MARCELO PELLENZ

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


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

84

Resposta em freqncia do filtro projetado

( ) ( ) ( ) { }
jMw jw jw
LP
jw
LP
e e W e H e H

=




2 - Filtro Passa Alta Ideal
[ ]

>

=
=
0 ,

) sen(
0 ,

1
n
n
n w
n
w
n h
c
c
HP
Resposta ao impulso ideal

3 - Filtro Passa Faixa Ideal
[ ] 0 ,

) sen(

) sen(
1 2

= n
n
n w
n
n w
n h
c c
BP
Resposta ao impulso ideal

4 - Filtro Rejeita Faixa Ideal
[ ]

>

=
0 ,

) sen(

) sen(
0 ,

) (
1
2 1
1 2
n
n
n w
n
n w
n
w w
n h
c c
c c
BS
Resposta ao impulso ideal

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

Tipos de Janelas Fixas

1 Janela Retangular
[ ]


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


2 Janela de Bartlett
[ ]

=
1
2
1
,
1
2
2
2
1
0 ,
1
2
N n
N
N
n
N
n
N
n
n w

3 Janela de Hanning
[ ]

\
|

=
fora
N n
N-
n
n w
, 0
1 0 ,
1
2
cos 1 5 , 0


4 Janela de Hamming
[ ]

\
|

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


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


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

85
5 Janela de Blackman
[ ]

\
|
+ |

\
|

=
fora
N n
N-
n
N-
n
n w
, 0
1 0 ,
1
4
cos 08 , 0
1
2
cos 5 , 0 42 , 0




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

=
SL
A 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,
c
w , essencialmente constante

A largura de faixa de transio dada por

M
c
w = c constante


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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

86
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
=
SL
A 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,
SL
A .

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, [ ] n h , ( ) z H e a equao de
diferenas.

















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


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

87




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.


Aluno
Tipo de
Filtro
Tipo de
Janela
Ordem do
Filtro
Freqncia de Corte
Freqncia de
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 (PDS)
LABORATRIO 7 PROJETO DE FILTROS DIGITAIS FIR
PROF. MARCELO PELLENZ

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


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

88
PROJETO DE FILTROS DIGITAIS FIR
TCNICA DA AMOSTRAGEM EM FREQNCIA

A funo de transferncia obtida das amostras [ ] k H da resposta em freqncia ( )
jw
e H .
Considere a resposta ao impulso, [ ] n h , de um filtro FIR com M amostras. A sua DFT, [ ] k H
tambm ter M pontos.

( ) [ ]

= =
1
0
M
n
n
z n h z H
[ ]

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


[ ] [ ]

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

=
=
1
0
2
1
M
k
M
kn
j
e k H
M
n h

( )
[ ]

e e
k H

M
e
e H
M
K
M k j jw
jwM
jw

=
1
0
2
1
1


[ ]
[ ]
[ ]

=
=
= =
|
|

\
|

1 1
0 0
2
,...,M k , M-k H
k , H
k H e H
M
k
j


Para filtros FIR com fase linear,

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

[ ] [ ]
[ ] k H j
r
e k H k H

=

[ ]
[ ]
[ ]

=
=
=
1 1
0 0
,...,M k , k M H
k , H
k H
r
r
r


Para filtros tipo 1 e 2:

[ ]
( )

+
(


= |

\
|
+
(


=
|

\
|

\
|

=
1 1
2
1

2
2
1

2
1
0
2
2
1
,...,M
M
k , k M
M


M
M
,..., k ,
M
k M
k H

Para filtros tipo 3 e 4:

[ ]
( )

+
(


= |

\
|
+ |

\
|

(


=
|

\
|

\
|

\
|

=
1 1
2
1

2
2
1
2

2
1
0
2
2
1
2
,...,M
M
k , k M
M
M
M
,..., k ,
M
k M
k H

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

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


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

89
Dada a resposta ideal do filtro, ( )
jw
d
e H , especificar o valor de M e amostras ( )
jw
d
e H em
M freqncias igualmente espaadas entre 0 e 2 . A resposta do filtro obtido, ( )
jw
e H , a
interpolao das amostras [ ] k H .

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




Mtodos de Construo (duas abordagens)

. transio de banda na amostras das valores


os se - variando corte de banda na erro o
minimizar se - tenta onde timo, Projeto
o) aproxima de erro
o considerar (sem mtodo do direta Aplicao


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


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

90




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)




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 3 . 0 =
p
w , 4 . 0 =
s
w e dB 50 =
s
.
A freqncia de corte dada por


( )
2
s p
c
w w
w
+
=
( )
2
p s
w w
f

= ( ) dB log 20
10 s s
=


( )
( ) ( )

<
+
>
=
21 0
50 21 21 07886 . 0 21 5842 . 0
50 7 . 8 1102 . 0

0.4
s
s s s
s s

>

21
9222 . 0
21
36 . 14
95 . 7
s
s
s

N


% 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 (PDS)
LABORATRIO 8 PROJETO DE FILTROS DIGITAIS FIR
PROF. MARCELO PELLENZ

OBSERVAO: A notao utilizada para o comprimento da janela N, onde N=2M+1
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

91
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

92

% 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:

rad/s 1 =
p
rad/s 2 =
s

dB 1 . 0 =
p
dB 45 =
s

rad/s 10 2 = =
T T
F -> 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

93
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

94
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:

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

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

( )
D
z a z H

+ =1

[ ] [ ] [ ] D n a n n h + =

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:

[ ] [ ] [ ] [ ] [ ] D n x a D n x a D n x a n x n y 3 2
3 2
+ + + =
Processamento Digital de Sinais: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

95

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

( )
D D D
z a z a z a z H
3 3 2 2
1

+ + + =

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:

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

( )
D
z a
z H


=
1
1


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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

96

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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

97
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

98
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

99


Figura 2 Selecionando as opes de Compiler da etapa 11




Figura 3 Configurando as opes de Linker da etapa 11


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


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

100


Figura 4 Configurando a opo de Load Program

































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


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

101
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
Tipo
Freqncia
de Corte
(Fc)
Comprimento (N) Ordem (N-1)
Filtro Passa Baixa (FPB)
Filtro Passa Alta (FPA)
Filtro Passa Faixa (FPF)
Filtro Rejeita Faixa (FRF)
Filtro Multibanda (Equalizador)


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

LAB. 5 Implementao de Filtros Digitais IIR

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






















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


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

102
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

103
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 ( ) t f multiplicada por uma funo coseno.

( ) ( ) ( ) ( ) ( )
t jw t jw
e t f e t f t w t f
0 0
2
1
cos
0

+ =
( ) ( ) ( ) ( ) ( )
0 0 0
2
1
cos w w F w w F t w t f + +

Isso mostra que a multiplicao do sinal ( ) t f pela freqncia da portadora
0
w desloca o espectro
( ) w F por
0
w . 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

104
( ) ( ) ( ) t w m t w A V
C m mod
cos 1 sen + =
( ) ( )
|

\
|
+
|
|

\
|
=
t jw t jw t jw t jw
m
e e m e e
j
A V
C C mod mod
2
1
1
2
1

( ) ( )( ) ( )
t jw t jw t jw t jw t jw t jw
m
C C C C
e e e e
j
Am
e e
j
A
V

+ =
mod mod
4 2

( )
( ) ( ) ( ) ( )
( )
t w w j t w w j t w w j t w w j t jw t jw
m
C C C C C C
e e e e
j
Am
e e
j
A
V
+ +
+ =
mod mod mod mod
4 2



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.

( ) ( ) t w m t w A V
C m mod
cos sen =
( ) ( )
t jw t jw t jw t jw
m
e e
m
e e
j
A V
C C mod mod
2 2
1

+
|
|

\
|
=
( ) ( ) ( ) ( )
( )
t w w j t w w j t w w j t w w j
m
C C C C
e e e e
j
Am
V
mod mod mod mod
4
+ +
+ =
( ) ( )
|
|

\
|
+ =
mod mod
sen
2
1
sen
2
1
4
w w
j
w w
j j
Am
V
C C m

( ) ( ) ( )
mod mod
sen sen
2
w w j w w j
j
Am
V
C C m
+ =

( ) ( ) ( )
mod mod
sen sen
2
w w w w
m A
V
C C m
+ + =



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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

105

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:
( )
( ) ( ) t x w t y w
dt
t y d
= +
2
0
2
0
2
2

( ) ( ) [ ] ( ) ( ) [ ]
( ) ( ) nT x w nT y w
T
T T nT y T nT y T T nT y nT y
= +

2
0
2
0
/ 2 /

( ) ( ) ( )
( ) ( ) 0
2 1 2
2
0
2
0
2
= +
+
n x w n y w
T
n y n y n y

( ) ( ) ( ) ( ) ( ) 0 2 1 2
2 2
0
2 2
0
= + + n x T w n y T w n y n y n y
( )
( ) ( ) ( )
0
1 1
2
1
1 2
2 2
0
2 2
0
2 2
0
2 2
0
=
+

+
+

T w
n x T w
T w
n y
T w
n y
n y
( ) ( ) ( ) ( ) 2
1
1
1
1
2
1
1
2 2
0
2 2
0
2 2
0

+

+
+
+
= n y
T w
n y
T w
n x
T w
n y

onde [ ] n x 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)

[ ] [ ] [ ] [ ] n x n y c n y c n y + = 2 1
2 1


onde ( ) wT e c
T d
cos 2
1
=

,
T d
e c

=
2
2
,
S
F
T
1
= ,
S
F w 2 = e damping d = = 0 .
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

106
c) Filtro Passa Baixa

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

( ) [ ]

=
1
0
N
n
n
z n h z H



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.

04 , 0
50000
1000
2 = =
C
w
A resposta em freqncia do filtro ideal :

( )

<

w
w e
e H
w j
jw
04 , 0 , 0
04 , 0 ,
onde
2
1
=
N


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

[ ] ( )

dw e e H n h
jwn jw
2
1


[ ]

+ =


04 , 0
0
04 , 0
0
0
2
1
2
1
dw e dw e e n h
jwn jwn w j

[ ]


= =


04 , 0
0
) (
04 , 0
0
2
1
2
1
dw e dw e e n h
n jw jwn w j


[ ]
( ) ( )
( ) 1
2
1
2
1
) ( 04 , 0
04 , 0
0
) (

=
(


n j
n jw
e
n j n j
e
n h

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


= n
n
n h

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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

107

[ ]
[ ]
( ) 0
0 ) ( sen
=

=


n
n A
n h quando = n diferencie separadamente o numerador e o denominador

[ ]
( ) [ ]

) cos A n A A
n h

=

[ ] 04 , 0 = = A n h


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 [ ] ( )
1
sen
n
w n n y = , onde
1 n
w 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.

[ ] [ ] [ ] [ ] n x n y c n y c n y + = 2 1
2 1


onde ( ) wT e c
T d
cos 2
1
=

,
T d
e c

=
2
2
,
S
F
T
1
= ,
S
F w 2 = e damping d = = 0 .
6180339 , 0
50
10 2
cos 1 2
1
= |

\
|
=
kHz
kHz
c


1
2
= c

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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

108
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

109
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

110
// 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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

111
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: Teoria e Aplicaes Prof. Marcelo E. Pellenz


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

112
Anexo A

Teorema de Nyquist


1 AMOSTRAGEM PERIDICA


SINAL
CONTNUO
AMOSTRAGEM
PERIDICA
PROCESSAMENTO
EM TEMPO DISCRETO
RECONSTITUIO
DO SINAL CONTNUO


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

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

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

onde

=
S
T Perodo de amostragem

= =
S S
T f / 1 Freqncia de amostragem

= =
S S
T / 2 Freqncia angular (radianos/s)


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


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


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

113




Converso
Trem de Impulsos
para
Sequncia em Tempo
Discreto
( ) t x
c
[ ] ( ) nT x n x
c
=
( ) t s
( ) t x
s
CONVERSOR C/D
X






2T 0 T -T -2T
( ) t x
s
( ) t x
c
t
1
T T =
2T
0
T -T -2T
( ) t x
s
( ) t x
c
t
1
2 T T =





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









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


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

114
T
2
0
S

S
2
S

S
2
( ) S

( )
S
X
0
S

S
2
S

S
2
T
1

( )
N S

N

N


( )
C
X
( )
S
X
0
S

S
2
S

S
2
T
1

( )
N S

S
3
S
3

N N S
>
N S
> 2


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


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

115
2 REPRESENTAO DA AMOSTRAGEM
NO DOMNIO DA FREQUNCIA


( ) ( )

+
=
=
n
nT t t s ( ) = t funo delta de Dirac

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

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

( ) ( ) ( )

+

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

+

= d t j X t x exp
2
1



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



( ) ( )

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



( ) ( )

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




























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


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

116
3 RECONSTRUO DO SINAL DE BANDA LIMITADA
A PARTIR DE SUAS AMOSTRAS


( ) [ ] ( )

+
=
=
n
s
nT t n x t x

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

( ) t x
s
2
S

( )
r
H
2
S

( ) t y



( )
( )
T t
T t
t h
r
/
/ sen

=

( ) [ ]
( ) [ ]
( )

+
=

=
n
r
T nT t
T nT t
n x t x
/
/ sen








( ) t x
c
( ) t x
r
( ) ( )

+
=
=
n
nT t t s
( ) t x
s
X
( )
r
H

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


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

117
N

N

( )
C
X
1
N

N

( )
r
X
1
C

( )
r
H
C

T
( )
N S C N
< <
( )
S
X
T / 1
N

N

S

S

N S
> 2









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


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

118
4 TEOREMA DE NYQUIST


( ) 0 =
c
x para
N


( ) t x
c
um sinal de faixa limitada

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

N S
T
= 2
2


=
N
Freqncia de Nyquist
=
N
2 Taxa de Nyquist

You might also like