Você está na página 1de 5

Processamento Digital de Sinais UFPA - 28/ago/2006

Discusso terica:
A DFT usada geralmente para analisar vetores que representam N amostras (eventualmente
quantizadas) de sinais originalmente analgicos. Depois de haver a amostragem, este sinal passa a
ser representado por estes N nmeros, que compem um simples vetor, no tendo informao
acerca de qual freqncia de amostragem foi utilizada ou qual a durao do sinal (em segundos, por
exemplo) que corresponde a estas N amostras. Como no h informao de "segundos" (tempo) no
vetor de entrada da DFT, a mesma no pode fornecer um vetor de sada com informao em "Hz"
(freqncia). A ligao entre as amostras e os instantes de tempo decorrentes entre elas dada pela
freqncia de amostragem fs. Este valor de fs precisa ser indicado explicitamente pelo usurio para
se poder gerar e interpretar o resultado da DFT em Hz. Segue um exemplo.
Ex: Gerao de um cosseno amostrado de 5 V de amplitude, freqncia de 10 Hz e fase de 90 graus,
com durao de 2 segundos, com freqncia de amostragem de f s = 40 Hz (Ts = 1 / fs). No Matlab
fica:
Ts=1/40;
t=0:Ts:2;
x=5*cos(2*pi*10*t+pi/2);
Pode-se saber quantas amostras este sinal tem usando-se a instruo N=length(x), que deve dar 81.
Use a instruo stem(x) e observe que a abcissa no corresponde a segundos, e sim ao ndice do
vetor x. Para inserir a informao de tempo, necessrio faz-lo explicitamente com a instruo
stem(t,x). A mesma coisa deve ser feita com a DFT. Para usar a DFT basta saber como gerar o eixo
de freqncias em Hz.
Enquanto a transformada de Fourier (DTFT) apresenta o espectro de um sinal discreto no tempo em
um eixo de freqncias contnuo (o crculo unitrio), a DFT tem necessidade de discretizar este
eixo, apresentando seus resultados apenas em algumas freqncias. Outro detalhe que a parte
correspondente ao espectro do nvel DC at a maior freqncia vem antes da parte de freqncias
negativas do espectro. O espaamento f entre estas freqncias (chamadas de raias de freqncias)
sempre o mesmo. O clculo de f simples pois w = (2 fs)/N e w = 2 f. Outra maneira de
entender tal equao vendo que f corresponde ao inverso do tempo de durao do sinal sob
anlise, ou seja, o tempo que corresponde s N amostras do sinal de entrada x. Sabendo-se que o
intervalo de tempo entre 2 amostras o perodo de amostragem Ts, o tempo correspondente a N
amostras durao_do_sinal = N Ts. Sendo assim, o intervalo entre as raias de freqncia da DFT
f=1/ (N Ts). Para o cosseno do exemplo anterior f=1/(81 x 0,025) = 0,4938 Hz. Lembre-se que f
tem uma outra interpretao, podendo ser descrito como f = fs / N.
Sabe-se ento que a DFT ir corresponder a N raias de freqncia, com espaamento f entre elas.
Com esta informao, o eixo das freqncias pode ser gerado para uma interpretao adequada do
espectro do sinal. H ainda um detalhe: a DFT representa as freqncias negativas at as positivas
do espectro. Sendo assim, metade das N raias de freqncia deveriam ser associadas s freqncias
negativas e a outra metade s freqncias positivas. Mas h o nvel DC (0 Hz), e quando N par, N1 (onde se desconta uma raia para o nvel DC) mpar e a diviso por 2 (parte negativa e positiva)
no um inteiro. Para N par, a DFT resolve este incmodo "retirando" a raia de maior freqncia
(ltima) do espectro positivo. Isto no problema na anlise de sinais reais, j que h simetria do
espectro e esta maior freqncia da parte positiva do espectro seria obtida fazendo-se o complexo

