Você está na página 1de 30

Processamento Digital de Sinais (Cont.

)
O processamento digital de sinais consiste no método de analisar sinais
de sistemas reais usando ferramentas matemáticas, podendo assim
realizar transformações ou extrair informações destes sinais.
Os sinais provenientes dos sistemas reais a serem analisados
geralmente são sinais analógicos.
Para que os nossos computadores, analisadores, possam processar estes
sinais, é necessário que haja um processamento desses sinais
analógicos na forma digital.

1
2
3
4
5
Amostragem (Sampling)

Quantização (Quantization)

6
Erro de Quantização

7
8
Resolução do Conversor A/D

Faixa Faixa
q 
L  1 2b  1

Resolução do conversor: q ou  ou LSB;


L = Níveis de quantização;
b = Número de bits.
Exemplo 1: Um conversor de 4 bits possui 16 níveis de
quantização, e se a sua faixa de medição em tensão é de 0 a 10 V
(ou de -5 a 5 V), então a resolução é de 10/24-1=0.667 volts.
Exemplo 2: No exemplo acima, se o número de bits for
aumentado para 8 e o range de voltagem continuar o mesmo,
tem-se a seguinte resolução: 10/28-1=0.039 volts.
9
10
11
Fórmulas da Discretização dos Sinais no Domínio do Tempo e no
Domínio da Freqüência.

T = Tempo (ou Período) de Aquisição ou


T = N ∆t
Período de Análise ou Registro Temporal
(“Time Record”); 1 1
t   fs 
N = Número de Linhas Espectrais fs t
∆t = Intervalo de Tempo ou de
1 1
Amostragem ou Incremento de Tempo; ∆f = ∴ T= ∴ T∆f = 1
T ∆f
∆f = Intervalo de Freqüência ou
Resolução em Freqüência; Quanto maior a duração da aquisição do sinal,
fs = Freqüência ou Taxa de amostragem maior resolução terá o espectro.
12
* Lembrete: TF de uma função co-seno:
1 jω 0 t
x(t ) = cos(ω0t ) x(t ) = (e + e − jω 0 t )
2
1 jω 0 t 1
X (ω) = ℑ{x(t )} = ℑ{e } + ℑ{e − jω0t }
2 2
(* Obs : ℑ{x(t )e jω t } = X (ω − ω0 ))
0
( * Obs : ℑ{K } = 2πKδ(ω) )
1 1
X (ω) = 2πδ(ω − ω0 ) + 2πδ(ω + ω0 )
2 2
1 1
X (ω) = πδ(ω − ω0 ) + πδ(ω + ω0 ) X ( f ) = δ( f − f0 ) + δ( f + f0 )
2 2
A T.F. do co-seno consiste de duas funções delta de Dirac simétricas,
uma localizada em f0 e outra em - f0.

13
Exemplo simples de aplicação da FFT com o Matlab
clear;clc;
% Geração de uma função co-seno
fo=4; % freqüência da onda harmônica
Fs=100; % freqüência de amostragem
dt=1/Fs; % intervalo de amostragem
t=0:dt:1-dt; % vetor do tempo
N=length(t); % Número de amostras
y=2*cos(2*pi*fo*t); % a onda harmônica
figure(1)
plot(t,y)
xlabel('Tempo (segundos)');ylabel('y(t)');title('Onda harmônica amostrada')
Onda harmônica amostrada
2

1.5

0.5
y(t)

­0.5

­1

­1.5

­2 14
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Tempo (segundos)
Quando aplica-se a Transformada de Fourier na função
harmônica, espera-se encontrar o seguinte gráfico:

Existe também o espectro da fase, mas não vamos discuti-la por


enquanto

Agora, vamos utilizar o comando da fft do matlab para


reconstruir o espectro esperado.

15
Yfreq=fft(y);
figure(2)
stem(abs(Yfreq),'-k');
xlabel('Número de amostras');ylabel('Amplitude')
title('Usando o comando fft do matlab');axis([0,100,0,120])
Usando o comando fft do matlab
120

100

80
Amplitude

60

40

20

0
0 10 20 30 40 50 60 70 80 90 100
Número de amostras

Este gráfico não se parece com o espectro esperado. Isto pois:


