# Sinais exponenciais

Neste notebook avaliaremos os sinais exponenciais do tipo

\begin{equation}
x(t) = A \ \mathrm{e}^{a \ t}
\end{equation}

Estamos interessados em 3 casos:

1. $A \ \in \ \mathbb{R}$ e $a \ \in \ \mathbb{R}$  - As exponenciais reais.

2. $A \ \in \ \mathbb{C}$ e $a \ \in \ \mathbb{C}, \ \mathrm{Re}\left\{a\right\} = 0$   - As exponenciais complexas.

3. $A \ \in \ \mathbb{C}$ e $a \ \in \ \mathbb{C}, \ \mathrm{Re}\left\{a\right\} < 0$


```python
# importar as bibliotecas necessárias
import numpy as np
import matplotlib.pyplot as plt
```

## 1. $A \ \in \ \mathbb{R}$ e $a \ \in \ \mathbb{R}$  - As exponenciais reais.


```python
# Sinal
t = np.linspace(-1, 5, 1000) # vetor temporal
A = 1
a = 1

xt = A*np.exp(a*t)

# Figura
plt.figure()
plt.title('Exponencial real')
plt.plot(t, xt, '-b', linewidth = 2, label = 'Exp. Real')
plt.legend(loc = 'best')
plt.grid(linestyle = '--', which='both')
plt.xlabel('Tempo [s]')
plt.ylabel('Amplitude [-]')
plt.tight_layout()
plt.show()
```

## 2. $A \ \in \ \mathbb{C}$ e $a \ \in \ \mathbb{C}, \ \mathrm{Re}\left\{a\right\} = 0$   - As exponenciais complexas.

Temos grande interesse neste caso. Ele está relacionado ao sinal

\begin{equation}
x(t) = A \ \mathrm{cos}(2 \pi f t - \phi) = A \ \mathrm{cos}(\omega t - \phi).
\end{equation}

A relação de Euler nos diz que:

\begin{equation}
\mathrm{cos}(\omega t - \phi) = \mathrm{Re}\left\{\mathrm{e}^{\mathrm{j}(\omega t-\phi)}    \right\} .
\end{equation}

Assim, o sinal $x(t)$ torna-se:

\begin{equation}
x(t) = A \ \mathrm{cos}(\omega t - \phi) = A\mathrm{Re}\left\{\mathrm{e}^{\mathrm{j}(\omega t-\phi)}    \right\} = \mathrm{Re}\left\{A \mathrm{e}^{\mathrm{j}(\omega t-\phi)}    \right\}
\end{equation}

\begin{equation}
x(t) = \mathrm{Re}\left\{A\mathrm{e}^{-\mathrm{j}\phi} \ \mathrm{e}^{\mathrm{j}\omega t}    \right\}
\end{equation}
em que $\tilde{A} = A\mathrm{e}^{-\mathrm{j}\phi}$ é a amplitude complexa do cosseno e contêm as informações de magnitude, $A$, e fase, $\phi$.


```python
# Sinal
t = np.linspace(-2, 2, 1000) # vetor temporal
A = 1.5
phi = 0

A = A*np.exp(-1j*phi)

f=1
w = 2*np.pi*f
a = 1j*w

xt = np.real(A*np.exp(a*t))

# Figura
plt.figure()
plt.title('Exponencial complexa')
plt.plot(t, xt, '-b', linewidth = 2, label = 'Exp. complexa')
plt.legend(loc = 'upper right')
plt.grid(linestyle = '--', which='both')
plt.xlabel('Tempo [s]')
plt.ylabel('Amplitude [-]')
plt.ylim((-2, 2))
plt.xlim((t[0], t[-1]))
plt.tight_layout()
plt.show()
```

3. $A \ \in \ \mathbb{C}$ e $a \ \in \ \mathbb{C}, \ \mathrm{Re}\left\{a\right\} < 0$

