30
1 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. Para que os nossos computadores, analisadores, possam processar estes sinais, é necessário que haja um processamento desses sinais analógicos na forma digital. Os sinais provenientes dos sistemas reais a serem analisados geralmente são sinais analógicos.

Aula 9 - Revisão e Leakage

Embed Size (px)

Citation preview

Page 1: Aula 9 - Revisão e Leakage

1

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.

Para que os nossos computadores, analisadores, possam processar estes sinais, é necessário que haja um processamento desses sinais analógicos na forma digital.

Os sinais provenientes dos sistemas reais a serem analisados geralmente são sinais analógicos.

Page 2: Aula 9 - Revisão e Leakage

2

Page 3: Aula 9 - Revisão e Leakage

3

Page 4: Aula 9 - Revisão e Leakage

4

Page 5: Aula 9 - Revisão e Leakage

5

Page 6: Aula 9 - Revisão e Leakage

6

Amostragem (Sampling)

Quantização (Quantization)

Page 7: Aula 9 - Revisão e Leakage

7

Erro de Quantização

Page 8: Aula 9 - Revisão e Leakage

8

Page 9: Aula 9 - Revisão e Leakage

9

Resolução do Conversor A/D

1 2 1bFaixa Faixa

qL

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.

Page 10: Aula 9 - Revisão e Leakage

10

Page 11: Aula 9 - Revisão e Leakage

11

Page 12: Aula 9 - Revisão e Leakage

12

Fórmulas da Discretização dos Sinais no Domínio do Tempo e no Domínio da Freqüência.

tNT

1 1 s

st f

f t

1 1

1

fTf

TT

f

Quanto maior a duração da aquisição do sinal, maior resolução terá o espectro.

T = Tempo (ou Período) de Aquisição ou Período de Análise ou Registro Temporal (“Time Record”);

N = Número de Linhas Espectrais

t = Intervalo de Tempo ou de Amostragem ou Incremento de Tempo;

f = Intervalo de Freqüência ou Resolução em Freqüência;

fs = Freqüência ou Taxa de amostragem

Page 13: Aula 9 - Revisão e Leakage

13

* Lembrete: TF de uma função co-seno:

)cos()( 0ttx )(2

1)( 00 tjtj eetx

}{2

1}{

2

1)}({)( 00 tjtj eetxX

)(})({ :Obs* 00 Xetx tj )(2}{ :Obs* KK

)(22

1)(2

2

1)( 00 X

)()()( 00 X 0 01 1

( ) ( ) ( )2 2

X f f f f f

A T.F. do co-seno consiste de duas funções delta de Dirac simétricas, uma localizada em f0 e outra em - f0.

Page 14: Aula 9 - Revisão e Leakage

14

Exemplo simples de aplicação da FFT com o Matlab

clear;clc;% Geração de uma função co-senofo=4; % freqüência da onda harmônicaFs=100; % freqüência de amostragemdt=1/Fs; % intervalo de amostragemt=0:dt:1-dt; % vetor do tempoN=length(t); % Número de amostrasy=2*cos(2*pi*fo*t); % a onda harmônicafigure(1)plot(t,y)xlabel('Tempo (segundos)');ylabel('y(t)');title('Onda harmônica amostrada')

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

-1.5

-1

-0.5

0

0.5

1

1.5

2

Tempo (segundos)

y(t

)

Onda harmônica amostrada

Page 15: Aula 9 - Revisão e Leakage

15

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.

Page 16: Aula 9 - Revisão e Leakage

16

0 10 20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

Número de amostras

Am

plitu

de

Usando o comando fft do matlab

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

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.

Page 17: Aula 9 - Revisão e Leakage

17-6 -4 -2 0 2 4 60

0.5

1

1.5

Freqüência (Hz)

Am

plitu

de

Usando o comando fftshift

if mod(N,2)==0 k=-N/2:N/2-1; % N parelse k=-(N-1)/2:(N-1)/2; % N ímparenddf=Fs/N;freq=k*df; % Criando o eixo de freqüências negativas e positivasXfreq=fft(y)/N; % Corrige as amplitudesXfreq=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])

OK !!

Page 18: Aula 9 - Revisão e Leakage

18

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-1XXfreq=fft(y)/N;cutoff=ceil(N/2);freq=freq(1:cutoff); % Toma-se a parte positiva de freqüênciasXXfreq=XXfreq(1:cutoff); % Toma-se a primeira metade do espectrofigure(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])

0 2 4 6 8 10 12 14 16 18 200

0.5

1

1.5

Freqüência (Hz)

Am

plitu

de

Usando somente a parte positiva de freqüências

Page 19: Aula 9 - Revisão e Leakage

19

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.

Page 20: Aula 9 - Revisão e Leakage

20

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.

Page 21: Aula 9 - Revisão e Leakage

21

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

Page 22: Aula 9 - Revisão e Leakage

22

% 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)')

Page 23: Aula 9 - Revisão e Leakage

23

% 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')

Page 24: Aula 9 - Revisão e Leakage

24

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.

Page 25: Aula 9 - Revisão e Leakage

25

% 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)')

Page 26: Aula 9 - Revisão e Leakage

26

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:

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:

0 5 10 15 20 25 300

0.5

1

1.5

2

2.5

freqüência [Hz]

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

tempo [s]

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

-1.5

-1

-0.5

0

0.5

1

1.5

2

tempo [s]

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

freqüência [Hz]

Page 27: Aula 9 - Revisão e Leakage

27

=

DFT (FFT)

Foi minimizado o efeito de “leakage”!!

0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Janela hanning

Janela hanning

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

-1.5

-1

-0.5

0

0.5

1

1.5

2

tempo [s]

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

-3

-2

-1

0

1

2

3

4Sinal Multiplicado pela janela Hanning

tempo [s]

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

freqüência [Hz]

Page 28: Aula 9 - Revisão e Leakage

28

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

Page 29: Aula 9 - Revisão e Leakage

29

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

tatatataatw 040302010 4cos3cos2coscos)(

Page 30: Aula 9 - Revisão e Leakage

30

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.