Você está na página 1de 19

Universidade Federal do Rio de Janeiro - UFRJ

Programa de Pós-Graduação em Engenharia Civil - PEC/COPPE

Trabalho 01:
Expansão da Série de Fourier Complexa

COC 775 - Dinâmica de Sistemas Discretos

Aluno: Carlo Yukio Nunes


Matrícula: 118070866
Professor: Webe João Mansur
Horário: Qui - 08:30-12:30

Rio de Janeiro, 15 de Setembro de 2018


Conteúdo
1 Introdução 1
1.1 Análise Harmônica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Representação vetorial de Série Harmônica . . . . . . . . . . . . . . . . . . . 1

2 Expansão em Série de Fourier 2


2.1 Coeficientes da Série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Expansão em Série de Fourier Complexa 3


3.1 Álgebra Complexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Representação por Números Complexos do Movimento Harmônico . . . . . . 4
3.3 Operações com Funções Harmônicas . . . . . . . . . . . . . . . . . . . . . . . 5
3.4 Notação Complexa da Série de Fourier . . . . . . . . . . . . . . . . . . . . . . 6

4 Implementação 7

5 Resultados 8
5.1 Taxa de Amostragem - Teorema de Nyquist . . . . . . . . . . . . . . . . . . . 8
5.2 Convergência dos Termos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3 Magnitude, Ângulo de Fase, Componente Real e Imaginária . . . . . . . . . . 9

6 Conclusão 13

7 Referências 13

8 Anexo A - Códigos Implementados no MATLAB 14


8.1 Código de Entrada e Geração dos Gráficos . . . . . . . . . . . . . . . . . . . . 14
8.2 Função da Transformada de Fourier Discreta (DFT) . . . . . . . . . . . . . . . 17
8.3 Função da Transformada Inversa de Fourier Discreta (IDFT) . . . . . . . . . . 17
1 Introdução
A série de Fourier fornece uma maneira alternativa de representar dados: em vez de repre-
sentar a amplitude do sinal em função do tempo, nós representamos o sinal pela quantidade de
informação contida em frequências diferentes. Jean Baptiste Joseph Fourier, um matemático
francês que já serviu como conselheiro científico de Napoleão, é creditado com a descoberta
dos resultados que agora levam seu nome.
Embora os números complexos estejam fundamentalmente desconectados da nossa reali-
dade, eles podem ser usados para resolver problemas de ciência e engenharia de duas maneiras.
Primeiro, os parâmetros de um problema do mundo real podem ser substituídos em uma forma
complexa. O segundo método é muito mais elegante e poderoso, uma maneira de tornar os
números complexos matematicamente equivalentes ao problema físico. Esta abordagem leva à
transformada complexa de Fourier, uma versão mais sofisticada da transformada real de Fourier
[2].

1.1 Análise Harmônica


Embora o movimento harmônico seja mais simples de manejar, o movimento de muitos
sistemas vibratórios não é harmônico. Entretanto, em muitos casos, as vibrações são periódicas,
como por exemplo o tipo mostrado na Figura (1.a). Felizmente, qualquer função periódica no
tempo pode ser representada pelas séries de Fourier como uma soma infinita de termos seno e
cosseno[1].

Figura 1: Função Periódica (Rao, 1995).

1.2 Representação vetorial de Série Harmônica


O movimento harmônico pode ser representado convenientemente por meio de um vetor
−→
OP de magnitude A girando a uma velocidade angular constante. Na Fig. (2), a projeção da
−→
ponta do vetor OP no eixo vertical é dada por:

y = A sin(ωt) (1)

E sua projeção no eixo horizontal por:

x = A cos(ωt) (2)

1
Figura 2: Movimento harmônico como a projeção do final de um vetor rotativo. (Rao, 1995).

2 Expansão em Série de Fourier


Esta seção mostrará a natureza geral das séries de Fourier e como as funções de transforma-
ção do domínio do tempo para o domínio da frequência.
Uma série de Fourier recebe um sinal e o decompõe em uma soma de senos e cossenos de
diferentes frequências. Se x(t) for uma função periódica com período τ , sua representação em
série de Fourier é dada por:

