Funciones > Procesamiento de señales > Transformadas adicionales > Ejemplo: transformada de Hilbert
Ejemplo: transformada de Hilbert
Utilice la función hilbert para crear la transformada de Hilbert de una señal real de modo que la transformada de Fourier discreta de la señal analítica tenga una magnitud cero a frecuencias negativas.
1. Utilice las funciones sin y cos para definir la señal de entrada. Utilice la función rnd para añadir ruido aleatorio.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Trace la señal de entrada.
Pulse aquí para copiar esta expresión
3. Utilice la función hilbert para calcular la transformada de Hilbert de la señal de entrada.
Pulse aquí para copiar esta expresión
4. Trace la señal de la transformada de Hilbert.
Pulse aquí para copiar esta expresión
5. Cree y trace la señal compleja.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
En los pasos siguientes se demuestra que la magnitud de la señal analítica es la envolvente compleja de la señal original.
6. Utilice la función dft para buscar el espectro de la señal z1.
Pulse aquí para copiar esta expresión
7. Trace los valores absolutos del espectro.
Pulse aquí para copiar esta expresión
Para los vectores, el factor de escala entre la función dft y la función CFFT desfasada es 1/N.
8. Trace las cuatro señales en el mismo gráfico.
Pulse aquí para copiar esta expresión
La nueva señal creada por Hilbert está relacionada con la señal de entrada del dominio de la transformada de la siguiente manera:
Pulse aquí para copiar esta expresión
donde H se conoce como el transformador de Hilbert, un filtro con la respuesta en frecuencia:
Pulse aquí para copiar esta expresión
for
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
for
Pulse aquí para copiar esta expresión
Es posible crear H mediante los procedimientos y funciones de diseño de filtro.
Transformador de Hilbert ideal
Rabiner y Gold (Theory and Application of Digital Signal Processing, Prentice-Hall, Inc.) proporcionan los coeficientes para un transformador de Hilbert ideal. Los ejemplos que siguen se basan en la información de la sección 14.4 del libro Signal Processing Algorithms, de Stearns y David (Prentice-Hall). Los coeficientes del filtro ideal se organizan en ventanas y se desplazan para obtener un filtro causal de longitud impar N.
1. Defina la longitud y el centro.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Defina los coeficientes sin ventanas h.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Utilice la función hamming para organizar en ventanas los coeficientes con una ventana de Hamming, usando el operador vectorize para multiplicar h y la ventana, elemento por elemento.
Pulse aquí para copiar esta expresión
4. Utilice la función gain para calcular la ganancia del filtro en la frecuencia f con coeficientes h.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Trace la ganancia con respecto a la frecuencia.
Pulse aquí para copiar esta expresión
La frecuencia se normaliza en la frecuencia de muestreo de 1.
6. Utilice las funciones exp y arg para calcular el cambio de fase del filtro.
El filtro presenta una demora de C, y el cambio de fase del filtro se calcula con relación a la señal retrasada. La demora tiene esta función de transferencia:
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
donde:
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
7. Trace el cambio de fase en grados.
Pulse aquí para copiar esta expresión
El cambio es de -90 grados en casi todo el rango de frecuencias.
Prueba del filtro
1. Defina los parámetros de señal.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Utilice la función exp para crear una nueva señal. La función rnd añade ruido de baja frecuencia.
Pulse aquí para copiar esta expresión
Se puede colocar el cursor en rnd y pulsar F5 para realizar un nuevo cálculo y obtener una señal aleatoria T diferente.
Pulse aquí para copiar esta expresión
3. Coloque los conjugados de estos elementos en las 200 últimas posiciones de la señal para garantizar un resultado real cuando se invierta.
Pulse aquí para copiar esta expresión
El vector nuevo tiene 1001 elementos, de los cuales los elementos del 1 al 200 contienen el vector original T y los elementos del 801 al 1000 contienen los conjugados de T. Los elementos intermedios se definen en 0.
4. Busque la transformada de Fourier de la señal T.
Pulse aquí para copiar esta expresión
Utilice la función Re para quitar el pequeño error de redondeo imaginario. El ruido se genera al crear su transformada T con fases aleatorias y magnitudes de unidad para los 200 primeros elementos posteriores al primero.
5. Trace la señal transformada.
Pulse aquí para copiar esta expresión
6. Utilice la función response para obtener la respuesta del vector ZT para filtrar HamL.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
7. Cree una señal compleja z2 utilizando los 800 primeros elementos de ZT y los 800 últimos elementos de R.
Pulse aquí para copiar esta expresión
Guarde los 800 primeros elementos del vector de la transformada de Fourier ZT en el vector a2.
Pulse aquí para copiar esta expresión
Guarde los 800 últimos elementos del vector de respuesta R en el vector b2.
Pulse aquí para copiar esta expresión
Defina la señal compleja z2.
Pulse aquí para copiar esta expresión
8. Utilice la función dft para calcular la transformada de Fourier discreta de la señal z2.
Pulse aquí para copiar esta expresión
Para los vectores, el factor de escala entre la función dft y la función CFFT desfasada es 1/P.
9. Trace los valores absolutos de la transformada de Fourier discreta de la señal z2.
Pulse aquí para copiar esta expresión
Aquí se muestran los 200 puntos originales que se utilizaron para generar la señal en el dominio de transformada. La mitad superior del espectro es, esencialmente, cero, por lo que el filtro del transformador de Hilbert ha hecho su trabajo.
¿Fue esto útil?