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.
2. Defina dos ventanas posibles, w1 y w2, en las que la señal no sea cero.
3. Defina el ancho de la ventana en uno de los dos anchos posibles.
4. Defina la señal y las frecuencias de muestreo.
5. Utilice la función
sin para definir la señal dentro y fuera de la ventana seleccionada.
6. Trace la señal.
7. Aplique la función
dft para calcular la transformada de Fourier discreta de x.
8. Trace la función resultante en el dominio de frecuencias.
◦ 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).
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.
3. Utilice las funciones
floor y
lengthpara demostrar que la longitud del intervalo es el número más grande L para el que:
4. Trace el espectro con un eje de frecuencia normalizado (1 representa la frecuencia de muestreo).
5. Calcule la potencia media del espectro.
Se trata de aproximadamente el valor cuadrático medio de la señal x.
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.
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.
3. Trace las primeras 100 muestras de las dos señales.
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.
5. Utilice las funciones
match y
max para buscar las muestras de pico del espectro de potencia.
6. Trace el espectro en decibelios. Utilice marcadores para marcar la frecuencia común y el valor máximo de decibelios.
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.
8. Calcule la ganancia de potencia de ruido en dB.
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.
O:
10. Compare las alturas teóricas y reales en decibelios.
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.
2. Trace el espectro en decibelios.
3. Trace el espectro cruzado, teniendo en cuenta que es complejo y, por lo tanto, la función log debe aplicarse a la magnitud.
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.
2. Trace la función de coherencia. Utilice marcadores para marcar la frecuencia común y el valor máximo.
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.
4. Trace la función de relación señal-ruido. Utilice marcadores para marcar la frecuencia común y el valor máximo.
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.