a0
x(t) = + a1 cos(ωt) + a2 cos(2ωt) + · · ·
2
+ b1 cos(ωt) + b2 cos(2ωt) + · · · (3)

a0 X
= + [an cos(nωt) + bn cos(nωt)]
2 n=1

Onde x(t) é o sinal no domínio do tempo, e an e bn são coeficientes desconhecidos da


série. O valor ω = 2π/τ , tem unidades de Radianos/Hertz = rad/s e corresponde à frequência
angular da onda ou frequência fundamental, enquanto a1 , a2 , ..., b1 , b2 , ..., são os coeficientes
constantes.
A interpretação física da Equação (3) é que qualquer função periódica pode ser representada
como uma soma de funções harmônicas. Embora a série na Eq. (1) seja uma soma infinita,
podemos aproximar a maioria das funções periódicas com a ajuda de apenas algumas funções
harmônicas[1].

2
2.1 Coeficientes da Série
Para determinar os coeficientes a0 , an e bn , integra-se x(t) e multiplica-se a Eq. (1) por
cos(nωt) e sin(nωt), respectivamente, e integram-se ao longo de um período τ , por exemplo
de 0 a 2π/ω. Então notamos que todos os termos, exceto um no lado direito da equação, serão
zero e obtêm-se:
ω 2π/ω 2 τ
Z Z
a0 = x(t) dt = x(t) dt (4)
π 0 τ 0
ω 2π/ω 2 τ
Z Z
an = x(t) cos(nωt) dt = x(t) cos(nωt) dt (5)
π 0 τ 0
ω 2π/ω 2 τ
Z Z
bn = x(t) sin(nωt) dt = x(t) sin(nωt) dt (6)
π 0 τ 0

3 Expansão em Série de Fourier Complexa


O uso de números complexos introduz algumas simplicidades matemáticas em algoritmos
de transformada de Fourier e fornece uma representação conveniente. O objetivo desta seção é
permitir interpretar os resultados, sendo necessário explicar um pouco sobre números comple-
xos.

3.1 Álgebra Complexa


Números complexos são frequentemente representados sem usar uma notação vetorial como:

z =a+i·b (7)

Onde a e b denotam as partes reais e imaginárias de z. A adição, subtração, multiplicação e


divisão de números complexos podem ser alcançadas usando as regras usuais da álgebra. Tais
como:
z1 = a1 + i · b1 = A1 eiθ1 (8)
z2 = a2 + i · b2 = A2 eiθ2 (9)
Onde: q
Aj = a2j + b2j (10)
 
bj
θj = arctan (11)
aj
Para j = 1, 2. A soma e diferença de z1 e z2 pode ser achada como:

z1 + z2 = A1 eiθ1 + A2 eiθ2 = (a1 + i · b1 ) + (a2 + i · b2 ) = (a1 + a2 ) + i · (b1 + b2 ) (12)

z1 − z2 = A1 eiθ1 − A2 eiθ2 = (a1 + i · b1 ) − (a2 + i · b2 ) = (a1 − a2 ) + i · (b1 − b2 ) (13)

3
(a) Vetor em coordenadas complexas (Rao, 1995). (b) Exponencial complexa num gráfico tri-
dimensional (Higuti e Kitano, 2003).

Figura 3: Representação das Coordenadas Complexas.

3.2 Representação por Números Complexos do Movimento Harmônico


O método vetorial de representação do movimento harmônico requer a descrição dos com-
ponentes horizontal e vertical. Tornando-se mais conveniente representar o movimento harmô-
nico usando uma representação numérica complexa. Qualquer vetor no plano xy pode ser
representado como um número complexo da forma:
~ =a+i·b
X (14)

Onde i = −1 e a e b denotam os componentes x e y de X, ~ respectivamente, como
apresentado na Fig. (3.a).
Os componentes a e b também são chamados de partes reais e imaginárias do vetor X.~ Se
~ e θ representa o argumento ou o ângulo entre
A denota o módulo ou valor absoluto do vetor X,
o vetor e o eixo x, assim X~ também pode ser expresso como:

~ = A · cos(θ) + i · A · sin(θ)
X (15)

Com: √
A= a2 + b 2 (16)
 
b
θ = arctan (17)
a
Notando-se que i2 = −1, i3 = −i, i4 = 1, ..., cos(θ) e i · sin(θ) podem ser expandidos em
uma série como:
θ2 θ4 (iθ)2 (iθ)4
cos(θ) = 1 − + − ··· = 1 + + + ··· (18)
2! 4! 2! 4
θ3 θ5 (iθ)3 (iθ)5
 
i sin(θ) = i θ − + − · · · = iθ + + + ··· (19)
3! 5! 3! 5
Efetuando-se a soma e subtração das Eqs. (18) e (19), têm-se:

(iθ)2 (iθ)3
(cos(θ) + i sin(θ)) = 1 + iθ + + + · · · = eiθ (20)
2! 3!

4
(iθ)2 (iθ)3
(cos(θ) − i sin(θ)) = 1 − iθ + − + · · · = e−iθ (21)
2! 3!
Assim, a Eq. pode ser expressa da seguinte forma:
~ = A · cos(θ) + i · A · sin(θ) = A · eiθ
X (22)

3.3 Operações com Funções Harmônicas


Usando a representação por números complexos, o vetor rotação X ~ da Fig. (3) pode ser
escrito como:
~ = A · eiωt
X (23)
Onde ω denota a frequência circular (rad/seg) da rotação do vetor X ~ no sentido anti-
horário. As duas primeiras derivadas do movimento harmônico dado pela Eq. (23) em relação
ao tempo fornecem:
dX~ d
= (A · eiωt ) = iωA · eiωt = iω · X ~ (24)
dt dt
~
d2 X d
2
= (iωA · eiωt ) = i2 ω 2 A · eiωt = −ω 2 A · eiωt (25)
dt dt
Dado que i2 = −1.
Assim, o deslocamento, a velocidade e a aceleração podem ser expressas como:
• Deslocamento:
x(t) = Re[A · eiωt ] = A cos(ωt) (26)
• Velocidade:
ẋ(t) = Re[iωA · eiωt ] = −ωA sin(ωt) (27)
• Aceleração:
ẍ(t) = Re[−ω 2 A · eiωt ] = −ω 2 A cos(ωt) (28)
Onde Re denota a parte real.

Se o deslocamento harmônico for originalmente dado como x(t) = A sin(ωt), então pode-
se adotar:
• Deslocamento:
x(t) = Im[A · eiωt ] = A sin(ωt) (29)
• Velocidade:
ẋ(t) = Im[iωA · eiωt ] = ωA sin(ωt + π/2) (30)
• Aceleração:
ẍ(t) = Im[−ω 2 A · eiωt ] = ω 2 A sin(ωt + π) (31)
Onde Im denota a parte Imaginária. Essas quantidades são apresentadas como vetores de
rotação na Fig. (4):

5
Figura 4: Deslocamento, velocidade e aceleração como vetores de rotação (Rao, 1995).

3.4 Notação Complexa da Série de Fourier


A partir do apresentado nas seções anteriores, demonstra-se que a Série de Fourier também
pode ser representada em termos de números complexos. Observando, a partir das Eqd. (20) e
(21), que:
eiθ = cos(θ) + i sin(θ) (32)
e−iθ = cos(θ) − i sin(θ) (33)
As expressões para cos(ωt) e sin(ωt) podem ser dadas por:

eiθ + e−iθ
cos(ωt) = (34)
2
eiθ − e−iθ
sin(ωt) = (35)
2i
Assim, a Eq. (3) pode ser escrita como:

a0 X
x(t) = + [an cos(nωt) + bn cos(nωt)]
2 n=1
∞ 
+ e−inωt − e−inωt
 inωt   inωt 
a0 X e e
= + an + bn (36)
2 n=1
2 2i
∞     
a0 X inωt an − ibn −inωt an + ibn
= + e +e
2 n=1
2 2

Observando que b0 = 0. Por definição os coeficientes complexos de Fourier cn e c−n são


expressos como:
an − ibn
cn = (37)
2
an + ibn
c−n = (38)
2
Assim, a Eq. (36) pode ser expressa como:

X
x(t) = cn einωt (39)
n=−∞

6
Os coeficientes de Fourier em cn podem ser determinados usando a Eqs. (4) a (6), como:

an − ibn 1 τ 1 τ
Z Z
cn = = x(t)[cos(nωt) − i sin(nωt)]dt = x(t)e−inωt dt (40)
2 τ 0 τ 0
E no contexto da Transformada Integral de Fourier, o Teorema de Parseval afirma que:
Z +∞ Z +∞
2
|x(t)| dt = |X(ω)|2 dω (41)
−∞ −∞

4 Implementação
Nesta etapa, foram implementados os algoritmos da Transformada de Fourier Discreta e da
sua Inversa. A linguagem adotada para a implementação foi a do ambiente MATLAB.
Consideração a frequência angular e a frequência no tempo em termos discretos:
2πk
ωk = (42)
N
fs k
fk = (43)
N
Transformada de Fourier Discreta (Discrete Fourier Transform - DFT). A transformada de
Fourier em tempo discreto é utilizada na análise espectral de um sinal aperiódico e definida por:
N −1 N −1
X
−inωk tn 1 X
Xk = xn e = xn e−i2πkn/N k = 0, 1, ..., N − 1 (44)
n=0
N n=0

Transformada Inversa de Fourier Discreta (Inverse Discrete Fourier Transform - IDFT)


N
X −1
xn = Xk ei2πkn/N n = 0, 1, ..., N − 1 (45)
k=0

Onde:
tn : amostra de tempo discreto (s);
n: índice de tempo discreto (tempo normalizado, T = 1);
k: índice de frequência discreto;
ωk : frequência em rad/seg;
fk : frequência em Hz;
fs : taxa de amostra.

7
5 Resultados
5.1 Taxa de Amostragem - Teorema de Nyquist
De acordo com o Teorema de Nyquist, uma taxa de amostragem de no mínimo duas vezes
o valor da frequência máxima alcançada pelo sinal analógico é necessária para possibilitar o
registro digital de todas as frequências analisadas. Esta taxa de amostragem mínima desejada é
chamada frequência de Nyquist. Quando a taxa de amostragem para determinado sinal é menor
que a frequência de Nyquist, ocorre um efeito chamado aliasing ou f oldover, em que uma alta
frequência é medida erroneamente como sendo de frequência mais baixa.

fs ≥ 2fmax (46)

A taxa de amostragem fs representa um parâmetro importante na implementação do algo-


ritmo da DFT e IDFT para representar corretamente uma função, uma avaliação com diferentes
valores de fs foi realizada para demonstra essa importância apresentada na Fig. (5).
Para manter a analogia para sinais discretos, usa-se k (o número da amostra) como a uni-
dade de tempo discreta. A frequência, portanto, terá unidade de radianos/amostra, já que a
unidade de tempo passou a ser número da amostra [4], enquanto n será o número de termos da
transformada.

Figura 5: Influência da taxa de amostragem na resposta.

8
5.2 Convergência dos Termos
Para demonstrar a convergência a medida que N converge para o número de pontos discre-
tos, será utilizado um exemplo de uma função com ruído gerado com distribuição normal.

Exemplo 01:
Função:
x = 0.7 sin(100πt) + sin(240πt) +  (47)

Figura 6: Time History.

Onde  é obtido a partir da multiplicação de números aleatórios, com distribuição normal


padronizada, por 2. O tempo considerado foi discretizado em 1500 pontos. Foram obtidos
os resultados das transformadas para Nt de 500, 1000 e 1500, com o intuito de demonstrar a
convergência dos resultados com a função analítica, os resultados podem ser visualizados nas
Figs. (7), (8) e (9). Para quantificar a convergência, será avaliado o resíduo entre as respostas a
partir das distribuições estatísticas dos mesmos.
A partir da avaliação das distribuições dos resíduos, nota-se que à medida que se aumenta o
número de harmônicos, o sinal aproxima-se mais da onda, N = Nt .

5.3 Magnitude, Ângulo de Fase, Componente Real e Imaginária


Na Fig. (10.a), o eixo das abscissas corresponde a frequências, mas seu valor depende do
comprimento do sinal. Os valores de Xk variam para k = 0, 1, · · · , N −1, onde N é o tamanho
do sinal criado em termos de pontos discretos. Essas são chamadas de bin frequencies. Essa
frequência em bins pode ser facilmente convertida em frequência em Hz:
fs
fvector = Fbins (48)
N
Nas Fig. (10) e (11), A se trata de um fasor girante, o qual gira no sentido anti-horário numa
taxa de f ciclos por segundo (ou Hertz) e em t = 0 forma um ângulo θ com o eixo real positivo.
A projeção do fasor sobre o eixo real permite recuperar x(t) aplicando a IDFT.

9
(a) Time History (b) Distribuição Residual

Figura 7: Convergência para Nt = 500.

(a) Time History (b) Distribuição Residual

Figura 8: Convergência para Nt = 1000.

(a) Time History (b) Distribuição Residual

Figura 9: Convergência para Nt = N = 1500.

10
(a) Amplitude vs. bins (b) Magnitude vs. f (Hz)

Figura 10: Magnitude da Transfomada de Fourier Complexa.

Uma representação equivalente para o fasor complexo, no domínio da frequência, constitui


o espectro de linhas (ou raias) unilateral, mostrado na Figs. (10.b) e (11.a). Este diagrama in-
forma que na frequência de oscilação f , o fasor girante tem magnitude A, representado através
de linhas no espectro de magnitudes, e fase θ, representado por linhas no espectro de fases.

A fim de padronizar a representação espectral dos sinais, torna-se adequado estabelecer as


seguintes convenções [5]:

a) A variável independente para representar o espectro é a frequência linear, f , (e não a


frequência angular, ω). Um valor particular de f é identificado por um subscrito como k,
por exemplo, fk ;
b) Os ângulos de fase são medidos em relação à função cosseno. Sinais em seno precisam ser
convertidos para cossenos, através da identidade: sin θ = cos(θ − 90o );
c) Considera-se que a magnitude é sempre uma grandeza positiva. Quando sinais negativos
estão presentes, utiliza-se a identidade: −A cos θ = A cos(θ ± 180o ).

Verifica-se que na Fig. (10.a) a resposta é espelhada em N/2. Sabe-se que a transformada
de Fourier de um sinal discreto é um sinal periódico no domínio da frequência. O MATLAB
sempre trabalha em domínio discreto, de modo que, usando a função DFT, sempre se obtêm si-
nais de frequências periódicas. O MATLAB considera apenas um período desse sinal (portanto,
apenas as primeiras N amostras) e, para as convenções adotadas, como a primeira amostra ve-
torial x(t) corresponde à amostra no tempo t = 0, então a primeira amostra de sinal X(f )
corresponde à amostra em f = 0. Porém, o MATLAB não permite que uma array tenha índices
negativos ou nulo. Por esta razão, após uma a aplicação de uma DFT, o sinal obtido é aquele
na Fig. (10.a), onde as amostras de frequência negativa são rebatidas ao fundo, na segunda me-
tade do vetor. Para ver o espectro de frequências matematicamente compatível com a entrada,
deve-se utilizar a IDFT [4]. Na Fig. (10.b) é apresentada a Magnitude referente a N/2.
Outras medidas extraídas da análise são a Amplitude (A) e o Ângulo de Fase (θ), apresen-
tadas na Fig. (11).
As componentes de Xk real e imaginária são apresentadas nas Figs. (12) e (13).

