Requisitos previos: linspace , Mathplotlib , Scipy
Una onda cuadrada es una forma de onda periódica no sinusoidal en la que la amplitud alterna a una frecuencia constante entre los valores mínimo y máximo fijos, con la misma duración en el mínimo y el máximo. Las representaciones gráficas son siempre fáciles de entender y se adoptan y son preferibles a cualquier comunicación escrita o verbal. En este artículo, intentaremos comprender cómo podemos trazar ondas cuadradas utilizando el módulo Scipy python.
Acercarse:
- Importar módulo requerido.
- Cree una frecuencia de muestreo.
- Trazar una onda cuadrada.
- Etiqueta el gráfico.
- Mostrar gráfico.
Paso 1: módulo de importación
Python3
from scipy import signal import matplotlib.pyplot as plot import numpy as np
Paso 2: la función NumPy linspace es una herramienta en Python para crear secuencias numéricas que devuelven números espaciados uniformemente en un intervalo específico.
Python3
t = np.linspace(0, 1, 1000, endpoint = True)
Paso 3: función plot.plot: este método acepta los siguientes parámetros y traza la señal de onda cuadrada.
Sintaxis:
scipy.señal.cuadrado(t)
Parámetro:
- t: la array de tiempo de entrada.
Devolver:
Array de salida que contiene la forma de onda cuadrada.
Python3
# Plot the square wave plot.plot(t, signal.square(2 * np.pi * 5 * t))
Paso 4: Proporcione el nombre del título, el nombre de la etiqueta del eje x, el nombre de la etiqueta del eje y.
Python3
# Give x,y, title axis label plot.xlabel('Time') plot.ylabel('Amplitude') plot.title('Square wave - Geeksforgeeks')
Paso 5: plot.axhline() : La función axhline() en el módulo pyplot de la biblioteca matplotlib se usa para agregar una línea horizontal a lo largo del eje.
Python3
# Provide x axis and black line color plot.axhline(y=0, color='k')
A continuación se muestra la implementación completa:
Python3
from scipy import signal import matplotlib.pyplot as plot import numpy as np t = np.linspace(0, 1, 1000, endpoint=True) # Plot the square wave plot.plot(t, signal.square(2 * np.pi * 5 * t)) # Give x,y,title axis label plot.xlabel('Time') plot.ylabel('Amplitude') plot.title('Square wave - Geeksforgeeks') plot.axhline(y = 0, color = 'k') # Display plot.show()
Producción: