Usando uma tabela, escreva a transformada de Fourier dos seguintes sinais. Faça um programa scilab para plotar tanto o sinal quanto a transformada.
Passo 1
O enunciado pede duas coisas: (1) escrever a transformada de Fourier do sinal dado e (2) fazer um programa Scilab para plotar o sinal no tempo e a sua transformada. O sinal fornecido é
Informações relevantes que o enunciado dá:
- A expressão do sinal é
. - Há um operador
entre e . Vou interpretar este como convolução (notação padrão em processamento de sinais), ou seja é a convolução no tempo entre e . - O enunciado pede também um programa Scilab que plote o sinal no tempo e a sua transformada (no domínio da frequência).
Passo 2
Conceitos e propriedades que vamos usar (explicados devagarzinho):
- Definição da transformada de Fourier (usando frequência angular
):
Aqui
é o sinal no tempo,
é a frequência angular (em rad/s),
é a unidade imaginária. A transformada converte um sinal do tempo para o domínio da frequência.
- Transformada de uma exponencial complexa (fato útil):
Isto significa que uma componente harmônica pura vira um impulso em
.
- Representação de
como exponenciais complexas (fórmula padrão, importante para achar a transformada):
Usando a propriedade anterior, cada termo exponencial gera um impulso em frequência.
- Propriedade do deslocamento no tempo (time shift):
Se, então
Isto significa que deslocar o sinal no tempo corresponde a multiplicar sua transformada por um fator complexo de fase.
- Propriedade da convolução no tempo:
Seé convolução no tempo, então no domínio da frequência
(i.e., convolução no tempo vira multiplicação em frequência). Também usaremos o caso particular de convolução com um delta deslocado:
Isto é intuitivo: convoluir com um delta deslocado apenas desloca o sinal.
Passo 3
Aplicando as propriedades ao problema passo a passo (sem pular etapas):
- Reescrevendo o sinal usando as constantes:
(peguei o
e o
como escalares; multipliquei:
).
- Convolução com delta deslocado:
Como, usamos
Logo
Explicando: convoluir qualquer sinal com
resulta no mesmo sinal deslocado por
. Aqui
, então o deslocamento é para a esquerda (adição de
no argumento).
Passo 4
Transformada de
e aplicação do deslocamento:
- Primeiro calculemos
. Usando a representação exponencial:
e sabendo que
, obtemos
Simplificando
e agrupando:
(esta é a forma comum: picos em
com signos/informação de fase apropriada).
- Agora aplicamos o deslocamento no tempo: como
, o deslocamento é . Pela propriedade de deslocamento:
Note que escrevemos
porque
com
dá
.
- Multiplicando pelo fator
:
- Usando a propriedade de semente (sifting) para avaliar
nas posições dos deltas:
- Para
(que impõe ), torna-se . - Para
(que impõe ), torna-se .
Portanto
Isto é a expressão final da transformada: dois impulsos em
e
com amplitudes complexas dadas pelos fatores acima.
Passo 5
Tabela com o sinal no tempo e sua transformada (apresentada de forma clara, conforme pedido):
| Sinal no tempo
|
Transformada
|
|---|---|
|
|
|
Comentário didático: os deltas em frequência aparecem nas frequências
(porque a seno tem componentes nessas frequências) e o fator
introduz a fase que vem do deslocamento temporal de
no argumento do seno. O fator
é amplitude/escala comum resultante das constantes.
Passo 6
Programa Scilab para plotar o sinal no tempo e uma representação da sua transformada (impulsos em
). Observação importante: a transformada contém deltas (impulsos), que não são funções contínuas que a gente plota diretamente: normalmente representamos esses deltas por “spikes” (stem) na frequência com amplitude complexa. Aqui vai um programa simples e comentado.
Scilab:
// Plota o sinal f(t)=30*sin(t+2) e representa sua transformada como impulsos em omega = -1 e +1
// --- sinal no tempo
t = linspace(-10, 10, 2000); // vetor de tempo
f = 30*sin(t + 2); // f(t)
scf(0);
plot(t, f, 'b-');
xlabel('t (s)');
ylabel('f(t)');
xtitle('Sinal no tempo: f(t)=30*sin(t+2)');
xgrid();
// --- representação da transformada (impulsos)
w = [-1, 1]; // frequências angulares onde há deltas
A_w = [30*%i*%pi*exp(-%i*2), -30*%i*%pi*exp(%i*2)]; // amplitudes complexas: correspondem a termos em delta
// Plot magnitude e fase dos impulsos
scf(1);
subplot(2,1,1);
stem(w, abs(A_w), 'r');
xlabel('\omega (rad/s)');
ylabel('|F(\omega)|');
xtitle('Magnitude da Transformada (impulsos em \omega = \pm 1)');
xgrid();
subplot(2,1,2);
stem(w, arg(A_w), 'm'); // arg() retorna a fase em radianos
xlabel('\omega (rad/s)');
ylabel('fase(F(\omega)) (rad)');
xtitle('Fase da Transformada nos impulsos');
xgrid();
Explicação do código:
- Primeiro plota-se
num intervalo de tempo escolhido (aqui ). - Depois representamos a transformada por dois impulsos em
e . As amplitudes complexas ( ) foram calculadas a partir da expressão analítica . - Em vez de tentar “computar” deltas com FFT, mostra-se magnitude e fase dos coeficientes dos deltas com
stem, que é a representação clássica de impulsos discretos no eixo da frequência.
Resposta
Programa Scilab: ver o bloco de código fornecido no Passo 6.