11
(a) Ângulos de Fase (b) Amplitudes

Figura 11: Distribuições.

(a) (b)

Figura 12: Componente Real.

(a) (b)

Figura 13: Componente Imaginário.

12
6 Conclusão
A partir da implementação, demonstrou-se o método da Transformada de Fourier Discreta
(DFT) e a Transformada Inversa de Fourier Discreta (IDFT).
Assim como alguns parâmetros necessários para análise tais como a convergência de termos
periódicos em coordenadas complexas para a correta representação de uma resposta dinâmica.
Outro parâmetro importante também apresentado ao final e não menos importante foi a taxa de
amostragem, necessária para capturar corretamente pontos em frequências elevadas.

7 Referências
[1] Rao, S.S.; Mechanical Vibrations 3rd Edition, Addison-Wesley Publishing Company, Inc,
1995.
[2] Smith, S.W.; The Scientist and Engineer’s Guide to Digital Signal Processing, California
Technical Publishing: San Diego, 1997.
[3] Smith, J.O. Mathematics of the Discrete Fourier Transform (DFT) with Audio Applications,
Second Edition, http://ccrma.stanford.edu/ jos/mdft/, online book, 2007 edition, accessed
<10/09/2018>.
[4] Notas de Aula, Instrumentação: Análise de Sinais, Professores: Larissa Driemeier, Marcílio
Alves, Rafael T. Moura, Escola Politécnica da Universidade de São Paulo.
[5] Notas de Aula, ELE 0331 Princípios de Comunicações: Sinais e Sistemas, Professores:
Ricardo Tokio Higuti, Cláudio Kitano, Universidade Estadual Paulista Júlio de Mesquita
Filho - UNESP, 2003.