O eixo-x não fornece informação da freqüência;
A amplitude é igual a 100;
O espectro não é centrado em torno de zero. 16
if mod(N,2)==0
k=-N/2:N/2-1; % N par
else
k=-(N-1)/2:(N-1)/2; % N ímpar
end
df=Fs/N;
freq=k*df; % Criando o eixo de freqüências negativas e positivas
Xfreq=fft(y)/N; % Corrige as amplitudes
Xfreq=fftshift(Xfreq); % Desloca os dados da FFT, centralizando-os
stem(freq,abs(Xfreq),'-k')
xlabel('Freqüência (Hz)');ylabel('Amplitude')
title('Usando o comando fftshift');axis([-6,6,0,1.5])

Usando o comando fftshift
1.5

1
OK !!
Amplitude

0.5

0
17
­6 ­4 ­2 0 2 4 6
Freqüência (Hz)
Como visto no gráfico anterior, o espectro é simétrico em relação ao eixo y.
Desta forma, é necessário apenas um lado do espectro. Em geral, o lado
positivo do espectro é usado, enquanto que o lado negativo é ignorado. Isto é
feito a seguir:
k=0:N-1;
freq=k*df; % Criando um vetor de 0 a N-1
XXfreq=fft(y)/N;
cutoff=ceil(N/2);
freq=freq(1:cutoff); % Toma-se a parte positiva de freqüências
XXfreq=XXfreq(1:cutoff); % Toma-se a primeira metade do espectro
figure(4)
stem(freq,abs(XXfreq),'-k')
xlabel('Freqüência (Hz)');ylabel('Amplitude')
title('Usando somente a parte positiva de freqüências');axis([0,20,0,1.5])
Usando somente a parte positiva de freqüências
1.5
Amplitude

0.5

18
0
0 2 4 6 8 10 12 14 16 18 20
Freqüência (Hz)
EFEITO DE “LEAKAGE” E USO DE FUNÇÕES JANELAS
 No processamento digital de sinais para a computação da DFT, os sinais
deverão ser inicialmente digitalizados. Nesta etapa erros de aliasing e de
quantização podem surgir.
 O aliasing é proveniente de uma baixa taxa de amostragem e o erro de
quantização está associado com a precisão da amplitude do sinal amostrado.
 Um outro problema que pode vir a surgir é o efeito de leakage. Leakage (ou
vazamento) é um fenômeno que tende a espalhar energia contida numa
freqüência em linhas de freqüências adjacentes no espectro, distorcendo-o, e
fazendo com que a amplitude seja subestimada.
 O leakage ocorre na transformação dos dados no domínio do tempo para o
domínio da freqüência usando a FFT.
 O processo da FFT requer que o sinal amostrado consista de uma
representação completa do sinal original no domínio do tempo ou contenha
uma repetição periódica do sinal original medido.
 Em sinais transientes, cuja amplitude decai a zero, totalmente contidos no
registro temporal, isto não implica em problemas. 19
 Porém, em sinais estacionários, como por exemplo sinais periódicos, podem
haver problemas. O sinal periódico pode não ter um número inteiro de ciclos
capturado pelo registro temporal, fazendo com que a repetição do registro
temporal não reconstrua o sinal original exatamente, e implicando em
distorção em seu espectro.
 Para minimizar este efeito, os sinais não periódicos e os periódicos, que não
possuam número inteiro de ciclos dentro do registro temporal, devem ser
multiplicados por uma função matemática que faz com que sinal tenha valor 0
(zero) no início e no final do registro temporal.
 Esta função matemática é chamada de função janela ("window function").
Janelas comumente usadas pelos analisadores digitais são a janela uniforme
(ou retangular), janela Hanning, Kaiser-Besel e flat top. Uma comparação
entre esses tipos de janelas pode ser encontrada em MacConnell (1995).
 A seguir, dois exemplos: o primeiro mostra a causa e o surgimento do
“leakage”, e o segundo mostra a utilização da função janela “hanning” para a
minimização do surgimento deste efeito.

20
1) Exemplo de Surgimento de Leakage:
% Este programa mostra o efeito do Leakage no espectro de um sinal
clear all;close all
dt=0.0025; t=0:dt:1-dt;
w=2*pi*10; x=sin(w*t);
figure(1)
plot(t,x);xlabel('tempo');ylabel('x(t)')
title('Senoide com número inteiro de ciclos');

21
% Neste caso, a senoide possui um número inteiro de ciclos %
amostrados dentro do período de aquisição, e portanto, a % DFT
fornece um resultado exato.
N=length(x); X=(1/N)*fft(x);
dt=0.0025; df=1/(N*dt);
f=0:df:N/2*df;
figure(2)
stem(f,abs(X(1:N/2+1))); axis([0,80,-0.2,0.6])
xlabel('freqüência [Hz]');ylabel('Abs(X)')

