Uma onda quadrada é uma forma de onda periódica não-senoidal ao qual a amplitude alterna em uma frequência constante entre os valores mínimo e máximo fixos, com a mesma duração no mínimo e no máximo. Em uma onda quadrada ideal, as transições entre o mínimo e o máximo são instantâneas.
Ondas quadradas são freqüentemente encontradas em eletrônicos e processamento de sinais, particularmente eletrônicos digitais e processamento de sinais digitais.
A seguir temos algumas características das ondas quadradas:
Para desenhar uma onda quadrada utilizando matplotlib, NumPy e SciPy é necessário alguns detalhes:
Começamos importando as bibliotecas necessárias:
import matplotlib.pyplot as plt
from scipy import signal
import numpy as np
Definimos a taxa de amostragem 1000Hz/segundo:
t = np.linspace(0, 1, 1000, endpoint=True)
Calculamos o sinal da onda quadrada:
s = signal.square(2 * np.pi * 5 * t)
Podemos então plotar o gráfico:
plt.figure(figsize=(16,9))
plt.plot(t, s, linewidth=3, color='blue')
plt.title('Onda Quadrada - 5Hz amostrado em 1000Hz/segundo')
plt.xlabel('Tempo')
plt.ylabel('Amplitude')
plt.grid(True, which='both')
plt.axhline(y=0, color='k')
plt.ylim(-1.5, 1.5)
plt.show()