Trazar el espectro de fase en Python usando Matplotlib

Una señal es un campo electromagnético o una corriente eléctrica para transmitir datos. Hay varios componentes de una señal, como frecuencia, amplitud, longitud de onda, fase, frecuencia angular y período a partir del cual se describe.
Una señal periódica se puede representar usando la siguiente función seno:

y = A sin(w*t + Q)

Donde Arepresenta la amplitud (en metros), wrepresenta la frecuencia (en hercios), trepresenta el período de tiempo (en segundos) y Qrepresenta la fase (en radianes) de la señal periódica.

Los dos componentes principales, la frecuencia y la fase de una señal periódica, definen el espectro de fase de esa señal. Los componentes de frecuencia de la señal periódica se trazan en el eje horizontal y el componente de fase de la señal periódica se traza en el eje vertical.

En Python, el phase_spectrum()método en el pyplotmódulo de la matplotlibbiblioteca de Python traza el espectro de fase de una señal periódica. A continuación se muestran algunos programas que demuestran el uso del phase_spectrum()método para visualizar el espectro de fase de diferentes señales periódicas.
Ejemplo 1:

# importing modules
import numpy
from matplotlib import pyplot 
   
# assigning time values of the signal
# initial time period, final time period and phase angle
signalTime = numpy.arange(5, 10, 0.25);
  
# getting the amplitude of the signal
signalAmplitude = numpy.sin(signalTime)
  
# plotting the signal 
pyplot.plot(signalTime, signalAmplitude, color ='green')
pyplot.show()
  
pyplot.xlabel('Time')
pyplot.ylabel('Amplitude')
pyplot.title("Signal")
  
  
# plotting the phase spectrum of the signal 
pyplot.phase_spectrum(signalAmplitude, color ='green')
  
pyplot.title("Phase Spectrum of the Signal")
pyplot.show()

Salida:


el primer gráfico representa la señal en componentes de amplitud frente a tiempo, el segundo gráfico representa el espectro de fase de la señal en el gráfico de fase frente a frecuencia usando phase_spectrum()en la señal un período de tiempo de 5 a 10 segundos, ángulo de fase de 0,25 radianes, frecuencia de la señal se calcula a partir del período de tiempo dado y la amplitud de la señal se calcula usando la sin()función en el numpymódulo.
Ejemplo 2:

# importing modules
import numpy
from matplotlib import pyplot 
   
# assigning time values of the signal
# initial time period, final time period and phase angle
signalTime = numpy.arange(0, 1, 0.1)
  
# getting the amplitude of the signal
signalAmplitude = numpy.sin(signalTime)
  
# plotting the signal 
pyplot.plot(signalTime, signalAmplitude, color ='green')
pyplot.show()
  
pyplot.xlabel('Time')
pyplot.ylabel('Amplitude')
pyplot.title("Signal")
  
  
# plotting the phase spectrum of the signal 
pyplot.phase_spectrum(signalAmplitude, color ='green')
  
pyplot.title("Phase Spectrum of the Signal")
pyplot.show()

Salida:


En el programa anterior, como la amplitud de la señal aumenta con el tiempo, no se forma una onda sinusoidal en el primer gráfico. La señal existe en el período de tiempo de 0 a 1 segundo y el ángulo de fase es de 0,1 radianes, el espectro de fase de la señal se representa mediante el phase_spectrum()método.

Ejemplo 3:

# importing modules
import numpy
from matplotlib import pyplot 
   
# assigning time values of the signal
# initial time period, final time period and phase angle 
signalTime = numpy.arange(1, 100, 0.5);
  
# getting the amplitude of the signal
signalAmplitude = numpy.sin(signalTime)
  
# plotting the signal 
pyplot.plot(signalTime, signalAmplitude, color ='green')
pyplot.show()
  
pyplot.xlabel('Time')
pyplot.ylabel('Amplitude')
pyplot.title("Signal")
  
  
# plotting the phase spectrum of the signal 
pyplot.phase_spectrum(signalAmplitude, color ='green')
  
pyplot.title("Phase Spectrum of the Signal")
pyplot.show()

Salida:


Aquí, la señal se representa en el gráfico Amplitud vs Tiempo que forma ondas sinusoidales y el espectro de fase de la señal se representa utilizando el phase_spectrum()método en el gráfico Fase vs Frecuencia. El período de tiempo de la señal comienza desde 1 segundo hasta el segundo 100 y el ángulo de fase es de 0,5 radianes.

Publicación traducida automáticamente

Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *