Processamento Digital de Sinais
Notas de Aula
An´
alise Espectral Usando a DFT
Ricardo Tokio Higuti
Departamento de Engenharia El´etrica - FEIS - Unesp
Observa¸c˜ao: Estas notas de aula est˜ao baseadas no livro: “Discrete-Time Signal Processing”, A.V. Oppenheim and R.W. Schafer, Prentice Hall, 1989/1999.
An´
alise Espectral Usando a DFT
Uma das principais aplica¸c˜oes da DFT ´e a an´alise do conte´udo de freq. de sinais (an´alise espectral)
Aplica¸c˜oes:
• An´alise e s´ıntese de sinais de voz • Estudo de harmˆonicos em redes
• Medi¸c˜ao de desvio de frequˆencia (Doppler)
Para o uso da DFT na an´alise de sinais de tempo cont´ınuo, deve-se considerar:
• Amostragem (qual freq. de amostragem usar?)
• DFT: para sinais de dura¸c˜ao finita - truncamento do sinal (quantos pontos usar?)
An´
alise Espectral
Filtro anti-aliasing Conversor C/D janelamento DFT Npontos x janela pontos L sc(t) xc(t) x[n] v[n] w[n] V [k] Haa(jΩ) fs=1 T• Filtro anti-aliasing: elimina/atenua componentes de freq. acima de Ωs/2 (ou fs/2), para evitar sobreposi¸c˜ao do espectro;
• Conversor C/D: ´e um conversor A/D, que amostra o sinal xc(t) a uma taxa de fs amostras por segundo, e no qual devem ser con-sideradas suas caracter´ısticas n˜ao-ideais (amostragem com reten¸c˜ao, n´umero finito de bits);
• Truncamento ou janelamento: v[n] = x[n] · w[n], em que w[n] ´e uma fun¸c˜ao que limita a dura¸c˜ao do sinal x[n], chamada de janela. Ela determina o comprimento do sinal a ser analisado (L), e pode fazer alguma modifica¸c˜ao no formato do sinal original, no tempo e em freq¨uˆencia.
• DFT: Calcula a DFT do sinal v[n], utilizando N ≥ L pontos para o c´alculo:
V [k] =L−1X n=0
v[n]e−j2πNkn, k = 0, 1, ..., N − 1
An´
alise Espectral
0 1 2 3 4 5 6 7 Sc(jΩ) Ω0 Ω1 Haa(jΩ) Xc(jΩ) X(ejω) W (ejω) V (ejω), ˜V [k] V [k] ω ω ω Ω Ω Ω ∆ω N − 1 Ωs 2 = π T Ωs 2 = π T π π π k 2π 2π 2π −π −π −π −2π −2π −2π Ω Ω Ω
Rela¸c˜
ao Entre as Transformadas
Os v´arios parˆametros usados na an´alise espectral determinam a rela¸c˜ao entre as freq. anal´ogicas e as amostras da DFT. S˜ao eles:
• Freq. amostragem: fs= 1/T
• N´umero de pontos usado no c´alculo da DFT: N Relembrando alguns pontos importantes:
• Quando um sinal xc(t) ´e amostrado, obtendo-se o sinal x[n], tem-se que a DTFT de x[n], X(ejω), est´a relacionada com o espectro do sinal de tempo cont´ınuo amostrado, Xs(jΩ), pela rela¸c˜ao de freq¨uˆencias:
ω = ΩT = 2πf /fs
• Em um sinal de tempo discreto de dura¸c˜ao finita v[n], sua DFT, V [k], e sua DTFT, V (ejω), est˜ao relacionadas por:
V [k] = V (ejω)|ω=2π
Nk, k = 0..N − 1
ou seja, a DFT ´e composta por N amostras da DTFT, equiespa¸cadas de ∆ω = 2π/N , entre ω = 0 e 2π.
Da´ı, pode-se relacionar a amostra k da DFT com a freq. f , em Hertz: ∆ω = 2π/N = ∆ΩT = 2π∆f /fs
e portanto,
∆f = fs N
´e o espa¸camento equivalente entre as amostras do espectro do sinal de tempo cont´ınuo, que ´e amostrado nas freq¨uˆencias
fk= fs Nk
Problemas e Limita¸c˜
oes
Devido `as opera¸c˜oes realizadas sobre o sinal de tempo cont´ınuo, os dados resultantes do c´alculo da DFT podem n˜ao representar exatamente o espec-tro original. Esses efeitos devem ser levados em conta, para que n˜ao haja interpreta¸c˜oes errˆoneas sobre o conte´udo de freq. do sinal sendo analisado.
Deve-se considerar:
• Aliasing (freq. amostragem)
• Efeito do janelamento (formato e comprimento da janela) – Vazamento espectral (Spectral Leakage)
• N´umero de pontos da DFT – Amostragem espectral
Amostragem do sinal
O sinal deve ser amostrado a uma taxa maior que duas vezes sua m´axima freq¨uˆencia. Por exemplo, para uma sen´oide com frequˆencia f0 amostrada a uma taxa fs: 0 5 10 15 −1 −0.5 0 0.5 1 sequência −1 −0.5 0 0.5 1 0 5 10 espectro 0 5 10 15 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0 5 10 0 5 10 15 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0 5 10 15 20 fs= 5f0 fs=5 2f0 fs= 2f0 0 5 10 15 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0 5 10 0 5 10 15 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0 5 10 0 5 10 15 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0 5 10 15 20 n ω/π fs=2 3f0 fs=5 4f0 fs= f0
Efeito do Janelamento
O sinal x[n] sofre um truncamento, que ´e representado matematicamente por uma multiplica¸c˜ao por uma fun¸c˜ao w[n], chamada de janela:
v[n] = x[n] · w[n]DT F T←→ V (ejω) = 1 2π
Z π −πX(e
jθ)W (ej(ω−θ))dθ O efeito na freq¨uˆencia ´e uma convolu¸c˜ao peri´odica do espectro original com o espectro da janela. H´a, portanto, mudan¸cas no espectro original, e este efeito ´e chamado de vazamento espectral (spectral leakage), e de-pende do tipo de truncamento utilizado (formato e comprimento da janela w[n]).. Analisando o caso de uma sen´oide:
x[n] = A cos(ω0n + θ0) = A 2e j(ω0n+θ0)+A 2e −j(ω0n+θ0) O espectro de x[n] ´e: X(ejω) = Aπejθ0δ(ω − ω 0) + Aπe−jθ0δ(ω + ω0), |ω| < π O sinal truncado fica com o espectro:
V (ejω) =A 2e
jθ0W (ej(ω−ω0)) +A
2e
−jθ0W (ej(ω+ω0))
Utilizando A = 1, ω0 = π/4, θ0 = 0 e uma janela retangular com comprimento L igual a 32 amostras, fica-se com as seguintes sequˆencias e espectros de magnitude.
Vazamento Espectral
-1 -1 -0.5 -0.5 0 0 0.5 0.5 1 1 2 4 6 8 10 12 14 16 18 -1 -0.5 0 0.5 1 0 5 10 15 20 25 30 35 -10 0 10 20 30 40 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -10 0 10 20 30 40 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 -10 0 10 20 30 40 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Sequências Espectros (DTFT) π n n n ω/π ω/π ω/π x[n] ↔ X(ejω) w[n] ↔ W (ejω) v[n] ↔ V (ejω)• Observando o espectro de V (ejω), e comparando-o com o do sinal original X(ejω), percebe-se que apareceram outras frequˆencias devido ao truncamento, quando deveria ser observada apenas a frequˆencia ω0= π/4.
• Se o sinal tiver frequˆencias pr´oximas entre si, o efeito do vazamento espectral pode dificultar a identifica¸c˜ao das mesmas.
Vazamento Espectral
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 12 14 16 18 m ag n it u d e |V (e j ω)| ω/π A1 A2= 16 8 x[n] = cos(0.25πn) + 0.5 cos(0.75πn) −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 12 14 16 18 m ag n it u d e |V (e j ω)| ω/π A1 A2= 16 8.7 x[n] = cos(0.25πn) + 0.5 cos(0.35πn) −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 12 14 16 m ag n it u d e |V (e j ω)| ω/π A1 A2= 15 ? x[n] = cos(0.25πn) + 0.5 cos(0.29πn)Janelas
Existem diversas janelas, com diferentes caracter´ısticas de formato no dom´ınio do tempo, que acabam por influenciar no seu espectro. Os parˆametros principais s˜ao relacionados, no espectro da janela, a:
• Largura do l´obulo principal • N´ıvel de l´obulo lateral
lóbulo principal lóbulos laterais nível de lóbulo lateral largura do lóbulo principal formato comprimento 0 w[n] L − 1 n DTFT L W (ejω) ω −π π
Janelas (comprimento L = 16)
0 5 10 15 0 0.2 0.4 0.6 0.8 1 Janelas com L=16 retangular Hamming Hanning Blackman n -1 0 1 -80 -60 -40 -20 0 dB Retangular -1 0 1 -80 -60 -40 -20 0 Hamming -1 0 1 -80 -60 -40 -20 0 dB Hanning -1 0 1 -80 -60 -40 -20 0 Blackman ω/π ω/π−→ Ao se modificar o formato da janela, tanto a largura do l´obulo principal como o n´ıvel dos l´obulos laterais s˜ao modificados.
Janela de Kaiser
Fam´ılia de janelas parametrizada por um fator de forma β.
0 5 10 15 0 0.2 0.4 0.6 0.8 1 n β = 0 β = 3 β = 6 Janelas de Kaiser com L = 16
-1 -0.5 0 0.5 1 -80 -70 -60 -50 -40 -30 -20 -10 0 dB ω/π β = 0 β = 3 β = 6 Espectros de janelas de Kaiser com L = 16
Janela de Kaiser
Mudando-se o comprimento da janela e mantendo-se o fator de forma β.
-1 -0.5 0 0.5 1 -80 -70 -60 -50 -40 -30 -20 -10 0 dB ω/π L = 8 L = 16 L = 32 Espectros de janelas de Kaiser com β = 6
−→ Mudando-se o comprimento da janela e mantendo-se o seu for-mato, altera-se a largura dos l´obulos (principal e laterais) e o decai-mento dos l´obulos laterais em fun¸c˜ao da frequˆencia, mas o n´ıvel do primeiro l´obulo lateral permanece o mesmo.
Vazamento Espectral - Efeito do Formato da Janela
Seja o sinal: x[n] = cos(0.25πn) + 2 cos(0.38πn). Utilizando janelas retan-gular e de Hamming, com L = 64 amostras, fica-se com:
0 10 20 30 40 50 60 −4 −2 0 2 4 amplitude 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 20 40 60 80 v[n], Janela retangular L = 64 |V (e j ω)| Amostra n ω/π A1 A2= 35 66.45 = 1 1.8986 0 10 20 30 40 50 60 −4 −2 0 2 4 amplitude 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 10 20 30 40 v[n], Janela de Hamming L = 64 |V (e j ω)| Amostra n ω/π A1 A2= 17.23 34.26 = 1 1.9884
Vazamento Espectral - Efeito do Formato da Janela
0 0.5 1 1.5 2 0 10 20 30 0 10 20 30 40 50 60 -4 -2 0 2 4 amplitude v[n], Janela de Blackman L = 64 |V (e j ω)| Amostra n ω/π A1 A2= 13.22 26.44= 1 2
Vazamento Espectral - Comprimento da Janela
Variando-se o comprimento da janela de Hamming (L = 64 e L = 32):
0 10 20 30 40 50 60 −4 −2 0 2 4 amplitude 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 10 20 30 40 v[n], Janela de Hamming L = 64 |V (e j ω)| Amostra n ω/π A1 A2= 17.23 34.26 = 1 1.9884 0 5 10 15 20 25 30 −4 −2 0 2 4 amplitude 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 5 10 15 20 v[n], Janela de Hamming L = 32 |V (e j ω)| Amostra n ω/π A1 A2= ? 16.9
Amostragem Espectral
Deve-se lembrar que a DFT corresponde a amostras da DTFT: V [k] = V (ejω)|ω=2π Nk, k = 0..N − 1 0 10 20 30 40 50 60 −4 −2 0 2 4 amplitude 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 v[n], Janela retangular L = 64 |V (e j ω)| Amostra n ω/π A1 A2 = 35 66.45= 1 1.8986 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 |V [k ]| , N = 64 ωk= 2πk/N A1 A2= 34.79(@0.25π) 61.85(@0.375π)= 1 1.7778
Amostragem Espectral
Variando o n´umero de pontos da DFT (N ), modifica-se o espa¸camento entre amostras do espectro de V (ejω).
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 |V [k ]| , N = 64 ωk= 2πk/N A1 A2= 34.79(@0.25π) 61.85(@0.375π)= 1 1.7778 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 |V [k ]| , N = 12 8 ωk= 2πk/N A1 A2= 34.79(@0.25π) 61.85(@0.375π)= 1 1.7778 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 |V [k ]| , N = 25 6 ωk= 2πk/N A1 A2= 34.79(@0.25π) 66.17(@0.383π)= 1 1.9020
Amostragem Espectral
Seja o sinal: x[n] = cos(0.25πn) + 2 cos(0.50πn). Utilizando janela retan-gular com comprimento L = 64 e variando-se o comprimento da DFT, fica-se com: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 |V [k ]| , N = 64 ωk= 2πk/N A1 A2= 32(@0.25π) 64(@0.50π) = 1 2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 |V [k ]| , N = 12 8 ωk= 2πk/N A1 A2= 32(@0.25π) 64(@0.50π) = 1 2
Rela¸c˜
ao entre as frequˆ
encias
• Amostragem da DTFT: ωk = 2π Nk, 0 ≤ k ≤ N − 1 • Amostragem do sinal: ω = ΩT =2πf fs • Resolu¸c˜ao na frequˆencia: ∆ω = 2π N = ∆ΩT = 2π ∆f fs • Resolu¸c˜ao na frequˆencia f : ∆f = fs N• Rela¸c˜ao entre frequˆencias anal´ogicas e as amostras k: fk= fs Nk 0 0 0 1 2 3 4 5 6 7 15 31 0.5p p 1.5p 2p 0 5 10 15 20 25 30 35 k [amostras] ω [rad] f [Hz] fs/4 fs/2 3fs/2 fs N − 1
Exemplo: an´
alise espectral
Os sinais a seguir representam a tens˜ao e a corrente numa lˆampada fluo-rescente compacta. Os sinais foram amostrados por um oscilosc´opio digital com resolu¸c˜ao vertical de 8 bits e frequˆencia de amostragem igual a 5 kHz.
0 0.02 0.04 0.06 0.08 0.1 0.12 −400 −300 −200 −100 0 100 200 300 400 tempo [s] amplitude [V] tensão 0 0.02 0.04 0.06 0.08 0.1 0.12 −0.02 −0.015 −0.01 −0.005 0 0.005 0.01 0.015 0.02 tempo [s] amplitude [A] corrente
A id´eia ´e analisar o sinal com diversos comprimentos L, janela retangular e de Hamming, e diferentes valores de N para o c´alculo da DFT.
Exemplo: an´
alise espectral (cont.)
Utilizando uma por¸c˜ao de sinal com L = 512 amostras, e aplicando a DFT com N = 512 pontos, e janelas retangular e de Hamming, tˆem-se os seguintes sinais no dom´ınio da frequˆencia:
0 500 1000 1500 2000 2500 −80 −70 −60 −50 −40 −30 −20 −10 0 10
Tensao, janela retangular, L=512, N=512
0 500 1000 1500 2000 2500 −80 −70 −60 −50 −40 −30 −20 −10 0 10
Tensao, janela de Hanning, L=512, N=512
f [Hz]
magnitude [dB]
Exemplo: an´
alise espectral (cont.)
Utilizando uma por¸c˜ao de sinal com L = 2048 amostras, e aplicando a DFT com N = 4096 pontos, e janelas retangular e de Hamming, tˆem-se os seguintes sinais no dom´ınio da frequˆencia:
0 500 1000 1500 2000 2500 −80 −70 −60 −50 −40 −30 −20 −10 0 10
Tensao, janela retangular, L=2048, N=4096
0 500 1000 1500 2000 2500 −80 −70 −60 −50 −40 −30 −20 −10 0 10
Tensao, janela de Hanning, L=2048, N=4096
f [Hz]
Exemplo: an´
alise espectral (cont.)
Para ilustrar os efeitos do vazamento espectral e da amostragem espectral, as tabelas a seguir mostram as frequˆencias e magnitudes das harmˆonicas em 60, 300 e 420 Hz, para os v´arios casos estudados.
Parˆametros 60 Hz 300 Hz 420 Hz f [Hz] A [dB] f [Hz] A [dB] f [Hz] A [dB] L = 512 Hamming 58,6 0 302,7 -38,2 419,9 -41,3 N = 512 Retangular 58,6 0 293,0 -39,6 419,9 -45,3 L = 1024 Hamming 61,0 0 300,3 -37,5 419,9 -40,5 N = 2048 Retangular 61,0 0 297,9 -38,7 417,5 -42,9 L = 1024 Hamming 59,8 0 300,3 -37,7 419,9 -40,7 N = 4096 Retangular 59,8 0 299,7 -39,3 416,3 -43,5 L = 4096 Hamming 59,8 0 299,7 -37,3 419,9 -40,8 N = 8192 Retangular 59,8 0 299,7 -38,9 419,9 -41,2
Percebe-se que, dependendo do processamento, chega-se a diferentes valores de frequˆencias e n´ıveis de distor¸c˜ao devido `as harmˆonicas de ordem superior.
Exemplo: an´
alise espectral (cont.)
Analisando a forma de onda de corrente, chega-se ao seguinte espectro de magnitude. 0 500 1000 1500 2000 2500 −40 −35 −30 −25 −20 −15 −10 −5 0 5 10
Corrente, janela de Hanning, L=2048, N=4096
f [Hz]
magnitude [dB]
• Observando o espectro, nota-se que h´a harmˆonicas de m´ultiplos ´ımpares da fundamental.
• Como o sinal ´e de alta frequˆencia (pulsos r´apidos), o espectro se es-tende a frequˆencias superiores a 2500 Hz, causando aliasing.
Exemplo: an´
alise espectral (cont.)
2000 2100 2200 2300 2400 2500 −40 −35 −30 −25 −20 −15 −10 −5 0Corrente, janela de Hanning, L=2048, N=4096
f [Hz] magnitude [dB] harmônica ordem 35 37 39 41 A B
• Componente em A: aliasing da componente em 43×60 = 2580 Hz, que aparece em (5000-2580) = 2420 Hz.
• Componente em B: aliasing da componente em 45×60 = 2700 Hz, que aparece em (5000-2700) = 2300 Hz.
• As magnitudes podem ter erros, caso ocorra sobreposi¸c˜ao de uma raia em outra.
Espectrograma
• An´alise Espectral com DFT: adequada para sinais cujo conte´udo de freq¨uˆencia n˜ao varia com o tempo.
• Na pr´atica: o conte´udo de freq¨uˆencia do sinal pode variar com o tempo (voz).
• A an´alise espectral realizada sobre todo o sinal de uma s´o vez pode ocultar informa¸c˜oes importantes da varia¸c˜ao do conte´udo de freq¨uˆencia ao longo do tempo.
Chirp
Seja um sinal cuja freq. varia com o tempo: x[n] = cos(ω0n2)
A freq. instantˆanea do sinal ´e 2ω0n. O sinal e a magnitude de sua DFT s˜ao: 0 50 100 150 200 250 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 n 0 0.1 0.2 0.3 0.4 0.5 0 5 10 15 20 25 30 35 40 magnitude f /fa
N˜ao se pode determinar como variou o conte´udo de freq. do sinal ao longo do tempo. Uma alternativa ´e fracionar o sinal e calcular v´arias DFTs para diferentes intevalos de tempo.
Espectrograma
Multiplica-se o sinal x[n] por uma janela w[n] e calcula-se a DTFT: X[n, λ) = +∞X m=−∞ x[n + m] w[m] e−jλm Outra forma: X[n, λ) = +∞X m=−∞ x[m] w[n − m] e−jλm
Amostrando o espectro em N pontos equiespa¸cados e uma janela de comprimento L: X[n, k] = X[n, 2πk/N ] =L−1X m=0 x[n + m] w[m] e−j(2π/N )km, k = 0..N − 1 ou X[n, k] = X[n, 2πk/N ] = Xn m=n−L+1 x[m] w[n−m] e−j(2π/N )km, k = 0..N −1 • A dura¸c˜ao da janela ´e muito menor que a dura¸c˜ao total do sinal • A janela toma trechos do sinal ao longo do tempo
• Quanto mais estreita a janela, maior a resolu¸c˜ao no tempo e menor em freq.
• n ´e o deslocamento da janela em rela¸c˜ao ao sinal • Para cada n tem-se uma DFT
• N˜ao se pode ter uma boa resolu¸c˜ao no tempo e em freq. ao mesmo tempo usando a DFT