13
8 Anexo A - Códigos Implementados no MATLAB
8.1 Código de Entrada e Geração dos Gráficos
1 clear ;
2 clc
3 %% Dados I n i c i a i s de A n a l i s e (OK)
4 N = 1500; % P o n t o s d i s c r e t o s no tempo
5 T = 0.5; % Periodo
6 f = 1/T; % Frequencia
7 f s = 20∗ f ; % Taxa de a m o s t r a p o r p e r i o d o
8 w = 2∗ p i / T ; % Frequencia angular
9 dt = T/ fs ; % intervalo diferencial
10 Fbin = 0 : 1 :N 1 ;
11 t = Fbin ∗ dt ; % V e t o r tempo
12 t = t ’;
13 f v = ( f s /N) . ∗ F b i n ; % V e t o r f r e q u e n c i a
14
15 %% Exemplo 01
16 e p s i l o n = 2∗ randn ( s i z e ( t ) ) ;
17 x = 0 . 7 ∗ s i n ( 2 ∗ p i ∗50∗ t ) + s i n ( 2 ∗ p i ∗120∗ t ) + e p s i l o n ;
18
19 %% T r a n s f o r m a d a de F o u r i e r (OK)
20 Nt = 1 5 0 0 ; % Numero de Termos de a p r o x i m a c a o
21 % Discrete Fourier Transform DFT
22 [ Xk , p h i ] = DFT ( x , Nt )
23 % Inverse Discrete F o u r i e r Transform IDFT
24 [ x r ] = IDFT ( Xk , N)
25
26 %% Pos P r o c e s s a m e n t o
27 a f = a n g l e ( Xk ) ∗ 1 8 0 / p i ;
28 X k _ r e a l = r e a l ( Xk ) ;
29 Xk_imag = imag ( Xk ) ;
30 A = s q r t ( X k _ r e a l . ^ 2 + Xk_imag . ^ 2 ) ;
31 res = x real ( xr ) ;
32 mX = abs ( Xk ) ;
33
34 %% Time H i s t o r y (OK)
35 figure (1)
36 %p l o t ( t ( 1 : 5 0 ) , x r ( 1 : 5 0 ) , ’ r . ’ , t ( 1 : 5 0 ) , x ( 1 : 5 0 ) , ’ b ’ , ’
LineWidth ’ , 1 . 5 )
37 p l o t ( t , xr , ’ r . ’ , t , x , ’ b ’ )
38 xlabel ( ’ t ( s ) ’ )
39 ylabel ( ’x ( t ) ’ )
40 t i t l e ( ’ Time H i s t o r y ( $N_t = 1500 $ ) ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
41 l e g e n d ( ’ IDFT ’ , ’ A n a l i t i c o ’ )

14
42 a x i s ( [ 0 16 6 8])
43 g r i d on
44
45 %% A n a l i s e de R e s i d u o (OK)
46 figure (2)
47 histogram ( res )
48 t i t l e ( ’ D i s t r i b u i c a o de R e s i d u o ( $N_t = 1500 $ ) ’ , ’ I n t e r p r e t e r ’ , ’
LaTex ’ )
49 y l a b e l ( ’ \ p h i ’ )
50 x l a b e l ( ’ ( x x_ { F o u r i e r } ) ’ )
51 g r i d on
52
53 %% M a g n i t u d e ( Ok )
54 figure (3) ;
55 %s u b p l o t ( 1 , 2 , 1 )
56 p l o t (mX) ;
57 t i t l e ( ’ A m p l i t d u d e $ v s . $ k ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
58 x l a b e l ( ’ $k$ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
59 y l a b e l ( ’$X ( f ) $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
60 g r i d on
61
62 %% M a g n i t u d e x F r e q u e n c i a L i n e a r ( f Hz ) (OK)
63 figure (4) ;
64 %s u b p l o t ( 1 , 2 , 2 )
65 p l o t ( fv , mX)
66 xlim ( [ 0 f s / 2 ] )
67 s e t ( gca , ’ F o n t S i z e ’ , 1 0 )
68 t i t l e ( ’ M a g n i t u d e ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
69 x l a b e l ( ’ $ f ( Hz ) $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ , ’ F o n t S i z e ’ , 1 2 )
70 y l a b e l ( ’ $ | X( f ) | $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ , ’ F o n t S i z e ’ , 1 2 )
71 g r i d on
72
73 %% Angulo de F a s e (OK)
74 figure (5)
75 stem ( fv , a f )
76 t i t l e ( ’ Fase $ \ t h e t a $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
77 y l a b e l ( ’ $ \ t h e t a $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
78 x l a b e l ( ’ $ f $ ( $Hz$ ) ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ ) ;
79 g r i d on
80
81 %% A m p l i t u d e (A) (OK)
82 figure (6)
83 h i s t o g r a m (A)
84 t i t l e ( ’ D i s t r i b u i c a o de A m p l i t u d e de $X ( f ) $ ’ , ’ I n t e r p r e t e r ’ , ’
LaTex ’ )
85 x l a b e l ( ’$X ( f ) $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )

15
86 ylabel ( ’ \ phi ’ )
87 %a x i s ( [ 0 190 0 1 6 0 ] )
88 g r i d on
89
90 %% P a r t e I m a g i n a r i a [ Im (X( f ) ) ]
91 figure (7)
92 stem ( imag ( Xk ) )
93 x l a b e l ( ’ $k$ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
94 y l a b e l ( ’ Imag [X( $ f $ ) ] ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
95 g r i d on
96 figure (8)
97 h i s t o g r a m ( imag ( Xk ) )
98 x l a b e l ( ’ Imag [X( $ f $ ) ] ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
99 y l a b e l ( ’ $ \ p h i $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
100 g r i d on
101
102 %% P a r t e R e a l [ Re (X( f ) ) ]
103 figure (9)
104 stem ( r e a l ( Xk ) )
105 x l a b e l ( ’ $k$ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
106 y l a b e l ( ’ R e a l [X( $ f $ ) ] ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
107 g r i d on
108 figure (10)
109 h i s t o g r a m ( r e a l ( Xk ) )
110 x l a b e l ( ’ R e a l [X( $ f $ ) ] ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
111 y l a b e l ( ’ $ \ p h i $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ )
112 g r i d on
113
114 %% D e m o n s t r a c a o da I n f l u e n c i a da t a x a de a m o s t r a g e m ( E r r o de
A l i a s i n g ) (OK)
115 clear ; clc
116 % Dados do s i n a l
117 f = 10000; % F r e q u e n c i a e n t r a d a Hz
118 f s = 10∗ f ; % F r e q u e n c i a de a m o s t r a g e m Hz
119 % Gerar s i n a l
120 tempo = [ 0 : 1 / ( 1 0 0 ∗ f ) : 1 0 / f ] ; % Tempo a m o s t r a l
121 s i n a l = s i n ( 2 ∗ p i ∗ f ∗ tempo ) ; % G e r a c a o onda s e n o i d a l
122 % Sinal amostrado
123 Ts = 1 / f s ;
124 N= 1 0 1 ;
125 n = [0:1:N 1 ] ;
126 t _ s a m p l e = [ 0 : Ts : n (N) ∗ Ts ] ;
127 D i g i t a l F r e q u e n c y =2∗ p i ∗ f / f s ;
128 sinal_sample = sin ( DigitalFrequency .∗ n) ;
129 %% p l o t a r s i n a l
130 subplot (2 ,2 ,1)

16
131 p l o t ( tempo , s i n a l )
132 hold ;
133 plot ( t_sample , sinal_sample , ’o ’ ) ;
134 axis ([0 10/ f 1 . 5 1 . 5 ] )
135 s e t ( gca , ’ F o n t S i z e ’ , 1 0 )
136 t i t l e ( ’ $ f = 10 kHz$ com $ f _ s = 100 kHz$ ’ , ’ FontName ’ , ’ Times New
Roman ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ , ’ F o n t S i z e ’ , 1 0 )
137 x l a b e l ( ’ $ t $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ , ’ F o n t S i z e ’ , 1 2 )
138 y l a b e l ( ’ $x [ nT_s ] , x ( t ) $ ’ , ’ I n t e r p r e t e r ’ , ’ LaTex ’ , ’ F o n t S i z e ’ , 1 2 )
139 g r i d on

8.2 Função da Transformada de Fourier Discreta (DFT)


1 f u n c t i o n [ Xk , p h i ] = DFT ( x , Nt )
2 % Nt : Numero de t e r m o s do s o m a t o r i o
3 N = length ( x ) ; % Pontos d i s c r e t o s
4 % Pre a l o c a c a o d o s v e t o r e s
5 Xk = z e r o s (N, 1 ) ;
6 p h i = z e r o s (N, 1 ) ;
7 % T r a n s f o r m a d a de F o u r i e r D i s c r e t a
8 f o r k = 1 :N
9 f o r n = 1 : Nt
10 Xk ( n ) = Xk ( n ) + 1 / Nt ∗ x ( k ) ∗ exp ( 1 i ∗ 2 ∗ p i ∗ n
∗ k / N) ;
11 end
12 p h i ( n ) = a t a n ( imag ( Xk ( n ) ) / r e a l ( Xk ( n ) ) ) ;
13 end
14 end

8.3 Função da Transformada Inversa de Fourier Discreta (IDFT)


1 f u n c t i o n [ x r ] = IDFT ( Xk , N)
2 % N: Pontos d i s c r e t o s
3 Nt = l e n g t h ( Xk ) ; % Numero de t e r m o s do s o m a t o r i o
4 % Pre a l o c a c a o de v e t o r
5 x r = z e r o s (N, 1 ) ;
6 % T r a n s f o r m a d a I n v e r s a de F o u r i e r D i s c r e t a
7 f o r n = 1 : Nt
8 f o r k = 1 :N
9 x r ( k ) = x r ( k ) + Xk ( n ) ∗ exp ( 1 i ∗ 2 ∗ p i ∗ n∗ k / N)
;
10 end
11 end
12 end

17