conjugado da menor freqncia da parte negativa do espectro. Uma questo importante: quanto
esta maior freqncia?
Para o exemplo do cosseno, N=81, tendo-se 40 raias na parte negativa e 40 na parte positiva do
espectro. A separao entre as raias f=1/ (N Ts) = 0,4938 Hz. A freqncia da i-sima raia i vezes
f (i x f). A maior freqncia ento 40 vezes f = 19,752 Hz e a menor freqncia -40 f =
-19,752 Hz. Observe que, como o sinal foi amostrado em 40 Hz, a maior freqncia que poderia ser
representada seria menor do que 40 Hz / 2 = 20 Hz. Este o "raciocnio" inverso do teorema de
amostragem de Nyquist, que diz que um sinal de freqncia mxima de 20 Hz deve ser amostrado
com fs maior do que 40 Hz.
Para calcular a magnitude do espectro do cosseno, tem-se ento:
X=fft(x);
X=fftshift(X);
fmax=19.752
deltaf=0.4938
eixo_freq=-fmax:deltaf:fmax;
stem(eixo_freq,abs(X));
Roteiro:
Considere que a DFT calculada a partir das seguintes frmulas (as mesmas usadas pelo Matlab),
onde N o nmero de pontos da DFT, x[n] o sinal no tempo e X[k] o sinal na freqncia:
Frmula de anlise da DFT:

X[ k ]

N 1

x[ n]e

j2nk
N

n 0

Frmula de sntese da DFT:

1
x[ n]
N

N 1

X[ k ]e

, calculada para k=0, 1, ..., N-1

j2nk
N

, calculada para n=0, 1, ..., N-1

k 0

1) Ache "manualmente" a DFT da seqncia x[n] = {2, 0, 2, 0}. Use a funo fft do Matlab, com os
comandos: x=[2 0 2 0] e depois X=fft(x) para calcular a mesma DFT. Compare os resultados.
2) No Matlab, crie os sinais (a) x[n]={1, 1, 0, 0} e (b) x[n]={1, 1, 0, 0, 0}, ache suas DFT's e
verifique a diferena entre o uso de N par versus N mpar, atentando para a simetria dos nmeros
X[k], j que x[n] um sinal real.
3) Considere que um sinal analgico s(t) foi amostrado com freqncia de amostragem de 2.000 Hz
e quantizado, gerando-se s[n]. Foi calculada a DFT do sinal digital s[n], usando-se uma DFT de
N=8 pontos. O grfico do mdulo da DFT dado abaixo. Todos os pontos do grfico da fase da
DFT so iguais a zero. Considerando que a amostragem do sinal foi realizada de forma adequada,
atendendo taxa de Nyquist, responda: (a) qual a resoluo espectral da anlise (espaamento entre
as raias da DFT) em Hz ? (b) quais os valores do sinal s[n] no domnio do tempo ?

4) Gere 4 perodos dos seguintes sinais peridicos, todos com amplitude de pico de 5 V, no domnio
do tempo: (a) senide de 100 Hz multiplicada por senide de 20 Hz e (b) onda quadrada de 100 Hz.
Use a freqncia de amostragem que voc achar adequada para representar os sinais. Calcule os
espectros e crie os grficos usando os valores do eixo da freqncia em Hz. Sua anlise espectral
est usando que valor para a resoluo em freqncia (espaamento entre as raias da DFT) ?

Parte II
Anlise no Domnio do Tempo e da Freqncia de um Sinal Digitalizado
S possvel fazer uma anlise do sinal digitalizado, caso se tenha informaes acerca do
processo de converso Analgico / Digital (A/D). A converso A/D composta pelas etapas de
amostragem e quantizao. O quantizador um bloco que recebe um valor qualquer x (uma amostra
de um sinal analgico) em sua entrada e a representa a partir de um nico valor, dentre N=2 b valores
possveis, onde b o nmero de bits por amostra. O quantizador pode representar a entrada x a
, que corresponde ao valor quantizado de x, ou usar um cdigo c para cada valor de x
,
partir de x
de acordo com o mostrado na figura abaixo. Na prtica, como em sistemas de telefonia digital PCM
por exemplo, os conversores A/D sempre tm como sada o cdigo c. No PCM, cada cdigo c
corresponde a uma srie de pulsos que so enviados de forma serial at o receptor. No receptor, por
.
ocasio da converso D/A, estes cdigos so convertidos para os valores de x

