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 A
representa la amplitud (en metros), w
representa la frecuencia (en hercios), t
representa el período de tiempo (en segundos) y Q
representa 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 pyplot
módulo de la matplotlib
biblioteca 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 numpy
mó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