Você está na página 1de 33

Processamento Digital de Sinais

Aplicações da DFT
Prof. Dr. Carlos Alberto Ynoguti
Aplicações da DFT

Nesta seção iremos apresentar três aplicações


bastante comuns da DFT:

1) Análise espectral de sinais


2) Resposta em frequência de sistemas
3) Convolução via domínio da frequência
Análise espectral de sinais

Em muitos casos, a informação contida em um sinal está no


domínio da frequência. Exemplos: áudio, voz.
Nestes casos, a forma de onda no domínio do tempo não é
importante, mas sim a amplitude, frequência e fase das
componentes senoidais.
Podemos usar a DFT para calcular o espectro de um trecho de
sinal e assim visualizar o seu espectro: periodograma.
Geralmente os sinais vêm imersos em ruído, que pode
eventualmente ter uma potência maior que o próprio sinal.
Neste caso usamos a técnica do periodograma médio.
Um exemplo ajuda a ilustrar estes conceitos.
Sonar passivo

Um microfone é colocado dentro da água, e seu sinal é


digitalizado a uma frequência de amostragem 160Hz.
Olhando o sinal no domínio do tempo, temos:
Janelamento do sinal

O domínio do tempo parece não ter informação útil.


Vamos então tentar uma análise no domínio da
frequência.
A primeira coisa a fazer é multiplicar o sinal no domínio do
tempo por uma janela de Hamming (explico depois
porque):
Cálculo da DFT (Periodograma)

Calculando a DFT de 256 pontos e convertendo para a


forma polar, obtemos o seguinte espectro (129 pontos):

Você consegue perceber alguma informação útil nisto?


Porque não funciona?

Não há informação suficiente nos 256 pontos para termos


uma curva bem comportada.
Se usarmos mais pontos (2048 por exemplo), teremos
uma curva parecida, só que mais contínua. Mesmo que os
2048 pontos tenham mais informação, o grande número
deles dilui a informação do mesmo fator. Melhora a
resolução, mas mantém o mesmo nível de ruído.
Solução: usar mais pontos, mas não aumentar o número
de pontos da DFT.
Periodograma médio

Quebramos o sinal em vários segmentos de 256 pontos,


calculamos a DFT de 256 pontos de cada segmento e
fazemos a média de todos os espectros:
Análise do espectro obtido

Abaixo de 10 Hz: ruído 1/f


Acima de 70 Hz: atenuação
do filtro anti-aliasing.
Entre 10 e 70 Hz: ruído
branco
60 Hz: ruído da rede elétrica
13, 26 e 39 Hz: turbina de 3
hélices girando a 4.33 rps!

Octave:analiseEspectral.m
Cheque sua compreensão

Um cientista adquire 65536 amostras de um experimento a taxa de


amostragem de 1 MHz.
Ele sabe que o sinal contém uma senóide de 100 kHz. Ele precisa
determinar é se há uma segunda senóide de 103 kHz.
Inicialmente ele toma uma DFT de 65536 pontos do sinal. Para sua
surpresa, tudo o que ele pode ver no espectro é o ruído.
Ele estima que o sinal que ele está procurando é quatro vezes menor
em amplitude do que o ruído aleatório (ou seja, SNR = 0,25).
Ele também estima que a SNR terá de ser pelo menos 3 para que o
sinal possa ser detectado, se houver. Para melhorar a SNR, ele decide
quebrar o sinal em segmentos e calcular a média de seus espectros.
É possível detectar a segunda senóide? Como?
Deteção de sinais próximos em frequência

DFT de 512 pontos de duas senóides de frequências 6100 e 6250 Hz,


que aparecem como uma única senóide. (fs=96kHz)
A resolução da DFT (187,5Hz) é muito baixa para detectar as duas
senóides.
Deteção de sinais próximos em frequência
(cont.)
Aumetando o número de pontos da DFT para 8192,
conseguimos visualizar os dois picos. Neste caso, a
resolução é de 11,72 Hz.

Octave:somasenos.m
Cheque sua compreensão

Um kernel de filtro (resposta ao impulso) é composto de 250


amostras, e foi concebido para deixar passar todas as freqüências
abaixo de 0,11, e bloquear todas as freqüências acima de 0,12.
Para avaliar o desempenho deste filtro, você quer inspecionar de
perto a sua resposta de freqüência nesta faixa.
Para fazer isso, você adiciona zeros à resposta a impulso para
completar o comprimento total de 256 amostras e, em seguida,
toma a DFT.

a. Quantos pontos de dados estão espalhados na área de


interesses?
b. Repita o procedimento para uma DFT de comprimento 2048.
Necessidade do janelamento

Sinal composto por duas


senóides: uma com frequência
igual a uma das funções base
(2kHz) e outra com frequência
entre duas funções base
(4.51kHz).

Observe as caudas
(indesejáveis) na segunda
senóide.
Necessidade do janelamento (cont.)

Multiplicando o sinal no
tempo por uma janela de
Hamming antes de calcular
a DFT, observamos 3
efeitos:
Os dois picos ficam mais
semelhantes
As caudas são bastante
reduzidas
A largura dos picos ficou
maior.

Janelamento: compromisso entre resolução (largura dos picos)


e vazamento espectral (amplitude das caudas).
Por que o janelamento melhora

Uma multiplicação de dois sinais no tempo


corresponde a uma convolução de seus espectros.
O espectro de uma senóide é um impulso na
frequência da mesma.
A convolução de um espectro qualquer com um
impulso desloca-o para a posição do impulso.
Espectro das janelas mais comuns

Retangular Hamming

Blackman Hanning
Conclusão

A multiplicação de uma senóide por uma janela gera dois efeitos:


– o truncamento da senóide, necessário para o cálculo da DFT
– o deslocamento do espectro da janela para a posição da
frequência da senóide (lembre-se: multiplicação no tempo equivale
a convolução na frequência).
Desta forma, o que vemos no espectro gerado pela DFT é na verdade
o espectro da janela deslocado para a frequência da senóide.
Analisando as janelas:
– Retangular: picos mais estreitos ☺, caudas acentuadas ☹
– Blackman: picos largos ☹, caudas bastante atenuadas ☺
– Hamming: compromisso
Cheque sua compreensão

Verifique qual janela seria mais adequada para cada caso.


Escolha entre Blackman, Retangular e Hamming, e justifique
sua resposta.

Construção de um afinador eletrônico para instrumentos


musicais.
Verificação da existência de uma rádio pirata na
frequência de 89,2MHz, sabendo que existe uma rádio
comercial em 89,1MHz.
Resposta em frequência de sistemas

Qualquer sistema linear pode ser completamente descrito


pela forma como altera as amplitudes e fases de cada
senóide que passam por ele.
Esta relação entre as amplitudes e fases das senóides de
entrada e saída é conhecida como resposta em frequência
do sistema linear.
Desde que tanto a resposta a impulso como a resposta
em frequência descrevem completamente um sistema
linear, deve haver uma relação de um para um entre elas.
De fato, a resposta em frequência é dada pela
transformada de Fourier da resposta a impulso.
Relação entre resposta a impulso
e resposta em frequência

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

Frequência: Y [ f ]= X [ f ]×H [ f ]
Cuidados no cálculo da DFT

Seja um sistema com resposta a impulso de 64 pontos a)


Calculando a DFT de 64 pontos, temos o gráfico em b)

Não parece muito bom.


Zero padding

Para melhorar o espectro, primeiro adicionamos zeros à


resposta a impulso do sistema até gerar um sinal de 512
pontos c).
Calculando a DFT de 512 pontos, chegamos ao espectro
da figura d).

Octave:filtrosinc.m
Por que isto funciona?

O espectro de um sinal é contínuo, mesmo que o sinal


seja discreto.

A DFT pode ser vista como uma amostragem do espectro


real.

Por exemplo, uma DFT de 64 pontos mostra apenas 33


pontos da curva contínua do espectro.

Ao adicionarmos zeros ao sinal no tempo, não alteramos o


seu conteúdo de frequências, mas melhoramos a
resolução em frequência (mais pontos da curva contínua
são mostrados).
Convolução via domínio da frequência

A convolução é a ferramenta matemática que relaciona os


sinais de entrada e saída de um sistema linear.

Entretanto, ela é evitada em dois casos:


Quando os sinais a serem convoluídos são muito
longos, por causa do tempo de processamento.
Dados a resposta em frequência e o sinal de saída,
para determinar o sinal de entrada é necessário
executar a deconvolução, uma operação matemática
extremamente complicada no domínio do tempo.
Graficamente

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

Y [ f ]= X [ f ]×H [ f ]
Multiplicação no domínio da frequência

Na forma polar

MagY [ f ]=MagX [ f ]×MagH [ f ]

FaseY [ f ]=FaseX [ f ]FaseH [ f ]

Na forma retangular

ReY [ f ]=ReX [ f ] ReH [ f ]−ImX [ f ] ImH [ f ]

ImY [ f ]=ImX [ f ] ReH [ f ] ReX [ f ] ImH [ f ]


Divisão no domínio da frequência
(deconvolução)
Na forma polar

MagH [ f ]=MagY [ f ]/ MagX [ f ]

FaseH [ f ]=FaseY [ f ]−FaseX [ f ]

Na forma retangular

ReY [ f ] ReX [ f ]ImY [ f ]ImX [ f ]


ReH [ f ]= 2 2
ReX [ f ]ImX [ f ]

ImY [ f ] ReX [ f ]−ReY [ f ]ImX [ f ]


ImH [ f ]=
ReX 2 [ f ]ImX 2 [ f ]

fftconv
Convolução Circular

Recordando: a convolução de um sinal de N pontos com


outro sinal de M pontos gera um terceiro sinal com N+M-1
pontos.
Exemplo:

N = 453 M = 60 N+M-1 = 512


Convolução Circular

Como N = 453 e M = 60, poderíamos fazer a DFT destes


dois sinais com 454 pontos, sem problemas.
Entretanto, após a multiplicação dos mesmos no domínio
da frequência e a aplicação da transformada inversa,
teremos um sinal de 454 pontos, quando deveríamos ter
um sinal de 512 pontos.
Este é um ponto importante: ao fazer a convolução via
DFT, devemos garantir que o comprimento da mesma seja
suficiente não apenas para abrigar os sinais a serem
convoluídos, mas também o sinal resultante.
Em resumo, o comprimento da DFT deve ser maior ou
igual a N+M-1. Quando isto não acontece, temos a
convolução circular.
256 amostras 51 amostras 306 amostras

DFT de
256 pontos

Sinal resultante distorcido


por convolução circular
Convolução circular

Neste exemplo, as 306 – 256 = 50 amostras iniciais estão


distorcidas devido à convolução circular.
Para evitá-la, devemos preencher os sinais a serem
convoluídos com zeros até o comprimento adequado
(N+M-1) e tomar a DFT de pelo menos (N+M-1) pontos
para fazer a convolução.
Cheque sua compreensão

Ao fazer uma convolução via DFT de dois sinais de 130


amostras usando uma DFT de 256 pontos, quais amostras
seriam distorcidas por convolução circular?

Qual seria o número mínimo de pontos necessários na DFT


para não haver convolução circular?

Você também pode gostar