Este archivo es de Wikimedia Commons y puede usarse en otros proyectos. La descripción en su página de descripción del archivo se muestra debajo.
Resumen
DescripciónHilbertTransform EnvelopePhase.png
English: Graph showing how envelope (in red) and phase (black dots, for zero crossings) of a signal can be simply derived with the Hilbert Transform.
The corresponding python code is:
importnumpyasnpimportscipy.signalimportmatplotlib.pyplotasmpimportmatplotlib.mlabasmm# Create a function for the instantaneous frequency ...dt=0.01t=np.arange(0,20,dt)f=(0.2+1.3*np.exp(-((t-10)/4)**2))# ... and envelopeenv=2-f/2# Plot the corresponding function valuesdf=2*np.pi*f*dtfsum=np.cumsum(df)x=np.sin(fsum)*env# Using the Hilbert transform, find the envelope and zero crossingsenvelope=abs(scipy.signal.hilbert(x))phase=np.angle(scipy.signal.hilbert(x))zeroCrossing=mm.find(np.diff(np.sign(np.cos(phase)))==2)# Plot the resultsmp.plot(x)mp.hold('on')mp.plot(envelope,'r')mp.plot((0,2000),(0,0),'k--')mp.plot(zeroCrossing,np.zeros(zeroCrossing.size),'ko')mp.ylim((-2,2.2))mp.savefig('hilbert.eps')mp.show()
de compartir – de copiar, distribuir y transmitir el trabajo
de remezclar – de adaptar el trabajo
Bajo las siguientes condiciones:
atribución – Debes otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si realizaste algún cambio. Puedes hacerlo de cualquier manera razonable pero no de manera que sugiera que el licenciante te respalda a ti o al uso que hagas del trabajo.
compartir igual – En caso de mezclar, transformar o modificar este trabajo, deberás distribuir el trabajo resultante bajo la misma licencia o una compatible como el original.