Neste caso, se $a \ \in \ \mathbb{C}$ e  $\mathrm{Re}\left\{a\right\} < 0$, teremos um sinal oscilatório, cuja amplitude decai com o tempo. É típico de um sistema massa-mola-amortecedor.


```python
# Sinal
t = np.linspace(0, 5, 1000) # vetor temporal
A = 1.5
phi = 0.3
A = A*np.exp(-1j*phi)

f=1
w = 2*np.pi*f
a = -1+1j*w

xt = np.real(A*np.exp(a*t))

# Figura
plt.figure()
plt.title('Exponencial complexa vom decaimento')
plt.plot(t, xt, '-b', linewidth = 2, label = 'Exp. complexa com decaimento')
plt.legend(loc = 'upper right')
plt.grid(linestyle = '--', which='both')
plt.xlabel('Tempo [s]')
plt.ylabel('Amplitude [-]')
plt.ylim((-2, 2))
plt.xlim((0, t[-1]))
plt.tight_layout()
plt.show()
```

## Exponenciais complexas em sinais discretos

Retomamos agora as exponenciais complexas e discretas. Lembramos que para um sinal contínuo,  $x(t)=\mathrm{e}^{\mathrm{j} \omega t}$, a taxa de oscilação aumenta quando $\omega$ aumenta. Para sinais discretos do tipo

\begin{equation}
x[n] = \mathrm{e}^{\mathrm{j}  \omega  n} 
\end{equation}
veremos um aumento da taxa de oscilação para $0 \leq \omega < \pi$ e uma diminuição da taxa de oscilação para  $\pi \leq \omega \leq 2 \pi$. Isto se relacionará depois com a amostragem de sinais. Veremos que para amostrar um sinal corretamente (representar bem suas componentes de frequência), precisaremos usar uma taxa de amostragem que seja pelo menos o dobro da maior frequência contida no sinal a ser amostrado.



```python
omega = [0, np.pi/8, np.pi/4, np.pi/2, np.pi, 
         3*np.pi/2, 7*np.pi/4, 15*np.pi/8, 2*np.pi]#np.linspace(0, 2*np.pi, 9) # Frequencias angulares
n = np.arange(50) # amostras

plt.figure(figsize=(15,10))
for jw,w in enumerate(omega):
    xn = np.real(np.exp(1j*w*n))
    
    plt.subplot(3,3,jw+1)
    plt.stem(n, xn, '-b', label = r'$\omega$ = {:.3} [rad/s]'.format(float(w)), basefmt=" ", use_line_collection=  True)
    plt.legend(loc = 'upper right')
    plt.grid(linestyle = '--', which='both')
    plt.xlabel('Amostra [-]')
    plt.ylabel('Amplitude [-]')
    plt.ylim((-1.5, 1.5))
    plt.tight_layout()
    
plt.show()
```

c2575ff881744455a7d2a0bee829d79b0cd80480
ipynb
Jupyter Notebook
Aula 6 - Sinais exponenciais/.ipynb_checkpoints/sinais exponenciais-checkpoint.ipynb
RicardoGMSilveira/codes_proc_de_sinais
e6a44d6322f95be3ac288c6f1bc4f7cfeb481ac0
CC0-1.0
2020-10-01T20:59:33.000Z
2021-07-27T22:46:58.000Z
Aula 6 - Sinais exponenciais/.ipynb_checkpoints/sinais exponenciais-checkpoint.ipynb
RicardoGMSilveira/codes_proc_de_sinais
e6a44d6322f95be3ac288c6f1bc4f7cfeb481ac0
CC0-1.0
Aula 6 - Sinais exponenciais/.ipynb_checkpoints/sinais exponenciais-checkpoint.ipynb
RicardoGMSilveira/codes_proc_de_sinais
e6a44d6322f95be3ac288c6f1bc4f7cfeb481ac0
CC0-1.0
2020-10-15T12:08:22.000Z
2021-04-12T12:26:53.000Z
Qwen/Qwen-72B
1. YES
2. YES