Introdução
Este laboratório demonstra como plotar a coerência de dois sinais usando a biblioteca Matplotlib do Python. A coerência de dois sinais é uma medida da sua relação linear, com um valor de 1 indicando coerência perfeita e um valor de 0 indicando ausência de coerência.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar Bibliotecas
O primeiro passo é importar as bibliotecas necessárias. Usaremos NumPy e Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Gerar Sinais
Em seguida, geraremos dois sinais com uma parte coerente em 10 Hz e uma parte aleatória. Também adicionaremos ruído branco aos sinais.
## Fixing random state for reproducibility
np.random.seed(19680801)
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t)) ## white noise 1
nse2 = np.random.randn(len(t)) ## white noise 2
s1 = np.sin(2 * np.pi * 10 * t) + nse1
s2 = np.sin(2 * np.pi * 10 * t) + nse2
Plotar Sinais
Agora podemos plotar os dois sinais no domínio do tempo usando Matplotlib.
fig, axs = plt.subplots(2, 1)
axs[0].plot(t, s1, t, s2)
axs[0].set_xlim(0, 2)
axs[0].set_xlabel('Time')
axs[0].set_ylabel('s1 and s2')
axs[0].grid(True)
Plotar Coerência
Agora podemos plotar a coerência dos dois sinais usando a função cohere do Matplotlib.
cxy, f = axs[1].cohere(s1, s2, 256, 1. / dt)
axs[1].set_ylabel('Coherence')
Exibir o Gráfico
Finalmente, podemos exibir o gráfico usando a função show do Matplotlib.
fig.tight_layout()
plt.show()
Resumo
Este laboratório demonstrou como plotar a coerência de dois sinais usando a biblioteca Matplotlib do Python. Geramos dois sinais com uma parte coerente em 10 Hz e uma parte aleatória, adicionamos ruído branco aos sinais e plotamos os sinais no domínio do tempo e sua coerência usando a função cohere do Matplotlib.