Funciones > Procesamiento de señales > Análisis de espectro > Ejemplo: Análisis de espectro
  
Ejemplo: Análisis de espectro
Utilice las funciones coherence, cspectrum, pspectrum y snr para calcular la coherencia, el espectro cruzado, el espectro de potencia y la relación señal-ruido de una señal o de pares de señales.
En Signal Processing Algorithms de Samuel Stearns y Ruth David (Prentice-Hall, Inc.), se puede encontrar una descripción de este procedimiento de cálculo de promedio.
Espectro de potencia: uso de DFT
En el caso de series temporales largas en las que solo unos pocos puntos de datos tienen valores correspondientes a una señal, se recomienda que el espectro de potencia muestre las frecuencias de la señal, pero no el ruido ni los valores cero.
1. Defina el ancho de la ventana.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Defina dos ventanas posibles, w1 y w2, en las que la señal no sea cero.
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
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Defina el ancho de la ventana en uno de los dos anchos posibles.
Pulse aquí para copiar esta expresión
4. Defina la señal y las frecuencias de muestreo.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Utilice la función sin para definir la señal dentro y fuera de la ventana seleccionada.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
6. Trace la señal.
Pulse aquí para copiar esta expresión
7. Aplique la función dft para calcular la transformada de Fourier discreta de x.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
8. Trace la función resultante en el dominio de frecuencias.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Para una señal de onda sinusoidal pura, la magnitud de los coeficientes de DFT proporciona un buen cálculo aproximado de su espectro de potencia. Pero en este caso, la DFT de la señal es el contenido de frecuencia de la señal estructurada convolucionada con la transformada de una ventana rectangular (una función sinc).
Al definir W= w2 (paso 3), se amplía la ventana donde existe la señal de onda sinusoidal de 230-300 hasta 0-499 (un factor de 7.143x) y, por lo tanto, aumenta la magnitud de los dos picos de 35 a 250 (también un factor 7.143x).
Las frecuencias en las que se generan los picos no cambian.
Espectro de potencia: uso de pspectrum
La función pspectrum rompe la serie temporal original en segmentos solapados. Cada uno de estos segmentos es transformado por una DFT y se calcula el promedio de los coeficientes de las magnitudes transformadas. Si la longitud de los segmentos tiene la misma escala que los fenómenos para analizar en la señal, la función pspectrum devuelve una buena aproximación de la magnitud de los componentes de las partes interesantes de la serie temporal original.
En general, la longitud de la señal debería ser al menos n + 1.
1. Defina la longitud de la señal, la fracción de solapamiento y el tipo de ventana (rectangular de transición gradual).
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 pspectrum para calcular el espectro de potencia de x calculado dividiendo x en n1 segmentos solapados con una fracción de solapamiento r y creando ventanas de cada segmento con una ventana rectangular de transición gradual.
Pulse aquí para copiar esta expresión
3. Utilice las funciones floor y lengthpara demostrar que la longitud del intervalo es el número más grande L para el que:
Pulse aquí para copiar esta expresión
4. Trace el espectro con un eje de frecuencia normalizado (1 representa la frecuencia de muestreo).
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Calcule la potencia media del espectro.
Pulse aquí para copiar esta expresión
Se trata de aproximadamente el valor cuadrático medio de la señal x.
Pulse aquí para copiar esta expresión
pspectrum con ruido blanco
Calcule el espectro de potencia de una señal que contenga ruido blanco. Genere dos señales de este tipo, ya que la segunda señal es necesaria para cálculos de espectro cruzado. Utilice una ventana de Hamming para redondear el bloque de datos.
1. Defina el ancho de la señal.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Utilice las funciones sin y rnd para definir dos señales con una frecuencia común fc. La función rnd devuelve un vector de números aleatorios distribuidos uniformemente entre 0 y el número especificado y, de este modo, se garantiza que las señales sigan siendo diferentes.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Trace las primeras 100 muestras de las dos señales.
Pulse aquí para copiar esta expresión
4. Utilice la función pspectrum para obtener el espectro de potencia de y1 calculado dividiéndolo en 40 segmentos solapados con una fracción de solapamiento de 0.5 y creando ventanas de cada segmento con una ventana de Hamming.
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
Pulse aquí para copiar esta expresión
5. Utilice las funciones match y max para buscar las muestras de pico del espectro de potencia.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
6. Trace el espectro en decibelios. Utilice marcadores para marcar la frecuencia común y el valor máximo de decibelios.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
En el gráfico se muestra que toda la potencia de señal se produce en las frecuencias comunes fc y 1-fc.
7. Calcule la potencia de ruido.
Pulse aquí para copiar esta expresión
8. Calcule la ganancia de potencia de ruido en dB.
Pulse aquí para copiar esta expresión
9. Calcule la altura teniendo en cuenta que las dos muestras de frecuencia anteriores divididas por la longitud del espectro deberían proporcionar la potencia media en el componente del seno, que es 0.5.
Pulse aquí para copiar esta expresión
O:
Pulse aquí para copiar esta expresión
10. Compare las alturas teóricas y reales en decibelios.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Función cspectrum
Normalmente, el espectro cruzado se utiliza para detectar similitudes en dos señales; por ejemplo, para comparar una forma de onda discursiva conocida (por ejemplo, la vocal "a") con una forma de onda discursiva desconocida (por ejemplo, la palabra "manzana") para comprobar si la forma de onda conocida está presente en la desconocida. Al igual que el espectro de potencia de una serie temporal es similar a su autocorrelación, el espectro cruzado de dos series temporales es similar a su correlación cruzada. En el caso de secuencias aleatorias estacionarias, la funciones de espectro devuelven los mismos valores que las funciones de correlación.
1. Aplique la función cspectrum a las señales y1 y y2. Para ello, utilice 40 segmentos solapados con una fracción de solapamiento de 0.5 y cree una ventana para cada segmento con una ventana rectangular de transición gradual.
Pulse aquí para copiar esta expresión
2. Trace el espectro en decibelios.
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. Trace el espectro cruzado, teniendo en cuenta que es complejo y, por lo tanto, la función log debe aplicarse a la magnitud.
Pulse aquí para copiar esta expresión
En el espectro cruzado de y1 y y2 se muestra un pico en las frecuencias comunes fc y 1- fc.
Funciones snr y coherence
La función coherence mide la dependencia lineal de una señal respecto a otra, es igual a la magnitud cuadrada del espectro cruzado de dos señales dividido entre los dos espectros de potencia y su valor oscila entre 0 y 1. Los valores de 1 para la función de coherencia suelen indicar que ambas señales tienen componentes libres de ruidos fuertes en esa banda de frecuencia; los valores de 0, en cambio, indican que en la banda de frecuencia en cuestión hay sobre todo ruido.
La función de relación señal-ruido snr es igual a la función coherence dividida por uno menos la función coherence y se maximiza donde las dos señales tienen componentes fuertes en cualquiera de las bandas de componente, en proporción a la relación entre la fuerza de las señales y la fuerza del sensor o ruido de fondo.
1. Aplique la función coherence a las señales y1 y y2. Para ello, utilice 40 segmentos solapados con una fracción de solapamiento de 0.5 y cree una ventana para cada segmento con una ventana de Hamming.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Trace la función de coherencia. Utilice marcadores para marcar la frecuencia común y el valor máximo.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Aplique la función snr a las señales y1 y y2. Para ello, utilice 40 segmentos solapados con una fracción de solapamiento de 0.5 y cree una ventana para cada segmento con una ventana de Hamming.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
4. Trace la función de relación señal-ruido. Utilice marcadores para marcar la frecuencia común y el valor máximo.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Ambas funciones coherence y snr presentan un valor máximo en los componentes de frecuencia individuales de las dos señales con ruido añadido, representado mediante las dos barras pequeñas situadas a cada lado.