22
% Se alterarmos levemente o valor da freqüência do sinal,
% então esta senoide não possuirá mais um número inteiro
% de ciclos dentro do tempo de aquisição. Neste caso
% surgirão os efeitos de "leakage".
w=2*pi*11.5;
x=sin(w*t);
figure(3)
plot(t,x);xlabel('time');ylabel('x(t)')
title('Senoide sem número inteiro de ciclos')

23
X=(1/N)*fft(x);
figure(4)
stem(f,abs(X(1:N/2+1))); axis([0,80,-0.2,0.6])
xlabel('frequency [Hz]');ylabel('Abs(X)')
% Os efeitos de "leakage" são claros.

"Leakage“ (ou vazamento) é um fenômeno que tende a espalhar energia


contida numa freqüência em linhas de freqüências adjacentes no espectro,
distorcendo-o, e fazendo com que a amplitude seja subestimada.
24
% O fato é que o último resultado corresponde à série de Fourier
% do sinal mostrado a seguir, obtido pela periodização deste sinal
% não periódico dentro do tempo de aquisição.
figure(5)

plot(0:dt:(2*N-1)*dt,[ x x]);xlabel('tempo');ylabel('x(t)')

25
2) Exemplo da Utilização da Janela Hanning:
Função harmônica com número inteiro de períodos dentro do período de
aquisição e seu respectivo espectro de freqüências:
2 2.5

1.5
2
1

0.5
1.5

1
­0.5

­1
0.5
­1.5

­2 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 5 10 15 20 25 30
tempo [s] freqüência [Hz]

Função harmônica sem número inteiro de períodos dentro do período de


aquisição e seu respectivo espectro de freqüências:
1.4
2

1.5 1.2

1 1

0.5
0.8

0
0.6
­0.5
0.4
­1

0.2
­1.5

­2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
0
0 5 10 15 20 25 30
26
freqüência [Hz]
tempo [s]
2

1.5

0.5

Sinal Multiplicado pela janela Hanning
0 4

­0.5 3

­1 2

­1.5 1

­2 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
tempo [s]

×
­1

Janela hanning
= ­2

2 ­3

1.8 ­4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
1.6 tempo [s]

1.4

1.2

1
DFT (FFT)
0.8

0.6
1.8
0.4
1.6
0.2

0 1.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

Janela hanning 1.2

0.8

Foi minimizado o efeito de 0.6

0.4

“leakage”!! 0.2

0
0 5 10 15
freqüência [Hz]
20 25 30
27
Resumo do exercício:
Figura abaixo:(a) Uma senoide contínua no tempo é representada por uma
única linha no domínio da freqüência; (b) Quando observada na janela
retangular, ou uniforme, do registro temporal do analisador, continua sendo
uma linha reta no domínio da freqüência, se tiver um número inteiro de
ciclos no registro temporal; (c) Se não tiver um número inteiro de ciclos,
ocorre leakage e há um "vazamento" de energia nas freqüências adjacentes;
(d): Para reduzir este efeito utiliza-se uma função janela, como a janela
hanning; (d) Multiplicando a senoide com a janela hanning minimiza-se o
efeito de leakage

28
 A maioria dos analisadores de sinais empregam duas ou mais diferentes
funções janelas. Além das janelas de força e exponencial, usadas em
testes de impacto, quatro funções janelas comumente usadas são as
janelas Retangular, Hanning, Kaiser-Bessel e Flat Top. Essas quatros
janelas podem ser definidas em termos de uma expressão geral
(McConnel, 1995) dada por
w(t ) = a0 − a1 cos( ω 0t ) + a2 cos( 2ω 0t ) − a3 cos( 3ω 0t ) + a4 cos( 4ω 0t )

29
Uso Recomendável de Janelas:
 Sinais Periódicos: Hanning: Em, geral, é a melhor.
Kaiser Bessel: Para selectividade em freqüência
Flat Top: Para precisão em amplitude
Retangular: Apenas se houver um número inteiro de
ciclos dentro de T, o que é bastante difícil de alcançar na prática.
 Sinais Transientes: A mais adequada é a Retangular (exceção: Janela
expeonencial em testes modais com o martelo de impacto).
 Sinais Aleatórios: Hanning: A melhor
Kaiser Bessel: Para selectividade em freqüência
Flat Top e retangular: Não são recomendadas.

30

Você também pode gostar