Basicamente, para se fazer a anlise de um sinal digital, os parmetros que devem ser
conhecidos so:
a) Freqncia de amostragem utilizada
b) Nmero de bits do conversor A/D (exemplo: 8, 10, 11, 12, 14 ou 16 bits por amostra)
c) A associao entre os cdigos usados pelo A/D e os valores de tenso; em outras palavras, a
escada de quantizao. Esta especificao pode ser especificada de vrias maneiras. Geralmente
so fornecidos:
c.1) O passo (step) de quantizao, normalmente especificado pela letra grega .
, que serve como referncia para a escada.
c.2) O menor ou o maior valor de x
. As duas regras mais usadas
c.3) A regra de correspondncia entre os valores de c e os de x
so as enumeram os degraus da escada de quantizao, desde o menor valor at o maior. A
representao sem sinal, enumera de 0 a N-1. A representao com sinal enumera de N/2 a
(N/2)-1.
Para tornar as coisas mais simples, sero estudados os modos de operao do conversor A/D
das placas de som para PC. Estes conversores possuem as seguintes caractersticas:
i) a freqncia de amostragem mxima de 44.100 Hz
ii) a converso A/D pode usar b=8 ou 16 bits por amostra.
iii) A faixa dinmica do sinal de entrada depende da configurao dos amplificadores internos da
placa de som. Para fins deste estudo, ser considerada uma faixa dinmica de 80 a 80 mV.
=0.
iv) O quantizador do tipo mid-tread, ou seja, um dos nveis atribudo ao valor x
v) quando se usa 8 bits/amostra, os cdigos gerados pelo conversor A/D vo de 0 a 255
(representao sem sinal). Quando se usa 16 bits/amostra, os cdigos gerados vo de 32.768 a
32.767 (representao com sinal).
vi) Para fins deste estudo, o valor do passo de quantizao ser de =(80mV (-80mV))/256 para 8
bits/amostra e =(80mV (-80mV))/65536 para 16 bits/amostra.
Exemplo: grave um arquivo sem cabealho SINAL.RAW (no use WAV pois a funo wavread do
Matlab normaliza a amplitude do sinal para -1 a 1), o qual ser representado por um vetor c,

correspondente aos cdigos de um sinal que foi digitalizado pela placa de som do PC, com
freqncia de amostragem de 11.025 Hz e 8 bits/amostra. Pede-se a anlise no domnio do tempo e
da freqncia deste sinal.
0) Ler o arquivo onde est gravado o vetor c.
load sinal
I) Anlise no domnio do tempo.
1) definir o eixo de tempo discretizado, em segundos, com o nmero de amostras sendo o mesmo
nmero de amostras do vetor c
num_amostras = length(c)
Ts=1/11025
t=0:Ts:(num_amostras-1)*Ts
2) converter os cdigos c em valores quantizados x_chapeu em volts. Considerando-se que a
digitalizao foi feita com 8 bits/amostra e dispondo-se das informaes acerca do modo de
operao das placas de som para PC, tem-se:
delta = (80e-3 (-80e-3))/256
codigos_com_sinal = c-128
x_chapeu=codigos_com_sinal * delta
3) plotar o grfico
plot(t,x_chapeu)
xlabel(tempo (em segundos))
ylabel(amplitude (em volts))
II) Anlise no domnio da freqncia.
1) calcular a Transformada Discreta de Fourier
X=fft(x_chapeu)
2) como a fft retorna inicialmente os valores da parte positiva do espectro e depois a parte negativa,
reorganizar para a ordem natural
X=fftshift(X)
3) a fft do Matlab no tem seu resultado expresso em volts. Para representar o resultado desta fft em
volts necessrio dividir o resultado da fft pelo nmero de amostras do vetor que a fft retornou (que
coincide com o nmero de amostras do vetor de entrada da fft)
X=X/length(X)
4) como o espectro composto por nmeros complexos, calcular seu mdulo e fase
X_modulo=abs(X)
X_fase=angle(X)
5) gerar um eixo de freqncias discreto. Maiores informaes sobre esta etapa podem ser
encontradas no roteiro da Experincia 3 (realizada em 03/10/97). A varivel delta_freq o
espaamento em Hz entre as raias do espectro do sinal.
delta_freq=11025 / length(X)
* caso length(X) seja um valor par, usar:
f=-11025/2:delta_freq:11025/2
* caso length(X) seja um valor mpar, usar:
f=-11025/2:delta_freq:11025/2-delta_freq
6) plotar os grficos do mdulo e fase do espectro do sinal
subplot(211)
plot(f,X_modulo)
xlabel(freqncia (em Hz))
ylabel(magnitude (em volts))
subplot(212)
plot(f,X_fase)
xlabel(freqncia (em Hz))
ylabel(fase (em radianos))

Você também pode gostar